aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-cns3xxx/cns3420vb.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-cns3xxx/cns3420vb.c')
-rw-r--r--arch/arm/mach-cns3xxx/cns3420vb.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/arch/arm/mach-cns3xxx/cns3420vb.c b/arch/arm/mach-cns3xxx/cns3420vb.c
index 90fe9ab8591d..08e5c8759502 100644
--- a/arch/arm/mach-cns3xxx/cns3420vb.c
+++ b/arch/arm/mach-cns3xxx/cns3420vb.c
@@ -17,6 +17,7 @@
17#include <linux/kernel.h> 17#include <linux/kernel.h>
18#include <linux/compiler.h> 18#include <linux/compiler.h>
19#include <linux/io.h> 19#include <linux/io.h>
20#include <linux/dma-mapping.h>
20#include <linux/serial_core.h> 21#include <linux/serial_core.h>
21#include <linux/serial_8250.h> 22#include <linux/serial_8250.h>
22#include <linux/platform_device.h> 23#include <linux/platform_device.h>
@@ -108,10 +109,63 @@ static void __init cns3420_early_serial_setup(void)
108} 109}
109 110
110/* 111/*
112 * USB
113 */
114static struct resource cns3xxx_usb_ehci_resources[] = {
115 [0] = {
116 .start = CNS3XXX_USB_BASE,
117 .end = CNS3XXX_USB_BASE + SZ_16M - 1,
118 .flags = IORESOURCE_MEM,
119 },
120 [1] = {
121 .start = IRQ_CNS3XXX_USB_EHCI,
122 .flags = IORESOURCE_IRQ,
123 },
124};
125
126static u64 cns3xxx_usb_ehci_dma_mask = DMA_BIT_MASK(32);
127
128static struct platform_device cns3xxx_usb_ehci_device = {
129 .name = "cns3xxx-ehci",
130 .num_resources = ARRAY_SIZE(cns3xxx_usb_ehci_resources),
131 .resource = cns3xxx_usb_ehci_resources,
132 .dev = {
133 .dma_mask = &cns3xxx_usb_ehci_dma_mask,
134 .coherent_dma_mask = DMA_BIT_MASK(32),
135 },
136};
137
138static struct resource cns3xxx_usb_ohci_resources[] = {
139 [0] = {
140 .start = CNS3XXX_USB_OHCI_BASE,
141 .end = CNS3XXX_USB_OHCI_BASE + SZ_16M - 1,
142 .flags = IORESOURCE_MEM,
143 },
144 [1] = {
145 .start = IRQ_CNS3XXX_USB_OHCI,
146 .flags = IORESOURCE_IRQ,
147 },
148};
149
150static u64 cns3xxx_usb_ohci_dma_mask = DMA_BIT_MASK(32);
151
152static struct platform_device cns3xxx_usb_ohci_device = {
153 .name = "cns3xxx-ohci",
154 .num_resources = ARRAY_SIZE(cns3xxx_usb_ohci_resources),
155 .resource = cns3xxx_usb_ohci_resources,
156 .dev = {
157 .dma_mask = &cns3xxx_usb_ohci_dma_mask,
158 .coherent_dma_mask = DMA_BIT_MASK(32),
159 },
160};
161
162/*
111 * Initialization 163 * Initialization
112 */ 164 */
113static struct platform_device *cns3420_pdevs[] __initdata = { 165static struct platform_device *cns3420_pdevs[] __initdata = {
114 &cns3420_nor_pdev, 166 &cns3420_nor_pdev,
167 &cns3xxx_usb_ehci_device,
168 &cns3xxx_usb_ohci_device,
115}; 169};
116 170
117static void __init cns3420_init(void) 171static void __init cns3420_init(void)