diff options
author | Bo Shen <voice.shen@atmel.com> | 2012-11-06 22:41:41 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-11-07 03:23:49 -0500 |
commit | 099343c64e1615ae83b0994197027be363ca4899 (patch) | |
tree | bd828471a305ec5c30398dd30876f369d70649ec /arch/arm | |
parent | 636036d29a20154b897571e1d5949faac98bfb7c (diff) |
ARM: at91: atmel-ssc: add device tree support
Add atmel-ssc for device tree support
Match "atmel,at91rm9200-ssc" for using pdc for data transfer
Match "atmel,at91sam9g45-ssc" for using dma for data transfer
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/boot/dts/at91sam9260.dtsi | 8 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9263.dtsi | 16 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9g45.dtsi | 16 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9x5.dtsi | 8 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91rm9200.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9260.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9261.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9263.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9g45.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9rl.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9x5.c | 1 |
11 files changed, 62 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi index d410581a5a85..aaa42d8d4f88 100644 --- a/arch/arm/boot/dts/at91sam9260.dtsi +++ b/arch/arm/boot/dts/at91sam9260.dtsi | |||
@@ -29,6 +29,7 @@ | |||
29 | tcb0 = &tcb0; | 29 | tcb0 = &tcb0; |
30 | tcb1 = &tcb1; | 30 | tcb1 = &tcb1; |
31 | i2c0 = &i2c0; | 31 | i2c0 = &i2c0; |
32 | ssc0 = &ssc0; | ||
32 | }; | 33 | }; |
33 | cpus { | 34 | cpus { |
34 | cpu@0 { | 35 | cpu@0 { |
@@ -212,6 +213,13 @@ | |||
212 | status = "disabled"; | 213 | status = "disabled"; |
213 | }; | 214 | }; |
214 | 215 | ||
216 | ssc0: ssc@fffbc000 { | ||
217 | compatible = "atmel,at91rm9200-ssc"; | ||
218 | reg = <0xfffbc000 0x4000>; | ||
219 | interrupts = <14 4 5>; | ||
220 | status = "disable"; | ||
221 | }; | ||
222 | |||
215 | adc0: adc@fffe0000 { | 223 | adc0: adc@fffe0000 { |
216 | compatible = "atmel,at91sam9260-adc"; | 224 | compatible = "atmel,at91sam9260-adc"; |
217 | reg = <0xfffe0000 0x100>; | 225 | reg = <0xfffe0000 0x100>; |
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi index 3e6e5c1abbf3..3b721ee59b10 100644 --- a/arch/arm/boot/dts/at91sam9263.dtsi +++ b/arch/arm/boot/dts/at91sam9263.dtsi | |||
@@ -25,6 +25,8 @@ | |||
25 | gpio4 = &pioE; | 25 | gpio4 = &pioE; |
26 | tcb0 = &tcb0; | 26 | tcb0 = &tcb0; |
27 | i2c0 = &i2c0; | 27 | i2c0 = &i2c0; |
28 | ssc0 = &ssc0; | ||
29 | ssc1 = &ssc1; | ||
28 | }; | 30 | }; |
29 | cpus { | 31 | cpus { |
30 | cpu@0 { | 32 | cpu@0 { |
@@ -173,6 +175,20 @@ | |||
173 | status = "disabled"; | 175 | status = "disabled"; |
174 | }; | 176 | }; |
175 | 177 | ||
178 | ssc0: ssc@fff98000 { | ||
179 | compatible = "atmel,at91rm9200-ssc"; | ||
180 | reg = <0xfff98000 0x4000>; | ||
181 | interrupts = <16 4 5>; | ||
182 | status = "disable"; | ||
183 | }; | ||
184 | |||
185 | ssc1: ssc@fff9c000 { | ||
186 | compatible = "atmel,at91rm9200-ssc"; | ||
187 | reg = <0xfff9c000 0x4000>; | ||
188 | interrupts = <17 4 5>; | ||
189 | status = "disable"; | ||
190 | }; | ||
191 | |||
176 | macb0: ethernet@fffbc000 { | 192 | macb0: ethernet@fffbc000 { |
177 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | 193 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; |
178 | reg = <0xfffbc000 0x100>; | 194 | reg = <0xfffbc000 0x100>; |
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi index 3add030d61f8..acfa207162ff 100644 --- a/arch/arm/boot/dts/at91sam9g45.dtsi +++ b/arch/arm/boot/dts/at91sam9g45.dtsi | |||
@@ -31,6 +31,8 @@ | |||
31 | tcb1 = &tcb1; | 31 | tcb1 = &tcb1; |
32 | i2c0 = &i2c0; | 32 | i2c0 = &i2c0; |
33 | i2c1 = &i2c1; | 33 | i2c1 = &i2c1; |
34 | ssc0 = &ssc0; | ||
35 | ssc1 = &ssc1; | ||
34 | }; | 36 | }; |
35 | cpus { | 37 | cpus { |
36 | cpu@0 { | 38 | cpu@0 { |
@@ -226,6 +228,20 @@ | |||
226 | status = "disabled"; | 228 | status = "disabled"; |
227 | }; | 229 | }; |
228 | 230 | ||
231 | ssc0: ssc@fff9c000 { | ||
232 | compatible = "atmel,at91sam9g45-ssc"; | ||
233 | reg = <0xfff9c000 0x4000>; | ||
234 | interrupts = <16 4 5>; | ||
235 | status = "disable"; | ||
236 | }; | ||
237 | |||
238 | ssc1: ssc@fffa0000 { | ||
239 | compatible = "atmel,at91sam9g45-ssc"; | ||
240 | reg = <0xfffa0000 0x4000>; | ||
241 | interrupts = <17 4 5>; | ||
242 | status = "disable"; | ||
243 | }; | ||
244 | |||
229 | adc0: adc@fffb0000 { | 245 | adc0: adc@fffb0000 { |
230 | compatible = "atmel,at91sam9260-adc"; | 246 | compatible = "atmel,at91sam9260-adc"; |
231 | reg = <0xfffb0000 0x100>; | 247 | reg = <0xfffb0000 0x100>; |
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi index 03fc136421c5..69667d0ac347 100644 --- a/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/arch/arm/boot/dts/at91sam9x5.dtsi | |||
@@ -30,6 +30,7 @@ | |||
30 | i2c0 = &i2c0; | 30 | i2c0 = &i2c0; |
31 | i2c1 = &i2c1; | 31 | i2c1 = &i2c1; |
32 | i2c2 = &i2c2; | 32 | i2c2 = &i2c2; |
33 | ssc0 = &ssc0; | ||
33 | }; | 34 | }; |
34 | cpus { | 35 | cpus { |
35 | cpu@0 { | 36 | cpu@0 { |
@@ -87,6 +88,13 @@ | |||
87 | interrupts = <1 4 7>; | 88 | interrupts = <1 4 7>; |
88 | }; | 89 | }; |
89 | 90 | ||
91 | ssc0: ssc@f0010000 { | ||
92 | compatible = "atmel,at91sam9g45-ssc"; | ||
93 | reg = <0xf0010000 0x4000>; | ||
94 | interrupts = <28 4 5>; | ||
95 | status = "disable"; | ||
96 | }; | ||
97 | |||
90 | tcb0: timer@f8008000 { | 98 | tcb0: timer@f8008000 { |
91 | compatible = "atmel,at91sam9x5-tcb"; | 99 | compatible = "atmel,at91sam9x5-tcb"; |
92 | reg = <0xf8008000 0x100>; | 100 | reg = <0xf8008000 0x100>; |
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c index 400d1a34683c..af47c75db513 100644 --- a/arch/arm/mach-at91/at91rm9200.c +++ b/arch/arm/mach-at91/at91rm9200.c | |||
@@ -187,6 +187,9 @@ static struct clk_lookup periph_clocks_lookups[] = { | |||
187 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc0_clk), | 187 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc0_clk), |
188 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.1", &ssc1_clk), | 188 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.1", &ssc1_clk), |
189 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.2", &ssc2_clk), | 189 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.2", &ssc2_clk), |
190 | CLKDEV_CON_DEV_ID("pclk", "fffd0000.ssc", &ssc0_clk), | ||
191 | CLKDEV_CON_DEV_ID("pclk", "fffd4000.ssc", &ssc1_clk), | ||
192 | CLKDEV_CON_DEV_ID("pclk", "fffd8000.ssc", &ssc2_clk), | ||
190 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91rm9200.0", &twi_clk), | 193 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91rm9200.0", &twi_clk), |
191 | /* fake hclk clock */ | 194 | /* fake hclk clock */ |
192 | CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), | 195 | CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), |
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c index d14ab6aea250..a41eb3d23f68 100644 --- a/arch/arm/mach-at91/at91sam9260.c +++ b/arch/arm/mach-at91/at91sam9260.c | |||
@@ -211,6 +211,7 @@ static struct clk_lookup periph_clocks_lookups[] = { | |||
211 | CLKDEV_CON_DEV_ID("t1_clk", "atmel_tcb.1", &tc4_clk), | 211 | CLKDEV_CON_DEV_ID("t1_clk", "atmel_tcb.1", &tc4_clk), |
212 | CLKDEV_CON_DEV_ID("t2_clk", "atmel_tcb.1", &tc5_clk), | 212 | CLKDEV_CON_DEV_ID("t2_clk", "atmel_tcb.1", &tc5_clk), |
213 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc_clk), | 213 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc_clk), |
214 | CLKDEV_CON_DEV_ID("pclk", "fffbc000.ssc", &ssc_clk), | ||
214 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260.0", &twi_clk), | 215 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260.0", &twi_clk), |
215 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.0", &twi_clk), | 216 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.0", &twi_clk), |
216 | /* more usart lookup table for DT entries */ | 217 | /* more usart lookup table for DT entries */ |
diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c index c7b605796dd4..7fcbe0583342 100644 --- a/arch/arm/mach-at91/at91sam9261.c +++ b/arch/arm/mach-at91/at91sam9261.c | |||
@@ -177,6 +177,9 @@ static struct clk_lookup periph_clocks_lookups[] = { | |||
177 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc0_clk), | 177 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc0_clk), |
178 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.1", &ssc1_clk), | 178 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.1", &ssc1_clk), |
179 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.2", &ssc2_clk), | 179 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.2", &ssc2_clk), |
180 | CLKDEV_CON_DEV_ID("pclk", "fffbc000.ssc", &ssc0_clk), | ||
181 | CLKDEV_CON_DEV_ID("pclk", "fffc0000.ssc", &ssc1_clk), | ||
182 | CLKDEV_CON_DEV_ID("pclk", "fffc4000.ssc", &ssc2_clk), | ||
180 | CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &hck0), | 183 | CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &hck0), |
181 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9261.0", &twi_clk), | 184 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9261.0", &twi_clk), |
182 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10.0", &twi_clk), | 185 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10.0", &twi_clk), |
diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c index b87be18f08ae..c0f4c8c1f4ed 100644 --- a/arch/arm/mach-at91/at91sam9263.c +++ b/arch/arm/mach-at91/at91sam9263.c | |||
@@ -188,6 +188,8 @@ static struct clk_lookup periph_clocks_lookups[] = { | |||
188 | CLKDEV_CON_ID("hclk", &macb_clk), | 188 | CLKDEV_CON_ID("hclk", &macb_clk), |
189 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc0_clk), | 189 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc0_clk), |
190 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.1", &ssc1_clk), | 190 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.1", &ssc1_clk), |
191 | CLKDEV_CON_DEV_ID("pclk", "fff98000.ssc", &ssc0_clk), | ||
192 | CLKDEV_CON_DEV_ID("pclk", "fff9c000.ssc", &ssc1_clk), | ||
191 | CLKDEV_CON_DEV_ID("mci_clk", "atmel_mci.0", &mmc0_clk), | 193 | CLKDEV_CON_DEV_ID("mci_clk", "atmel_mci.0", &mmc0_clk), |
192 | CLKDEV_CON_DEV_ID("mci_clk", "atmel_mci.1", &mmc1_clk), | 194 | CLKDEV_CON_DEV_ID("mci_clk", "atmel_mci.1", &mmc1_clk), |
193 | CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi.0", &spi0_clk), | 195 | CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi.0", &spi0_clk), |
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c index f4f96a61e4b8..a4282d3742bf 100644 --- a/arch/arm/mach-at91/at91sam9g45.c +++ b/arch/arm/mach-at91/at91sam9g45.c | |||
@@ -241,6 +241,8 @@ static struct clk_lookup periph_clocks_lookups[] = { | |||
241 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10.1", &twi1_clk), | 241 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g10.1", &twi1_clk), |
242 | CLKDEV_CON_DEV_ID("pclk", "at91sam9g45_ssc.0", &ssc0_clk), | 242 | CLKDEV_CON_DEV_ID("pclk", "at91sam9g45_ssc.0", &ssc0_clk), |
243 | CLKDEV_CON_DEV_ID("pclk", "at91sam9g45_ssc.1", &ssc1_clk), | 243 | CLKDEV_CON_DEV_ID("pclk", "at91sam9g45_ssc.1", &ssc1_clk), |
244 | CLKDEV_CON_DEV_ID("pclk", "fff9c000.ssc", &ssc0_clk), | ||
245 | CLKDEV_CON_DEV_ID("pclk", "fffa0000.ssc", &ssc1_clk), | ||
244 | CLKDEV_CON_DEV_ID(NULL, "atmel-trng", &trng_clk), | 246 | CLKDEV_CON_DEV_ID(NULL, "atmel-trng", &trng_clk), |
245 | CLKDEV_CON_DEV_ID(NULL, "atmel_sha", &aestdessha_clk), | 247 | CLKDEV_CON_DEV_ID(NULL, "atmel_sha", &aestdessha_clk), |
246 | CLKDEV_CON_DEV_ID(NULL, "atmel_tdes", &aestdessha_clk), | 248 | CLKDEV_CON_DEV_ID(NULL, "atmel_tdes", &aestdessha_clk), |
diff --git a/arch/arm/mach-at91/at91sam9rl.c b/arch/arm/mach-at91/at91sam9rl.c index 4110b5480d49..b683fdc699f1 100644 --- a/arch/arm/mach-at91/at91sam9rl.c +++ b/arch/arm/mach-at91/at91sam9rl.c | |||
@@ -186,6 +186,8 @@ static struct clk_lookup periph_clocks_lookups[] = { | |||
186 | CLKDEV_CON_DEV_ID("t2_clk", "atmel_tcb.0", &tc2_clk), | 186 | CLKDEV_CON_DEV_ID("t2_clk", "atmel_tcb.0", &tc2_clk), |
187 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc0_clk), | 187 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc0_clk), |
188 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.1", &ssc1_clk), | 188 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.1", &ssc1_clk), |
189 | CLKDEV_CON_DEV_ID("pclk", "fffc0000.ssc", &ssc0_clk), | ||
190 | CLKDEV_CON_DEV_ID("pclk", "fffc4000.ssc", &ssc1_clk), | ||
189 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.0", &twi0_clk), | 191 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.0", &twi0_clk), |
190 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.1", &twi1_clk), | 192 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.1", &twi1_clk), |
191 | CLKDEV_CON_ID("pioA", &pioA_clk), | 193 | CLKDEV_CON_ID("pioA", &pioA_clk), |
diff --git a/arch/arm/mach-at91/at91sam9x5.c b/arch/arm/mach-at91/at91sam9x5.c index e5035380dcbc..18fbbb27f97f 100644 --- a/arch/arm/mach-at91/at91sam9x5.c +++ b/arch/arm/mach-at91/at91sam9x5.c | |||
@@ -231,6 +231,7 @@ static struct clk_lookup periph_clocks_lookups[] = { | |||
231 | CLKDEV_CON_DEV_ID("t0_clk", "f800c000.timer", &tcb0_clk), | 231 | CLKDEV_CON_DEV_ID("t0_clk", "f800c000.timer", &tcb0_clk), |
232 | CLKDEV_CON_DEV_ID("dma_clk", "ffffec00.dma-controller", &dma0_clk), | 232 | CLKDEV_CON_DEV_ID("dma_clk", "ffffec00.dma-controller", &dma0_clk), |
233 | CLKDEV_CON_DEV_ID("dma_clk", "ffffee00.dma-controller", &dma1_clk), | 233 | CLKDEV_CON_DEV_ID("dma_clk", "ffffee00.dma-controller", &dma1_clk), |
234 | CLKDEV_CON_DEV_ID("pclk", "f0010000.ssc", &ssc_clk), | ||
234 | CLKDEV_CON_DEV_ID(NULL, "f8010000.i2c", &twi0_clk), | 235 | CLKDEV_CON_DEV_ID(NULL, "f8010000.i2c", &twi0_clk), |
235 | CLKDEV_CON_DEV_ID(NULL, "f8014000.i2c", &twi1_clk), | 236 | CLKDEV_CON_DEV_ID(NULL, "f8014000.i2c", &twi1_clk), |
236 | CLKDEV_CON_DEV_ID(NULL, "f8018000.i2c", &twi2_clk), | 237 | CLKDEV_CON_DEV_ID(NULL, "f8018000.i2c", &twi2_clk), |