diff options
Diffstat (limited to 'arch/arm/mach-s5p64x0/dma.c')
-rw-r--r-- | arch/arm/mach-s5p64x0/dma.c | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/arch/arm/mach-s5p64x0/dma.c b/arch/arm/mach-s5p64x0/dma.c index f820c0744405..2ee5dc069b37 100644 --- a/arch/arm/mach-s5p64x0/dma.c +++ b/arch/arm/mach-s5p64x0/dma.c | |||
@@ -38,7 +38,7 @@ | |||
38 | 38 | ||
39 | static u64 dma_dmamask = DMA_BIT_MASK(32); | 39 | static u64 dma_dmamask = DMA_BIT_MASK(32); |
40 | 40 | ||
41 | u8 s5p6440_pdma_peri[] = { | 41 | static u8 s5p6440_pdma_peri[] = { |
42 | DMACH_UART0_RX, | 42 | DMACH_UART0_RX, |
43 | DMACH_UART0_TX, | 43 | DMACH_UART0_TX, |
44 | DMACH_UART1_RX, | 44 | DMACH_UART1_RX, |
@@ -63,12 +63,12 @@ u8 s5p6440_pdma_peri[] = { | |||
63 | DMACH_SPI1_RX, | 63 | DMACH_SPI1_RX, |
64 | }; | 64 | }; |
65 | 65 | ||
66 | struct dma_pl330_platdata s5p6440_pdma_pdata = { | 66 | static struct dma_pl330_platdata s5p6440_pdma_pdata = { |
67 | .nr_valid_peri = ARRAY_SIZE(s5p6440_pdma_peri), | 67 | .nr_valid_peri = ARRAY_SIZE(s5p6440_pdma_peri), |
68 | .peri_id = s5p6440_pdma_peri, | 68 | .peri_id = s5p6440_pdma_peri, |
69 | }; | 69 | }; |
70 | 70 | ||
71 | u8 s5p6450_pdma_peri[] = { | 71 | static u8 s5p6450_pdma_peri[] = { |
72 | DMACH_UART0_RX, | 72 | DMACH_UART0_RX, |
73 | DMACH_UART0_TX, | 73 | DMACH_UART0_TX, |
74 | DMACH_UART1_RX, | 74 | DMACH_UART1_RX, |
@@ -103,39 +103,27 @@ u8 s5p6450_pdma_peri[] = { | |||
103 | DMACH_UART5_TX, | 103 | DMACH_UART5_TX, |
104 | }; | 104 | }; |
105 | 105 | ||
106 | struct dma_pl330_platdata s5p6450_pdma_pdata = { | 106 | static struct dma_pl330_platdata s5p6450_pdma_pdata = { |
107 | .nr_valid_peri = ARRAY_SIZE(s5p6450_pdma_peri), | 107 | .nr_valid_peri = ARRAY_SIZE(s5p6450_pdma_peri), |
108 | .peri_id = s5p6450_pdma_peri, | 108 | .peri_id = s5p6450_pdma_peri, |
109 | }; | 109 | }; |
110 | 110 | ||
111 | struct amba_device s5p64x0_device_pdma = { | 111 | static AMBA_AHB_DEVICE(s5p64x0_pdma, "dma-pl330", 0x00041330, |
112 | .dev = { | 112 | S5P64X0_PA_PDMA, {IRQ_DMA0}, NULL); |
113 | .init_name = "dma-pl330", | ||
114 | .dma_mask = &dma_dmamask, | ||
115 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
116 | }, | ||
117 | .res = { | ||
118 | .start = S5P64X0_PA_PDMA, | ||
119 | .end = S5P64X0_PA_PDMA + SZ_4K, | ||
120 | .flags = IORESOURCE_MEM, | ||
121 | }, | ||
122 | .irq = {IRQ_DMA0, NO_IRQ}, | ||
123 | .periphid = 0x00041330, | ||
124 | }; | ||
125 | 113 | ||
126 | static int __init s5p64x0_dma_init(void) | 114 | static int __init s5p64x0_dma_init(void) |
127 | { | 115 | { |
128 | if (soc_is_s5p6450()) { | 116 | if (soc_is_s5p6450()) { |
129 | dma_cap_set(DMA_SLAVE, s5p6450_pdma_pdata.cap_mask); | 117 | dma_cap_set(DMA_SLAVE, s5p6450_pdma_pdata.cap_mask); |
130 | dma_cap_set(DMA_CYCLIC, s5p6450_pdma_pdata.cap_mask); | 118 | dma_cap_set(DMA_CYCLIC, s5p6450_pdma_pdata.cap_mask); |
131 | s5p64x0_device_pdma.dev.platform_data = &s5p6450_pdma_pdata; | 119 | s5p64x0_pdma_device.dev.platform_data = &s5p6450_pdma_pdata; |
132 | } else { | 120 | } else { |
133 | dma_cap_set(DMA_SLAVE, s5p6440_pdma_pdata.cap_mask); | 121 | dma_cap_set(DMA_SLAVE, s5p6440_pdma_pdata.cap_mask); |
134 | dma_cap_set(DMA_CYCLIC, s5p6440_pdma_pdata.cap_mask); | 122 | dma_cap_set(DMA_CYCLIC, s5p6440_pdma_pdata.cap_mask); |
135 | s5p64x0_device_pdma.dev.platform_data = &s5p6440_pdma_pdata; | 123 | s5p64x0_pdma_device.dev.platform_data = &s5p6440_pdma_pdata; |
136 | } | 124 | } |
137 | 125 | ||
138 | amba_device_register(&s5p64x0_device_pdma, &iomem_resource); | 126 | amba_device_register(&s5p64x0_pdma_device, &iomem_resource); |
139 | 127 | ||
140 | return 0; | 128 | return 0; |
141 | } | 129 | } |