diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-04-30 18:08:35 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-05-09 05:15:45 -0400 |
commit | 47fad7c6f8d9f64780793cc67d8280259538c31c (patch) | |
tree | 33c79cb7389ce309bc2d019512c16f12925c7f95 | |
parent | e86bde3caea693b2e615e7b3664e6273160bf864 (diff) | |
parent | 26690863e2c1fa4fee5f6137b219f4b8a1a02287 (diff) |
Merge tag 'at91-for-next-dt' of git://github.com/at91linux/linux-at91 into next/dt
"Jean-Christophe PLAGNIOL-VILLARD" <plagnioj@jcrosoft.com> writes:
ARM: AT91 more DT material
New SoC conversion and boards support
SoC convertion to DT:
- at91sam9260
- at91sam9263
boards:
- Atmel at91sam9g20ek/9263ek
- Calao TNY-A9260/A9263/A9G20
- Calao USB-A9260/A9263
- Ethernnut 5
- Kizbox
* tag 'at91-for-next-dt' of git://github.com/at91linux/linux-at91: (32 commits)
Ethernut 5 board support
ARM: at91: add kizbox board dt support.
ARM: at91: DT: add Calao TNY A9263 board support
ARM: at91: DT: add Calao USB A9263 board support
ARM: at91: add at91sam9263ek DT support
ARM: at91: add at91sam9263 DT support
ARM: at91: standard device init only if DT is not populated.
ARM: at91: DT: add Calao USB A9260 DT support
ARM: at91: Calao USB A926x factorize common binding in usb_a9260_common
ARM: at91: USB A926x update nand partition
ARM: at91: add at91sam9g20ek boards dt support
arm: at91: add Calao TNY-A9260 and TNY-A9G20 board support
ARM: at91: add at91sam9260 DT support
ARM: at91: add defconfig for device tree
ARM: at91/dt: do not specify the board any more
ARN: at91: introduce SOC_AT91xxx define to allow to compile SoC core support
ARM: at91: add SOC_AT91SAM9 kconfig option to factorise select
ARM: at91: pm select memory controler at runtime
ARM: at91: move at91_init_leds to board init
ARM: at91: do not pin mux the UARTs in init_early
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[olof: rebuilt branch due to drop of an early merge]
Signed-off-by: Olof Johansson <olof@lixom.net>
90 files changed, 2436 insertions, 1273 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 6e51ddde908a..3707ff06e50c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -340,8 +340,8 @@ config ARCH_AT91 | |||
340 | select IRQ_DOMAIN | 340 | select IRQ_DOMAIN |
341 | select NEED_MACH_IO_H if PCCARD | 341 | select NEED_MACH_IO_H if PCCARD |
342 | help | 342 | help |
343 | This enables support for systems based on the Atmel AT91RM9200, | 343 | This enables support for systems based on Atmel |
344 | AT91SAM9 processors. | 344 | AT91RM9200 and AT91SAM9* processors. |
345 | 345 | ||
346 | config ARCH_BCMRING | 346 | config ARCH_BCMRING |
347 | bool "Broadcom BCMRING" | 347 | bool "Broadcom BCMRING" |
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi new file mode 100644 index 000000000000..f4605ff25fb8 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9260.dtsi | |||
@@ -0,0 +1,238 @@ | |||
1 | /* | ||
2 | * at91sam9260.dtsi - Device Tree Include file for AT91SAM9260 family SoC | ||
3 | * | ||
4 | * Copyright (C) 2011 Atmel, | ||
5 | * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>, | ||
6 | * 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
7 | * | ||
8 | * Licensed under GPLv2 or later. | ||
9 | */ | ||
10 | |||
11 | /include/ "skeleton.dtsi" | ||
12 | |||
13 | / { | ||
14 | model = "Atmel AT91SAM9260 family SoC"; | ||
15 | compatible = "atmel,at91sam9260"; | ||
16 | interrupt-parent = <&aic>; | ||
17 | |||
18 | aliases { | ||
19 | serial0 = &dbgu; | ||
20 | serial1 = &usart0; | ||
21 | serial2 = &usart1; | ||
22 | serial3 = &usart2; | ||
23 | serial4 = &usart3; | ||
24 | serial5 = &usart4; | ||
25 | serial6 = &usart5; | ||
26 | gpio0 = &pioA; | ||
27 | gpio1 = &pioB; | ||
28 | gpio2 = &pioC; | ||
29 | tcb0 = &tcb0; | ||
30 | tcb1 = &tcb1; | ||
31 | }; | ||
32 | cpus { | ||
33 | cpu@0 { | ||
34 | compatible = "arm,arm926ejs"; | ||
35 | }; | ||
36 | }; | ||
37 | |||
38 | memory { | ||
39 | reg = <0x20000000 0x04000000>; | ||
40 | }; | ||
41 | |||
42 | ahb { | ||
43 | compatible = "simple-bus"; | ||
44 | #address-cells = <1>; | ||
45 | #size-cells = <1>; | ||
46 | ranges; | ||
47 | |||
48 | apb { | ||
49 | compatible = "simple-bus"; | ||
50 | #address-cells = <1>; | ||
51 | #size-cells = <1>; | ||
52 | ranges; | ||
53 | |||
54 | aic: interrupt-controller@fffff000 { | ||
55 | #interrupt-cells = <2>; | ||
56 | compatible = "atmel,at91rm9200-aic"; | ||
57 | interrupt-controller; | ||
58 | reg = <0xfffff000 0x200>; | ||
59 | }; | ||
60 | |||
61 | ramc0: ramc@ffffea00 { | ||
62 | compatible = "atmel,at91sam9260-sdramc"; | ||
63 | reg = <0xffffea00 0x200>; | ||
64 | }; | ||
65 | |||
66 | pmc: pmc@fffffc00 { | ||
67 | compatible = "atmel,at91rm9200-pmc"; | ||
68 | reg = <0xfffffc00 0x100>; | ||
69 | }; | ||
70 | |||
71 | rstc@fffffd00 { | ||
72 | compatible = "atmel,at91sam9260-rstc"; | ||
73 | reg = <0xfffffd00 0x10>; | ||
74 | }; | ||
75 | |||
76 | shdwc@fffffd10 { | ||
77 | compatible = "atmel,at91sam9260-shdwc"; | ||
78 | reg = <0xfffffd10 0x10>; | ||
79 | }; | ||
80 | |||
81 | pit: timer@fffffd30 { | ||
82 | compatible = "atmel,at91sam9260-pit"; | ||
83 | reg = <0xfffffd30 0xf>; | ||
84 | interrupts = <1 4>; | ||
85 | }; | ||
86 | |||
87 | tcb0: timer@fffa0000 { | ||
88 | compatible = "atmel,at91rm9200-tcb"; | ||
89 | reg = <0xfffa0000 0x100>; | ||
90 | interrupts = <17 4 18 4 19 4>; | ||
91 | }; | ||
92 | |||
93 | tcb1: timer@fffdc000 { | ||
94 | compatible = "atmel,at91rm9200-tcb"; | ||
95 | reg = <0xfffdc000 0x100>; | ||
96 | interrupts = <26 4 27 4 28 4>; | ||
97 | }; | ||
98 | |||
99 | pioA: gpio@fffff400 { | ||
100 | compatible = "atmel,at91rm9200-gpio"; | ||
101 | reg = <0xfffff400 0x100>; | ||
102 | interrupts = <2 4>; | ||
103 | #gpio-cells = <2>; | ||
104 | gpio-controller; | ||
105 | interrupt-controller; | ||
106 | }; | ||
107 | |||
108 | pioB: gpio@fffff600 { | ||
109 | compatible = "atmel,at91rm9200-gpio"; | ||
110 | reg = <0xfffff600 0x100>; | ||
111 | interrupts = <3 4>; | ||
112 | #gpio-cells = <2>; | ||
113 | gpio-controller; | ||
114 | interrupt-controller; | ||
115 | }; | ||
116 | |||
117 | pioC: gpio@fffff800 { | ||
118 | compatible = "atmel,at91rm9200-gpio"; | ||
119 | reg = <0xfffff800 0x100>; | ||
120 | interrupts = <4 4>; | ||
121 | #gpio-cells = <2>; | ||
122 | gpio-controller; | ||
123 | interrupt-controller; | ||
124 | }; | ||
125 | |||
126 | dbgu: serial@fffff200 { | ||
127 | compatible = "atmel,at91sam9260-usart"; | ||
128 | reg = <0xfffff200 0x200>; | ||
129 | interrupts = <1 4>; | ||
130 | status = "disabled"; | ||
131 | }; | ||
132 | |||
133 | usart0: serial@fffb0000 { | ||
134 | compatible = "atmel,at91sam9260-usart"; | ||
135 | reg = <0xfffb0000 0x200>; | ||
136 | interrupts = <6 4>; | ||
137 | atmel,use-dma-rx; | ||
138 | atmel,use-dma-tx; | ||
139 | status = "disabled"; | ||
140 | }; | ||
141 | |||
142 | usart1: serial@fffb4000 { | ||
143 | compatible = "atmel,at91sam9260-usart"; | ||
144 | reg = <0xfffb4000 0x200>; | ||
145 | interrupts = <7 4>; | ||
146 | atmel,use-dma-rx; | ||
147 | atmel,use-dma-tx; | ||
148 | status = "disabled"; | ||
149 | }; | ||
150 | |||
151 | usart2: serial@fffb8000 { | ||
152 | compatible = "atmel,at91sam9260-usart"; | ||
153 | reg = <0xfffb8000 0x200>; | ||
154 | interrupts = <8 4>; | ||
155 | atmel,use-dma-rx; | ||
156 | atmel,use-dma-tx; | ||
157 | status = "disabled"; | ||
158 | }; | ||
159 | |||
160 | usart3: serial@fffd0000 { | ||
161 | compatible = "atmel,at91sam9260-usart"; | ||
162 | reg = <0xfffd0000 0x200>; | ||
163 | interrupts = <23 4>; | ||
164 | atmel,use-dma-rx; | ||
165 | atmel,use-dma-tx; | ||
166 | status = "disabled"; | ||
167 | }; | ||
168 | |||
169 | usart4: serial@fffd4000 { | ||
170 | compatible = "atmel,at91sam9260-usart"; | ||
171 | reg = <0xfffd4000 0x200>; | ||
172 | interrupts = <24 4>; | ||
173 | atmel,use-dma-rx; | ||
174 | atmel,use-dma-tx; | ||
175 | status = "disabled"; | ||
176 | }; | ||
177 | |||
178 | usart5: serial@fffd8000 { | ||
179 | compatible = "atmel,at91sam9260-usart"; | ||
180 | reg = <0xfffd8000 0x200>; | ||
181 | interrupts = <25 4>; | ||
182 | atmel,use-dma-rx; | ||
183 | atmel,use-dma-tx; | ||
184 | status = "disabled"; | ||
185 | }; | ||
186 | |||
187 | macb0: ethernet@fffc4000 { | ||
188 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | ||
189 | reg = <0xfffc4000 0x100>; | ||
190 | interrupts = <21 4>; | ||
191 | status = "disabled"; | ||
192 | }; | ||
193 | |||
194 | usb1: gadget@fffa4000 { | ||
195 | compatible = "atmel,at91rm9200-udc"; | ||
196 | reg = <0xfffa4000 0x4000>; | ||
197 | interrupts = <10 4>; | ||
198 | status = "disabled"; | ||
199 | }; | ||
200 | }; | ||
201 | |||
202 | nand0: nand@40000000 { | ||
203 | compatible = "atmel,at91rm9200-nand"; | ||
204 | #address-cells = <1>; | ||
205 | #size-cells = <1>; | ||
206 | reg = <0x40000000 0x10000000 | ||
207 | 0xffffe800 0x200 | ||
208 | >; | ||
209 | atmel,nand-addr-offset = <21>; | ||
210 | atmel,nand-cmd-offset = <22>; | ||
211 | gpios = <&pioC 13 0 | ||
212 | &pioC 14 0 | ||
213 | 0 | ||
214 | >; | ||
215 | status = "disabled"; | ||
216 | }; | ||
217 | |||
218 | usb0: ohci@00500000 { | ||
219 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | ||
220 | reg = <0x00500000 0x100000>; | ||
221 | interrupts = <20 4>; | ||
222 | status = "disabled"; | ||
223 | }; | ||
224 | }; | ||
225 | |||
226 | i2c@0 { | ||
227 | compatible = "i2c-gpio"; | ||
228 | gpios = <&pioA 23 0 /* sda */ | ||
229 | &pioA 24 0 /* scl */ | ||
230 | >; | ||
231 | i2c-gpio,sda-open-drain; | ||
232 | i2c-gpio,scl-open-drain; | ||
233 | i2c-gpio,delay-us = <2>; /* ~100 kHz */ | ||
234 | #address-cells = <1>; | ||
235 | #size-cells = <0>; | ||
236 | status = "disabled"; | ||
237 | }; | ||
238 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi new file mode 100644 index 000000000000..0209913a65a2 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9263.dtsi | |||
@@ -0,0 +1,220 @@ | |||
1 | /* | ||
2 | * at91sam9263.dtsi - Device Tree Include file for AT91SAM9263 family SoC | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2 only. | ||
7 | */ | ||
8 | |||
9 | /include/ "skeleton.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel AT91SAM9263 family SoC"; | ||
13 | compatible = "atmel,at91sam9263"; | ||
14 | interrupt-parent = <&aic>; | ||
15 | |||
16 | aliases { | ||
17 | serial0 = &dbgu; | ||
18 | serial1 = &usart0; | ||
19 | serial2 = &usart1; | ||
20 | serial3 = &usart2; | ||
21 | gpio0 = &pioA; | ||
22 | gpio1 = &pioB; | ||
23 | gpio2 = &pioC; | ||
24 | gpio3 = &pioD; | ||
25 | gpio4 = &pioE; | ||
26 | tcb0 = &tcb0; | ||
27 | }; | ||
28 | cpus { | ||
29 | cpu@0 { | ||
30 | compatible = "arm,arm926ejs"; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | memory { | ||
35 | reg = <0x20000000 0x08000000>; | ||
36 | }; | ||
37 | |||
38 | ahb { | ||
39 | compatible = "simple-bus"; | ||
40 | #address-cells = <1>; | ||
41 | #size-cells = <1>; | ||
42 | ranges; | ||
43 | |||
44 | apb { | ||
45 | compatible = "simple-bus"; | ||
46 | #address-cells = <1>; | ||
47 | #size-cells = <1>; | ||
48 | ranges; | ||
49 | |||
50 | aic: interrupt-controller@fffff000 { | ||
51 | #interrupt-cells = <2>; | ||
52 | compatible = "atmel,at91rm9200-aic"; | ||
53 | interrupt-controller; | ||
54 | reg = <0xfffff000 0x200>; | ||
55 | }; | ||
56 | |||
57 | pmc: pmc@fffffc00 { | ||
58 | compatible = "atmel,at91rm9200-pmc"; | ||
59 | reg = <0xfffffc00 0x100>; | ||
60 | }; | ||
61 | |||
62 | ramc: ramc@ffffe200 { | ||
63 | compatible = "atmel,at91sam9260-sdramc"; | ||
64 | reg = <0xffffe200 0x200 | ||
65 | 0xffffe800 0x200>; | ||
66 | }; | ||
67 | |||
68 | pit: timer@fffffd30 { | ||
69 | compatible = "atmel,at91sam9260-pit"; | ||
70 | reg = <0xfffffd30 0xf>; | ||
71 | interrupts = <1 4>; | ||
72 | }; | ||
73 | |||
74 | tcb0: timer@fff7c000 { | ||
75 | compatible = "atmel,at91rm9200-tcb"; | ||
76 | reg = <0xfff7c000 0x100>; | ||
77 | interrupts = <19 4>; | ||
78 | }; | ||
79 | |||
80 | rstc@fffffd00 { | ||
81 | compatible = "atmel,at91sam9260-rstc"; | ||
82 | reg = <0xfffffd00 0x10>; | ||
83 | }; | ||
84 | |||
85 | shdwc@fffffd10 { | ||
86 | compatible = "atmel,at91sam9260-shdwc"; | ||
87 | reg = <0xfffffd10 0x10>; | ||
88 | }; | ||
89 | |||
90 | pioA: gpio@fffff200 { | ||
91 | compatible = "atmel,at91rm9200-gpio"; | ||
92 | reg = <0xfffff200 0x100>; | ||
93 | interrupts = <2 4>; | ||
94 | #gpio-cells = <2>; | ||
95 | gpio-controller; | ||
96 | interrupt-controller; | ||
97 | }; | ||
98 | |||
99 | pioB: gpio@fffff400 { | ||
100 | compatible = "atmel,at91rm9200-gpio"; | ||
101 | reg = <0xfffff400 0x100>; | ||
102 | interrupts = <3 4>; | ||
103 | #gpio-cells = <2>; | ||
104 | gpio-controller; | ||
105 | interrupt-controller; | ||
106 | }; | ||
107 | |||
108 | pioC: gpio@fffff600 { | ||
109 | compatible = "atmel,at91rm9200-gpio"; | ||
110 | reg = <0xfffff600 0x100>; | ||
111 | interrupts = <4 4>; | ||
112 | #gpio-cells = <2>; | ||
113 | gpio-controller; | ||
114 | interrupt-controller; | ||
115 | }; | ||
116 | |||
117 | pioD: gpio@fffff800 { | ||
118 | compatible = "atmel,at91rm9200-gpio"; | ||
119 | reg = <0xfffff800 0x100>; | ||
120 | interrupts = <4 4>; | ||
121 | #gpio-cells = <2>; | ||
122 | gpio-controller; | ||
123 | interrupt-controller; | ||
124 | }; | ||
125 | |||
126 | pioE: gpio@fffffa00 { | ||
127 | compatible = "atmel,at91rm9200-gpio"; | ||
128 | reg = <0xfffffa00 0x100>; | ||
129 | interrupts = <4 4>; | ||
130 | #gpio-cells = <2>; | ||
131 | gpio-controller; | ||
132 | interrupt-controller; | ||
133 | }; | ||
134 | |||
135 | dbgu: serial@ffffee00 { | ||
136 | compatible = "atmel,at91sam9260-usart"; | ||
137 | reg = <0xffffee00 0x200>; | ||
138 | interrupts = <1 4>; | ||
139 | status = "disabled"; | ||
140 | }; | ||
141 | |||
142 | usart0: serial@fff8c000 { | ||
143 | compatible = "atmel,at91sam9260-usart"; | ||
144 | reg = <0xfff8c000 0x200>; | ||
145 | interrupts = <7 4>; | ||
146 | atmel,use-dma-rx; | ||
147 | atmel,use-dma-tx; | ||
148 | status = "disabled"; | ||
149 | }; | ||
150 | |||
151 | usart1: serial@fff90000 { | ||
152 | compatible = "atmel,at91sam9260-usart"; | ||
153 | reg = <0xfff90000 0x200>; | ||
154 | interrupts = <8 4>; | ||
155 | atmel,use-dma-rx; | ||
156 | atmel,use-dma-tx; | ||
157 | status = "disabled"; | ||
158 | }; | ||
159 | |||
160 | usart2: serial@fff94000 { | ||
161 | compatible = "atmel,at91sam9260-usart"; | ||
162 | reg = <0xfff94000 0x200>; | ||
163 | interrupts = <9 4>; | ||
164 | atmel,use-dma-rx; | ||
165 | atmel,use-dma-tx; | ||
166 | status = "disabled"; | ||
167 | }; | ||
168 | |||
169 | macb0: ethernet@fffbc000 { | ||
170 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | ||
171 | reg = <0xfffbc000 0x100>; | ||
172 | interrupts = <21 4>; | ||
173 | status = "disabled"; | ||
174 | }; | ||
175 | |||
176 | usb1: gadget@fff78000 { | ||
177 | compatible = "atmel,at91rm9200-udc"; | ||
178 | reg = <0xfff78000 0x4000>; | ||
179 | interrupts = <24 4>; | ||
180 | status = "disabled"; | ||
181 | }; | ||
182 | }; | ||
183 | |||
184 | nand0: nand@40000000 { | ||
185 | compatible = "atmel,at91rm9200-nand"; | ||
186 | #address-cells = <1>; | ||
187 | #size-cells = <1>; | ||
188 | reg = <0x40000000 0x10000000 | ||
189 | 0xffffe000 0x200 | ||
190 | >; | ||
191 | atmel,nand-addr-offset = <21>; | ||
192 | atmel,nand-cmd-offset = <22>; | ||
193 | gpios = <&pioA 22 0 | ||
194 | &pioD 15 0 | ||
195 | 0 | ||
196 | >; | ||
197 | status = "disabled"; | ||
198 | }; | ||
199 | |||
200 | usb0: ohci@00a00000 { | ||
201 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | ||
202 | reg = <0x00a00000 0x100000>; | ||
203 | interrupts = <29 4>; | ||
204 | status = "disabled"; | ||
205 | }; | ||
206 | }; | ||
207 | |||
208 | i2c@0 { | ||
209 | compatible = "i2c-gpio"; | ||
210 | gpios = <&pioB 4 0 /* sda */ | ||
211 | &pioB 5 0 /* scl */ | ||
212 | >; | ||
213 | i2c-gpio,sda-open-drain; | ||
214 | i2c-gpio,scl-open-drain; | ||
215 | i2c-gpio,delay-us = <2>; /* ~100 kHz */ | ||
216 | #address-cells = <1>; | ||
217 | #size-cells = <0>; | ||
218 | status = "disabled"; | ||
219 | }; | ||
220 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9263ek.dts b/arch/arm/boot/dts/at91sam9263ek.dts new file mode 100644 index 000000000000..f86ac4b609fc --- /dev/null +++ b/arch/arm/boot/dts/at91sam9263ek.dts | |||
@@ -0,0 +1,156 @@ | |||
1 | /* | ||
2 | * at91sam9263ek.dts - Device Tree file for Atmel at91sam9263 reference board | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2 only | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9263.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel at91sam9263ek"; | ||
13 | compatible = "atmel,at91sam9263ek", "atmel,at91sam9263", "atmel,at91sam9"; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs"; | ||
17 | }; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x20000000 0x4000000>; | ||
21 | }; | ||
22 | |||
23 | clocks { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <1>; | ||
26 | ranges; | ||
27 | |||
28 | main_clock: clock@0 { | ||
29 | compatible = "atmel,osc", "fixed-clock"; | ||
30 | clock-frequency = <16367660>; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | ahb { | ||
35 | apb { | ||
36 | dbgu: serial@ffffee00 { | ||
37 | status = "okay"; | ||
38 | }; | ||
39 | |||
40 | usart0: serial@fff8c000 { | ||
41 | status = "okay"; | ||
42 | }; | ||
43 | |||
44 | macb0: ethernet@fffbc000 { | ||
45 | phy-mode = "rmii"; | ||
46 | status = "okay"; | ||
47 | }; | ||
48 | |||
49 | usb1: gadget@fff78000 { | ||
50 | atmel,vbus-gpio = <&pioA 25 0>; | ||
51 | status = "okay"; | ||
52 | }; | ||
53 | }; | ||
54 | |||
55 | nand0: nand@40000000 { | ||
56 | nand-bus-width = <8>; | ||
57 | nand-ecc-mode = "soft"; | ||
58 | nand-on-flash-bbt = <1>; | ||
59 | status = "okay"; | ||
60 | |||
61 | at91bootstrap@0 { | ||
62 | label = "at91bootstrap"; | ||
63 | reg = <0x0 0x20000>; | ||
64 | }; | ||
65 | |||
66 | barebox@20000 { | ||
67 | label = "barebox"; | ||
68 | reg = <0x20000 0x40000>; | ||
69 | }; | ||
70 | |||
71 | bareboxenv@60000 { | ||
72 | label = "bareboxenv"; | ||
73 | reg = <0x60000 0x20000>; | ||
74 | }; | ||
75 | |||
76 | bareboxenv2@80000 { | ||
77 | label = "bareboxenv2"; | ||
78 | reg = <0x80000 0x20000>; | ||
79 | }; | ||
80 | |||
81 | oftree@80000 { | ||
82 | label = "oftree"; | ||
83 | reg = <0xa0000 0x20000>; | ||
84 | }; | ||
85 | |||
86 | kernel@a0000 { | ||
87 | label = "kernel"; | ||
88 | reg = <0xc0000 0x400000>; | ||
89 | }; | ||
90 | |||
91 | rootfs@4a0000 { | ||
92 | label = "rootfs"; | ||
93 | reg = <0x4c0000 0x7800000>; | ||
94 | }; | ||
95 | |||
96 | data@7ca0000 { | ||
97 | label = "data"; | ||
98 | reg = <0x7cc0000 0x8340000>; | ||
99 | }; | ||
100 | }; | ||
101 | |||
102 | usb0: ohci@00a00000 { | ||
103 | num-ports = <2>; | ||
104 | status = "okay"; | ||
105 | atmel,vbus-gpio = <&pioA 24 0 | ||
106 | &pioA 21 0 | ||
107 | >; | ||
108 | }; | ||
109 | }; | ||
110 | |||
111 | leds { | ||
112 | compatible = "gpio-leds"; | ||
113 | |||
114 | d3 { | ||
115 | label = "d3"; | ||
116 | gpios = <&pioB 7 0>; | ||
117 | linux,default-trigger = "heartbeat"; | ||
118 | }; | ||
119 | |||
120 | d2 { | ||
121 | label = "d2"; | ||
122 | gpios = <&pioC 29 1>; | ||
123 | linux,default-trigger = "nand-disk"; | ||
124 | }; | ||
125 | }; | ||
126 | |||
127 | gpio_keys { | ||
128 | compatible = "gpio-keys"; | ||
129 | #address-cells = <1>; | ||
130 | #size-cells = <0>; | ||
131 | |||
132 | left_click { | ||
133 | label = "left_click"; | ||
134 | gpios = <&pioC 5 1>; | ||
135 | linux,code = <272>; | ||
136 | gpio-key,wakeup; | ||
137 | }; | ||
138 | |||
139 | right_click { | ||
140 | label = "right_click"; | ||
141 | gpios = <&pioC 4 1>; | ||
142 | linux,code = <273>; | ||
143 | gpio-key,wakeup; | ||
144 | }; | ||
145 | }; | ||
146 | |||
147 | i2c@0 { | ||
148 | status = "okay"; | ||
149 | |||
150 | 24c512@50 { | ||
151 | compatible = "24c512"; | ||
152 | reg = <0x50>; | ||
153 | pagesize = <128>; | ||
154 | }; | ||
155 | }; | ||
156 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9g20.dtsi b/arch/arm/boot/dts/at91sam9g20.dtsi index 773ef484037a..0eb1a753f796 100644 --- a/arch/arm/boot/dts/at91sam9g20.dtsi +++ b/arch/arm/boot/dts/at91sam9g20.dtsi | |||
@@ -1,238 +1,18 @@ | |||
1 | /* | 1 | /* |
2 | * at91sam9g20.dtsi - Device Tree Include file for AT91SAM9G20 family SoC | 2 | * at91sam9g20.dtsi - Device Tree Include file for AT91SAM9G20 family SoC |
3 | * | 3 | * |
4 | * Copyright (C) 2011 Atmel, | 4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> |
5 | * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>, | ||
6 | * 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
7 | * | 5 | * |
8 | * Licensed under GPLv2 or later. | 6 | * Licensed under GPLv2. |
9 | */ | 7 | */ |
10 | 8 | ||
11 | /include/ "skeleton.dtsi" | 9 | /include/ "at91sam9260.dtsi" |
12 | 10 | ||
13 | / { | 11 | / { |
14 | model = "Atmel AT91SAM9G20 family SoC"; | 12 | model = "Atmel AT91SAM9G20 family SoC"; |
15 | compatible = "atmel,at91sam9g20"; | 13 | compatible = "atmel,at91sam9g20"; |
16 | interrupt-parent = <&aic>; | ||
17 | |||
18 | aliases { | ||
19 | serial0 = &dbgu; | ||
20 | serial1 = &usart0; | ||
21 | serial2 = &usart1; | ||
22 | serial3 = &usart2; | ||
23 | serial4 = &usart3; | ||
24 | serial5 = &usart4; | ||
25 | serial6 = &usart5; | ||
26 | gpio0 = &pioA; | ||
27 | gpio1 = &pioB; | ||
28 | gpio2 = &pioC; | ||
29 | tcb0 = &tcb0; | ||
30 | tcb1 = &tcb1; | ||
31 | }; | ||
32 | cpus { | ||
33 | cpu@0 { | ||
34 | compatible = "arm,arm926ejs"; | ||
35 | }; | ||
36 | }; | ||
37 | 14 | ||
38 | memory { | 15 | memory { |
39 | reg = <0x20000000 0x08000000>; | 16 | reg = <0x20000000 0x08000000>; |
40 | }; | 17 | }; |
41 | |||
42 | ahb { | ||
43 | compatible = "simple-bus"; | ||
44 | #address-cells = <1>; | ||
45 | #size-cells = <1>; | ||
46 | ranges; | ||
47 | |||
48 | apb { | ||
49 | compatible = "simple-bus"; | ||
50 | #address-cells = <1>; | ||
51 | #size-cells = <1>; | ||
52 | ranges; | ||
53 | |||
54 | aic: interrupt-controller@fffff000 { | ||
55 | #interrupt-cells = <2>; | ||
56 | compatible = "atmel,at91rm9200-aic"; | ||
57 | interrupt-controller; | ||
58 | reg = <0xfffff000 0x200>; | ||
59 | }; | ||
60 | |||
61 | ramc0: ramc@ffffea00 { | ||
62 | compatible = "atmel,at91sam9260-sdramc"; | ||
63 | reg = <0xffffea00 0x200>; | ||
64 | }; | ||
65 | |||
66 | pmc: pmc@fffffc00 { | ||
67 | compatible = "atmel,at91rm9200-pmc"; | ||
68 | reg = <0xfffffc00 0x100>; | ||
69 | }; | ||
70 | |||
71 | rstc@fffffd00 { | ||
72 | compatible = "atmel,at91sam9260-rstc"; | ||
73 | reg = <0xfffffd00 0x10>; | ||
74 | }; | ||
75 | |||
76 | shdwc@fffffd10 { | ||
77 | compatible = "atmel,at91sam9260-shdwc"; | ||
78 | reg = <0xfffffd10 0x10>; | ||
79 | }; | ||
80 | |||
81 | pit: timer@fffffd30 { | ||
82 | compatible = "atmel,at91sam9260-pit"; | ||
83 | reg = <0xfffffd30 0xf>; | ||
84 | interrupts = <1 4>; | ||
85 | }; | ||
86 | |||
87 | tcb0: timer@fffa0000 { | ||
88 | compatible = "atmel,at91rm9200-tcb"; | ||
89 | reg = <0xfffa0000 0x100>; | ||
90 | interrupts = <17 4 18 4 19 4>; | ||
91 | }; | ||
92 | |||
93 | tcb1: timer@fffdc000 { | ||
94 | compatible = "atmel,at91rm9200-tcb"; | ||
95 | reg = <0xfffdc000 0x100>; | ||
96 | interrupts = <26 4 27 4 28 4>; | ||
97 | }; | ||
98 | |||
99 | pioA: gpio@fffff400 { | ||
100 | compatible = "atmel,at91rm9200-gpio"; | ||
101 | reg = <0xfffff400 0x100>; | ||
102 | interrupts = <2 4>; | ||
103 | #gpio-cells = <2>; | ||
104 | gpio-controller; | ||
105 | interrupt-controller; | ||
106 | }; | ||
107 | |||
108 | pioB: gpio@fffff600 { | ||
109 | compatible = "atmel,at91rm9200-gpio"; | ||
110 | reg = <0xfffff600 0x100>; | ||
111 | interrupts = <3 4>; | ||
112 | #gpio-cells = <2>; | ||
113 | gpio-controller; | ||
114 | interrupt-controller; | ||
115 | }; | ||
116 | |||
117 | pioC: gpio@fffff800 { | ||
118 | compatible = "atmel,at91rm9200-gpio"; | ||
119 | reg = <0xfffff800 0x100>; | ||
120 | interrupts = <4 4>; | ||
121 | #gpio-cells = <2>; | ||
122 | gpio-controller; | ||
123 | interrupt-controller; | ||
124 | }; | ||
125 | |||
126 | dbgu: serial@fffff200 { | ||
127 | compatible = "atmel,at91sam9260-usart"; | ||
128 | reg = <0xfffff200 0x200>; | ||
129 | interrupts = <1 4>; | ||
130 | status = "disabled"; | ||
131 | }; | ||
132 | |||
133 | usart0: serial@fffb0000 { | ||
134 | compatible = "atmel,at91sam9260-usart"; | ||
135 | reg = <0xfffb0000 0x200>; | ||
136 | interrupts = <6 4>; | ||
137 | atmel,use-dma-rx; | ||
138 | atmel,use-dma-tx; | ||
139 | status = "disabled"; | ||
140 | }; | ||
141 | |||
142 | usart1: serial@fffb4000 { | ||
143 | compatible = "atmel,at91sam9260-usart"; | ||
144 | reg = <0xfffb4000 0x200>; | ||
145 | interrupts = <7 4>; | ||
146 | atmel,use-dma-rx; | ||
147 | atmel,use-dma-tx; | ||
148 | status = "disabled"; | ||
149 | }; | ||
150 | |||
151 | usart2: serial@fffb8000 { | ||
152 | compatible = "atmel,at91sam9260-usart"; | ||
153 | reg = <0xfffb8000 0x200>; | ||
154 | interrupts = <8 4>; | ||
155 | atmel,use-dma-rx; | ||
156 | atmel,use-dma-tx; | ||
157 | status = "disabled"; | ||
158 | }; | ||
159 | |||
160 | usart3: serial@fffd0000 { | ||
161 | compatible = "atmel,at91sam9260-usart"; | ||
162 | reg = <0xfffd0000 0x200>; | ||
163 | interrupts = <23 4>; | ||
164 | atmel,use-dma-rx; | ||
165 | atmel,use-dma-tx; | ||
166 | status = "disabled"; | ||
167 | }; | ||
168 | |||
169 | usart4: serial@fffd4000 { | ||
170 | compatible = "atmel,at91sam9260-usart"; | ||
171 | reg = <0xfffd4000 0x200>; | ||
172 | interrupts = <24 4>; | ||
173 | atmel,use-dma-rx; | ||
174 | atmel,use-dma-tx; | ||
175 | status = "disabled"; | ||
176 | }; | ||
177 | |||
178 | usart5: serial@fffd8000 { | ||
179 | compatible = "atmel,at91sam9260-usart"; | ||
180 | reg = <0xfffd8000 0x200>; | ||
181 | interrupts = <25 4>; | ||
182 | atmel,use-dma-rx; | ||
183 | atmel,use-dma-tx; | ||
184 | status = "disabled"; | ||
185 | }; | ||
186 | |||
187 | macb0: ethernet@fffc4000 { | ||
188 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | ||
189 | reg = <0xfffc4000 0x100>; | ||
190 | interrupts = <21 4>; | ||
191 | status = "disabled"; | ||
192 | }; | ||
193 | |||
194 | usb1: gadget@fffa4000 { | ||
195 | compatible = "atmel,at91rm9200-udc"; | ||
196 | reg = <0xfffa4000 0x4000>; | ||
197 | interrupts = <10 4>; | ||
198 | status = "disabled"; | ||
199 | }; | ||
200 | }; | ||
201 | |||
202 | nand0: nand@40000000 { | ||
203 | compatible = "atmel,at91rm9200-nand"; | ||
204 | #address-cells = <1>; | ||
205 | #size-cells = <1>; | ||
206 | reg = <0x40000000 0x10000000 | ||
207 | 0xffffe800 0x200 | ||
208 | >; | ||
209 | atmel,nand-addr-offset = <21>; | ||
210 | atmel,nand-cmd-offset = <22>; | ||
211 | gpios = <&pioC 13 0 | ||
212 | &pioC 14 0 | ||
213 | 0 | ||
214 | >; | ||
215 | status = "disabled"; | ||
216 | }; | ||
217 | |||
218 | usb0: ohci@00500000 { | ||
219 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | ||
220 | reg = <0x00500000 0x100000>; | ||
221 | interrupts = <20 4>; | ||
222 | status = "disabled"; | ||
223 | }; | ||
224 | }; | ||
225 | |||
226 | i2c@0 { | ||
227 | compatible = "i2c-gpio"; | ||
228 | gpios = <&pioA 23 0 /* sda */ | ||
229 | &pioA 24 0 /* scl */ | ||
230 | >; | ||
231 | i2c-gpio,sda-open-drain; | ||
232 | i2c-gpio,scl-open-drain; | ||
233 | i2c-gpio,delay-us = <2>; /* ~100 kHz */ | ||
234 | #address-cells = <1>; | ||
235 | #size-cells = <0>; | ||
236 | status = "disabled"; | ||
237 | }; | ||
238 | }; | 18 | }; |
diff --git a/arch/arm/boot/dts/at91sam9g20ek.dts b/arch/arm/boot/dts/at91sam9g20ek.dts new file mode 100644 index 000000000000..e5324bf9d529 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9g20ek.dts | |||
@@ -0,0 +1,29 @@ | |||
1 | /* | ||
2 | * at91sam9g20ek.dts - Device Tree file for Atmel at91sam9g20ek board | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9g20ek_common.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel at91sam9g20ek"; | ||
13 | compatible = "atmel,at91sam9g20ek", "atmel,at91sam9g20", "atmel,at91sam9"; | ||
14 | |||
15 | leds { | ||
16 | compatible = "gpio-leds"; | ||
17 | |||
18 | ds1 { | ||
19 | label = "ds1"; | ||
20 | gpios = <&pioA 9 0>; | ||
21 | linux,default-trigger = "heartbeat"; | ||
22 | }; | ||
23 | |||
24 | ds5 { | ||
25 | label = "ds5"; | ||
26 | gpios = <&pioA 6 1>; | ||
27 | }; | ||
28 | }; | ||
29 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts b/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts new file mode 100644 index 000000000000..f1b2e148ac8c --- /dev/null +++ b/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts | |||
@@ -0,0 +1,29 @@ | |||
1 | /* | ||
2 | * at91sam9g20ek_2mmc.dts - Device Tree file for Atmel at91sam9g20ek 2 MMC board | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9g20ek_common.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel at91sam9g20ek 2 mmc"; | ||
13 | compatible = "atmel,at91sam9g20ek_2mmc", "atmel,at91sam9g20", "atmel,at91sam9"; | ||
14 | |||
15 | leds { | ||
16 | compatible = "gpio-leds"; | ||
17 | |||
18 | ds1 { | ||
19 | label = "ds1"; | ||
20 | gpios = <&pioB 9 0>; | ||
21 | linux,default-trigger = "heartbeat"; | ||
22 | }; | ||
23 | |||
24 | ds5 { | ||
25 | label = "ds5"; | ||
26 | gpios = <&pioB 8 1>; | ||
27 | }; | ||
28 | }; | ||
29 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi new file mode 100644 index 000000000000..b06c0db273b1 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi | |||
@@ -0,0 +1,142 @@ | |||
1 | /* | ||
2 | * at91sam9g20ek_common.dtsi - Device Tree file for Atmel at91sam9g20ek board | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | /include/ "at91sam9g20.dtsi" | ||
9 | |||
10 | / { | ||
11 | |||
12 | chosen { | ||
13 | bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs"; | ||
14 | }; | ||
15 | |||
16 | memory { | ||
17 | reg = <0x20000000 0x4000000>; | ||
18 | }; | ||
19 | |||
20 | clocks { | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <1>; | ||
23 | ranges; | ||
24 | |||
25 | main_clock: clock@0 { | ||
26 | compatible = "atmel,osc", "fixed-clock"; | ||
27 | clock-frequency = <18432000>; | ||
28 | }; | ||
29 | }; | ||
30 | |||
31 | ahb { | ||
32 | apb { | ||
33 | dbgu: serial@fffff200 { | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | |||
37 | usart0: serial@fffb0000 { | ||
38 | status = "okay"; | ||
39 | }; | ||
40 | |||
41 | usart1: serial@fffb4000 { | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | |||
45 | macb0: ethernet@fffc4000 { | ||
46 | phy-mode = "rmii"; | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | |||
50 | usb1: gadget@fffa4000 { | ||
51 | atmel,vbus-gpio = <&pioC 5 0>; | ||
52 | status = "okay"; | ||
53 | }; | ||
54 | }; | ||
55 | |||
56 | nand0: nand@40000000 { | ||
57 | nand-bus-width = <8>; | ||
58 | nand-ecc-mode = "soft"; | ||
59 | nand-on-flash-bbt; | ||
60 | status = "okay"; | ||
61 | |||
62 | at91bootstrap@0 { | ||
63 | label = "at91bootstrap"; | ||
64 | reg = <0x0 0x20000>; | ||
65 | }; | ||
66 | |||
67 | barebox@20000 { | ||
68 | label = "barebox"; | ||
69 | reg = <0x20000 0x40000>; | ||
70 | }; | ||
71 | |||
72 | bareboxenv@60000 { | ||
73 | label = "bareboxenv"; | ||
74 | reg = <0x60000 0x20000>; | ||
75 | }; | ||
76 | |||
77 | bareboxenv2@80000 { | ||
78 | label = "bareboxenv2"; | ||
79 | reg = <0x80000 0x20000>; | ||
80 | }; | ||
81 | |||
82 | oftree@80000 { | ||
83 | label = "oftree"; | ||
84 | reg = <0xa0000 0x20000>; | ||
85 | }; | ||
86 | |||
87 | kernel@a0000 { | ||
88 | label = "kernel"; | ||
89 | reg = <0xc0000 0x400000>; | ||
90 | }; | ||
91 | |||
92 | rootfs@4a0000 { | ||
93 | label = "rootfs"; | ||
94 | reg = <0x4c0000 0x7800000>; | ||
95 | }; | ||
96 | |||
97 | data@7ca0000 { | ||
98 | label = "data"; | ||
99 | reg = <0x7cc0000 0x8340000>; | ||
100 | }; | ||
101 | }; | ||
102 | |||
103 | usb0: ohci@00500000 { | ||
104 | num-ports = <2>; | ||
105 | status = "okay"; | ||
106 | }; | ||
107 | }; | ||
108 | |||
109 | i2c@0 { | ||
110 | status = "okay"; | ||
111 | |||
112 | 24c512@50 { | ||
113 | compatible = "24c512"; | ||
114 | reg = <0x50>; | ||
115 | }; | ||
116 | |||
117 | wm8731@1b { | ||
118 | compatible = "wm8731"; | ||
119 | reg = <0x1b>; | ||
120 | }; | ||
121 | }; | ||
122 | |||
123 | gpio_keys { | ||
124 | compatible = "gpio-keys"; | ||
125 | #address-cells = <1>; | ||
126 | #size-cells = <0>; | ||
127 | |||
128 | btn3 { | ||
129 | label = "Buttin 3"; | ||
130 | gpios = <&pioA 30 1>; | ||
131 | linux,code = <0x103>; | ||
132 | gpio-key,wakeup; | ||
133 | }; | ||
134 | |||
135 | btn4 { | ||
136 | label = "Buttin 4"; | ||
137 | gpios = <&pioA 31 1>; | ||
138 | linux,code = <0x104>; | ||
139 | gpio-key,wakeup; | ||
140 | }; | ||
141 | }; | ||
142 | }; | ||
diff --git a/arch/arm/boot/dts/ethernut5.dts b/arch/arm/boot/dts/ethernut5.dts new file mode 100644 index 000000000000..1ea9d34460a4 --- /dev/null +++ b/arch/arm/boot/dts/ethernut5.dts | |||
@@ -0,0 +1,84 @@ | |||
1 | /* | ||
2 | * ethernut5.dts - Device Tree file for Ethernut 5 board | ||
3 | * | ||
4 | * Copyright (C) 2012 egnite GmbH <info@egnite.de> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9260.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Ethernut 5"; | ||
13 | compatible = "egnite,ethernut5", "atmel,at91sam9260", "atmel,at91sam9"; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "console=ttyS0,115200 root=/dev/mtdblock0 rw rootfstype=jffs2"; | ||
17 | }; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x20000000 0x08000000>; | ||
21 | }; | ||
22 | |||
23 | ahb { | ||
24 | apb { | ||
25 | dbgu: serial@fffff200 { | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | |||
29 | usart0: serial@fffb0000 { | ||
30 | status = "okay"; | ||
31 | }; | ||
32 | |||
33 | usart1: serial@fffb4000 { | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | |||
37 | macb0: ethernet@fffc4000 { | ||
38 | phy-mode = "rmii"; | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | |||
42 | usb1: gadget@fffa4000 { | ||
43 | atmel,vbus-gpio = <&pioC 5 0>; | ||
44 | status = "okay"; | ||
45 | }; | ||
46 | }; | ||
47 | |||
48 | nand0: nand@40000000 { | ||
49 | nand-bus-width = <8>; | ||
50 | nand-ecc-mode = "soft"; | ||
51 | nand-on-flash-bbt; | ||
52 | status = "okay"; | ||
53 | |||
54 | gpios = <0 | ||
55 | &pioC 14 0 | ||
56 | 0 | ||
57 | >; | ||
58 | |||
59 | root@0 { | ||
60 | label = "root"; | ||
61 | reg = <0x0 0x08000000>; | ||
62 | }; | ||
63 | |||
64 | data@20000 { | ||
65 | label = "data"; | ||
66 | reg = <0x08000000 0x38000000>; | ||
67 | }; | ||
68 | }; | ||
69 | |||
70 | usb0: ohci@00500000 { | ||
71 | num-ports = <2>; | ||
72 | status = "okay"; | ||
73 | }; | ||
74 | }; | ||
75 | |||
76 | i2c@0 { | ||
77 | status = "okay"; | ||
78 | |||
79 | pcf8563@50 { | ||
80 | compatible = "nxp,pcf8563"; | ||
81 | reg = <0x51>; | ||
82 | }; | ||
83 | }; | ||
84 | }; | ||
diff --git a/arch/arm/boot/dts/kizbox.dts b/arch/arm/boot/dts/kizbox.dts new file mode 100644 index 000000000000..e8814fe0e277 --- /dev/null +++ b/arch/arm/boot/dts/kizbox.dts | |||
@@ -0,0 +1,138 @@ | |||
1 | /* | ||
2 | * kizbox.dts - Device Tree file for Overkiz Kizbox board | ||
3 | * | ||
4 | * Copyright (C) 2012 Boris BREZILLON <linux-arm@overkiz.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9g20.dtsi" | ||
10 | |||
11 | / { | ||
12 | |||
13 | model = "Overkiz kizbox"; | ||
14 | compatible = "overkiz,kizbox", "atmel,at91sam9g20", "atmel,at91sam9"; | ||
15 | |||
16 | chosen { | ||
17 | bootargs = "panic=5 ubi.mtd=1 rootfstype=ubifs root=ubi0:root"; | ||
18 | }; | ||
19 | |||
20 | memory { | ||
21 | reg = <0x20000000 0x2000000>; | ||
22 | }; | ||
23 | |||
24 | clocks { | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <1>; | ||
27 | ranges; | ||
28 | |||
29 | main_clock: clock@0 { | ||
30 | compatible = "atmel,osc", "fixed-clock"; | ||
31 | clock-frequency = <18432000>; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | ahb { | ||
36 | apb { | ||
37 | dbgu: serial@fffff200 { | ||
38 | status = "okay"; | ||
39 | }; | ||
40 | |||
41 | usart0: serial@fffb0000 { | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | |||
45 | usart1: serial@fffb4000 { | ||
46 | status = "okay"; | ||
47 | }; | ||
48 | |||
49 | macb0: ethernet@fffc4000 { | ||
50 | phy-mode = "mii"; | ||
51 | status = "okay"; | ||
52 | }; | ||
53 | |||
54 | }; | ||
55 | |||
56 | nand0: nand@40000000 { | ||
57 | nand-bus-width = <8>; | ||
58 | nand-ecc-mode = "soft"; | ||
59 | status = "okay"; | ||
60 | |||
61 | bootloaderkernel@0 { | ||
62 | label = "bootloader-kernel"; | ||
63 | reg = <0x0 0xc0000>; | ||
64 | }; | ||
65 | |||
66 | ubi@c0000 { | ||
67 | label = "ubi"; | ||
68 | reg = <0xc0000 0x7f40000>; | ||
69 | }; | ||
70 | |||
71 | }; | ||
72 | |||
73 | usb0: ohci@00500000 { | ||
74 | num-ports = <1>; | ||
75 | status = "okay"; | ||
76 | }; | ||
77 | }; | ||
78 | |||
79 | i2c@0 { | ||
80 | status = "okay"; | ||
81 | |||
82 | pcf8563@51 { | ||
83 | /* nxp pcf8563 rtc */ | ||
84 | compatible = "nxp,pcf8563"; | ||
85 | reg = <0x51>; | ||
86 | }; | ||
87 | |||
88 | }; | ||
89 | |||
90 | leds { | ||
91 | compatible = "gpio-leds"; | ||
92 | |||
93 | led1g { | ||
94 | label = "led1:green"; | ||
95 | gpios = <&pioB 0 1>; | ||
96 | linux,default-trigger = "none"; | ||
97 | }; | ||
98 | |||
99 | led1r { | ||
100 | label = "led1:red"; | ||
101 | gpios = <&pioB 1 1>; | ||
102 | linux,default-trigger = "none"; | ||
103 | }; | ||
104 | |||
105 | led2g { | ||
106 | label = "led2:green"; | ||
107 | gpios = <&pioB 2 1>; | ||
108 | linux,default-trigger = "none"; | ||
109 | default-state = "on"; | ||
110 | }; | ||
111 | |||
112 | led2r { | ||
113 | label = "led2:red"; | ||
114 | gpios = <&pioB 3 1>; | ||
115 | linux,default-trigger = "none"; | ||
116 | }; | ||
117 | }; | ||
118 | |||
119 | gpio_keys { | ||
120 | compatible = "gpio-keys"; | ||
121 | #address-cells = <1>; | ||
122 | #size-cells = <0>; | ||
123 | |||
124 | reset { | ||
125 | label = "reset"; | ||
126 | gpios = <&pioB 30 1>; | ||
127 | linux,code = <0x100>; | ||
128 | gpio-key,wakeup; | ||
129 | }; | ||
130 | |||
131 | mode { | ||
132 | label = "mode"; | ||
133 | gpios = <&pioB 31 1>; | ||
134 | linux,code = <0x101>; | ||
135 | gpio-key,wakeup; | ||
136 | }; | ||
137 | }; | ||
138 | }; \ No newline at end of file | ||
diff --git a/arch/arm/boot/dts/tny_a9260.dts b/arch/arm/boot/dts/tny_a9260.dts new file mode 100644 index 000000000000..367a16dcd5ef --- /dev/null +++ b/arch/arm/boot/dts/tny_a9260.dts | |||
@@ -0,0 +1,15 @@ | |||
1 | /* | ||
2 | * tny_a9260.dts - Device Tree file for Caloa TNY A9260 board | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9260.dtsi" | ||
10 | /include/ "tny_a9260_common.dtsi" | ||
11 | |||
12 | / { | ||
13 | model = "Calao TNY A9260"; | ||
14 | compatible = "calao,tny-a9260", "atmel,at91sam9260", "atmel,at91sam9"; | ||
15 | }; | ||
diff --git a/arch/arm/boot/dts/tny_a9260_common.dtsi b/arch/arm/boot/dts/tny_a9260_common.dtsi new file mode 100644 index 000000000000..0e6d3de2e09e --- /dev/null +++ b/arch/arm/boot/dts/tny_a9260_common.dtsi | |||
@@ -0,0 +1,83 @@ | |||
1 | /* | ||
2 | * tny_a9260_common.dtsi - Device Tree file for Caloa TNY A926x board | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | |||
9 | / { | ||
10 | chosen { | ||
11 | bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock6 rw rootfstype=ubifs"; | ||
12 | }; | ||
13 | |||
14 | memory { | ||
15 | reg = <0x20000000 0x4000000>; | ||
16 | }; | ||
17 | |||
18 | clocks { | ||
19 | #address-cells = <1>; | ||
20 | #size-cells = <1>; | ||
21 | ranges; | ||
22 | |||
23 | main_clock: clock@0 { | ||
24 | compatible = "atmel,osc", "fixed-clock"; | ||
25 | clock-frequency = <12000000>; | ||
26 | }; | ||
27 | }; | ||
28 | |||
29 | ahb { | ||
30 | apb { | ||
31 | dbgu: serial@fffff200 { | ||
32 | status = "okay"; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | nand0: nand@40000000 { | ||
37 | nand-bus-width = <8>; | ||
38 | nand-ecc-mode = "soft"; | ||
39 | nand-on-flash-bbt; | ||
40 | status = "okay"; | ||
41 | |||
42 | at91bootstrap@0 { | ||
43 | label = "at91bootstrap"; | ||
44 | reg = <0x0 0x20000>; | ||
45 | }; | ||
46 | |||
47 | barebox@20000 { | ||
48 | label = "barebox"; | ||
49 | reg = <0x20000 0x40000>; | ||
50 | }; | ||
51 | |||
52 | bareboxenv@60000 { | ||
53 | label = "bareboxenv"; | ||
54 | reg = <0x60000 0x20000>; | ||
55 | }; | ||
56 | |||
57 | bareboxenv2@80000 { | ||
58 | label = "bareboxenv2"; | ||
59 | reg = <0x80000 0x20000>; | ||
60 | }; | ||
61 | |||
62 | oftree@80000 { | ||
63 | label = "oftree"; | ||
64 | reg = <0xa0000 0x20000>; | ||
65 | }; | ||
66 | |||
67 | kernel@a0000 { | ||
68 | label = "kernel"; | ||
69 | reg = <0xc0000 0x400000>; | ||
70 | }; | ||
71 | |||
72 | rootfs@4a0000 { | ||
73 | label = "rootfs"; | ||
74 | reg = <0x4c0000 0x7800000>; | ||
75 | }; | ||
76 | |||
77 | data@7ca0000 { | ||
78 | label = "data"; | ||
79 | reg = <0x7cc0000 0x8340000>; | ||
80 | }; | ||
81 | }; | ||
82 | }; | ||
83 | }; | ||
diff --git a/arch/arm/boot/dts/tny_a9263.dts b/arch/arm/boot/dts/tny_a9263.dts new file mode 100644 index 000000000000..dee9c571306b --- /dev/null +++ b/arch/arm/boot/dts/tny_a9263.dts | |||
@@ -0,0 +1,97 @@ | |||
1 | /* | ||
2 | * usb_a9263.dts - Device Tree file for Caloa USB A9293 board | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2 only | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9263.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Calao TNY A9263"; | ||
13 | compatible = "atmel,tny-a9263", "atmel,at91sam9263", "atmel,at91sam9"; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs"; | ||
17 | }; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x20000000 0x4000000>; | ||
21 | }; | ||
22 | |||
23 | clocks { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <1>; | ||
26 | ranges; | ||
27 | |||
28 | main_clock: clock@0 { | ||
29 | compatible = "atmel,osc", "fixed-clock"; | ||
30 | clock-frequency = <12000000>; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | ahb { | ||
35 | apb { | ||
36 | dbgu: serial@ffffee00 { | ||
37 | status = "okay"; | ||
38 | }; | ||
39 | |||
40 | usb1: gadget@fff78000 { | ||
41 | atmel,vbus-gpio = <&pioB 11 0>; | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | nand0: nand@40000000 { | ||
47 | nand-bus-width = <8>; | ||
48 | nand-ecc-mode = "soft"; | ||
49 | nand-on-flash-bbt; | ||
50 | status = "okay"; | ||
51 | |||
52 | at91bootstrap@0 { | ||
53 | label = "at91bootstrap"; | ||
54 | reg = <0x0 0x20000>; | ||
55 | }; | ||
56 | |||
57 | barebox@20000 { | ||
58 | label = "barebox"; | ||
59 | reg = <0x20000 0x40000>; | ||
60 | }; | ||
61 | |||
62 | bareboxenv@60000 { | ||
63 | label = "bareboxenv"; | ||
64 | reg = <0x60000 0x20000>; | ||
65 | }; | ||
66 | |||
67 | bareboxenv2@80000 { | ||
68 | label = "bareboxenv2"; | ||
69 | reg = <0x80000 0x20000>; | ||
70 | }; | ||
71 | |||
72 | oftree@80000 { | ||
73 | label = "oftree"; | ||
74 | reg = <0xa0000 0x20000>; | ||
75 | }; | ||
76 | |||
77 | kernel@a0000 { | ||
78 | label = "kernel"; | ||
79 | reg = <0xc0000 0x400000>; | ||
80 | }; | ||
81 | |||
82 | rootfs@4a0000 { | ||
83 | label = "rootfs"; | ||
84 | reg = <0x4c0000 0x7800000>; | ||
85 | }; | ||
86 | |||
87 | data@7ca0000 { | ||
88 | label = "data"; | ||
89 | reg = <0x7cc0000 0x8340000>; | ||
90 | }; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | i2c@0 { | ||
95 | status = "okay"; | ||
96 | }; | ||
97 | }; | ||
diff --git a/arch/arm/boot/dts/tny_a9g20.dts b/arch/arm/boot/dts/tny_a9g20.dts new file mode 100644 index 000000000000..e1ab64c72dba --- /dev/null +++ b/arch/arm/boot/dts/tny_a9g20.dts | |||
@@ -0,0 +1,15 @@ | |||
1 | /* | ||
2 | * tny_a9g20.dts - Device Tree file for Caloa TNY A9G20 board | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9g20.dtsi" | ||
10 | /include/ "tny_a9260_common.dtsi" | ||
11 | |||
12 | / { | ||
13 | model = "Calao TNY A9G20"; | ||
14 | compatible = "calao,tny-a9g20", "atmel,at91sam9g20", "atmel,at91sam9"; | ||
15 | }; | ||
diff --git a/arch/arm/boot/dts/usb_a9260.dts b/arch/arm/boot/dts/usb_a9260.dts new file mode 100644 index 000000000000..296216058c11 --- /dev/null +++ b/arch/arm/boot/dts/usb_a9260.dts | |||
@@ -0,0 +1,23 @@ | |||
1 | /* | ||
2 | * usb_a9260.dts - Device Tree file for Caloa USB A9260 board | ||
3 | * | ||
4 | * Copyright (C) 2011-2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2 or later. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9260.dtsi" | ||
10 | /include/ "usb_a9260_common.dtsi" | ||
11 | |||
12 | / { | ||
13 | model = "Calao USB A9260"; | ||
14 | compatible = "calao,usb-a9260", "atmel,at91sam9260", "atmel,at91sam9"; | ||
15 | |||
16 | chosen { | ||
17 | bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs"; | ||
18 | }; | ||
19 | |||
20 | memory { | ||
21 | reg = <0x20000000 0x4000000>; | ||
22 | }; | ||
23 | }; | ||
diff --git a/arch/arm/boot/dts/usb_a9260_common.dtsi b/arch/arm/boot/dts/usb_a9260_common.dtsi new file mode 100644 index 000000000000..e70d229baef5 --- /dev/null +++ b/arch/arm/boot/dts/usb_a9260_common.dtsi | |||
@@ -0,0 +1,117 @@ | |||
1 | /* | ||
2 | * usb_a926x.dts - Device Tree file for Caloa USB A926x board | ||
3 | * | ||
4 | * Copyright (C) 2011-2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2 or later. | ||
7 | */ | ||
8 | |||
9 | / { | ||
10 | clocks { | ||
11 | #address-cells = <1>; | ||
12 | #size-cells = <1>; | ||
13 | ranges; | ||
14 | |||
15 | main_clock: clock@0 { | ||
16 | compatible = "atmel,osc", "fixed-clock"; | ||
17 | clock-frequency = <12000000>; | ||
18 | }; | ||
19 | }; | ||
20 | |||
21 | ahb { | ||
22 | apb { | ||
23 | dbgu: serial@fffff200 { | ||
24 | status = "okay"; | ||
25 | }; | ||
26 | |||
27 | macb0: ethernet@fffc4000 { | ||
28 | phy-mode = "rmii"; | ||
29 | status = "okay"; | ||
30 | }; | ||
31 | |||
32 | usb1: gadget@fffa4000 { | ||
33 | atmel,vbus-gpio = <&pioC 5 0>; | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | }; | ||
37 | |||
38 | nand0: nand@40000000 { | ||
39 | nand-bus-width = <8>; | ||
40 | nand-ecc-mode = "soft"; | ||
41 | nand-on-flash-bbt; | ||
42 | status = "okay"; | ||
43 | |||
44 | at91bootstrap@0 { | ||
45 | label = "at91bootstrap"; | ||
46 | reg = <0x0 0x20000>; | ||
47 | }; | ||
48 | |||
49 | barebox@20000 { | ||
50 | label = "barebox"; | ||
51 | reg = <0x20000 0x40000>; | ||
52 | }; | ||
53 | |||
54 | bareboxenv@60000 { | ||
55 | label = "bareboxenv"; | ||
56 | reg = <0x60000 0x20000>; | ||
57 | }; | ||
58 | |||
59 | bareboxenv2@80000 { | ||
60 | label = "bareboxenv2"; | ||
61 | reg = <0x80000 0x20000>; | ||
62 | }; | ||
63 | |||
64 | oftree@80000 { | ||
65 | label = "oftree"; | ||
66 | reg = <0xa0000 0x20000>; | ||
67 | }; | ||
68 | |||
69 | kernel@a0000 { | ||
70 | label = "kernel"; | ||
71 | reg = <0xc0000 0x400000>; | ||
72 | }; | ||
73 | |||
74 | rootfs@4a0000 { | ||
75 | label = "rootfs"; | ||
76 | reg = <0x4c0000 0x7800000>; | ||
77 | }; | ||
78 | |||
79 | data@7ca0000 { | ||
80 | label = "data"; | ||
81 | reg = <0x7cc0000 0x8340000>; | ||
82 | }; | ||
83 | }; | ||
84 | |||
85 | usb0: ohci@00500000 { | ||
86 | num-ports = <2>; | ||
87 | status = "okay"; | ||
88 | }; | ||
89 | }; | ||
90 | |||
91 | leds { | ||
92 | compatible = "gpio-leds"; | ||
93 | |||
94 | user_led { | ||
95 | label = "user_led"; | ||
96 | gpios = <&pioB 21 1>; | ||
97 | linux,default-trigger = "heartbeat"; | ||
98 | }; | ||
99 | }; | ||
100 | |||
101 | gpio_keys { | ||
102 | compatible = "gpio-keys"; | ||
103 | #address-cells = <1>; | ||
104 | #size-cells = <0>; | ||
105 | |||
106 | user_pb { | ||
107 | label = "user_pb"; | ||
108 | gpios = <&pioB 10 1>; | ||
109 | linux,code = <28>; | ||
110 | gpio-key,wakeup; | ||
111 | }; | ||
112 | }; | ||
113 | |||
114 | i2c@0 { | ||
115 | status = "okay"; | ||
116 | }; | ||
117 | }; | ||
diff --git a/arch/arm/boot/dts/usb_a9263.dts b/arch/arm/boot/dts/usb_a9263.dts new file mode 100644 index 000000000000..6fe05ccb6203 --- /dev/null +++ b/arch/arm/boot/dts/usb_a9263.dts | |||
@@ -0,0 +1,131 @@ | |||
1 | /* | ||
2 | * usb_a9263.dts - Device Tree file for Caloa USB A9293 board | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2 only | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9263.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Calao USB A9263"; | ||
13 | compatible = "atmel,usb-a9263", "atmel,at91sam9263", "atmel,at91sam9"; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs"; | ||
17 | }; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x20000000 0x4000000>; | ||
21 | }; | ||
22 | |||
23 | clocks { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <1>; | ||
26 | ranges; | ||
27 | |||
28 | main_clock: clock@0 { | ||
29 | compatible = "atmel,osc", "fixed-clock"; | ||
30 | clock-frequency = <12000000>; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | ahb { | ||
35 | apb { | ||
36 | dbgu: serial@ffffee00 { | ||
37 | status = "okay"; | ||
38 | }; | ||
39 | |||
40 | macb0: ethernet@fffbc000 { | ||
41 | phy-mode = "rmii"; | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | |||
45 | usb1: gadget@fff78000 { | ||
46 | atmel,vbus-gpio = <&pioB 11 0>; | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | |||
50 | }; | ||
51 | |||
52 | nand0: nand@40000000 { | ||
53 | nand-bus-width = <8>; | ||
54 | nand-ecc-mode = "soft"; | ||
55 | nand-on-flash-bbt; | ||
56 | status = "okay"; | ||
57 | |||
58 | at91bootstrap@0 { | ||
59 | label = "at91bootstrap"; | ||
60 | reg = <0x0 0x20000>; | ||
61 | }; | ||
62 | |||
63 | barebox@20000 { | ||
64 | label = "barebox"; | ||
65 | reg = <0x20000 0x40000>; | ||
66 | }; | ||
67 | |||
68 | bareboxenv@60000 { | ||
69 | label = "bareboxenv"; | ||
70 | reg = <0x60000 0x20000>; | ||
71 | }; | ||
72 | |||
73 | bareboxenv2@80000 { | ||
74 | label = "bareboxenv2"; | ||
75 | reg = <0x80000 0x20000>; | ||
76 | }; | ||
77 | |||
78 | oftree@80000 { | ||
79 | label = "oftree"; | ||
80 | reg = <0xa0000 0x20000>; | ||
81 | }; | ||
82 | |||
83 | kernel@a0000 { | ||
84 | label = "kernel"; | ||
85 | reg = <0xc0000 0x400000>; | ||
86 | }; | ||
87 | |||
88 | rootfs@4a0000 { | ||
89 | label = "rootfs"; | ||
90 | reg = <0x4c0000 0x7800000>; | ||
91 | }; | ||
92 | |||
93 | data@7ca0000 { | ||
94 | label = "data"; | ||
95 | reg = <0x7cc0000 0x8340000>; | ||
96 | }; | ||
97 | }; | ||
98 | |||
99 | usb0: ohci@00a00000 { | ||
100 | num-ports = <2>; | ||
101 | status = "okay"; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | leds { | ||
106 | compatible = "gpio-leds"; | ||
107 | |||
108 | user_led { | ||
109 | label = "user_led"; | ||
110 | gpios = <&pioB 21 0>; | ||
111 | linux,default-trigger = "heartbeat"; | ||
112 | }; | ||
113 | }; | ||
114 | |||
115 | gpio_keys { | ||
116 | compatible = "gpio-keys"; | ||
117 | #address-cells = <1>; | ||
118 | #size-cells = <0>; | ||
119 | |||
120 | user_pb { | ||
121 | label = "user_pb"; | ||
122 | gpios = <&pioB 10 1>; | ||
123 | linux,code = <28>; | ||
124 | gpio-key,wakeup; | ||
125 | }; | ||
126 | }; | ||
127 | |||
128 | i2c@0 { | ||
129 | status = "okay"; | ||
130 | }; | ||
131 | }; | ||
diff --git a/arch/arm/boot/dts/usb_a9g20.dts b/arch/arm/boot/dts/usb_a9g20.dts index 7c2399c532e5..2dacb16ce4ae 100644 --- a/arch/arm/boot/dts/usb_a9g20.dts +++ b/arch/arm/boot/dts/usb_a9g20.dts | |||
@@ -7,6 +7,7 @@ | |||
7 | */ | 7 | */ |
8 | /dts-v1/; | 8 | /dts-v1/; |
9 | /include/ "at91sam9g20.dtsi" | 9 | /include/ "at91sam9g20.dtsi" |
10 | /include/ "usb_a9260_common.dtsi" | ||
10 | 11 | ||
11 | / { | 12 | / { |
12 | model = "Calao USB A9G20"; | 13 | model = "Calao USB A9G20"; |
@@ -20,108 +21,7 @@ | |||
20 | reg = <0x20000000 0x4000000>; | 21 | reg = <0x20000000 0x4000000>; |
21 | }; | 22 | }; |
22 | 23 | ||
23 | clocks { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <1>; | ||
26 | ranges; | ||
27 | |||
28 | main_clock: clock@0 { | ||
29 | compatible = "atmel,osc", "fixed-clock"; | ||
30 | clock-frequency = <12000000>; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | ahb { | ||
35 | apb { | ||
36 | dbgu: serial@fffff200 { | ||
37 | status = "okay"; | ||
38 | }; | ||
39 | |||
40 | macb0: ethernet@fffc4000 { | ||
41 | phy-mode = "rmii"; | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | |||
45 | usb1: gadget@fffa4000 { | ||
46 | atmel,vbus-gpio = <&pioC 5 0>; | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | }; | ||
50 | |||
51 | nand0: nand@40000000 { | ||
52 | nand-bus-width = <8>; | ||
53 | nand-ecc-mode = "soft"; | ||
54 | nand-on-flash-bbt; | ||
55 | status = "okay"; | ||
56 | |||
57 | at91bootstrap@0 { | ||
58 | label = "at91bootstrap"; | ||
59 | reg = <0x0 0x20000>; | ||
60 | }; | ||
61 | |||
62 | barebox@20000 { | ||
63 | label = "barebox"; | ||
64 | reg = <0x20000 0x40000>; | ||
65 | }; | ||
66 | |||
67 | bareboxenv@60000 { | ||
68 | label = "bareboxenv"; | ||
69 | reg = <0x60000 0x20000>; | ||
70 | }; | ||
71 | |||
72 | bareboxenv2@80000 { | ||
73 | label = "bareboxenv2"; | ||
74 | reg = <0x80000 0x20000>; | ||
75 | }; | ||
76 | |||
77 | kernel@a0000 { | ||
78 | label = "kernel"; | ||
79 | reg = <0xa0000 0x400000>; | ||
80 | }; | ||
81 | |||
82 | rootfs@4a0000 { | ||
83 | label = "rootfs"; | ||
84 | reg = <0x4a0000 0x7800000>; | ||
85 | }; | ||
86 | |||
87 | data@7ca0000 { | ||
88 | label = "data"; | ||
89 | reg = <0x7ca0000 0x8360000>; | ||
90 | }; | ||
91 | }; | ||
92 | |||
93 | usb0: ohci@00500000 { | ||
94 | num-ports = <2>; | ||
95 | status = "okay"; | ||
96 | }; | ||
97 | }; | ||
98 | |||
99 | leds { | ||
100 | compatible = "gpio-leds"; | ||
101 | |||
102 | user_led { | ||
103 | label = "user_led"; | ||
104 | gpios = <&pioB 21 1>; | ||
105 | linux,default-trigger = "heartbeat"; | ||
106 | }; | ||
107 | }; | ||
108 | |||
109 | gpio_keys { | ||
110 | compatible = "gpio-keys"; | ||
111 | #address-cells = <1>; | ||
112 | #size-cells = <0>; | ||
113 | |||
114 | user_pb { | ||
115 | label = "user_pb"; | ||
116 | gpios = <&pioB 10 1>; | ||
117 | linux,code = <28>; | ||
118 | gpio-key,wakeup; | ||
119 | }; | ||
120 | }; | ||
121 | |||
122 | i2c@0 { | 24 | i2c@0 { |
123 | status = "okay"; | ||
124 | |||
125 | rv3029c2@56 { | 25 | rv3029c2@56 { |
126 | compatible = "rv3029c2"; | 26 | compatible = "rv3029c2"; |
127 | reg = <0x56>; | 27 | reg = <0x56>; |
diff --git a/arch/arm/configs/at91_dt_defconfig b/arch/arm/configs/at91_dt_defconfig new file mode 100644 index 000000000000..67bc571ed0c3 --- /dev/null +++ b/arch/arm/configs/at91_dt_defconfig | |||
@@ -0,0 +1,196 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | ||
2 | # CONFIG_LOCALVERSION_AUTO is not set | ||
3 | # CONFIG_SWAP is not set | ||
4 | CONFIG_SYSVIPC=y | ||
5 | CONFIG_LOG_BUF_SHIFT=14 | ||
6 | CONFIG_BLK_DEV_INITRD=y | ||
7 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
8 | CONFIG_KALLSYMS_ALL=y | ||
9 | CONFIG_EMBEDDED=y | ||
10 | CONFIG_SLAB=y | ||
11 | CONFIG_MODULES=y | ||
12 | CONFIG_MODULE_UNLOAD=y | ||
13 | # CONFIG_LBDAF is not set | ||
14 | # CONFIG_BLK_DEV_BSG is not set | ||
15 | # CONFIG_IOSCHED_DEADLINE is not set | ||
16 | # CONFIG_IOSCHED_CFQ is not set | ||
17 | CONFIG_ARCH_AT91=y | ||
18 | CONFIG_SOC_AT91SAM9260=y | ||
19 | CONFIG_SOC_AT91SAM9263=y | ||
20 | CONFIG_SOC_AT91SAM9G45=y | ||
21 | CONFIG_SOC_AT91SAM9X5=y | ||
22 | CONFIG_MACH_AT91SAM_DT=y | ||
23 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y | ||
24 | CONFIG_AT91_TIMER_HZ=128 | ||
25 | CONFIG_AEABI=y | ||
26 | # CONFIG_OABI_COMPAT is not set | ||
27 | CONFIG_LEDS=y | ||
28 | CONFIG_LEDS_CPU=y | ||
29 | CONFIG_UACCESS_WITH_MEMCPY=y | ||
30 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
31 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
32 | CONFIG_ARM_APPENDED_DTB=y | ||
33 | CONFIG_ARM_ATAG_DTB_COMPAT=y | ||
34 | CONFIG_CMDLINE="mem=128M console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw" | ||
35 | CONFIG_KEXEC=y | ||
36 | CONFIG_AUTO_ZRELADDR=y | ||
37 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
38 | CONFIG_NET=y | ||
39 | CONFIG_PACKET=y | ||
40 | CONFIG_UNIX=y | ||
41 | CONFIG_INET=y | ||
42 | CONFIG_IP_MULTICAST=y | ||
43 | CONFIG_IP_PNP=y | ||
44 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
45 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
46 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
47 | # CONFIG_INET_DIAG is not set | ||
48 | CONFIG_IPV6=y | ||
49 | # CONFIG_INET6_XFRM_MODE_TRANSPORT is not set | ||
50 | # CONFIG_INET6_XFRM_MODE_TUNNEL is not set | ||
51 | # CONFIG_INET6_XFRM_MODE_BEET is not set | ||
52 | CONFIG_IPV6_SIT_6RD=y | ||
53 | # CONFIG_WIRELESS is not set | ||
54 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
55 | CONFIG_DEVTMPFS=y | ||
56 | CONFIG_DEVTMPFS_MOUNT=y | ||
57 | # CONFIG_STANDALONE is not set | ||
58 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | ||
59 | CONFIG_MTD=y | ||
60 | CONFIG_MTD_CMDLINE_PARTS=y | ||
61 | CONFIG_MTD_CHAR=y | ||
62 | CONFIG_MTD_BLOCK=y | ||
63 | CONFIG_MTD_NAND=y | ||
64 | CONFIG_MTD_NAND_ATMEL=y | ||
65 | CONFIG_MTD_UBI=y | ||
66 | CONFIG_MTD_UBI_GLUEBI=y | ||
67 | CONFIG_PROC_DEVICETREE=y | ||
68 | CONFIG_BLK_DEV_LOOP=y | ||
69 | CONFIG_BLK_DEV_RAM=y | ||
70 | CONFIG_BLK_DEV_RAM_COUNT=4 | ||
71 | CONFIG_BLK_DEV_RAM_SIZE=8192 | ||
72 | CONFIG_ATMEL_PWM=y | ||
73 | CONFIG_ATMEL_TCLIB=y | ||
74 | CONFIG_EEPROM_93CX6=m | ||
75 | CONFIG_SCSI=y | ||
76 | CONFIG_BLK_DEV_SD=y | ||
77 | CONFIG_SCSI_MULTI_LUN=y | ||
78 | # CONFIG_SCSI_LOWLEVEL is not set | ||
79 | CONFIG_NETDEVICES=y | ||
80 | CONFIG_MII=y | ||
81 | CONFIG_MACB=y | ||
82 | # CONFIG_NET_VENDOR_BROADCOM is not set | ||
83 | # CONFIG_NET_VENDOR_CHELSIO is not set | ||
84 | # CONFIG_NET_VENDOR_FARADAY is not set | ||
85 | # CONFIG_NET_VENDOR_INTEL is not set | ||
86 | # CONFIG_NET_VENDOR_MARVELL is not set | ||
87 | # CONFIG_NET_VENDOR_MICREL is not set | ||
88 | # CONFIG_NET_VENDOR_NATSEMI is not set | ||
89 | # CONFIG_NET_VENDOR_SEEQ is not set | ||
90 | # CONFIG_NET_VENDOR_SMSC is not set | ||
91 | # CONFIG_NET_VENDOR_STMICRO is not set | ||
92 | CONFIG_DAVICOM_PHY=y | ||
93 | CONFIG_MICREL_PHY=y | ||
94 | # CONFIG_WLAN is not set | ||
95 | CONFIG_INPUT_POLLDEV=y | ||
96 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
97 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=480 | ||
98 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272 | ||
99 | CONFIG_INPUT_JOYDEV=y | ||
100 | CONFIG_INPUT_EVDEV=y | ||
101 | # CONFIG_KEYBOARD_ATKBD is not set | ||
102 | CONFIG_KEYBOARD_GPIO=y | ||
103 | # CONFIG_INPUT_MOUSE is not set | ||
104 | CONFIG_INPUT_TOUCHSCREEN=y | ||
105 | # CONFIG_SERIO is not set | ||
106 | CONFIG_LEGACY_PTY_COUNT=4 | ||
107 | CONFIG_SERIAL_ATMEL=y | ||
108 | CONFIG_SERIAL_ATMEL_CONSOLE=y | ||
109 | CONFIG_HW_RANDOM=y | ||
110 | CONFIG_I2C=y | ||
111 | CONFIG_I2C_GPIO=y | ||
112 | CONFIG_SPI=y | ||
113 | CONFIG_SPI_ATMEL=y | ||
114 | # CONFIG_HWMON is not set | ||
115 | CONFIG_WATCHDOG=y | ||
116 | CONFIG_AT91SAM9X_WATCHDOG=y | ||
117 | CONFIG_SSB=m | ||
118 | CONFIG_FB=y | ||
119 | CONFIG_FB_MODE_HELPERS=y | ||
120 | CONFIG_FB_ATMEL=y | ||
121 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
122 | # CONFIG_LCD_CLASS_DEVICE is not set | ||
123 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
124 | CONFIG_BACKLIGHT_ATMEL_LCDC=y | ||
125 | # CONFIG_BACKLIGHT_GENERIC is not set | ||
126 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
127 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y | ||
128 | CONFIG_FONTS=y | ||
129 | CONFIG_FONT_8x8=y | ||
130 | CONFIG_FONT_ACORN_8x8=y | ||
131 | CONFIG_FONT_MINI_4x6=y | ||
132 | CONFIG_LOGO=y | ||
133 | # CONFIG_HID_SUPPORT is not set | ||
134 | CONFIG_USB=y | ||
135 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y | ||
136 | CONFIG_USB_DEVICEFS=y | ||
137 | # CONFIG_USB_DEVICE_CLASS is not set | ||
138 | CONFIG_USB_EHCI_HCD=y | ||
139 | CONFIG_USB_OHCI_HCD=y | ||
140 | CONFIG_USB_ACM=y | ||
141 | CONFIG_USB_STORAGE=y | ||
142 | CONFIG_USB_SERIAL=y | ||
143 | CONFIG_USB_SERIAL_GENERIC=y | ||
144 | CONFIG_USB_SERIAL_FTDI_SIO=y | ||
145 | CONFIG_USB_SERIAL_PL2303=y | ||
146 | CONFIG_USB_GADGET=y | ||
147 | CONFIG_USB_AT91=m | ||
148 | CONFIG_USB_ATMEL_USBA=m | ||
149 | CONFIG_USB_ETH=m | ||
150 | CONFIG_USB_GADGETFS=m | ||
151 | CONFIG_USB_CDC_COMPOSITE=m | ||
152 | CONFIG_USB_G_ACM_MS=m | ||
153 | CONFIG_USB_G_MULTI=m | ||
154 | CONFIG_USB_G_MULTI_CDC=y | ||
155 | CONFIG_MMC=y | ||
156 | CONFIG_MMC_ATMELMCI=y | ||
157 | CONFIG_NEW_LEDS=y | ||
158 | CONFIG_LEDS_CLASS=y | ||
159 | CONFIG_LEDS_GPIO=y | ||
160 | CONFIG_LEDS_TRIGGERS=y | ||
161 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
162 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
163 | CONFIG_LEDS_TRIGGER_GPIO=y | ||
164 | CONFIG_RTC_CLASS=y | ||
165 | CONFIG_RTC_DRV_AT91RM9200=y | ||
166 | CONFIG_RTC_DRV_AT91SAM9=y | ||
167 | CONFIG_DMADEVICES=y | ||
168 | # CONFIG_IOMMU_SUPPORT is not set | ||
169 | CONFIG_EXT2_FS=y | ||
170 | CONFIG_FANOTIFY=y | ||
171 | CONFIG_VFAT_FS=y | ||
172 | CONFIG_TMPFS=y | ||
173 | CONFIG_NFS_FS=y | ||
174 | CONFIG_NFS_V3=y | ||
175 | CONFIG_ROOT_NFS=y | ||
176 | CONFIG_NLS_CODEPAGE_437=y | ||
177 | CONFIG_NLS_CODEPAGE_850=y | ||
178 | CONFIG_NLS_ISO8859_1=y | ||
179 | CONFIG_STRIP_ASM_SYMS=y | ||
180 | CONFIG_DEBUG_FS=y | ||
181 | # CONFIG_SCHED_DEBUG is not set | ||
182 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
183 | # CONFIG_FTRACE is not set | ||
184 | CONFIG_DEBUG_USER=y | ||
185 | CONFIG_CRYPTO=y | ||
186 | CONFIG_CRYPTO_ECB=y | ||
187 | CONFIG_CRYPTO_AES=y | ||
188 | CONFIG_CRYPTO_ARC4=y | ||
189 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
190 | CONFIG_CRYPTO_USER_API_HASH=m | ||
191 | CONFIG_CRYPTO_USER_API_SKCIPHER=m | ||
192 | # CONFIG_CRYPTO_HW is not set | ||
193 | CONFIG_CRC_CCITT=m | ||
194 | CONFIG_CRC_ITU_T=m | ||
195 | CONFIG_CRC7=m | ||
196 | CONFIG_AVERAGE=y | ||
diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig index bbe4e1a1f5d8..d54e2acd3ab1 100644 --- a/arch/arm/configs/at91rm9200_defconfig +++ b/arch/arm/configs/at91rm9200_defconfig | |||
@@ -14,6 +14,7 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
14 | # CONFIG_BLK_DEV_BSG is not set | 14 | # CONFIG_BLK_DEV_BSG is not set |
15 | # CONFIG_IOSCHED_CFQ is not set | 15 | # CONFIG_IOSCHED_CFQ is not set |
16 | CONFIG_ARCH_AT91=y | 16 | CONFIG_ARCH_AT91=y |
17 | CONFIG_ARCH_AT91RM9200=y | ||
17 | CONFIG_MACH_ONEARM=y | 18 | CONFIG_MACH_ONEARM=y |
18 | CONFIG_ARCH_AT91RM9200DK=y | 19 | CONFIG_ARCH_AT91RM9200DK=y |
19 | CONFIG_MACH_AT91RM9200EK=y | 20 | CONFIG_MACH_AT91RM9200EK=y |
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 45db05d8d94c..98a42f3472d5 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig | |||
@@ -9,15 +9,6 @@ config HAVE_AT91_DBGU0 | |||
9 | config HAVE_AT91_DBGU1 | 9 | config HAVE_AT91_DBGU1 |
10 | bool | 10 | bool |
11 | 11 | ||
12 | config HAVE_AT91_USART3 | ||
13 | bool | ||
14 | |||
15 | config HAVE_AT91_USART4 | ||
16 | bool | ||
17 | |||
18 | config HAVE_AT91_USART5 | ||
19 | bool | ||
20 | |||
21 | config AT91_SAM9_ALT_RESET | 12 | config AT91_SAM9_ALT_RESET |
22 | bool | 13 | bool |
23 | default !ARCH_AT91X40 | 14 | default !ARCH_AT91X40 |
@@ -26,87 +17,121 @@ config AT91_SAM9G45_RESET | |||
26 | bool | 17 | bool |
27 | default !ARCH_AT91X40 | 18 | default !ARCH_AT91X40 |
28 | 19 | ||
20 | config SOC_AT91SAM9 | ||
21 | bool | ||
22 | select GENERIC_CLOCKEVENTS | ||
23 | select CPU_ARM926T | ||
24 | |||
29 | menu "Atmel AT91 System-on-Chip" | 25 | menu "Atmel AT91 System-on-Chip" |
30 | 26 | ||
31 | choice | 27 | comment "Atmel AT91 Processor" |
32 | prompt "Atmel AT91 Processor" | ||
33 | 28 | ||
34 | config ARCH_AT91RM9200 | 29 | config SOC_AT91SAM9 |
30 | bool | ||
31 | select CPU_ARM926T | ||
32 | select AT91_SAM9_TIME | ||
33 | select AT91_SAM9_SMC | ||
34 | |||
35 | config SOC_AT91RM9200 | ||
35 | bool "AT91RM9200" | 36 | bool "AT91RM9200" |
36 | select CPU_ARM920T | 37 | select CPU_ARM920T |
37 | select GENERIC_CLOCKEVENTS | 38 | select GENERIC_CLOCKEVENTS |
38 | select HAVE_AT91_DBGU0 | 39 | select HAVE_AT91_DBGU0 |
39 | select HAVE_AT91_USART3 | ||
40 | 40 | ||
41 | config ARCH_AT91SAM9260 | 41 | config SOC_AT91SAM9260 |
42 | bool "AT91SAM9260 or AT91SAM9XE" | 42 | bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20" |
43 | select CPU_ARM926T | 43 | select SOC_AT91SAM9 |
44 | select GENERIC_CLOCKEVENTS | ||
45 | select HAVE_AT91_DBGU0 | 44 | select HAVE_AT91_DBGU0 |
46 | select HAVE_AT91_USART3 | ||
47 | select HAVE_AT91_USART4 | ||
48 | select HAVE_AT91_USART5 | ||
49 | select HAVE_NET_MACB | 45 | select HAVE_NET_MACB |
46 | help | ||
47 | Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE | ||
48 | or AT91SAM9G20 SoC. | ||
50 | 49 | ||
51 | config ARCH_AT91SAM9261 | 50 | config SOC_AT91SAM9261 |
52 | bool "AT91SAM9261" | 51 | bool "AT91SAM9261 or AT91SAM9G10" |
53 | select CPU_ARM926T | 52 | select SOC_AT91SAM9 |
54 | select GENERIC_CLOCKEVENTS | 53 | select HAVE_AT91_DBGU0 |
55 | select HAVE_FB_ATMEL | 54 | select HAVE_FB_ATMEL |
55 | help | ||
56 | Select this if you are using one of Atmel's AT91SAM9261 or AT91SAM9G10 SoC. | ||
57 | |||
58 | config SOC_AT91SAM9263 | ||
59 | bool "AT91SAM9263" | ||
60 | select SOC_AT91SAM9 | ||
61 | select HAVE_AT91_DBGU1 | ||
62 | select HAVE_FB_ATMEL | ||
63 | select HAVE_NET_MACB | ||
64 | |||
65 | config SOC_AT91SAM9RL | ||
66 | bool "AT91SAM9RL" | ||
67 | select SOC_AT91SAM9 | ||
56 | select HAVE_AT91_DBGU0 | 68 | select HAVE_AT91_DBGU0 |
69 | select HAVE_FB_ATMEL | ||
57 | 70 | ||
58 | config ARCH_AT91SAM9G10 | 71 | config SOC_AT91SAM9G45 |
59 | bool "AT91SAM9G10" | 72 | bool "AT91SAM9G45 or AT91SAM9M10 families" |
60 | select CPU_ARM926T | 73 | select SOC_AT91SAM9 |
61 | select GENERIC_CLOCKEVENTS | 74 | select HAVE_AT91_DBGU1 |
75 | select HAVE_FB_ATMEL | ||
76 | select HAVE_NET_MACB | ||
77 | help | ||
78 | Select this if you are using one of Atmel's AT91SAM9G45 family SoC. | ||
79 | This support covers AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11. | ||
80 | |||
81 | config SOC_AT91SAM9X5 | ||
82 | bool "AT91SAM9x5 family" | ||
83 | select SOC_AT91SAM9 | ||
62 | select HAVE_AT91_DBGU0 | 84 | select HAVE_AT91_DBGU0 |
63 | select HAVE_FB_ATMEL | 85 | select HAVE_FB_ATMEL |
86 | select HAVE_NET_MACB | ||
87 | help | ||
88 | Select this if you are using one of Atmel's AT91SAM9x5 family SoC. | ||
89 | This means that your SAM9 name finishes with a '5' (except if it is | ||
90 | AT91SAM9G45!). | ||
91 | This support covers AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35 | ||
92 | and AT91SAM9X35. | ||
93 | |||
94 | choice | ||
95 | prompt "Atmel AT91 Processor Devices for non DT boards" | ||
96 | |||
97 | config ARCH_AT91_NONE | ||
98 | bool "None" | ||
99 | |||
100 | config ARCH_AT91RM9200 | ||
101 | bool "AT91RM9200" | ||
102 | select SOC_AT91RM9200 | ||
103 | |||
104 | config ARCH_AT91SAM9260 | ||
105 | bool "AT91SAM9260 or AT91SAM9XE" | ||
106 | select SOC_AT91SAM9260 | ||
107 | |||
108 | config ARCH_AT91SAM9261 | ||
109 | bool "AT91SAM9261" | ||
110 | select SOC_AT91SAM9261 | ||
111 | |||
112 | config ARCH_AT91SAM9G10 | ||
113 | bool "AT91SAM9G10" | ||
114 | select SOC_AT91SAM9261 | ||
64 | 115 | ||
65 | config ARCH_AT91SAM9263 | 116 | config ARCH_AT91SAM9263 |
66 | bool "AT91SAM9263" | 117 | bool "AT91SAM9263" |
67 | select CPU_ARM926T | 118 | select SOC_AT91SAM9263 |
68 | select GENERIC_CLOCKEVENTS | ||
69 | select HAVE_FB_ATMEL | ||
70 | select HAVE_NET_MACB | ||
71 | select HAVE_AT91_DBGU1 | ||
72 | 119 | ||
73 | config ARCH_AT91SAM9RL | 120 | config ARCH_AT91SAM9RL |
74 | bool "AT91SAM9RL" | 121 | bool "AT91SAM9RL" |
75 | select CPU_ARM926T | 122 | select SOC_AT91SAM9RL |
76 | select GENERIC_CLOCKEVENTS | ||
77 | select HAVE_AT91_USART3 | ||
78 | select HAVE_FB_ATMEL | ||
79 | select HAVE_AT91_DBGU0 | ||
80 | 123 | ||
81 | config ARCH_AT91SAM9G20 | 124 | config ARCH_AT91SAM9G20 |
82 | bool "AT91SAM9G20" | 125 | bool "AT91SAM9G20" |
83 | select CPU_ARM926T | 126 | select SOC_AT91SAM9260 |
84 | select GENERIC_CLOCKEVENTS | ||
85 | select HAVE_AT91_DBGU0 | ||
86 | select HAVE_AT91_USART3 | ||
87 | select HAVE_AT91_USART4 | ||
88 | select HAVE_AT91_USART5 | ||
89 | select HAVE_NET_MACB | ||
90 | 127 | ||
91 | config ARCH_AT91SAM9G45 | 128 | config ARCH_AT91SAM9G45 |
92 | bool "AT91SAM9G45" | 129 | bool "AT91SAM9G45" |
93 | select CPU_ARM926T | 130 | select SOC_AT91SAM9G45 |
94 | select GENERIC_CLOCKEVENTS | ||
95 | select HAVE_AT91_USART3 | ||
96 | select HAVE_FB_ATMEL | ||
97 | select HAVE_NET_MACB | ||
98 | select HAVE_AT91_DBGU1 | ||
99 | |||
100 | config ARCH_AT91SAM9X5 | ||
101 | bool "AT91SAM9x5 family" | ||
102 | select CPU_ARM926T | ||
103 | select GENERIC_CLOCKEVENTS | ||
104 | select HAVE_FB_ATMEL | ||
105 | select HAVE_NET_MACB | ||
106 | select HAVE_AT91_DBGU0 | ||
107 | 131 | ||
108 | config ARCH_AT91X40 | 132 | config ARCH_AT91X40 |
109 | bool "AT91x40" | 133 | bool "AT91x40" |
134 | depends on !MMU | ||
110 | select ARCH_USES_GETTIMEOFFSET | 135 | select ARCH_USES_GETTIMEOFFSET |
111 | 136 | ||
112 | endchoice | 137 | endchoice |
@@ -364,6 +389,7 @@ config MACH_AT91SAM9G20EK_2MMC | |||
364 | Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit | 389 | Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit |
365 | with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and | 390 | with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and |
366 | onwards. | 391 | onwards. |
392 | <http://www.atmel.com/tools/SAM9G20-EK.aspx> | ||
367 | 393 | ||
368 | config MACH_CPU9G20 | 394 | config MACH_CPU9G20 |
369 | bool "Eukrea CPU9G20 board" | 395 | bool "Eukrea CPU9G20 board" |
@@ -433,9 +459,10 @@ comment "AT91SAM9G45 Board Type" | |||
433 | config MACH_AT91SAM9M10G45EK | 459 | config MACH_AT91SAM9M10G45EK |
434 | bool "Atmel AT91SAM9M10G45-EK Evaluation Kits" | 460 | bool "Atmel AT91SAM9M10G45-EK Evaluation Kits" |
435 | help | 461 | help |
436 | Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit. | 462 | Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit. |
437 | "ES" at the end of the name means that this board is an | 463 | Those boards can be populated with any SoC of AT91SAM9G45 or AT91SAM9M10 |
438 | Engineering Sample. | 464 | families: AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11. |
465 | <http://www.atmel.com/tools/SAM9M10-G45-EK.aspx> | ||
439 | 466 | ||
440 | endif | 467 | endif |
441 | 468 | ||
@@ -515,41 +542,6 @@ config AT91_TIMER_HZ | |||
515 | system clock (of at least several MHz), rounding is less of a | 542 | system clock (of at least several MHz), rounding is less of a |
516 | problem so it can be safer to use a decimal values like 100. | 543 | problem so it can be safer to use a decimal values like 100. |
517 | 544 | ||
518 | choice | ||
519 | prompt "Select a UART for early kernel messages" | ||
520 | |||
521 | config AT91_EARLY_DBGU0 | ||
522 | bool "DBGU on rm9200, 9260/9g20, 9261/9g10 and 9rl" | ||
523 | depends on HAVE_AT91_DBGU0 | ||
524 | |||
525 | config AT91_EARLY_DBGU1 | ||
526 | bool "DBGU on 9263 and 9g45" | ||
527 | depends on HAVE_AT91_DBGU1 | ||
528 | |||
529 | config AT91_EARLY_USART0 | ||
530 | bool "USART0" | ||
531 | |||
532 | config AT91_EARLY_USART1 | ||
533 | bool "USART1" | ||
534 | |||
535 | config AT91_EARLY_USART2 | ||
536 | bool "USART2" | ||
537 | depends on ! ARCH_AT91X40 | ||
538 | |||
539 | config AT91_EARLY_USART3 | ||
540 | bool "USART3" | ||
541 | depends on HAVE_AT91_USART3 | ||
542 | |||
543 | config AT91_EARLY_USART4 | ||
544 | bool "USART4" | ||
545 | depends on HAVE_AT91_USART4 | ||
546 | |||
547 | config AT91_EARLY_USART5 | ||
548 | bool "USART5" | ||
549 | depends on HAVE_AT91_USART5 | ||
550 | |||
551 | endchoice | ||
552 | |||
553 | endmenu | 545 | endmenu |
554 | 546 | ||
555 | endif | 547 | endif |
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile index 8512e53bed93..79d0f60af0b2 100644 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile | |||
@@ -10,17 +10,25 @@ obj- := | |||
10 | obj-$(CONFIG_AT91_PMC_UNIT) += clock.o | 10 | obj-$(CONFIG_AT91_PMC_UNIT) += clock.o |
11 | obj-$(CONFIG_AT91_SAM9_ALT_RESET) += at91sam9_alt_reset.o | 11 | obj-$(CONFIG_AT91_SAM9_ALT_RESET) += at91sam9_alt_reset.o |
12 | obj-$(CONFIG_AT91_SAM9G45_RESET) += at91sam9g45_reset.o | 12 | obj-$(CONFIG_AT91_SAM9G45_RESET) += at91sam9g45_reset.o |
13 | obj-$(CONFIG_SOC_AT91SAM9) += at91sam926x_time.o sam9_smc.o | ||
13 | 14 | ||
14 | # CPU-specific support | 15 | # CPU-specific support |
15 | obj-$(CONFIG_ARCH_AT91RM9200) += at91rm9200.o at91rm9200_time.o at91rm9200_devices.o | 16 | obj-$(CONFIG_SOC_AT91RM9200) += at91rm9200.o at91rm9200_time.o |
16 | obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o | 17 | obj-$(CONFIG_SOC_AT91SAM9260) += at91sam9260.o |
17 | obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o sam9_smc.o | 18 | obj-$(CONFIG_SOC_AT91SAM9261) += at91sam9261.o |
18 | obj-$(CONFIG_ARCH_AT91SAM9G10) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o sam9_smc.o | 19 | obj-$(CONFIG_SOC_AT91SAM9263) += at91sam9263.o |
19 | obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o sam9_smc.o | 20 | obj-$(CONFIG_SOC_AT91SAM9G45) += at91sam9g45.o |
20 | obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl.o at91sam926x_time.o at91sam9rl_devices.o sam9_smc.o | 21 | obj-$(CONFIG_SOC_AT91SAM9X5) += at91sam9x5.o |
21 | obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o | 22 | obj-$(CONFIG_SOC_AT91SAM9RL) += at91sam9rl.o |
22 | obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45.o at91sam926x_time.o at91sam9g45_devices.o sam9_smc.o | 23 | |
23 | obj-$(CONFIG_ARCH_AT91SAM9X5) += at91sam9x5.o at91sam926x_time.o sam9_smc.o | 24 | obj-$(CONFIG_ARCH_AT91RM9200) += at91rm9200_devices.o |
25 | obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260_devices.o | ||
26 | obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261_devices.o | ||
27 | obj-$(CONFIG_ARCH_AT91SAM9G10) += at91sam9261_devices.o | ||
28 | obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263_devices.o | ||
29 | obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl_devices.o | ||
30 | obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260_devices.o | ||
31 | obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45_devices.o | ||
24 | obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o | 32 | obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o |
25 | 33 | ||
26 | # AT91RM9200 board-specific support | 34 | # AT91RM9200 board-specific support |
diff --git a/arch/arm/mach-at91/Makefile.boot b/arch/arm/mach-at91/Makefile.boot index 0da66ca4a4f8..c03417ddbf0c 100644 --- a/arch/arm/mach-at91/Makefile.boot +++ b/arch/arm/mach-at91/Makefile.boot | |||
@@ -14,7 +14,19 @@ initrd_phys-y := 0x20410000 | |||
14 | endif | 14 | endif |
15 | 15 | ||
16 | # Keep dtb files sorted alphabetically for each SoC | 16 | # Keep dtb files sorted alphabetically for each SoC |
17 | # sam9260 | ||
18 | dtb-$(CONFIG_MACH_AT91SAM_DT) += ethernut5.dtb | ||
19 | dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9260.dtb | ||
20 | dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9260.dtb | ||
21 | # sam9263 | ||
22 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9263ek.dtb | ||
23 | dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9263.dtb | ||
24 | dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9263.dtb | ||
17 | # sam9g20 | 25 | # sam9g20 |
26 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek.dtb | ||
27 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek_2mmc.dtb | ||
28 | dtb-$(CONFIG_MACH_AT91SAM_DT) += kizbox.dtb | ||
29 | dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9g20.dtb | ||
18 | dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb | 30 | dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb |
19 | # sam9g45 | 31 | # sam9g45 |
20 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb | 32 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb |
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c index 364c19357e60..d50da1a9d0bf 100644 --- a/arch/arm/mach-at91/at91rm9200.c +++ b/arch/arm/mach-at91/at91rm9200.c | |||
@@ -258,18 +258,6 @@ static void __init at91rm9200_register_clocks(void) | |||
258 | clk_register(&pck3); | 258 | clk_register(&pck3); |
259 | } | 259 | } |
260 | 260 | ||
261 | static struct clk_lookup console_clock_lookup; | ||
262 | |||
263 | void __init at91rm9200_set_console_clock(int id) | ||
264 | { | ||
265 | if (id >= ARRAY_SIZE(usart_clocks_lookups)) | ||
266 | return; | ||
267 | |||
268 | console_clock_lookup.con_id = "usart"; | ||
269 | console_clock_lookup.clk = usart_clocks_lookups[id].clk; | ||
270 | clkdev_add(&console_clock_lookup); | ||
271 | } | ||
272 | |||
273 | /* -------------------------------------------------------------------- | 261 | /* -------------------------------------------------------------------- |
274 | * GPIO | 262 | * GPIO |
275 | * -------------------------------------------------------------------- */ | 263 | * -------------------------------------------------------------------- */ |
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c index 05774e5b1cba..99affb5d0563 100644 --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c | |||
@@ -1152,14 +1152,6 @@ void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | |||
1152 | at91_uarts[portnr] = pdev; | 1152 | at91_uarts[portnr] = pdev; |
1153 | } | 1153 | } |
1154 | 1154 | ||
1155 | void __init at91_set_serial_console(unsigned portnr) | ||
1156 | { | ||
1157 | if (portnr < ATMEL_MAX_UART) { | ||
1158 | atmel_default_console_device = at91_uarts[portnr]; | ||
1159 | at91rm9200_set_console_clock(at91_uarts[portnr]->id); | ||
1160 | } | ||
1161 | } | ||
1162 | |||
1163 | void __init at91_add_device_serial(void) | 1155 | void __init at91_add_device_serial(void) |
1164 | { | 1156 | { |
1165 | int i; | 1157 | int i; |
@@ -1168,13 +1160,9 @@ void __init at91_add_device_serial(void) | |||
1168 | if (at91_uarts[i]) | 1160 | if (at91_uarts[i]) |
1169 | platform_device_register(at91_uarts[i]); | 1161 | platform_device_register(at91_uarts[i]); |
1170 | } | 1162 | } |
1171 | |||
1172 | if (!atmel_default_console_device) | ||
1173 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
1174 | } | 1163 | } |
1175 | #else | 1164 | #else |
1176 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 1165 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
1177 | void __init at91_set_serial_console(unsigned portnr) {} | ||
1178 | void __init at91_add_device_serial(void) {} | 1166 | void __init at91_add_device_serial(void) {} |
1179 | #endif | 1167 | #endif |
1180 | 1168 | ||
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c index 46f774233298..a27bbec50ca3 100644 --- a/arch/arm/mach-at91/at91sam9260.c +++ b/arch/arm/mach-at91/at91sam9260.c | |||
@@ -268,18 +268,6 @@ static void __init at91sam9260_register_clocks(void) | |||
268 | clk_register(&pck1); | 268 | clk_register(&pck1); |
269 | } | 269 | } |
270 | 270 | ||
271 | static struct clk_lookup console_clock_lookup; | ||
272 | |||
273 | void __init at91sam9260_set_console_clock(int id) | ||
274 | { | ||
275 | if (id >= ARRAY_SIZE(usart_clocks_lookups)) | ||
276 | return; | ||
277 | |||
278 | console_clock_lookup.con_id = "usart"; | ||
279 | console_clock_lookup.clk = usart_clocks_lookups[id].clk; | ||
280 | clkdev_add(&console_clock_lookup); | ||
281 | } | ||
282 | |||
283 | /* -------------------------------------------------------------------- | 271 | /* -------------------------------------------------------------------- |
284 | * GPIO | 272 | * GPIO |
285 | * -------------------------------------------------------------------- */ | 273 | * -------------------------------------------------------------------- */ |
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index 5652dde4bbe2..d556de141114 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c | |||
@@ -702,25 +702,8 @@ static struct platform_device at91sam9260_tcb1_device = { | |||
702 | .num_resources = ARRAY_SIZE(tcb1_resources), | 702 | .num_resources = ARRAY_SIZE(tcb1_resources), |
703 | }; | 703 | }; |
704 | 704 | ||
705 | #if defined(CONFIG_OF) | ||
706 | static struct of_device_id tcb_ids[] = { | ||
707 | { .compatible = "atmel,at91rm9200-tcb" }, | ||
708 | { /*sentinel*/ } | ||
709 | }; | ||
710 | #endif | ||
711 | |||
712 | static void __init at91_add_device_tc(void) | 705 | static void __init at91_add_device_tc(void) |
713 | { | 706 | { |
714 | #if defined(CONFIG_OF) | ||
715 | struct device_node *np; | ||
716 | |||
717 | np = of_find_matching_node(NULL, tcb_ids); | ||
718 | if (np) { | ||
719 | of_node_put(np); | ||
720 | return; | ||
721 | } | ||
722 | #endif | ||
723 | |||
724 | platform_device_register(&at91sam9260_tcb0_device); | 707 | platform_device_register(&at91sam9260_tcb0_device); |
725 | platform_device_register(&at91sam9260_tcb1_device); | 708 | platform_device_register(&at91sam9260_tcb1_device); |
726 | } | 709 | } |
@@ -1229,14 +1212,6 @@ void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | |||
1229 | at91_uarts[portnr] = pdev; | 1212 | at91_uarts[portnr] = pdev; |
1230 | } | 1213 | } |
1231 | 1214 | ||
1232 | void __init at91_set_serial_console(unsigned portnr) | ||
1233 | { | ||
1234 | if (portnr < ATMEL_MAX_UART) { | ||
1235 | atmel_default_console_device = at91_uarts[portnr]; | ||
1236 | at91sam9260_set_console_clock(at91_uarts[portnr]->id); | ||
1237 | } | ||
1238 | } | ||
1239 | |||
1240 | void __init at91_add_device_serial(void) | 1215 | void __init at91_add_device_serial(void) |
1241 | { | 1216 | { |
1242 | int i; | 1217 | int i; |
@@ -1245,13 +1220,9 @@ void __init at91_add_device_serial(void) | |||
1245 | if (at91_uarts[i]) | 1220 | if (at91_uarts[i]) |
1246 | platform_device_register(at91_uarts[i]); | 1221 | platform_device_register(at91_uarts[i]); |
1247 | } | 1222 | } |
1248 | |||
1249 | if (!atmel_default_console_device) | ||
1250 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
1251 | } | 1223 | } |
1252 | #else | 1224 | #else |
1253 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 1225 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
1254 | void __init at91_set_serial_console(unsigned portnr) {} | ||
1255 | void __init at91_add_device_serial(void) {} | 1226 | void __init at91_add_device_serial(void) {} |
1256 | #endif | 1227 | #endif |
1257 | 1228 | ||
@@ -1376,6 +1347,9 @@ void __init at91_add_device_cf(struct at91_cf_data * data) {} | |||
1376 | */ | 1347 | */ |
1377 | static int __init at91_add_standard_devices(void) | 1348 | static int __init at91_add_standard_devices(void) |
1378 | { | 1349 | { |
1350 | if (of_have_populated_dt()) | ||
1351 | return 0; | ||
1352 | |||
1379 | at91_add_device_rtt(); | 1353 | at91_add_device_rtt(); |
1380 | at91_add_device_watchdog(); | 1354 | at91_add_device_watchdog(); |
1381 | at91_add_device_tc(); | 1355 | at91_add_device_tc(); |
diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c index 7de81e6222f1..c77d503d09d1 100644 --- a/arch/arm/mach-at91/at91sam9261.c +++ b/arch/arm/mach-at91/at91sam9261.c | |||
@@ -239,18 +239,6 @@ static void __init at91sam9261_register_clocks(void) | |||
239 | clk_register(&hck1); | 239 | clk_register(&hck1); |
240 | } | 240 | } |
241 | 241 | ||
242 | static struct clk_lookup console_clock_lookup; | ||
243 | |||
244 | void __init at91sam9261_set_console_clock(int id) | ||
245 | { | ||
246 | if (id >= ARRAY_SIZE(usart_clocks_lookups)) | ||
247 | return; | ||
248 | |||
249 | console_clock_lookup.con_id = "usart"; | ||
250 | console_clock_lookup.clk = usart_clocks_lookups[id].clk; | ||
251 | clkdev_add(&console_clock_lookup); | ||
252 | } | ||
253 | |||
254 | /* -------------------------------------------------------------------- | 242 | /* -------------------------------------------------------------------- |
255 | * GPIO | 243 | * GPIO |
256 | * -------------------------------------------------------------------- */ | 244 | * -------------------------------------------------------------------- */ |
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c index 4db961a93085..9295e90b08ff 100644 --- a/arch/arm/mach-at91/at91sam9261_devices.c +++ b/arch/arm/mach-at91/at91sam9261_devices.c | |||
@@ -1051,14 +1051,6 @@ void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | |||
1051 | at91_uarts[portnr] = pdev; | 1051 | at91_uarts[portnr] = pdev; |
1052 | } | 1052 | } |
1053 | 1053 | ||
1054 | void __init at91_set_serial_console(unsigned portnr) | ||
1055 | { | ||
1056 | if (portnr < ATMEL_MAX_UART) { | ||
1057 | atmel_default_console_device = at91_uarts[portnr]; | ||
1058 | at91sam9261_set_console_clock(at91_uarts[portnr]->id); | ||
1059 | } | ||
1060 | } | ||
1061 | |||
1062 | void __init at91_add_device_serial(void) | 1054 | void __init at91_add_device_serial(void) |
1063 | { | 1055 | { |
1064 | int i; | 1056 | int i; |
@@ -1067,13 +1059,9 @@ void __init at91_add_device_serial(void) | |||
1067 | if (at91_uarts[i]) | 1059 | if (at91_uarts[i]) |
1068 | platform_device_register(at91_uarts[i]); | 1060 | platform_device_register(at91_uarts[i]); |
1069 | } | 1061 | } |
1070 | |||
1071 | if (!atmel_default_console_device) | ||
1072 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
1073 | } | 1062 | } |
1074 | #else | 1063 | #else |
1075 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 1064 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
1076 | void __init at91_set_serial_console(unsigned portnr) {} | ||
1077 | void __init at91_add_device_serial(void) {} | 1065 | void __init at91_add_device_serial(void) {} |
1078 | #endif | 1066 | #endif |
1079 | 1067 | ||
diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c index ef301be66575..ed91c7e9f7c2 100644 --- a/arch/arm/mach-at91/at91sam9263.c +++ b/arch/arm/mach-at91/at91sam9263.c | |||
@@ -199,6 +199,16 @@ static struct clk_lookup periph_clocks_lookups[] = { | |||
199 | CLKDEV_CON_ID("pioC", &pioCDE_clk), | 199 | CLKDEV_CON_ID("pioC", &pioCDE_clk), |
200 | CLKDEV_CON_ID("pioD", &pioCDE_clk), | 200 | CLKDEV_CON_ID("pioD", &pioCDE_clk), |
201 | CLKDEV_CON_ID("pioE", &pioCDE_clk), | 201 | CLKDEV_CON_ID("pioE", &pioCDE_clk), |
202 | /* more usart lookup table for DT entries */ | ||
203 | CLKDEV_CON_DEV_ID("usart", "ffffee00.serial", &mck), | ||
204 | CLKDEV_CON_DEV_ID("usart", "fff8c000.serial", &usart0_clk), | ||
205 | CLKDEV_CON_DEV_ID("usart", "fff90000.serial", &usart1_clk), | ||
206 | CLKDEV_CON_DEV_ID("usart", "fff94000.serial", &usart2_clk), | ||
207 | /* more tc lookup table for DT entries */ | ||
208 | CLKDEV_CON_DEV_ID("t0_clk", "fff7c000.timer", &tcb_clk), | ||
209 | CLKDEV_CON_DEV_ID("hclk", "a00000.ohci", &ohci_clk), | ||
210 | CLKDEV_CON_DEV_ID("spi_clk", "fffa4000.spi", &spi0_clk), | ||
211 | CLKDEV_CON_DEV_ID("spi_clk", "fffa8000.spi", &spi1_clk), | ||
202 | }; | 212 | }; |
203 | 213 | ||
204 | static struct clk_lookup usart_clocks_lookups[] = { | 214 | static struct clk_lookup usart_clocks_lookups[] = { |
@@ -255,18 +265,6 @@ static void __init at91sam9263_register_clocks(void) | |||
255 | clk_register(&pck3); | 265 | clk_register(&pck3); |
256 | } | 266 | } |
257 | 267 | ||
258 | static struct clk_lookup console_clock_lookup; | ||
259 | |||
260 | void __init at91sam9263_set_console_clock(int id) | ||
261 | { | ||
262 | if (id >= ARRAY_SIZE(usart_clocks_lookups)) | ||
263 | return; | ||
264 | |||
265 | console_clock_lookup.con_id = "usart"; | ||
266 | console_clock_lookup.clk = usart_clocks_lookups[id].clk; | ||
267 | clkdev_add(&console_clock_lookup); | ||
268 | } | ||
269 | |||
270 | /* -------------------------------------------------------------------- | 268 | /* -------------------------------------------------------------------- |
271 | * GPIO | 269 | * GPIO |
272 | * -------------------------------------------------------------------- */ | 270 | * -------------------------------------------------------------------- */ |
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c index fe99206de880..175e0009eaa9 100644 --- a/arch/arm/mach-at91/at91sam9263_devices.c +++ b/arch/arm/mach-at91/at91sam9263_devices.c | |||
@@ -953,8 +953,25 @@ static struct platform_device at91sam9263_tcb_device = { | |||
953 | .num_resources = ARRAY_SIZE(tcb_resources), | 953 | .num_resources = ARRAY_SIZE(tcb_resources), |
954 | }; | 954 | }; |
955 | 955 | ||
956 | #if defined(CONFIG_OF) | ||
957 | static struct of_device_id tcb_ids[] = { | ||
958 | { .compatible = "atmel,at91rm9200-tcb" }, | ||
959 | { /*sentinel*/ } | ||
960 | }; | ||
961 | #endif | ||
962 | |||
956 | static void __init at91_add_device_tc(void) | 963 | static void __init at91_add_device_tc(void) |
957 | { | 964 | { |
965 | #if defined(CONFIG_OF) | ||
966 | struct device_node *np; | ||
967 | |||
968 | np = of_find_matching_node(NULL, tcb_ids); | ||
969 | if (np) { | ||
970 | of_node_put(np); | ||
971 | return; | ||
972 | } | ||
973 | #endif | ||
974 | |||
958 | platform_device_register(&at91sam9263_tcb_device); | 975 | platform_device_register(&at91sam9263_tcb_device); |
959 | } | 976 | } |
960 | #else | 977 | #else |
@@ -1461,14 +1478,6 @@ void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | |||
1461 | at91_uarts[portnr] = pdev; | 1478 | at91_uarts[portnr] = pdev; |
1462 | } | 1479 | } |
1463 | 1480 | ||
1464 | void __init at91_set_serial_console(unsigned portnr) | ||
1465 | { | ||
1466 | if (portnr < ATMEL_MAX_UART) { | ||
1467 | atmel_default_console_device = at91_uarts[portnr]; | ||
1468 | at91sam9263_set_console_clock(at91_uarts[portnr]->id); | ||
1469 | } | ||
1470 | } | ||
1471 | |||
1472 | void __init at91_add_device_serial(void) | 1481 | void __init at91_add_device_serial(void) |
1473 | { | 1482 | { |
1474 | int i; | 1483 | int i; |
@@ -1477,13 +1486,9 @@ void __init at91_add_device_serial(void) | |||
1477 | if (at91_uarts[i]) | 1486 | if (at91_uarts[i]) |
1478 | platform_device_register(at91_uarts[i]); | 1487 | platform_device_register(at91_uarts[i]); |
1479 | } | 1488 | } |
1480 | |||
1481 | if (!atmel_default_console_device) | ||
1482 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
1483 | } | 1489 | } |
1484 | #else | 1490 | #else |
1485 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 1491 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
1486 | void __init at91_set_serial_console(unsigned portnr) {} | ||
1487 | void __init at91_add_device_serial(void) {} | 1492 | void __init at91_add_device_serial(void) {} |
1488 | #endif | 1493 | #endif |
1489 | 1494 | ||
@@ -1495,6 +1500,9 @@ void __init at91_add_device_serial(void) {} | |||
1495 | */ | 1500 | */ |
1496 | static int __init at91_add_standard_devices(void) | 1501 | static int __init at91_add_standard_devices(void) |
1497 | { | 1502 | { |
1503 | if (of_have_populated_dt()) | ||
1504 | return 0; | ||
1505 | |||
1498 | at91_add_device_rtt(); | 1506 | at91_add_device_rtt(); |
1499 | at91_add_device_watchdog(); | 1507 | at91_add_device_watchdog(); |
1500 | at91_add_device_tc(); | 1508 | at91_add_device_tc(); |
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c index d222f8333dab..f2054495a655 100644 --- a/arch/arm/mach-at91/at91sam9g45.c +++ b/arch/arm/mach-at91/at91sam9g45.c | |||
@@ -288,18 +288,6 @@ static void __init at91sam9g45_register_clocks(void) | |||
288 | clk_register(&pck1); | 288 | clk_register(&pck1); |
289 | } | 289 | } |
290 | 290 | ||
291 | static struct clk_lookup console_clock_lookup; | ||
292 | |||
293 | void __init at91sam9g45_set_console_clock(int id) | ||
294 | { | ||
295 | if (id >= ARRAY_SIZE(usart_clocks_lookups)) | ||
296 | return; | ||
297 | |||
298 | console_clock_lookup.con_id = "usart"; | ||
299 | console_clock_lookup.clk = usart_clocks_lookups[id].clk; | ||
300 | clkdev_add(&console_clock_lookup); | ||
301 | } | ||
302 | |||
303 | /* -------------------------------------------------------------------- | 291 | /* -------------------------------------------------------------------- |
304 | * GPIO | 292 | * GPIO |
305 | * -------------------------------------------------------------------- */ | 293 | * -------------------------------------------------------------------- */ |
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c index 6b008aee1dff..35bd42d02195 100644 --- a/arch/arm/mach-at91/at91sam9g45_devices.c +++ b/arch/arm/mach-at91/at91sam9g45_devices.c | |||
@@ -69,15 +69,7 @@ static struct platform_device at_hdmac_device = { | |||
69 | 69 | ||
70 | void __init at91_add_device_hdmac(void) | 70 | void __init at91_add_device_hdmac(void) |
71 | { | 71 | { |
72 | #if defined(CONFIG_OF) | 72 | platform_device_register(&at_hdmac_device); |
73 | struct device_node *of_node = | ||
74 | of_find_node_by_name(NULL, "dma-controller"); | ||
75 | |||
76 | if (of_node) | ||
77 | of_node_put(of_node); | ||
78 | else | ||
79 | #endif | ||
80 | platform_device_register(&at_hdmac_device); | ||
81 | } | 73 | } |
82 | #else | 74 | #else |
83 | void __init at91_add_device_hdmac(void) {} | 75 | void __init at91_add_device_hdmac(void) {} |
@@ -1094,25 +1086,8 @@ static struct platform_device at91sam9g45_tcb1_device = { | |||
1094 | .num_resources = ARRAY_SIZE(tcb1_resources), | 1086 | .num_resources = ARRAY_SIZE(tcb1_resources), |
1095 | }; | 1087 | }; |
1096 | 1088 | ||
1097 | #if defined(CONFIG_OF) | ||
1098 | static struct of_device_id tcb_ids[] = { | ||
1099 | { .compatible = "atmel,at91rm9200-tcb" }, | ||
1100 | { /*sentinel*/ } | ||
1101 | }; | ||
1102 | #endif | ||
1103 | |||
1104 | static void __init at91_add_device_tc(void) | 1089 | static void __init at91_add_device_tc(void) |
1105 | { | 1090 | { |
1106 | #if defined(CONFIG_OF) | ||
1107 | struct device_node *np; | ||
1108 | |||
1109 | np = of_find_matching_node(NULL, tcb_ids); | ||
1110 | if (np) { | ||
1111 | of_node_put(np); | ||
1112 | return; | ||
1113 | } | ||
1114 | #endif | ||
1115 | |||
1116 | platform_device_register(&at91sam9g45_tcb0_device); | 1091 | platform_device_register(&at91sam9g45_tcb0_device); |
1117 | platform_device_register(&at91sam9g45_tcb1_device); | 1092 | platform_device_register(&at91sam9g45_tcb1_device); |
1118 | } | 1093 | } |
@@ -1741,14 +1716,6 @@ void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | |||
1741 | at91_uarts[portnr] = pdev; | 1716 | at91_uarts[portnr] = pdev; |
1742 | } | 1717 | } |
1743 | 1718 | ||
1744 | void __init at91_set_serial_console(unsigned portnr) | ||
1745 | { | ||
1746 | if (portnr < ATMEL_MAX_UART) { | ||
1747 | atmel_default_console_device = at91_uarts[portnr]; | ||
1748 | at91sam9g45_set_console_clock(at91_uarts[portnr]->id); | ||
1749 | } | ||
1750 | } | ||
1751 | |||
1752 | void __init at91_add_device_serial(void) | 1719 | void __init at91_add_device_serial(void) |
1753 | { | 1720 | { |
1754 | int i; | 1721 | int i; |
@@ -1757,13 +1724,9 @@ void __init at91_add_device_serial(void) | |||
1757 | if (at91_uarts[i]) | 1724 | if (at91_uarts[i]) |
1758 | platform_device_register(at91_uarts[i]); | 1725 | platform_device_register(at91_uarts[i]); |
1759 | } | 1726 | } |
1760 | |||
1761 | if (!atmel_default_console_device) | ||
1762 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
1763 | } | 1727 | } |
1764 | #else | 1728 | #else |
1765 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 1729 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
1766 | void __init at91_set_serial_console(unsigned portnr) {} | ||
1767 | void __init at91_add_device_serial(void) {} | 1730 | void __init at91_add_device_serial(void) {} |
1768 | #endif | 1731 | #endif |
1769 | 1732 | ||
@@ -1775,6 +1738,9 @@ void __init at91_add_device_serial(void) {} | |||
1775 | */ | 1738 | */ |
1776 | static int __init at91_add_standard_devices(void) | 1739 | static int __init at91_add_standard_devices(void) |
1777 | { | 1740 | { |
1741 | if (of_have_populated_dt()) | ||
1742 | return 0; | ||
1743 | |||
1778 | at91_add_device_hdmac(); | 1744 | at91_add_device_hdmac(); |
1779 | at91_add_device_rtc(); | 1745 | at91_add_device_rtc(); |
1780 | at91_add_device_rtt(); | 1746 | at91_add_device_rtt(); |
diff --git a/arch/arm/mach-at91/at91sam9rl.c b/arch/arm/mach-at91/at91sam9rl.c index d9f2774f385e..e420085a57ef 100644 --- a/arch/arm/mach-at91/at91sam9rl.c +++ b/arch/arm/mach-at91/at91sam9rl.c | |||
@@ -232,18 +232,6 @@ static void __init at91sam9rl_register_clocks(void) | |||
232 | clk_register(&pck1); | 232 | clk_register(&pck1); |
233 | } | 233 | } |
234 | 234 | ||
235 | static struct clk_lookup console_clock_lookup; | ||
236 | |||
237 | void __init at91sam9rl_set_console_clock(int id) | ||
238 | { | ||
239 | if (id >= ARRAY_SIZE(usart_clocks_lookups)) | ||
240 | return; | ||
241 | |||
242 | console_clock_lookup.con_id = "usart"; | ||
243 | console_clock_lookup.clk = usart_clocks_lookups[id].clk; | ||
244 | clkdev_add(&console_clock_lookup); | ||
245 | } | ||
246 | |||
247 | /* -------------------------------------------------------------------- | 235 | /* -------------------------------------------------------------------- |
248 | * GPIO | 236 | * GPIO |
249 | * -------------------------------------------------------------------- */ | 237 | * -------------------------------------------------------------------- */ |
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c index fe4ae22e8561..9c0b1481a9a7 100644 --- a/arch/arm/mach-at91/at91sam9rl_devices.c +++ b/arch/arm/mach-at91/at91sam9rl_devices.c | |||
@@ -1192,14 +1192,6 @@ void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | |||
1192 | at91_uarts[portnr] = pdev; | 1192 | at91_uarts[portnr] = pdev; |
1193 | } | 1193 | } |
1194 | 1194 | ||
1195 | void __init at91_set_serial_console(unsigned portnr) | ||
1196 | { | ||
1197 | if (portnr < ATMEL_MAX_UART) { | ||
1198 | atmel_default_console_device = at91_uarts[portnr]; | ||
1199 | at91sam9rl_set_console_clock(at91_uarts[portnr]->id); | ||
1200 | } | ||
1201 | } | ||
1202 | |||
1203 | void __init at91_add_device_serial(void) | 1195 | void __init at91_add_device_serial(void) |
1204 | { | 1196 | { |
1205 | int i; | 1197 | int i; |
@@ -1208,13 +1200,9 @@ void __init at91_add_device_serial(void) | |||
1208 | if (at91_uarts[i]) | 1200 | if (at91_uarts[i]) |
1209 | platform_device_register(at91_uarts[i]); | 1201 | platform_device_register(at91_uarts[i]); |
1210 | } | 1202 | } |
1211 | |||
1212 | if (!atmel_default_console_device) | ||
1213 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
1214 | } | 1203 | } |
1215 | #else | 1204 | #else |
1216 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 1205 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
1217 | void __init at91_set_serial_console(unsigned portnr) {} | ||
1218 | void __init at91_add_device_serial(void) {} | 1206 | void __init at91_add_device_serial(void) {} |
1219 | #endif | 1207 | #endif |
1220 | 1208 | ||
diff --git a/arch/arm/mach-at91/board-1arm.c b/arch/arm/mach-at91/board-1arm.c index 2628384aaae1..271f994314a4 100644 --- a/arch/arm/mach-at91/board-1arm.c +++ b/arch/arm/mach-at91/board-1arm.c | |||
@@ -47,20 +47,6 @@ static void __init onearm_init_early(void) | |||
47 | 47 | ||
48 | /* Initialize processor: 18.432 MHz crystal */ | 48 | /* Initialize processor: 18.432 MHz crystal */ |
49 | at91_initialize(18432000); | 49 | at91_initialize(18432000); |
50 | |||
51 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
52 | at91_register_uart(0, 0, 0); | ||
53 | |||
54 | /* USART0 on ttyS1 (Rx, Tx, CTS, RTS) */ | ||
55 | at91_register_uart(AT91RM9200_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
56 | |||
57 | /* USART1 on ttyS2 (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
58 | at91_register_uart(AT91RM9200_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
59 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
60 | | ATMEL_UART_RI); | ||
61 | |||
62 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
63 | at91_set_serial_console(0); | ||
64 | } | 50 | } |
65 | 51 | ||
66 | static struct macb_platform_data __initdata onearm_eth_data = { | 52 | static struct macb_platform_data __initdata onearm_eth_data = { |
@@ -82,6 +68,16 @@ static struct at91_udc_data __initdata onearm_udc_data = { | |||
82 | static void __init onearm_board_init(void) | 68 | static void __init onearm_board_init(void) |
83 | { | 69 | { |
84 | /* Serial */ | 70 | /* Serial */ |
71 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
72 | at91_register_uart(0, 0, 0); | ||
73 | |||
74 | /* USART0 on ttyS1 (Rx, Tx, CTS, RTS) */ | ||
75 | at91_register_uart(AT91RM9200_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
76 | |||
77 | /* USART1 on ttyS2 (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
78 | at91_register_uart(AT91RM9200_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
79 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
80 | | ATMEL_UART_RI); | ||
85 | at91_add_device_serial(); | 81 | at91_add_device_serial(); |
86 | /* Ethernet */ | 82 | /* Ethernet */ |
87 | at91_add_device_eth(&onearm_eth_data); | 83 | at91_add_device_eth(&onearm_eth_data); |
diff --git a/arch/arm/mach-at91/board-afeb-9260v1.c b/arch/arm/mach-at91/board-afeb-9260v1.c index 161efbaa1029..b7d8aa7b81e6 100644 --- a/arch/arm/mach-at91/board-afeb-9260v1.c +++ b/arch/arm/mach-at91/board-afeb-9260v1.c | |||
@@ -52,22 +52,6 @@ static void __init afeb9260_init_early(void) | |||
52 | { | 52 | { |
53 | /* Initialize processor: 18.432 MHz crystal */ | 53 | /* Initialize processor: 18.432 MHz crystal */ |
54 | at91_initialize(18432000); | 54 | at91_initialize(18432000); |
55 | |||
56 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
57 | at91_register_uart(0, 0, 0); | ||
58 | |||
59 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
60 | at91_register_uart(AT91SAM9260_ID_US0, 1, | ||
61 | ATMEL_UART_CTS | ATMEL_UART_RTS | ||
62 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ||
63 | | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
64 | |||
65 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
66 | at91_register_uart(AT91SAM9260_ID_US1, 2, | ||
67 | ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
68 | |||
69 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
70 | at91_set_serial_console(0); | ||
71 | } | 55 | } |
72 | 56 | ||
73 | /* | 57 | /* |
@@ -183,6 +167,18 @@ static struct at91_cf_data afeb9260_cf_data = { | |||
183 | static void __init afeb9260_board_init(void) | 167 | static void __init afeb9260_board_init(void) |
184 | { | 168 | { |
185 | /* Serial */ | 169 | /* Serial */ |
170 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
171 | at91_register_uart(0, 0, 0); | ||
172 | |||
173 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
174 | at91_register_uart(AT91SAM9260_ID_US0, 1, | ||
175 | ATMEL_UART_CTS | ATMEL_UART_RTS | ||
176 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ||
177 | | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
178 | |||
179 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
180 | at91_register_uart(AT91SAM9260_ID_US1, 2, | ||
181 | ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
186 | at91_add_device_serial(); | 182 | at91_add_device_serial(); |
187 | /* USB Host */ | 183 | /* USB Host */ |
188 | at91_add_device_usbh(&afeb9260_usbh_data); | 184 | at91_add_device_usbh(&afeb9260_usbh_data); |
diff --git a/arch/arm/mach-at91/board-cam60.c b/arch/arm/mach-at91/board-cam60.c index c6d44ee0c77e..29d3ef0a50fb 100644 --- a/arch/arm/mach-at91/board-cam60.c +++ b/arch/arm/mach-at91/board-cam60.c | |||
@@ -49,12 +49,6 @@ static void __init cam60_init_early(void) | |||
49 | { | 49 | { |
50 | /* Initialize processor: 10 MHz crystal */ | 50 | /* Initialize processor: 10 MHz crystal */ |
51 | at91_initialize(10000000); | 51 | at91_initialize(10000000); |
52 | |||
53 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
54 | at91_register_uart(0, 0, 0); | ||
55 | |||
56 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
57 | at91_set_serial_console(0); | ||
58 | } | 52 | } |
59 | 53 | ||
60 | /* | 54 | /* |
@@ -175,6 +169,8 @@ static void __init cam60_add_device_nand(void) | |||
175 | static void __init cam60_board_init(void) | 169 | static void __init cam60_board_init(void) |
176 | { | 170 | { |
177 | /* Serial */ | 171 | /* Serial */ |
172 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
173 | at91_register_uart(0, 0, 0); | ||
178 | at91_add_device_serial(); | 174 | at91_add_device_serial(); |
179 | /* SPI */ | 175 | /* SPI */ |
180 | at91_add_device_spi(cam60_spi_devices, ARRAY_SIZE(cam60_spi_devices)); | 176 | at91_add_device_spi(cam60_spi_devices, ARRAY_SIZE(cam60_spi_devices)); |
diff --git a/arch/arm/mach-at91/board-carmeva.c b/arch/arm/mach-at91/board-carmeva.c index 59d9cf997537..44328a6d4609 100644 --- a/arch/arm/mach-at91/board-carmeva.c +++ b/arch/arm/mach-at91/board-carmeva.c | |||
@@ -44,17 +44,6 @@ static void __init carmeva_init_early(void) | |||
44 | { | 44 | { |
45 | /* Initialize processor: 20.000 MHz crystal */ | 45 | /* Initialize processor: 20.000 MHz crystal */ |
46 | at91_initialize(20000000); | 46 | at91_initialize(20000000); |
47 | |||
48 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
49 | at91_register_uart(0, 0, 0); | ||
50 | |||
51 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
52 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
53 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
54 | | ATMEL_UART_RI); | ||
55 | |||
56 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
57 | at91_set_serial_console(0); | ||
58 | } | 47 | } |
59 | 48 | ||
60 | static struct macb_platform_data __initdata carmeva_eth_data = { | 49 | static struct macb_platform_data __initdata carmeva_eth_data = { |
@@ -139,6 +128,13 @@ static struct gpio_led carmeva_leds[] = { | |||
139 | static void __init carmeva_board_init(void) | 128 | static void __init carmeva_board_init(void) |
140 | { | 129 | { |
141 | /* Serial */ | 130 | /* Serial */ |
131 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
132 | at91_register_uart(0, 0, 0); | ||
133 | |||
134 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
135 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
136 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
137 | | ATMEL_UART_RI); | ||
142 | at91_add_device_serial(); | 138 | at91_add_device_serial(); |
143 | /* Ethernet */ | 139 | /* Ethernet */ |
144 | at91_add_device_eth(&carmeva_eth_data); | 140 | at91_add_device_eth(&carmeva_eth_data); |
diff --git a/arch/arm/mach-at91/board-cpu9krea.c b/arch/arm/mach-at91/board-cpu9krea.c index 5f3680e7c883..69951ec7dbf3 100644 --- a/arch/arm/mach-at91/board-cpu9krea.c +++ b/arch/arm/mach-at91/board-cpu9krea.c | |||
@@ -52,34 +52,6 @@ static void __init cpu9krea_init_early(void) | |||
52 | { | 52 | { |
53 | /* Initialize processor: 18.432 MHz crystal */ | 53 | /* Initialize processor: 18.432 MHz crystal */ |
54 | at91_initialize(18432000); | 54 | at91_initialize(18432000); |
55 | |||
56 | /* DGBU on ttyS0. (Rx & Tx only) */ | ||
57 | at91_register_uart(0, 0, 0); | ||
58 | |||
59 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
60 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | | ||
61 | ATMEL_UART_RTS | ATMEL_UART_DTR | ATMEL_UART_DSR | | ||
62 | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
63 | |||
64 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
65 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | | ||
66 | ATMEL_UART_RTS); | ||
67 | |||
68 | /* USART2 on ttyS3. (Rx, Tx, RTS, CTS) */ | ||
69 | at91_register_uart(AT91SAM9260_ID_US2, 3, ATMEL_UART_CTS | | ||
70 | ATMEL_UART_RTS); | ||
71 | |||
72 | /* USART3 on ttyS4. (Rx, Tx) */ | ||
73 | at91_register_uart(AT91SAM9260_ID_US3, 4, 0); | ||
74 | |||
75 | /* USART4 on ttyS5. (Rx, Tx) */ | ||
76 | at91_register_uart(AT91SAM9260_ID_US4, 5, 0); | ||
77 | |||
78 | /* USART5 on ttyS6. (Rx, Tx) */ | ||
79 | at91_register_uart(AT91SAM9260_ID_US5, 6, 0); | ||
80 | |||
81 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
82 | at91_set_serial_console(0); | ||
83 | } | 55 | } |
84 | 56 | ||
85 | /* | 57 | /* |
@@ -352,6 +324,30 @@ static void __init cpu9krea_board_init(void) | |||
352 | /* NOR */ | 324 | /* NOR */ |
353 | cpu9krea_add_device_nor(); | 325 | cpu9krea_add_device_nor(); |
354 | /* Serial */ | 326 | /* Serial */ |
327 | /* DGBU on ttyS0. (Rx & Tx only) */ | ||
328 | at91_register_uart(0, 0, 0); | ||
329 | |||
330 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
331 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | | ||
332 | ATMEL_UART_RTS | ATMEL_UART_DTR | ATMEL_UART_DSR | | ||
333 | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
334 | |||
335 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
336 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | | ||
337 | ATMEL_UART_RTS); | ||
338 | |||
339 | /* USART2 on ttyS3. (Rx, Tx, RTS, CTS) */ | ||
340 | at91_register_uart(AT91SAM9260_ID_US2, 3, ATMEL_UART_CTS | | ||
341 | ATMEL_UART_RTS); | ||
342 | |||
343 | /* USART3 on ttyS4. (Rx, Tx) */ | ||
344 | at91_register_uart(AT91SAM9260_ID_US3, 4, 0); | ||
345 | |||
346 | /* USART4 on ttyS5. (Rx, Tx) */ | ||
347 | at91_register_uart(AT91SAM9260_ID_US4, 5, 0); | ||
348 | |||
349 | /* USART5 on ttyS6. (Rx, Tx) */ | ||
350 | at91_register_uart(AT91SAM9260_ID_US5, 6, 0); | ||
355 | at91_add_device_serial(); | 351 | at91_add_device_serial(); |
356 | /* USB Host */ | 352 | /* USB Host */ |
357 | at91_add_device_usbh(&cpu9krea_usbh_data); | 353 | at91_add_device_usbh(&cpu9krea_usbh_data); |
diff --git a/arch/arm/mach-at91/board-cpuat91.c b/arch/arm/mach-at91/board-cpuat91.c index e094cc81fe25..895cf2dba612 100644 --- a/arch/arm/mach-at91/board-cpuat91.c +++ b/arch/arm/mach-at91/board-cpuat91.c | |||
@@ -59,28 +59,6 @@ static void __init cpuat91_init_early(void) | |||
59 | 59 | ||
60 | /* Initialize processor: 18.432 MHz crystal */ | 60 | /* Initialize processor: 18.432 MHz crystal */ |
61 | at91_initialize(18432000); | 61 | at91_initialize(18432000); |
62 | |||
63 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
64 | at91_register_uart(0, 0, 0); | ||
65 | |||
66 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS) */ | ||
67 | at91_register_uart(AT91RM9200_ID_US0, 1, ATMEL_UART_CTS | | ||
68 | ATMEL_UART_RTS); | ||
69 | |||
70 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
71 | at91_register_uart(AT91RM9200_ID_US1, 2, ATMEL_UART_CTS | | ||
72 | ATMEL_UART_RTS | ATMEL_UART_DTR | ATMEL_UART_DSR | | ||
73 | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
74 | |||
75 | /* USART2 on ttyS3 (Rx, Tx) */ | ||
76 | at91_register_uart(AT91RM9200_ID_US2, 3, 0); | ||
77 | |||
78 | /* USART3 on ttyS4 (Rx, Tx, CTS, RTS) */ | ||
79 | at91_register_uart(AT91RM9200_ID_US3, 4, ATMEL_UART_CTS | | ||
80 | ATMEL_UART_RTS); | ||
81 | |||
82 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
83 | at91_set_serial_console(0); | ||
84 | } | 62 | } |
85 | 63 | ||
86 | static struct macb_platform_data __initdata cpuat91_eth_data = { | 64 | static struct macb_platform_data __initdata cpuat91_eth_data = { |
@@ -161,6 +139,24 @@ static struct platform_device *platform_devices[] __initdata = { | |||
161 | static void __init cpuat91_board_init(void) | 139 | static void __init cpuat91_board_init(void) |
162 | { | 140 | { |
163 | /* Serial */ | 141 | /* Serial */ |
142 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
143 | at91_register_uart(0, 0, 0); | ||
144 | |||
145 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS) */ | ||
146 | at91_register_uart(AT91RM9200_ID_US0, 1, ATMEL_UART_CTS | | ||
147 | ATMEL_UART_RTS); | ||
148 | |||
149 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
150 | at91_register_uart(AT91RM9200_ID_US1, 2, ATMEL_UART_CTS | | ||
151 | ATMEL_UART_RTS | ATMEL_UART_DTR | ATMEL_UART_DSR | | ||
152 | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
153 | |||
154 | /* USART2 on ttyS3 (Rx, Tx) */ | ||
155 | at91_register_uart(AT91RM9200_ID_US2, 3, 0); | ||
156 | |||
157 | /* USART3 on ttyS4 (Rx, Tx, CTS, RTS) */ | ||
158 | at91_register_uart(AT91RM9200_ID_US3, 4, ATMEL_UART_CTS | | ||
159 | ATMEL_UART_RTS); | ||
164 | at91_add_device_serial(); | 160 | at91_add_device_serial(); |
165 | /* LEDs. */ | 161 | /* LEDs. */ |
166 | at91_gpio_leds(cpuat91_leds, ARRAY_SIZE(cpuat91_leds)); | 162 | at91_gpio_leds(cpuat91_leds, ARRAY_SIZE(cpuat91_leds)); |
diff --git a/arch/arm/mach-at91/board-csb337.c b/arch/arm/mach-at91/board-csb337.c index 1a1547b1ce4e..cd813361cd26 100644 --- a/arch/arm/mach-at91/board-csb337.c +++ b/arch/arm/mach-at91/board-csb337.c | |||
@@ -47,15 +47,6 @@ static void __init csb337_init_early(void) | |||
47 | { | 47 | { |
48 | /* Initialize processor: 3.6864 MHz crystal */ | 48 | /* Initialize processor: 3.6864 MHz crystal */ |
49 | at91_initialize(3686400); | 49 | at91_initialize(3686400); |
50 | |||
51 | /* Setup the LEDs */ | ||
52 | at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1); | ||
53 | |||
54 | /* DBGU on ttyS0 */ | ||
55 | at91_register_uart(0, 0, 0); | ||
56 | |||
57 | /* make console=ttyS0 the default */ | ||
58 | at91_set_serial_console(0); | ||
59 | } | 50 | } |
60 | 51 | ||
61 | static struct macb_platform_data __initdata csb337_eth_data = { | 52 | static struct macb_platform_data __initdata csb337_eth_data = { |
@@ -228,7 +219,11 @@ static struct gpio_led csb_leds[] = { | |||
228 | 219 | ||
229 | static void __init csb337_board_init(void) | 220 | static void __init csb337_board_init(void) |
230 | { | 221 | { |
222 | /* Setup the LEDs */ | ||
223 | at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1); | ||
231 | /* Serial */ | 224 | /* Serial */ |
225 | /* DBGU on ttyS0 */ | ||
226 | at91_register_uart(0, 0, 0); | ||
232 | at91_add_device_serial(); | 227 | at91_add_device_serial(); |
233 | /* Ethernet */ | 228 | /* Ethernet */ |
234 | at91_add_device_eth(&csb337_eth_data); | 229 | at91_add_device_eth(&csb337_eth_data); |
diff --git a/arch/arm/mach-at91/board-csb637.c b/arch/arm/mach-at91/board-csb637.c index f650bf39455d..7c8b05a57d7f 100644 --- a/arch/arm/mach-at91/board-csb637.c +++ b/arch/arm/mach-at91/board-csb637.c | |||
@@ -44,12 +44,6 @@ static void __init csb637_init_early(void) | |||
44 | { | 44 | { |
45 | /* Initialize processor: 3.6864 MHz crystal */ | 45 | /* Initialize processor: 3.6864 MHz crystal */ |
46 | at91_initialize(3686400); | 46 | at91_initialize(3686400); |
47 | |||
48 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
49 | at91_register_uart(0, 0, 0); | ||
50 | |||
51 | /* make console=ttyS0 (ie, DBGU) the default */ | ||
52 | at91_set_serial_console(0); | ||
53 | } | 47 | } |
54 | 48 | ||
55 | static struct macb_platform_data __initdata csb637_eth_data = { | 49 | static struct macb_platform_data __initdata csb637_eth_data = { |
@@ -118,6 +112,8 @@ static void __init csb637_board_init(void) | |||
118 | /* LED(s) */ | 112 | /* LED(s) */ |
119 | at91_gpio_leds(csb_leds, ARRAY_SIZE(csb_leds)); | 113 | at91_gpio_leds(csb_leds, ARRAY_SIZE(csb_leds)); |
120 | /* Serial */ | 114 | /* Serial */ |
115 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
116 | at91_register_uart(0, 0, 0); | ||
121 | at91_add_device_serial(); | 117 | at91_add_device_serial(); |
122 | /* Ethernet */ | 118 | /* Ethernet */ |
123 | at91_add_device_eth(&csb637_eth_data); | 119 | at91_add_device_eth(&csb637_eth_data); |
diff --git a/arch/arm/mach-at91/board-dt.c b/arch/arm/mach-at91/board-dt.c index c18d4d307801..a1fce05aa7a5 100644 --- a/arch/arm/mach-at91/board-dt.c +++ b/arch/arm/mach-at91/board-dt.c | |||
@@ -1,10 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Setup code for AT91SAM Evaluation Kits with Device Tree support | 2 | * Setup code for AT91SAM Evaluation Kits with Device Tree support |
3 | * | 3 | * |
4 | * Covers: * AT91SAM9G45-EKES board | ||
5 | * * AT91SAM9M10-EKES board | ||
6 | * * AT91SAM9M10G45-EK board | ||
7 | * | ||
8 | * Copyright (C) 2011 Atmel, | 4 | * Copyright (C) 2011 Atmel, |
9 | * 2011 Nicolas Ferre <nicolas.ferre@atmel.com> | 5 | * 2011 Nicolas Ferre <nicolas.ferre@atmel.com> |
10 | * | 6 | * |
@@ -49,9 +45,7 @@ static void __init at91_dt_device_init(void) | |||
49 | } | 45 | } |
50 | 46 | ||
51 | static const char *at91_dt_board_compat[] __initdata = { | 47 | static const char *at91_dt_board_compat[] __initdata = { |
52 | "atmel,at91sam9m10g45ek", | 48 | "atmel,at91sam9", |
53 | "atmel,at91sam9x5ek", | ||
54 | "calao,usb-a9g20", | ||
55 | NULL | 49 | NULL |
56 | }; | 50 | }; |
57 | 51 | ||
diff --git a/arch/arm/mach-at91/board-eb9200.c b/arch/arm/mach-at91/board-eb9200.c index d302ca3eeb64..bd1017297989 100644 --- a/arch/arm/mach-at91/board-eb9200.c +++ b/arch/arm/mach-at91/board-eb9200.c | |||
@@ -44,20 +44,6 @@ static void __init eb9200_init_early(void) | |||
44 | { | 44 | { |
45 | /* Initialize processor: 18.432 MHz crystal */ | 45 | /* Initialize processor: 18.432 MHz crystal */ |
46 | at91_initialize(18432000); | 46 | at91_initialize(18432000); |
47 | |||
48 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
49 | at91_register_uart(0, 0, 0); | ||
50 | |||
51 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
52 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
53 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
54 | | ATMEL_UART_RI); | ||
55 | |||
56 | /* USART2 on ttyS2. (Rx, Tx) - IRDA */ | ||
57 | at91_register_uart(AT91RM9200_ID_US2, 2, 0); | ||
58 | |||
59 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
60 | at91_set_serial_console(0); | ||
61 | } | 47 | } |
62 | 48 | ||
63 | static struct macb_platform_data __initdata eb9200_eth_data = { | 49 | static struct macb_platform_data __initdata eb9200_eth_data = { |
@@ -101,6 +87,16 @@ static struct i2c_board_info __initdata eb9200_i2c_devices[] = { | |||
101 | static void __init eb9200_board_init(void) | 87 | static void __init eb9200_board_init(void) |
102 | { | 88 | { |
103 | /* Serial */ | 89 | /* Serial */ |
90 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
91 | at91_register_uart(0, 0, 0); | ||
92 | |||
93 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
94 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
95 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
96 | | ATMEL_UART_RI); | ||
97 | |||
98 | /* USART2 on ttyS2. (Rx, Tx) - IRDA */ | ||
99 | at91_register_uart(AT91RM9200_ID_US2, 2, 0); | ||
104 | at91_add_device_serial(); | 100 | at91_add_device_serial(); |
105 | /* Ethernet */ | 101 | /* Ethernet */ |
106 | at91_add_device_eth(&eb9200_eth_data); | 102 | at91_add_device_eth(&eb9200_eth_data); |
diff --git a/arch/arm/mach-at91/board-ecbat91.c b/arch/arm/mach-at91/board-ecbat91.c index 69966ce4d776..89cc3726a9ce 100644 --- a/arch/arm/mach-at91/board-ecbat91.c +++ b/arch/arm/mach-at91/board-ecbat91.c | |||
@@ -50,18 +50,6 @@ static void __init ecb_at91init_early(void) | |||
50 | 50 | ||
51 | /* Initialize processor: 18.432 MHz crystal */ | 51 | /* Initialize processor: 18.432 MHz crystal */ |
52 | at91_initialize(18432000); | 52 | at91_initialize(18432000); |
53 | |||
54 | /* Setup the LEDs */ | ||
55 | at91_init_leds(AT91_PIN_PC7, AT91_PIN_PC7); | ||
56 | |||
57 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
58 | at91_register_uart(0, 0, 0); | ||
59 | |||
60 | /* USART0 on ttyS1. (Rx & Tx only) */ | ||
61 | at91_register_uart(AT91RM9200_ID_US0, 1, 0); | ||
62 | |||
63 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
64 | at91_set_serial_console(0); | ||
65 | } | 53 | } |
66 | 54 | ||
67 | static struct macb_platform_data __initdata ecb_at91eth_data = { | 55 | static struct macb_platform_data __initdata ecb_at91eth_data = { |
@@ -151,7 +139,15 @@ static struct spi_board_info __initdata ecb_at91spi_devices[] = { | |||
151 | 139 | ||
152 | static void __init ecb_at91board_init(void) | 140 | static void __init ecb_at91board_init(void) |
153 | { | 141 | { |
142 | /* Setup the LEDs */ | ||
143 | at91_init_leds(AT91_PIN_PC7, AT91_PIN_PC7); | ||
144 | |||
154 | /* Serial */ | 145 | /* Serial */ |
146 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
147 | at91_register_uart(0, 0, 0); | ||
148 | |||
149 | /* USART0 on ttyS1. (Rx & Tx only) */ | ||
150 | at91_register_uart(AT91RM9200_ID_US0, 1, 0); | ||
155 | at91_add_device_serial(); | 151 | at91_add_device_serial(); |
156 | 152 | ||
157 | /* Ethernet */ | 153 | /* Ethernet */ |
diff --git a/arch/arm/mach-at91/board-eco920.c b/arch/arm/mach-at91/board-eco920.c index f23aabef8551..558546cf63f4 100644 --- a/arch/arm/mach-at91/board-eco920.c +++ b/arch/arm/mach-at91/board-eco920.c | |||
@@ -37,15 +37,6 @@ static void __init eco920_init_early(void) | |||
37 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); | 37 | at91rm9200_set_type(ARCH_REVISON_9200_PQFP); |
38 | 38 | ||
39 | at91_initialize(18432000); | 39 | at91_initialize(18432000); |
40 | |||
41 | /* Setup the LEDs */ | ||
42 | at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1); | ||
43 | |||
44 | /* DBGU on ttyS0. (Rx & Tx only */ | ||
45 | at91_register_uart(0, 0, 0); | ||
46 | |||
47 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
48 | at91_set_serial_console(0); | ||
49 | } | 40 | } |
50 | 41 | ||
51 | static struct macb_platform_data __initdata eco920_eth_data = { | 42 | static struct macb_platform_data __initdata eco920_eth_data = { |
@@ -103,6 +94,10 @@ static struct spi_board_info eco920_spi_devices[] = { | |||
103 | 94 | ||
104 | static void __init eco920_board_init(void) | 95 | static void __init eco920_board_init(void) |
105 | { | 96 | { |
97 | /* Setup the LEDs */ | ||
98 | at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1); | ||
99 | /* DBGU on ttyS0. (Rx & Tx only */ | ||
100 | at91_register_uart(0, 0, 0); | ||
106 | at91_add_device_serial(); | 101 | at91_add_device_serial(); |
107 | at91_add_device_eth(&eco920_eth_data); | 102 | at91_add_device_eth(&eco920_eth_data); |
108 | at91_add_device_usbh(&eco920_usbh_data); | 103 | at91_add_device_usbh(&eco920_usbh_data); |
diff --git a/arch/arm/mach-at91/board-flexibity.c b/arch/arm/mach-at91/board-flexibity.c index 1815152001f7..47658f78105d 100644 --- a/arch/arm/mach-at91/board-flexibity.c +++ b/arch/arm/mach-at91/board-flexibity.c | |||
@@ -41,12 +41,6 @@ static void __init flexibity_init_early(void) | |||
41 | { | 41 | { |
42 | /* Initialize processor: 18.432 MHz crystal */ | 42 | /* Initialize processor: 18.432 MHz crystal */ |
43 | at91_initialize(18432000); | 43 | at91_initialize(18432000); |
44 | |||
45 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
46 | at91_register_uart(0, 0, 0); | ||
47 | |||
48 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
49 | at91_set_serial_console(0); | ||
50 | } | 44 | } |
51 | 45 | ||
52 | /* USB Host port */ | 46 | /* USB Host port */ |
@@ -143,6 +137,8 @@ static struct gpio_led flexibity_leds[] = { | |||
143 | static void __init flexibity_board_init(void) | 137 | static void __init flexibity_board_init(void) |
144 | { | 138 | { |
145 | /* Serial */ | 139 | /* Serial */ |
140 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
141 | at91_register_uart(0, 0, 0); | ||
146 | at91_add_device_serial(); | 142 | at91_add_device_serial(); |
147 | /* USB Host */ | 143 | /* USB Host */ |
148 | at91_add_device_usbh(&flexibity_usbh_data); | 144 | at91_add_device_usbh(&flexibity_usbh_data); |
diff --git a/arch/arm/mach-at91/board-foxg20.c b/arch/arm/mach-at91/board-foxg20.c index caf017f0f4ee..33411e6ecb1f 100644 --- a/arch/arm/mach-at91/board-foxg20.c +++ b/arch/arm/mach-at91/board-foxg20.c | |||
@@ -61,44 +61,6 @@ static void __init foxg20_init_early(void) | |||
61 | { | 61 | { |
62 | /* Initialize processor: 18.432 MHz crystal */ | 62 | /* Initialize processor: 18.432 MHz crystal */ |
63 | at91_initialize(18432000); | 63 | at91_initialize(18432000); |
64 | |||
65 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
66 | at91_register_uart(0, 0, 0); | ||
67 | |||
68 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
69 | at91_register_uart(AT91SAM9260_ID_US0, 1, | ||
70 | ATMEL_UART_CTS | ||
71 | | ATMEL_UART_RTS | ||
72 | | ATMEL_UART_DTR | ||
73 | | ATMEL_UART_DSR | ||
74 | | ATMEL_UART_DCD | ||
75 | | ATMEL_UART_RI); | ||
76 | |||
77 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
78 | at91_register_uart(AT91SAM9260_ID_US1, 2, | ||
79 | ATMEL_UART_CTS | ||
80 | | ATMEL_UART_RTS); | ||
81 | |||
82 | /* USART2 on ttyS3. (Rx & Tx only) */ | ||
83 | at91_register_uart(AT91SAM9260_ID_US2, 3, 0); | ||
84 | |||
85 | /* USART3 on ttyS4. (Rx, Tx, RTS, CTS) */ | ||
86 | at91_register_uart(AT91SAM9260_ID_US3, 4, | ||
87 | ATMEL_UART_CTS | ||
88 | | ATMEL_UART_RTS); | ||
89 | |||
90 | /* USART4 on ttyS5. (Rx & Tx only) */ | ||
91 | at91_register_uart(AT91SAM9260_ID_US4, 5, 0); | ||
92 | |||
93 | /* USART5 on ttyS6. (Rx & Tx only) */ | ||
94 | at91_register_uart(AT91SAM9260_ID_US5, 6, 0); | ||
95 | |||
96 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
97 | at91_set_serial_console(0); | ||
98 | |||
99 | /* Set the internal pull-up resistor on DRXD */ | ||
100 | at91_set_A_periph(AT91_PIN_PB14, 1); | ||
101 | |||
102 | } | 64 | } |
103 | 65 | ||
104 | /* | 66 | /* |
@@ -241,6 +203,39 @@ static struct i2c_board_info __initdata foxg20_i2c_devices[] = { | |||
241 | static void __init foxg20_board_init(void) | 203 | static void __init foxg20_board_init(void) |
242 | { | 204 | { |
243 | /* Serial */ | 205 | /* Serial */ |
206 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
207 | at91_register_uart(0, 0, 0); | ||
208 | |||
209 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
210 | at91_register_uart(AT91SAM9260_ID_US0, 1, | ||
211 | ATMEL_UART_CTS | ||
212 | | ATMEL_UART_RTS | ||
213 | | ATMEL_UART_DTR | ||
214 | | ATMEL_UART_DSR | ||
215 | | ATMEL_UART_DCD | ||
216 | | ATMEL_UART_RI); | ||
217 | |||
218 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
219 | at91_register_uart(AT91SAM9260_ID_US1, 2, | ||
220 | ATMEL_UART_CTS | ||
221 | | ATMEL_UART_RTS); | ||
222 | |||
223 | /* USART2 on ttyS3. (Rx & Tx only) */ | ||
224 | at91_register_uart(AT91SAM9260_ID_US2, 3, 0); | ||
225 | |||
226 | /* USART3 on ttyS4. (Rx, Tx, RTS, CTS) */ | ||
227 | at91_register_uart(AT91SAM9260_ID_US3, 4, | ||
228 | ATMEL_UART_CTS | ||
229 | | ATMEL_UART_RTS); | ||
230 | |||
231 | /* USART4 on ttyS5. (Rx & Tx only) */ | ||
232 | at91_register_uart(AT91SAM9260_ID_US4, 5, 0); | ||
233 | |||
234 | /* USART5 on ttyS6. (Rx & Tx only) */ | ||
235 | at91_register_uart(AT91SAM9260_ID_US5, 6, 0); | ||
236 | |||
237 | /* Set the internal pull-up resistor on DRXD */ | ||
238 | at91_set_A_periph(AT91_PIN_PB14, 1); | ||
244 | at91_add_device_serial(); | 239 | at91_add_device_serial(); |
245 | /* USB Host */ | 240 | /* USB Host */ |
246 | at91_add_device_usbh(&foxg20_usbh_data); | 241 | at91_add_device_usbh(&foxg20_usbh_data); |
diff --git a/arch/arm/mach-at91/board-gsia18s.c b/arch/arm/mach-at91/board-gsia18s.c index 230e71969fb7..3e0dfa643a86 100644 --- a/arch/arm/mach-at91/board-gsia18s.c +++ b/arch/arm/mach-at91/board-gsia18s.c | |||
@@ -41,38 +41,6 @@ | |||
41 | static void __init gsia18s_init_early(void) | 41 | static void __init gsia18s_init_early(void) |
42 | { | 42 | { |
43 | stamp9g20_init_early(); | 43 | stamp9g20_init_early(); |
44 | |||
45 | /* | ||
46 | * USART0 on ttyS1 (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI). | ||
47 | * Used for Internal Analog Modem. | ||
48 | */ | ||
49 | at91_register_uart(AT91SAM9260_ID_US0, 1, | ||
50 | ATMEL_UART_CTS | ATMEL_UART_RTS | | ||
51 | ATMEL_UART_DTR | ATMEL_UART_DSR | | ||
52 | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
53 | /* | ||
54 | * USART1 on ttyS2 (Rx, Tx, CTS, RTS). | ||
55 | * Used for GPS or WiFi or Data stream. | ||
56 | */ | ||
57 | at91_register_uart(AT91SAM9260_ID_US1, 2, | ||
58 | ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
59 | /* | ||
60 | * USART2 on ttyS3 (Rx, Tx, CTS, RTS). | ||
61 | * Used for External Modem. | ||
62 | */ | ||
63 | at91_register_uart(AT91SAM9260_ID_US2, 3, | ||
64 | ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
65 | /* | ||
66 | * USART3 on ttyS4 (Rx, Tx, RTS). | ||
67 | * Used for RS-485. | ||
68 | */ | ||
69 | at91_register_uart(AT91SAM9260_ID_US3, 4, ATMEL_UART_RTS); | ||
70 | |||
71 | /* | ||
72 | * USART4 on ttyS5 (Rx, Tx). | ||
73 | * Used for TRX433 Radio Module. | ||
74 | */ | ||
75 | at91_register_uart(AT91SAM9260_ID_US4, 5, 0); | ||
76 | } | 44 | } |
77 | 45 | ||
78 | /* | 46 | /* |
@@ -558,6 +526,37 @@ static int __init gsia18s_power_off_init(void) | |||
558 | 526 | ||
559 | static void __init gsia18s_board_init(void) | 527 | static void __init gsia18s_board_init(void) |
560 | { | 528 | { |
529 | /* | ||
530 | * USART0 on ttyS1 (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI). | ||
531 | * Used for Internal Analog Modem. | ||
532 | */ | ||
533 | at91_register_uart(AT91SAM9260_ID_US0, 1, | ||
534 | ATMEL_UART_CTS | ATMEL_UART_RTS | | ||
535 | ATMEL_UART_DTR | ATMEL_UART_DSR | | ||
536 | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
537 | /* | ||
538 | * USART1 on ttyS2 (Rx, Tx, CTS, RTS). | ||
539 | * Used for GPS or WiFi or Data stream. | ||
540 | */ | ||
541 | at91_register_uart(AT91SAM9260_ID_US1, 2, | ||
542 | ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
543 | /* | ||
544 | * USART2 on ttyS3 (Rx, Tx, CTS, RTS). | ||
545 | * Used for External Modem. | ||
546 | */ | ||
547 | at91_register_uart(AT91SAM9260_ID_US2, 3, | ||
548 | ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
549 | /* | ||
550 | * USART3 on ttyS4 (Rx, Tx, RTS). | ||
551 | * Used for RS-485. | ||
552 | */ | ||
553 | at91_register_uart(AT91SAM9260_ID_US3, 4, ATMEL_UART_RTS); | ||
554 | |||
555 | /* | ||
556 | * USART4 on ttyS5 (Rx, Tx). | ||
557 | * Used for TRX433 Radio Module. | ||
558 | */ | ||
559 | at91_register_uart(AT91SAM9260_ID_US4, 5, 0); | ||
561 | stamp9g20_board_init(); | 560 | stamp9g20_board_init(); |
562 | at91_add_device_usbh(&usbh_data); | 561 | at91_add_device_usbh(&usbh_data); |
563 | at91_add_device_udc(&udc_data); | 562 | at91_add_device_udc(&udc_data); |
diff --git a/arch/arm/mach-at91/board-kafa.c b/arch/arm/mach-at91/board-kafa.c index efde1b2327c8..f260657f32bc 100644 --- a/arch/arm/mach-at91/board-kafa.c +++ b/arch/arm/mach-at91/board-kafa.c | |||
@@ -47,18 +47,6 @@ static void __init kafa_init_early(void) | |||
47 | 47 | ||
48 | /* Initialize processor: 18.432 MHz crystal */ | 48 | /* Initialize processor: 18.432 MHz crystal */ |
49 | at91_initialize(18432000); | 49 | at91_initialize(18432000); |
50 | |||
51 | /* Set up the LEDs */ | ||
52 | at91_init_leds(AT91_PIN_PB4, AT91_PIN_PB4); | ||
53 | |||
54 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
55 | at91_register_uart(0, 0, 0); | ||
56 | |||
57 | /* USART0 on ttyS1 (Rx, Tx, CTS, RTS) */ | ||
58 | at91_register_uart(AT91RM9200_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
59 | |||
60 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
61 | at91_set_serial_console(0); | ||
62 | } | 50 | } |
63 | 51 | ||
64 | static struct macb_platform_data __initdata kafa_eth_data = { | 52 | static struct macb_platform_data __initdata kafa_eth_data = { |
@@ -79,7 +67,15 @@ static struct at91_udc_data __initdata kafa_udc_data = { | |||
79 | 67 | ||
80 | static void __init kafa_board_init(void) | 68 | static void __init kafa_board_init(void) |
81 | { | 69 | { |
70 | /* Set up the LEDs */ | ||
71 | at91_init_leds(AT91_PIN_PB4, AT91_PIN_PB4); | ||
72 | |||
82 | /* Serial */ | 73 | /* Serial */ |
74 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
75 | at91_register_uart(0, 0, 0); | ||
76 | |||
77 | /* USART0 on ttyS1 (Rx, Tx, CTS, RTS) */ | ||
78 | at91_register_uart(AT91RM9200_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
83 | at91_add_device_serial(); | 79 | at91_add_device_serial(); |
84 | /* Ethernet */ | 80 | /* Ethernet */ |
85 | at91_add_device_eth(&kafa_eth_data); | 81 | at91_add_device_eth(&kafa_eth_data); |
diff --git a/arch/arm/mach-at91/board-kb9202.c b/arch/arm/mach-at91/board-kb9202.c index 59b92aab9bcf..ba39db5482b9 100644 --- a/arch/arm/mach-at91/board-kb9202.c +++ b/arch/arm/mach-at91/board-kb9202.c | |||
@@ -50,24 +50,6 @@ static void __init kb9202_init_early(void) | |||
50 | 50 | ||
51 | /* Initialize processor: 10 MHz crystal */ | 51 | /* Initialize processor: 10 MHz crystal */ |
52 | at91_initialize(10000000); | 52 | at91_initialize(10000000); |
53 | |||
54 | /* Set up the LEDs */ | ||
55 | at91_init_leds(AT91_PIN_PC19, AT91_PIN_PC18); | ||
56 | |||
57 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
58 | at91_register_uart(0, 0, 0); | ||
59 | |||
60 | /* USART0 on ttyS1 (Rx & Tx only) */ | ||
61 | at91_register_uart(AT91RM9200_ID_US0, 1, 0); | ||
62 | |||
63 | /* USART1 on ttyS2 (Rx & Tx only) - IRDA (optional) */ | ||
64 | at91_register_uart(AT91RM9200_ID_US1, 2, 0); | ||
65 | |||
66 | /* USART3 on ttyS3 (Rx, Tx, CTS, RTS) - RS485 (optional) */ | ||
67 | at91_register_uart(AT91RM9200_ID_US3, 3, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
68 | |||
69 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
70 | at91_set_serial_console(0); | ||
71 | } | 53 | } |
72 | 54 | ||
73 | static struct macb_platform_data __initdata kb9202_eth_data = { | 55 | static struct macb_platform_data __initdata kb9202_eth_data = { |
@@ -115,7 +97,21 @@ static struct atmel_nand_data __initdata kb9202_nand_data = { | |||
115 | 97 | ||
116 | static void __init kb9202_board_init(void) | 98 | static void __init kb9202_board_init(void) |
117 | { | 99 | { |
100 | /* Set up the LEDs */ | ||
101 | at91_init_leds(AT91_PIN_PC19, AT91_PIN_PC18); | ||
102 | |||
118 | /* Serial */ | 103 | /* Serial */ |
104 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
105 | at91_register_uart(0, 0, 0); | ||
106 | |||
107 | /* USART0 on ttyS1 (Rx & Tx only) */ | ||
108 | at91_register_uart(AT91RM9200_ID_US0, 1, 0); | ||
109 | |||
110 | /* USART1 on ttyS2 (Rx & Tx only) - IRDA (optional) */ | ||
111 | at91_register_uart(AT91RM9200_ID_US1, 2, 0); | ||
112 | |||
113 | /* USART3 on ttyS3 (Rx, Tx, CTS, RTS) - RS485 (optional) */ | ||
114 | at91_register_uart(AT91RM9200_ID_US3, 3, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
119 | at91_add_device_serial(); | 115 | at91_add_device_serial(); |
120 | /* Ethernet */ | 116 | /* Ethernet */ |
121 | at91_add_device_eth(&kb9202_eth_data); | 117 | at91_add_device_eth(&kb9202_eth_data); |
diff --git a/arch/arm/mach-at91/board-neocore926.c b/arch/arm/mach-at91/board-neocore926.c index 57d5f6a4726a..d2f4cc161766 100644 --- a/arch/arm/mach-at91/board-neocore926.c +++ b/arch/arm/mach-at91/board-neocore926.c | |||
@@ -55,15 +55,6 @@ static void __init neocore926_init_early(void) | |||
55 | { | 55 | { |
56 | /* Initialize processor: 20 MHz crystal */ | 56 | /* Initialize processor: 20 MHz crystal */ |
57 | at91_initialize(20000000); | 57 | at91_initialize(20000000); |
58 | |||
59 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
60 | at91_register_uart(0, 0, 0); | ||
61 | |||
62 | /* USART0 on ttyS1. (Rx, Tx, RTS, CTS) */ | ||
63 | at91_register_uart(AT91SAM9263_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
64 | |||
65 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
66 | at91_set_serial_console(0); | ||
67 | } | 58 | } |
68 | 59 | ||
69 | /* | 60 | /* |
@@ -341,6 +332,11 @@ static struct ac97c_platform_data neocore926_ac97_data = { | |||
341 | static void __init neocore926_board_init(void) | 332 | static void __init neocore926_board_init(void) |
342 | { | 333 | { |
343 | /* Serial */ | 334 | /* Serial */ |
335 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
336 | at91_register_uart(0, 0, 0); | ||
337 | |||
338 | /* USART0 on ttyS1. (Rx, Tx, RTS, CTS) */ | ||
339 | at91_register_uart(AT91SAM9263_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
344 | at91_add_device_serial(); | 340 | at91_add_device_serial(); |
345 | 341 | ||
346 | /* USB Host */ | 342 | /* USB Host */ |
diff --git a/arch/arm/mach-at91/board-pcontrol-g20.c b/arch/arm/mach-at91/board-pcontrol-g20.c index b4a12fc184c8..7fe638342421 100644 --- a/arch/arm/mach-at91/board-pcontrol-g20.c +++ b/arch/arm/mach-at91/board-pcontrol-g20.c | |||
@@ -40,17 +40,6 @@ | |||
40 | static void __init pcontrol_g20_init_early(void) | 40 | static void __init pcontrol_g20_init_early(void) |
41 | { | 41 | { |
42 | stamp9g20_init_early(); | 42 | stamp9g20_init_early(); |
43 | |||
44 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS) piggyback A2 */ | ||
45 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ||
46 | | ATMEL_UART_RTS); | ||
47 | |||
48 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS) isolated RS485 X5 */ | ||
49 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ||
50 | | ATMEL_UART_RTS); | ||
51 | |||
52 | /* USART2 on ttyS3. (Rx, Tx) 9bit-Bus Multidrop-mode X4 */ | ||
53 | at91_register_uart(AT91SAM9260_ID_US4, 3, 0); | ||
54 | } | 43 | } |
55 | 44 | ||
56 | static struct sam9_smc_config __initdata pcontrol_smc_config[2] = { { | 45 | static struct sam9_smc_config __initdata pcontrol_smc_config[2] = { { |
@@ -199,6 +188,16 @@ static struct spi_board_info pcontrol_g20_spi_devices[] = { | |||
199 | 188 | ||
200 | static void __init pcontrol_g20_board_init(void) | 189 | static void __init pcontrol_g20_board_init(void) |
201 | { | 190 | { |
191 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS) piggyback A2 */ | ||
192 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ||
193 | | ATMEL_UART_RTS); | ||
194 | |||
195 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS) isolated RS485 X5 */ | ||
196 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ||
197 | | ATMEL_UART_RTS); | ||
198 | |||
199 | /* USART2 on ttyS3. (Rx, Tx) 9bit-Bus Multidrop-mode X4 */ | ||
200 | at91_register_uart(AT91SAM9260_ID_US4, 3, 0); | ||
202 | stamp9g20_board_init(); | 201 | stamp9g20_board_init(); |
203 | at91_add_device_usbh(&usbh_data); | 202 | at91_add_device_usbh(&usbh_data); |
204 | at91_add_device_eth(&macb_data); | 203 | at91_add_device_eth(&macb_data); |
diff --git a/arch/arm/mach-at91/board-picotux200.c b/arch/arm/mach-at91/board-picotux200.c index 59e35dd14863..b45c0a5d5ca7 100644 --- a/arch/arm/mach-at91/board-picotux200.c +++ b/arch/arm/mach-at91/board-picotux200.c | |||
@@ -48,17 +48,6 @@ static void __init picotux200_init_early(void) | |||
48 | { | 48 | { |
49 | /* Initialize processor: 18.432 MHz crystal */ | 49 | /* Initialize processor: 18.432 MHz crystal */ |
50 | at91_initialize(18432000); | 50 | at91_initialize(18432000); |
51 | |||
52 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
53 | at91_register_uart(0, 0, 0); | ||
54 | |||
55 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
56 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
57 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
58 | | ATMEL_UART_RI); | ||
59 | |||
60 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
61 | at91_set_serial_console(0); | ||
62 | } | 51 | } |
63 | 52 | ||
64 | static struct macb_platform_data __initdata picotux200_eth_data = { | 53 | static struct macb_platform_data __initdata picotux200_eth_data = { |
@@ -106,6 +95,13 @@ static struct platform_device picotux200_flash = { | |||
106 | static void __init picotux200_board_init(void) | 95 | static void __init picotux200_board_init(void) |
107 | { | 96 | { |
108 | /* Serial */ | 97 | /* Serial */ |
98 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
99 | at91_register_uart(0, 0, 0); | ||
100 | |||
101 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
102 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
103 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
104 | | ATMEL_UART_RI); | ||
109 | at91_add_device_serial(); | 105 | at91_add_device_serial(); |
110 | /* Ethernet */ | 106 | /* Ethernet */ |
111 | at91_add_device_eth(&picotux200_eth_data); | 107 | at91_add_device_eth(&picotux200_eth_data); |
diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c index b6ed5ed7081a..0c61bf0d272c 100644 --- a/arch/arm/mach-at91/board-qil-a9260.c +++ b/arch/arm/mach-at91/board-qil-a9260.c | |||
@@ -52,24 +52,6 @@ static void __init ek_init_early(void) | |||
52 | { | 52 | { |
53 | /* Initialize processor: 12.000 MHz crystal */ | 53 | /* Initialize processor: 12.000 MHz crystal */ |
54 | at91_initialize(12000000); | 54 | at91_initialize(12000000); |
55 | |||
56 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
57 | at91_register_uart(0, 0, 0); | ||
58 | |||
59 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
60 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
61 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
62 | | ATMEL_UART_RI); | ||
63 | |||
64 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS) */ | ||
65 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
66 | |||
67 | /* USART2 on ttyS3. (Rx, Tx, CTS, RTS) */ | ||
68 | at91_register_uart(AT91SAM9260_ID_US2, 3, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
69 | |||
70 | /* set serial console to ttyS1 (ie, USART0) */ | ||
71 | at91_set_serial_console(1); | ||
72 | |||
73 | } | 55 | } |
74 | 56 | ||
75 | /* | 57 | /* |
@@ -235,6 +217,19 @@ static struct gpio_led ek_leds[] = { | |||
235 | static void __init ek_board_init(void) | 217 | static void __init ek_board_init(void) |
236 | { | 218 | { |
237 | /* Serial */ | 219 | /* Serial */ |
220 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
221 | at91_register_uart(0, 0, 0); | ||
222 | |||
223 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
224 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
225 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
226 | | ATMEL_UART_RI); | ||
227 | |||
228 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS) */ | ||
229 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
230 | |||
231 | /* USART2 on ttyS3. (Rx, Tx, CTS, RTS) */ | ||
232 | at91_register_uart(AT91SAM9260_ID_US2, 3, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
238 | at91_add_device_serial(); | 233 | at91_add_device_serial(); |
239 | /* USB Host */ | 234 | /* USB Host */ |
240 | at91_add_device_usbh(&ek_usbh_data); | 235 | at91_add_device_usbh(&ek_usbh_data); |
diff --git a/arch/arm/mach-at91/board-rm9200dk.c b/arch/arm/mach-at91/board-rm9200dk.c index 01332aa538b2..afd7a4713766 100644 --- a/arch/arm/mach-at91/board-rm9200dk.c +++ b/arch/arm/mach-at91/board-rm9200dk.c | |||
@@ -50,20 +50,6 @@ static void __init dk_init_early(void) | |||
50 | { | 50 | { |
51 | /* Initialize processor: 18.432 MHz crystal */ | 51 | /* Initialize processor: 18.432 MHz crystal */ |
52 | at91_initialize(18432000); | 52 | at91_initialize(18432000); |
53 | |||
54 | /* Setup the LEDs */ | ||
55 | at91_init_leds(AT91_PIN_PB2, AT91_PIN_PB2); | ||
56 | |||
57 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
58 | at91_register_uart(0, 0, 0); | ||
59 | |||
60 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
61 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
62 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
63 | | ATMEL_UART_RI); | ||
64 | |||
65 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
66 | at91_set_serial_console(0); | ||
67 | } | 53 | } |
68 | 54 | ||
69 | static struct macb_platform_data __initdata dk_eth_data = { | 55 | static struct macb_platform_data __initdata dk_eth_data = { |
@@ -190,7 +176,17 @@ static struct gpio_led dk_leds[] = { | |||
190 | 176 | ||
191 | static void __init dk_board_init(void) | 177 | static void __init dk_board_init(void) |
192 | { | 178 | { |
179 | /* Setup the LEDs */ | ||
180 | at91_init_leds(AT91_PIN_PB2, AT91_PIN_PB2); | ||
181 | |||
193 | /* Serial */ | 182 | /* Serial */ |
183 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
184 | at91_register_uart(0, 0, 0); | ||
185 | |||
186 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
187 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
188 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
189 | | ATMEL_UART_RI); | ||
194 | at91_add_device_serial(); | 190 | at91_add_device_serial(); |
195 | /* Ethernet */ | 191 | /* Ethernet */ |
196 | at91_add_device_eth(&dk_eth_data); | 192 | at91_add_device_eth(&dk_eth_data); |
diff --git a/arch/arm/mach-at91/board-rm9200ek.c b/arch/arm/mach-at91/board-rm9200ek.c index b2e4fe21f346..2b15b8adec4c 100644 --- a/arch/arm/mach-at91/board-rm9200ek.c +++ b/arch/arm/mach-at91/board-rm9200ek.c | |||
@@ -50,20 +50,6 @@ static void __init ek_init_early(void) | |||
50 | { | 50 | { |
51 | /* Initialize processor: 18.432 MHz crystal */ | 51 | /* Initialize processor: 18.432 MHz crystal */ |
52 | at91_initialize(18432000); | 52 | at91_initialize(18432000); |
53 | |||
54 | /* Setup the LEDs */ | ||
55 | at91_init_leds(AT91_PIN_PB1, AT91_PIN_PB2); | ||
56 | |||
57 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
58 | at91_register_uart(0, 0, 0); | ||
59 | |||
60 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
61 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
62 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
63 | | ATMEL_UART_RI); | ||
64 | |||
65 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
66 | at91_set_serial_console(0); | ||
67 | } | 53 | } |
68 | 54 | ||
69 | static struct macb_platform_data __initdata ek_eth_data = { | 55 | static struct macb_platform_data __initdata ek_eth_data = { |
@@ -161,7 +147,17 @@ static struct gpio_led ek_leds[] = { | |||
161 | 147 | ||
162 | static void __init ek_board_init(void) | 148 | static void __init ek_board_init(void) |
163 | { | 149 | { |
150 | /* Setup the LEDs */ | ||
151 | at91_init_leds(AT91_PIN_PB1, AT91_PIN_PB2); | ||
152 | |||
164 | /* Serial */ | 153 | /* Serial */ |
154 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
155 | at91_register_uart(0, 0, 0); | ||
156 | |||
157 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
158 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
159 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
160 | | ATMEL_UART_RI); | ||
165 | at91_add_device_serial(); | 161 | at91_add_device_serial(); |
166 | /* Ethernet */ | 162 | /* Ethernet */ |
167 | at91_add_device_eth(&ek_eth_data); | 163 | at91_add_device_eth(&ek_eth_data); |
diff --git a/arch/arm/mach-at91/board-rsi-ews.c b/arch/arm/mach-at91/board-rsi-ews.c index af0750fafa29..24ab9be7510f 100644 --- a/arch/arm/mach-at91/board-rsi-ews.c +++ b/arch/arm/mach-at91/board-rsi-ews.c | |||
@@ -35,26 +35,6 @@ static void __init rsi_ews_init_early(void) | |||
35 | { | 35 | { |
36 | /* Initialize processor: 18.432 MHz crystal */ | 36 | /* Initialize processor: 18.432 MHz crystal */ |
37 | at91_initialize(18432000); | 37 | at91_initialize(18432000); |
38 | |||
39 | /* Setup the LEDs */ | ||
40 | at91_init_leds(AT91_PIN_PB6, AT91_PIN_PB9); | ||
41 | |||
42 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
43 | /* This one is for debugging */ | ||
44 | at91_register_uart(0, 0, 0); | ||
45 | |||
46 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
47 | /* Dialin/-out modem interface */ | ||
48 | at91_register_uart(AT91RM9200_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
49 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
50 | | ATMEL_UART_RI); | ||
51 | |||
52 | /* USART3 on ttyS4. (Rx, Tx, RTS) */ | ||
53 | /* RS485 communication */ | ||
54 | at91_register_uart(AT91RM9200_ID_US3, 4, ATMEL_UART_RTS); | ||
55 | |||
56 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
57 | at91_set_serial_console(0); | ||
58 | } | 38 | } |
59 | 39 | ||
60 | /* | 40 | /* |
@@ -204,7 +184,23 @@ static struct platform_device rsiews_nor_flash = { | |||
204 | */ | 184 | */ |
205 | static void __init rsi_ews_board_init(void) | 185 | static void __init rsi_ews_board_init(void) |
206 | { | 186 | { |
187 | /* Setup the LEDs */ | ||
188 | at91_init_leds(AT91_PIN_PB6, AT91_PIN_PB9); | ||
189 | |||
207 | /* Serial */ | 190 | /* Serial */ |
191 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
192 | /* This one is for debugging */ | ||
193 | at91_register_uart(0, 0, 0); | ||
194 | |||
195 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
196 | /* Dialin/-out modem interface */ | ||
197 | at91_register_uart(AT91RM9200_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
198 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
199 | | ATMEL_UART_RI); | ||
200 | |||
201 | /* USART3 on ttyS4. (Rx, Tx, RTS) */ | ||
202 | /* RS485 communication */ | ||
203 | at91_register_uart(AT91RM9200_ID_US3, 4, ATMEL_UART_RTS); | ||
208 | at91_add_device_serial(); | 204 | at91_add_device_serial(); |
209 | at91_set_gpio_output(AT91_PIN_PA21, 0); | 205 | at91_set_gpio_output(AT91_PIN_PA21, 0); |
210 | /* Ethernet */ | 206 | /* Ethernet */ |
diff --git a/arch/arm/mach-at91/board-sam9-l9260.c b/arch/arm/mach-at91/board-sam9-l9260.c index e8b116b6cba6..cdd21f2595d2 100644 --- a/arch/arm/mach-at91/board-sam9-l9260.c +++ b/arch/arm/mach-at91/board-sam9-l9260.c | |||
@@ -48,23 +48,6 @@ static void __init ek_init_early(void) | |||
48 | { | 48 | { |
49 | /* Initialize processor: 18.432 MHz crystal */ | 49 | /* Initialize processor: 18.432 MHz crystal */ |
50 | at91_initialize(18432000); | 50 | at91_initialize(18432000); |
51 | |||
52 | /* Setup the LEDs */ | ||
53 | at91_init_leds(AT91_PIN_PA9, AT91_PIN_PA6); | ||
54 | |||
55 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
56 | at91_register_uart(0, 0, 0); | ||
57 | |||
58 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
59 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
60 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
61 | | ATMEL_UART_RI); | ||
62 | |||
63 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS) */ | ||
64 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
65 | |||
66 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
67 | at91_set_serial_console(0); | ||
68 | } | 51 | } |
69 | 52 | ||
70 | /* | 53 | /* |
@@ -184,7 +167,20 @@ static struct at91_mmc_data __initdata ek_mmc_data = { | |||
184 | 167 | ||
185 | static void __init ek_board_init(void) | 168 | static void __init ek_board_init(void) |
186 | { | 169 | { |
170 | /* Setup the LEDs */ | ||
171 | at91_init_leds(AT91_PIN_PA9, AT91_PIN_PA6); | ||
172 | |||
187 | /* Serial */ | 173 | /* Serial */ |
174 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
175 | at91_register_uart(0, 0, 0); | ||
176 | |||
177 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
178 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
179 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
180 | | ATMEL_UART_RI); | ||
181 | |||
182 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS) */ | ||
183 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
188 | at91_add_device_serial(); | 184 | at91_add_device_serial(); |
189 | /* USB Host */ | 185 | /* USB Host */ |
190 | at91_add_device_usbh(&ek_usbh_data); | 186 | at91_add_device_usbh(&ek_usbh_data); |
diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c index d5aec55b0eb4..7b3c3913551a 100644 --- a/arch/arm/mach-at91/board-sam9260ek.c +++ b/arch/arm/mach-at91/board-sam9260ek.c | |||
@@ -54,20 +54,6 @@ static void __init ek_init_early(void) | |||
54 | { | 54 | { |
55 | /* Initialize processor: 18.432 MHz crystal */ | 55 | /* Initialize processor: 18.432 MHz crystal */ |
56 | at91_initialize(18432000); | 56 | at91_initialize(18432000); |
57 | |||
58 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
59 | at91_register_uart(0, 0, 0); | ||
60 | |||
61 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
62 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
63 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
64 | | ATMEL_UART_RI); | ||
65 | |||
66 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
67 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
68 | |||
69 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
70 | at91_set_serial_console(0); | ||
71 | } | 57 | } |
72 | 58 | ||
73 | /* | 59 | /* |
@@ -320,6 +306,16 @@ static void __init ek_add_device_buttons(void) {} | |||
320 | static void __init ek_board_init(void) | 306 | static void __init ek_board_init(void) |
321 | { | 307 | { |
322 | /* Serial */ | 308 | /* Serial */ |
309 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
310 | at91_register_uart(0, 0, 0); | ||
311 | |||
312 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
313 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
314 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
315 | | ATMEL_UART_RI); | ||
316 | |||
317 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
318 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
323 | at91_add_device_serial(); | 319 | at91_add_device_serial(); |
324 | /* USB Host */ | 320 | /* USB Host */ |
325 | at91_add_device_usbh(&ek_usbh_data); | 321 | at91_add_device_usbh(&ek_usbh_data); |
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c index 065fed342424..2736453821b0 100644 --- a/arch/arm/mach-at91/board-sam9261ek.c +++ b/arch/arm/mach-at91/board-sam9261ek.c | |||
@@ -58,15 +58,6 @@ static void __init ek_init_early(void) | |||
58 | { | 58 | { |
59 | /* Initialize processor: 18.432 MHz crystal */ | 59 | /* Initialize processor: 18.432 MHz crystal */ |
60 | at91_initialize(18432000); | 60 | at91_initialize(18432000); |
61 | |||
62 | /* Setup the LEDs */ | ||
63 | at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14); | ||
64 | |||
65 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
66 | at91_register_uart(0, 0, 0); | ||
67 | |||
68 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
69 | at91_set_serial_console(0); | ||
70 | } | 61 | } |
71 | 62 | ||
72 | /* | 63 | /* |
@@ -577,7 +568,12 @@ static struct gpio_led ek_leds[] = { | |||
577 | 568 | ||
578 | static void __init ek_board_init(void) | 569 | static void __init ek_board_init(void) |
579 | { | 570 | { |
571 | /* Setup the LEDs */ | ||
572 | at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14); | ||
573 | |||
580 | /* Serial */ | 574 | /* Serial */ |
575 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
576 | at91_register_uart(0, 0, 0); | ||
581 | at91_add_device_serial(); | 577 | at91_add_device_serial(); |
582 | /* USB Host */ | 578 | /* USB Host */ |
583 | at91_add_device_usbh(&ek_usbh_data); | 579 | at91_add_device_usbh(&ek_usbh_data); |
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c index 2ffe50f3a9e9..983cb98d2465 100644 --- a/arch/arm/mach-at91/board-sam9263ek.c +++ b/arch/arm/mach-at91/board-sam9263ek.c | |||
@@ -57,15 +57,6 @@ static void __init ek_init_early(void) | |||
57 | { | 57 | { |
58 | /* Initialize processor: 16.367 MHz crystal */ | 58 | /* Initialize processor: 16.367 MHz crystal */ |
59 | at91_initialize(16367660); | 59 | at91_initialize(16367660); |
60 | |||
61 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
62 | at91_register_uart(0, 0, 0); | ||
63 | |||
64 | /* USART0 on ttyS1. (Rx, Tx, RTS, CTS) */ | ||
65 | at91_register_uart(AT91SAM9263_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
66 | |||
67 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
68 | at91_set_serial_console(0); | ||
69 | } | 60 | } |
70 | 61 | ||
71 | /* | 62 | /* |
@@ -412,6 +403,11 @@ static struct at91_can_data ek_can_data = { | |||
412 | static void __init ek_board_init(void) | 403 | static void __init ek_board_init(void) |
413 | { | 404 | { |
414 | /* Serial */ | 405 | /* Serial */ |
406 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
407 | at91_register_uart(0, 0, 0); | ||
408 | |||
409 | /* USART0 on ttyS1. (Rx, Tx, RTS, CTS) */ | ||
410 | at91_register_uart(AT91SAM9263_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
415 | at91_add_device_serial(); | 411 | at91_add_device_serial(); |
416 | /* USB Host */ | 412 | /* USB Host */ |
417 | at91_add_device_usbh(&ek_usbh_data); | 413 | at91_add_device_usbh(&ek_usbh_data); |
diff --git a/arch/arm/mach-at91/board-sam9g20ek.c b/arch/arm/mach-at91/board-sam9g20ek.c index 8923ec9f5831..3d615532ae5c 100644 --- a/arch/arm/mach-at91/board-sam9g20ek.c +++ b/arch/arm/mach-at91/board-sam9g20ek.c | |||
@@ -65,20 +65,6 @@ static void __init ek_init_early(void) | |||
65 | { | 65 | { |
66 | /* Initialize processor: 18.432 MHz crystal */ | 66 | /* Initialize processor: 18.432 MHz crystal */ |
67 | at91_initialize(18432000); | 67 | at91_initialize(18432000); |
68 | |||
69 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
70 | at91_register_uart(0, 0, 0); | ||
71 | |||
72 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
73 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
74 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
75 | | ATMEL_UART_RI); | ||
76 | |||
77 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
78 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
79 | |||
80 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
81 | at91_set_serial_console(0); | ||
82 | } | 68 | } |
83 | 69 | ||
84 | /* | 70 | /* |
@@ -372,6 +358,16 @@ static struct i2c_board_info __initdata ek_i2c_devices[] = { | |||
372 | static void __init ek_board_init(void) | 358 | static void __init ek_board_init(void) |
373 | { | 359 | { |
374 | /* Serial */ | 360 | /* Serial */ |
361 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
362 | at91_register_uart(0, 0, 0); | ||
363 | |||
364 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
365 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
366 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
367 | | ATMEL_UART_RI); | ||
368 | |||
369 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
370 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
375 | at91_add_device_serial(); | 371 | at91_add_device_serial(); |
376 | /* USB Host */ | 372 | /* USB Host */ |
377 | at91_add_device_usbh(&ek_usbh_data); | 373 | at91_add_device_usbh(&ek_usbh_data); |
diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c index c88e908ddd82..9a87f0b072f8 100644 --- a/arch/arm/mach-at91/board-sam9m10g45ek.c +++ b/arch/arm/mach-at91/board-sam9m10g45ek.c | |||
@@ -53,16 +53,6 @@ static void __init ek_init_early(void) | |||
53 | { | 53 | { |
54 | /* Initialize processor: 12.000 MHz crystal */ | 54 | /* Initialize processor: 12.000 MHz crystal */ |
55 | at91_initialize(12000000); | 55 | at91_initialize(12000000); |
56 | |||
57 | /* DGBU on ttyS0. (Rx & Tx only) */ | ||
58 | at91_register_uart(0, 0, 0); | ||
59 | |||
60 | /* USART0 not connected on the -EK board */ | ||
61 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
62 | at91_register_uart(AT91SAM9G45_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
63 | |||
64 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
65 | at91_set_serial_console(0); | ||
66 | } | 56 | } |
67 | 57 | ||
68 | /* | 58 | /* |
@@ -457,6 +447,12 @@ static struct platform_device *devices[] __initdata = { | |||
457 | static void __init ek_board_init(void) | 447 | static void __init ek_board_init(void) |
458 | { | 448 | { |
459 | /* Serial */ | 449 | /* Serial */ |
450 | /* DGBU on ttyS0. (Rx & Tx only) */ | ||
451 | at91_register_uart(0, 0, 0); | ||
452 | |||
453 | /* USART0 not connected on the -EK board */ | ||
454 | /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ | ||
455 | at91_register_uart(AT91SAM9G45_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
460 | at91_add_device_serial(); | 456 | at91_add_device_serial(); |
461 | /* USB HS Host */ | 457 | /* USB HS Host */ |
462 | at91_add_device_usbh_ohci(&ek_usbh_hs_data); | 458 | at91_add_device_usbh_ohci(&ek_usbh_hs_data); |
diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c index b109ce2ba864..be3239f13daa 100644 --- a/arch/arm/mach-at91/board-sam9rlek.c +++ b/arch/arm/mach-at91/board-sam9rlek.c | |||
@@ -42,15 +42,6 @@ static void __init ek_init_early(void) | |||
42 | { | 42 | { |
43 | /* Initialize processor: 12.000 MHz crystal */ | 43 | /* Initialize processor: 12.000 MHz crystal */ |
44 | at91_initialize(12000000); | 44 | at91_initialize(12000000); |
45 | |||
46 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
47 | at91_register_uart(0, 0, 0); | ||
48 | |||
49 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS) */ | ||
50 | at91_register_uart(AT91SAM9RL_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
51 | |||
52 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
53 | at91_set_serial_console(0); | ||
54 | } | 45 | } |
55 | 46 | ||
56 | /* | 47 | /* |
@@ -296,6 +287,11 @@ static void __init ek_add_device_buttons(void) {} | |||
296 | static void __init ek_board_init(void) | 287 | static void __init ek_board_init(void) |
297 | { | 288 | { |
298 | /* Serial */ | 289 | /* Serial */ |
290 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
291 | at91_register_uart(0, 0, 0); | ||
292 | |||
293 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS) */ | ||
294 | at91_register_uart(AT91SAM9RL_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
299 | at91_add_device_serial(); | 295 | at91_add_device_serial(); |
300 | /* USB HS */ | 296 | /* USB HS */ |
301 | at91_add_device_usba(&ek_usba_udc_data); | 297 | at91_add_device_usba(&ek_usba_udc_data); |
diff --git a/arch/arm/mach-at91/board-snapper9260.c b/arch/arm/mach-at91/board-snapper9260.c index ebc9d01ce742..9d446f1bb45f 100644 --- a/arch/arm/mach-at91/board-snapper9260.c +++ b/arch/arm/mach-at91/board-snapper9260.c | |||
@@ -43,16 +43,6 @@ | |||
43 | static void __init snapper9260_init_early(void) | 43 | static void __init snapper9260_init_early(void) |
44 | { | 44 | { |
45 | at91_initialize(18432000); | 45 | at91_initialize(18432000); |
46 | |||
47 | /* Debug on ttyS0 */ | ||
48 | at91_register_uart(0, 0, 0); | ||
49 | at91_set_serial_console(0); | ||
50 | |||
51 | at91_register_uart(AT91SAM9260_ID_US0, 1, | ||
52 | ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
53 | at91_register_uart(AT91SAM9260_ID_US1, 2, | ||
54 | ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
55 | at91_register_uart(AT91SAM9260_ID_US2, 3, 0); | ||
56 | } | 46 | } |
57 | 47 | ||
58 | static struct at91_usbh_data __initdata snapper9260_usbh_data = { | 48 | static struct at91_usbh_data __initdata snapper9260_usbh_data = { |
@@ -168,6 +158,14 @@ static void __init snapper9260_board_init(void) | |||
168 | snapper9260_i2c_isl1208.irq = gpio_to_irq(AT91_PIN_PA31); | 158 | snapper9260_i2c_isl1208.irq = gpio_to_irq(AT91_PIN_PA31); |
169 | i2c_register_board_info(0, &snapper9260_i2c_isl1208, 1); | 159 | i2c_register_board_info(0, &snapper9260_i2c_isl1208, 1); |
170 | 160 | ||
161 | /* Debug on ttyS0 */ | ||
162 | at91_register_uart(0, 0, 0); | ||
163 | |||
164 | at91_register_uart(AT91SAM9260_ID_US0, 1, | ||
165 | ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
166 | at91_register_uart(AT91SAM9260_ID_US1, 2, | ||
167 | ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
168 | at91_register_uart(AT91SAM9260_ID_US2, 3, 0); | ||
171 | at91_add_device_serial(); | 169 | at91_add_device_serial(); |
172 | at91_add_device_usbh(&snapper9260_usbh_data); | 170 | at91_add_device_usbh(&snapper9260_usbh_data); |
173 | at91_add_device_udc(&snapper9260_udc_data); | 171 | at91_add_device_udc(&snapper9260_udc_data); |
diff --git a/arch/arm/mach-at91/board-stamp9g20.c b/arch/arm/mach-at91/board-stamp9g20.c index 7640049410a0..ee86f9d7ee72 100644 --- a/arch/arm/mach-at91/board-stamp9g20.c +++ b/arch/arm/mach-at91/board-stamp9g20.c | |||
@@ -36,44 +36,6 @@ void __init stamp9g20_init_early(void) | |||
36 | { | 36 | { |
37 | /* Initialize processor: 18.432 MHz crystal */ | 37 | /* Initialize processor: 18.432 MHz crystal */ |
38 | at91_initialize(18432000); | 38 | at91_initialize(18432000); |
39 | |||
40 | /* DGBU on ttyS0. (Rx & Tx only) */ | ||
41 | at91_register_uart(0, 0, 0); | ||
42 | |||
43 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
44 | at91_set_serial_console(0); | ||
45 | } | ||
46 | |||
47 | static void __init stamp9g20evb_init_early(void) | ||
48 | { | ||
49 | stamp9g20_init_early(); | ||
50 | |||
51 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
52 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
53 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ||
54 | | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
55 | } | ||
56 | |||
57 | static void __init portuxg20_init_early(void) | ||
58 | { | ||
59 | stamp9g20_init_early(); | ||
60 | |||
61 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
62 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
63 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ||
64 | | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
65 | |||
66 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS) */ | ||
67 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
68 | |||
69 | /* USART2 on ttyS3. (Rx, Tx, CTS, RTS) */ | ||
70 | at91_register_uart(AT91SAM9260_ID_US2, 3, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
71 | |||
72 | /* USART4 on ttyS5. (Rx, Tx only) */ | ||
73 | at91_register_uart(AT91SAM9260_ID_US4, 5, 0); | ||
74 | |||
75 | /* USART5 on ttyS6. (Rx, Tx only) */ | ||
76 | at91_register_uart(AT91SAM9260_ID_US5, 6, 0); | ||
77 | } | 39 | } |
78 | 40 | ||
79 | /* | 41 | /* |
@@ -254,6 +216,8 @@ void add_w1(void) | |||
254 | void __init stamp9g20_board_init(void) | 216 | void __init stamp9g20_board_init(void) |
255 | { | 217 | { |
256 | /* Serial */ | 218 | /* Serial */ |
219 | /* DGBU on ttyS0. (Rx & Tx only) */ | ||
220 | at91_register_uart(0, 0, 0); | ||
257 | at91_add_device_serial(); | 221 | at91_add_device_serial(); |
258 | /* NAND */ | 222 | /* NAND */ |
259 | add_device_nand(); | 223 | add_device_nand(); |
@@ -269,6 +233,22 @@ void __init stamp9g20_board_init(void) | |||
269 | 233 | ||
270 | static void __init portuxg20_board_init(void) | 234 | static void __init portuxg20_board_init(void) |
271 | { | 235 | { |
236 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
237 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
238 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ||
239 | | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
240 | |||
241 | /* USART1 on ttyS2. (Rx, Tx, CTS, RTS) */ | ||
242 | at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
243 | |||
244 | /* USART2 on ttyS3. (Rx, Tx, CTS, RTS) */ | ||
245 | at91_register_uart(AT91SAM9260_ID_US2, 3, ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
246 | |||
247 | /* USART4 on ttyS5. (Rx, Tx only) */ | ||
248 | at91_register_uart(AT91SAM9260_ID_US4, 5, 0); | ||
249 | |||
250 | /* USART5 on ttyS6. (Rx, Tx only) */ | ||
251 | at91_register_uart(AT91SAM9260_ID_US5, 6, 0); | ||
272 | stamp9g20_board_init(); | 252 | stamp9g20_board_init(); |
273 | /* USB Host */ | 253 | /* USB Host */ |
274 | at91_add_device_usbh(&usbh_data); | 254 | at91_add_device_usbh(&usbh_data); |
@@ -286,6 +266,10 @@ static void __init portuxg20_board_init(void) | |||
286 | 266 | ||
287 | static void __init stamp9g20evb_board_init(void) | 267 | static void __init stamp9g20evb_board_init(void) |
288 | { | 268 | { |
269 | /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
270 | at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
271 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ||
272 | | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
289 | stamp9g20_board_init(); | 273 | stamp9g20_board_init(); |
290 | /* USB Host */ | 274 | /* USB Host */ |
291 | at91_add_device_usbh(&usbh_data); | 275 | at91_add_device_usbh(&usbh_data); |
@@ -303,7 +287,7 @@ MACHINE_START(PORTUXG20, "taskit PortuxG20") | |||
303 | /* Maintainer: taskit GmbH */ | 287 | /* Maintainer: taskit GmbH */ |
304 | .timer = &at91sam926x_timer, | 288 | .timer = &at91sam926x_timer, |
305 | .map_io = at91_map_io, | 289 | .map_io = at91_map_io, |
306 | .init_early = portuxg20_init_early, | 290 | .init_early = stamp9g20_init_early, |
307 | .init_irq = at91_init_irq_default, | 291 | .init_irq = at91_init_irq_default, |
308 | .init_machine = portuxg20_board_init, | 292 | .init_machine = portuxg20_board_init, |
309 | MACHINE_END | 293 | MACHINE_END |
@@ -312,7 +296,7 @@ MACHINE_START(STAMP9G20, "taskit Stamp9G20") | |||
312 | /* Maintainer: taskit GmbH */ | 296 | /* Maintainer: taskit GmbH */ |
313 | .timer = &at91sam926x_timer, | 297 | .timer = &at91sam926x_timer, |
314 | .map_io = at91_map_io, | 298 | .map_io = at91_map_io, |
315 | .init_early = stamp9g20evb_init_early, | 299 | .init_early = stamp9g20_init_early, |
316 | .init_irq = at91_init_irq_default, | 300 | .init_irq = at91_init_irq_default, |
317 | .init_machine = stamp9g20evb_board_init, | 301 | .init_machine = stamp9g20evb_board_init, |
318 | MACHINE_END | 302 | MACHINE_END |
diff --git a/arch/arm/mach-at91/board-usb-a926x.c b/arch/arm/mach-at91/board-usb-a926x.c index b7483a3d0980..95393fcaf199 100644 --- a/arch/arm/mach-at91/board-usb-a926x.c +++ b/arch/arm/mach-at91/board-usb-a926x.c | |||
@@ -53,12 +53,6 @@ static void __init ek_init_early(void) | |||
53 | { | 53 | { |
54 | /* Initialize processor: 12.00 MHz crystal */ | 54 | /* Initialize processor: 12.00 MHz crystal */ |
55 | at91_initialize(12000000); | 55 | at91_initialize(12000000); |
56 | |||
57 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
58 | at91_register_uart(0, 0, 0); | ||
59 | |||
60 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
61 | at91_set_serial_console(0); | ||
62 | } | 56 | } |
63 | 57 | ||
64 | /* | 58 | /* |
@@ -178,6 +172,10 @@ static struct mtd_partition __initdata ek_nand_partition[] = { | |||
178 | .offset = MTDPART_OFS_NXTBLK, | 172 | .offset = MTDPART_OFS_NXTBLK, |
179 | .size = SZ_128K, | 173 | .size = SZ_128K, |
180 | }, { | 174 | }, { |
175 | .name = "oftree", | ||
176 | .offset = MTDPART_OFS_NXTBLK, | ||
177 | .size = SZ_128K, | ||
178 | }, { | ||
181 | .name = "kernel", | 179 | .name = "kernel", |
182 | .offset = MTDPART_OFS_NXTBLK, | 180 | .offset = MTDPART_OFS_NXTBLK, |
183 | .size = 4 * SZ_1M, | 181 | .size = 4 * SZ_1M, |
@@ -325,6 +323,8 @@ static void __init ek_add_device_leds(void) | |||
325 | static void __init ek_board_init(void) | 323 | static void __init ek_board_init(void) |
326 | { | 324 | { |
327 | /* Serial */ | 325 | /* Serial */ |
326 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
327 | at91_register_uart(0, 0, 0); | ||
328 | at91_add_device_serial(); | 328 | at91_add_device_serial(); |
329 | /* USB Host */ | 329 | /* USB Host */ |
330 | at91_add_device_usbh(&ek_usbh_data); | 330 | at91_add_device_usbh(&ek_usbh_data); |
diff --git a/arch/arm/mach-at91/board-yl-9200.c b/arch/arm/mach-at91/board-yl-9200.c index 38dd279d30b2..d56665ea4b55 100644 --- a/arch/arm/mach-at91/board-yl-9200.c +++ b/arch/arm/mach-at91/board-yl-9200.c | |||
@@ -58,26 +58,6 @@ static void __init yl9200_init_early(void) | |||
58 | 58 | ||
59 | /* Initialize processor: 18.432 MHz crystal */ | 59 | /* Initialize processor: 18.432 MHz crystal */ |
60 | at91_initialize(18432000); | 60 | at91_initialize(18432000); |
61 | |||
62 | /* Setup the LEDs D2=PB17 (timer), D3=PB16 (cpu) */ | ||
63 | at91_init_leds(AT91_PIN_PB16, AT91_PIN_PB17); | ||
64 | |||
65 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
66 | at91_register_uart(0, 0, 0); | ||
67 | |||
68 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
69 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
70 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
71 | | ATMEL_UART_RI); | ||
72 | |||
73 | /* USART0 on ttyS2. (Rx & Tx only to JP3) */ | ||
74 | at91_register_uart(AT91RM9200_ID_US0, 2, 0); | ||
75 | |||
76 | /* USART3 on ttyS3. (Rx, Tx, RTS - RS485 interface) */ | ||
77 | at91_register_uart(AT91RM9200_ID_US3, 3, ATMEL_UART_RTS); | ||
78 | |||
79 | /* set serial console to ttyS0 (ie, DBGU) */ | ||
80 | at91_set_serial_console(0); | ||
81 | } | 61 | } |
82 | 62 | ||
83 | /* | 63 | /* |
@@ -560,7 +540,23 @@ void __init yl9200_add_device_video(void) {} | |||
560 | 540 | ||
561 | static void __init yl9200_board_init(void) | 541 | static void __init yl9200_board_init(void) |
562 | { | 542 | { |
543 | /* Setup the LEDs D2=PB17 (timer), D3=PB16 (cpu) */ | ||
544 | at91_init_leds(AT91_PIN_PB16, AT91_PIN_PB17); | ||
545 | |||
563 | /* Serial */ | 546 | /* Serial */ |
547 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
548 | at91_register_uart(0, 0, 0); | ||
549 | |||
550 | /* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ | ||
551 | at91_register_uart(AT91RM9200_ID_US1, 1, ATMEL_UART_CTS | ATMEL_UART_RTS | ||
552 | | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD | ||
553 | | ATMEL_UART_RI); | ||
554 | |||
555 | /* USART0 on ttyS2. (Rx & Tx only to JP3) */ | ||
556 | at91_register_uart(AT91RM9200_ID_US0, 2, 0); | ||
557 | |||
558 | /* USART3 on ttyS3. (Rx, Tx, RTS - RS485 interface) */ | ||
559 | at91_register_uart(AT91RM9200_ID_US3, 3, ATMEL_UART_RTS); | ||
564 | at91_add_device_serial(); | 560 | at91_add_device_serial(); |
565 | /* Ethernet */ | 561 | /* Ethernet */ |
566 | at91_add_device_eth(&yl9200_eth_data); | 562 | at91_add_device_eth(&yl9200_eth_data); |
diff --git a/arch/arm/mach-at91/cpuidle.c b/arch/arm/mach-at91/cpuidle.c index ece1f9aefb47..0c6381516a5a 100644 --- a/arch/arm/mach-at91/cpuidle.c +++ b/arch/arm/mach-at91/cpuidle.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/export.h> | 21 | #include <linux/export.h> |
22 | #include <asm/proc-fns.h> | 22 | #include <asm/proc-fns.h> |
23 | #include <asm/cpuidle.h> | 23 | #include <asm/cpuidle.h> |
24 | #include <mach/cpu.h> | ||
24 | 25 | ||
25 | #include "pm.h" | 26 | #include "pm.h" |
26 | 27 | ||
@@ -33,7 +34,12 @@ static int at91_enter_idle(struct cpuidle_device *dev, | |||
33 | struct cpuidle_driver *drv, | 34 | struct cpuidle_driver *drv, |
34 | int index) | 35 | int index) |
35 | { | 36 | { |
36 | at91_standby(); | 37 | if (cpu_is_at91rm9200()) |
38 | at91rm9200_standby(); | ||
39 | else if (cpu_is_at91sam9g45()) | ||
40 | at91sam9g45_standby(); | ||
41 | else | ||
42 | at91sam9_standby(); | ||
37 | 43 | ||
38 | return index; | 44 | return index; |
39 | } | 45 | } |
diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h index dd9b346c451d..0a60bf837037 100644 --- a/arch/arm/mach-at91/generic.h +++ b/arch/arm/mach-at91/generic.h | |||
@@ -40,17 +40,6 @@ extern struct sys_timer at91sam926x_timer; | |||
40 | extern struct sys_timer at91x40_timer; | 40 | extern struct sys_timer at91x40_timer; |
41 | 41 | ||
42 | /* Clocks */ | 42 | /* Clocks */ |
43 | /* | ||
44 | * function to specify the clock of the default console. As we do not | ||
45 | * use the device/driver bus, the dev_name is not intialize. So we need | ||
46 | * to link the clock to a specific con_id only "usart" | ||
47 | */ | ||
48 | extern void __init at91rm9200_set_console_clock(int id); | ||
49 | extern void __init at91sam9260_set_console_clock(int id); | ||
50 | extern void __init at91sam9261_set_console_clock(int id); | ||
51 | extern void __init at91sam9263_set_console_clock(int id); | ||
52 | extern void __init at91sam9rl_set_console_clock(int id); | ||
53 | extern void __init at91sam9g45_set_console_clock(int id); | ||
54 | #ifdef CONFIG_AT91_PMC_UNIT | 43 | #ifdef CONFIG_AT91_PMC_UNIT |
55 | extern int __init at91_clock_init(unsigned long main_clock); | 44 | extern int __init at91_clock_init(unsigned long main_clock); |
56 | extern int __init at91_dt_clock_init(void); | 45 | extern int __init at91_dt_clock_init(void); |
diff --git a/arch/arm/mach-at91/include/mach/at91rm9200.h b/arch/arm/mach-at91/include/mach/at91rm9200.h index 603e6aac2a4f..e67317c67761 100644 --- a/arch/arm/mach-at91/include/mach/at91rm9200.h +++ b/arch/arm/mach-at91/include/mach/at91rm9200.h | |||
@@ -88,11 +88,6 @@ | |||
88 | #define AT91RM9200_BASE_RTC 0xfffffe00 /* Real-Time Clock */ | 88 | #define AT91RM9200_BASE_RTC 0xfffffe00 /* Real-Time Clock */ |
89 | #define AT91RM9200_BASE_MC 0xffffff00 /* Memory Controllers */ | 89 | #define AT91RM9200_BASE_MC 0xffffff00 /* Memory Controllers */ |
90 | 90 | ||
91 | #define AT91_USART0 AT91RM9200_BASE_US0 | ||
92 | #define AT91_USART1 AT91RM9200_BASE_US1 | ||
93 | #define AT91_USART2 AT91RM9200_BASE_US2 | ||
94 | #define AT91_USART3 AT91RM9200_BASE_US3 | ||
95 | |||
96 | /* | 91 | /* |
97 | * Internal Memory. | 92 | * Internal Memory. |
98 | */ | 93 | */ |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9260.h b/arch/arm/mach-at91/include/mach/at91sam9260.h index 08ae9afd00fe..416c7b6c56d3 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9260.h +++ b/arch/arm/mach-at91/include/mach/at91sam9260.h | |||
@@ -95,13 +95,6 @@ | |||
95 | #define AT91SAM9260_BASE_WDT 0xfffffd40 | 95 | #define AT91SAM9260_BASE_WDT 0xfffffd40 |
96 | #define AT91SAM9260_BASE_GPBR 0xfffffd50 | 96 | #define AT91SAM9260_BASE_GPBR 0xfffffd50 |
97 | 97 | ||
98 | #define AT91_USART0 AT91SAM9260_BASE_US0 | ||
99 | #define AT91_USART1 AT91SAM9260_BASE_US1 | ||
100 | #define AT91_USART2 AT91SAM9260_BASE_US2 | ||
101 | #define AT91_USART3 AT91SAM9260_BASE_US3 | ||
102 | #define AT91_USART4 AT91SAM9260_BASE_US4 | ||
103 | #define AT91_USART5 AT91SAM9260_BASE_US5 | ||
104 | |||
105 | 98 | ||
106 | /* | 99 | /* |
107 | * Internal Memory. | 100 | * Internal Memory. |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9261.h b/arch/arm/mach-at91/include/mach/at91sam9261.h index 44fbdc12ee62..a041406d06ee 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9261.h +++ b/arch/arm/mach-at91/include/mach/at91sam9261.h | |||
@@ -79,10 +79,6 @@ | |||
79 | #define AT91SAM9261_BASE_WDT 0xfffffd40 | 79 | #define AT91SAM9261_BASE_WDT 0xfffffd40 |
80 | #define AT91SAM9261_BASE_GPBR 0xfffffd50 | 80 | #define AT91SAM9261_BASE_GPBR 0xfffffd50 |
81 | 81 | ||
82 | #define AT91_USART0 AT91SAM9261_BASE_US0 | ||
83 | #define AT91_USART1 AT91SAM9261_BASE_US1 | ||
84 | #define AT91_USART2 AT91SAM9261_BASE_US2 | ||
85 | |||
86 | 82 | ||
87 | /* | 83 | /* |
88 | * Internal Memory. | 84 | * Internal Memory. |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9263.h b/arch/arm/mach-at91/include/mach/at91sam9263.h index d96cbb2e03c4..d201029d60b3 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9263.h +++ b/arch/arm/mach-at91/include/mach/at91sam9263.h | |||
@@ -95,10 +95,6 @@ | |||
95 | #define AT91SAM9263_BASE_RTT1 0xfffffd50 | 95 | #define AT91SAM9263_BASE_RTT1 0xfffffd50 |
96 | #define AT91SAM9263_BASE_GPBR 0xfffffd60 | 96 | #define AT91SAM9263_BASE_GPBR 0xfffffd60 |
97 | 97 | ||
98 | #define AT91_USART0 AT91SAM9263_BASE_US0 | ||
99 | #define AT91_USART1 AT91SAM9263_BASE_US1 | ||
100 | #define AT91_USART2 AT91SAM9263_BASE_US2 | ||
101 | |||
102 | #define AT91_SMC AT91_SMC0 | 98 | #define AT91_SMC AT91_SMC0 |
103 | 99 | ||
104 | /* | 100 | /* |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9g45.h b/arch/arm/mach-at91/include/mach/at91sam9g45.h index d052abcff852..3a4da24d5911 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9g45.h +++ b/arch/arm/mach-at91/include/mach/at91sam9g45.h | |||
@@ -106,11 +106,6 @@ | |||
106 | #define AT91SAM9G45_BASE_RTC 0xfffffdb0 | 106 | #define AT91SAM9G45_BASE_RTC 0xfffffdb0 |
107 | #define AT91SAM9G45_BASE_GPBR 0xfffffd60 | 107 | #define AT91SAM9G45_BASE_GPBR 0xfffffd60 |
108 | 108 | ||
109 | #define AT91_USART0 AT91SAM9G45_BASE_US0 | ||
110 | #define AT91_USART1 AT91SAM9G45_BASE_US1 | ||
111 | #define AT91_USART2 AT91SAM9G45_BASE_US2 | ||
112 | #define AT91_USART3 AT91SAM9G45_BASE_US3 | ||
113 | |||
114 | /* | 109 | /* |
115 | * Internal Memory. | 110 | * Internal Memory. |
116 | */ | 111 | */ |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9rl.h b/arch/arm/mach-at91/include/mach/at91sam9rl.h index e0073eb10144..a15db56d33fa 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9rl.h +++ b/arch/arm/mach-at91/include/mach/at91sam9rl.h | |||
@@ -89,11 +89,6 @@ | |||
89 | #define AT91SAM9RL_BASE_GPBR 0xfffffd60 | 89 | #define AT91SAM9RL_BASE_GPBR 0xfffffd60 |
90 | #define AT91SAM9RL_BASE_RTC 0xfffffe00 | 90 | #define AT91SAM9RL_BASE_RTC 0xfffffe00 |
91 | 91 | ||
92 | #define AT91_USART0 AT91SAM9RL_BASE_US0 | ||
93 | #define AT91_USART1 AT91SAM9RL_BASE_US1 | ||
94 | #define AT91_USART2 AT91SAM9RL_BASE_US2 | ||
95 | #define AT91_USART3 AT91SAM9RL_BASE_US3 | ||
96 | |||
97 | 92 | ||
98 | /* | 93 | /* |
99 | * Internal Memory. | 94 | * Internal Memory. |
diff --git a/arch/arm/mach-at91/include/mach/at91sam9x5.h b/arch/arm/mach-at91/include/mach/at91sam9x5.h index 88e43d534cdf..c75ee19b58d3 100644 --- a/arch/arm/mach-at91/include/mach/at91sam9x5.h +++ b/arch/arm/mach-at91/include/mach/at91sam9x5.h | |||
@@ -55,14 +55,6 @@ | |||
55 | #define AT91SAM9X5_BASE_USART2 0xf8024000 | 55 | #define AT91SAM9X5_BASE_USART2 0xf8024000 |
56 | 56 | ||
57 | /* | 57 | /* |
58 | * Base addresses for early serial code (uncompress.h) | ||
59 | */ | ||
60 | #define AT91_DBGU AT91_BASE_DBGU0 | ||
61 | #define AT91_USART0 AT91SAM9X5_BASE_USART0 | ||
62 | #define AT91_USART1 AT91SAM9X5_BASE_USART1 | ||
63 | #define AT91_USART2 AT91SAM9X5_BASE_USART2 | ||
64 | |||
65 | /* | ||
66 | * Internal Memory. | 58 | * Internal Memory. |
67 | */ | 59 | */ |
68 | #define AT91SAM9X5_SRAM_BASE 0x00300000 /* Internal SRAM base address */ | 60 | #define AT91SAM9X5_SRAM_BASE 0x00300000 /* Internal SRAM base address */ |
diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h index 49a821192c65..369afc2ffc5b 100644 --- a/arch/arm/mach-at91/include/mach/board.h +++ b/arch/arm/mach-at91/include/mach/board.h | |||
@@ -121,7 +121,6 @@ extern void __init at91_add_device_spi(struct spi_board_info *devices, int nr_de | |||
121 | #define ATMEL_UART_RI 0x20 | 121 | #define ATMEL_UART_RI 0x20 |
122 | 122 | ||
123 | extern void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins); | 123 | extern void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins); |
124 | extern void __init at91_set_serial_console(unsigned portnr); | ||
125 | 124 | ||
126 | extern struct platform_device *atmel_default_console_device; | 125 | extern struct platform_device *atmel_default_console_device; |
127 | 126 | ||
diff --git a/arch/arm/mach-at91/include/mach/cpu.h b/arch/arm/mach-at91/include/mach/cpu.h index 0118c3338552..73d2fd209ce4 100644 --- a/arch/arm/mach-at91/include/mach/cpu.h +++ b/arch/arm/mach-at91/include/mach/cpu.h | |||
@@ -54,6 +54,7 @@ | |||
54 | #define ARCH_REVISON_9200_BGA (0 << 0) | 54 | #define ARCH_REVISON_9200_BGA (0 << 0) |
55 | #define ARCH_REVISON_9200_PQFP (1 << 0) | 55 | #define ARCH_REVISON_9200_PQFP (1 << 0) |
56 | 56 | ||
57 | #ifndef __ASSEMBLY__ | ||
57 | enum at91_soc_type { | 58 | enum at91_soc_type { |
58 | /* 920T */ | 59 | /* 920T */ |
59 | AT91_SOC_RM9200, | 60 | AT91_SOC_RM9200, |
@@ -106,7 +107,7 @@ static inline int at91_soc_is_detected(void) | |||
106 | return at91_soc_initdata.type != AT91_SOC_NONE; | 107 | return at91_soc_initdata.type != AT91_SOC_NONE; |
107 | } | 108 | } |
108 | 109 | ||
109 | #ifdef CONFIG_ARCH_AT91RM9200 | 110 | #ifdef CONFIG_SOC_AT91RM9200 |
110 | #define cpu_is_at91rm9200() (at91_soc_initdata.type == AT91_SOC_RM9200) | 111 | #define cpu_is_at91rm9200() (at91_soc_initdata.type == AT91_SOC_RM9200) |
111 | #define cpu_is_at91rm9200_bga() (at91_soc_initdata.subtype == AT91_SOC_RM9200_BGA) | 112 | #define cpu_is_at91rm9200_bga() (at91_soc_initdata.subtype == AT91_SOC_RM9200_BGA) |
112 | #define cpu_is_at91rm9200_pqfp() (at91_soc_initdata.subtype == AT91_SOC_RM9200_PQFP) | 113 | #define cpu_is_at91rm9200_pqfp() (at91_soc_initdata.subtype == AT91_SOC_RM9200_PQFP) |
@@ -116,45 +117,37 @@ static inline int at91_soc_is_detected(void) | |||
116 | #define cpu_is_at91rm9200_pqfp() (0) | 117 | #define cpu_is_at91rm9200_pqfp() (0) |
117 | #endif | 118 | #endif |
118 | 119 | ||
119 | #ifdef CONFIG_ARCH_AT91SAM9260 | 120 | #ifdef CONFIG_SOC_AT91SAM9260 |
120 | #define cpu_is_at91sam9xe() (at91_soc_initdata.subtype == AT91_SOC_SAM9XE) | 121 | #define cpu_is_at91sam9xe() (at91_soc_initdata.subtype == AT91_SOC_SAM9XE) |
121 | #define cpu_is_at91sam9260() (at91_soc_initdata.type == AT91_SOC_SAM9260) | 122 | #define cpu_is_at91sam9260() (at91_soc_initdata.type == AT91_SOC_SAM9260) |
123 | #define cpu_is_at91sam9g20() (at91_soc_initdata.type == AT91_SOC_SAM9G20) | ||
122 | #else | 124 | #else |
123 | #define cpu_is_at91sam9xe() (0) | 125 | #define cpu_is_at91sam9xe() (0) |
124 | #define cpu_is_at91sam9260() (0) | 126 | #define cpu_is_at91sam9260() (0) |
125 | #endif | ||
126 | |||
127 | #ifdef CONFIG_ARCH_AT91SAM9G20 | ||
128 | #define cpu_is_at91sam9g20() (at91_soc_initdata.type == AT91_SOC_SAM9G20) | ||
129 | #else | ||
130 | #define cpu_is_at91sam9g20() (0) | 127 | #define cpu_is_at91sam9g20() (0) |
131 | #endif | 128 | #endif |
132 | 129 | ||
133 | #ifdef CONFIG_ARCH_AT91SAM9261 | 130 | #ifdef CONFIG_SOC_AT91SAM9261 |
134 | #define cpu_is_at91sam9261() (at91_soc_initdata.type == AT91_SOC_SAM9261) | 131 | #define cpu_is_at91sam9261() (at91_soc_initdata.type == AT91_SOC_SAM9261) |
135 | #else | ||
136 | #define cpu_is_at91sam9261() (0) | ||
137 | #endif | ||
138 | |||
139 | #ifdef CONFIG_ARCH_AT91SAM9G10 | ||
140 | #define cpu_is_at91sam9g10() (at91_soc_initdata.type == AT91_SOC_SAM9G10) | 132 | #define cpu_is_at91sam9g10() (at91_soc_initdata.type == AT91_SOC_SAM9G10) |
141 | #else | 133 | #else |
134 | #define cpu_is_at91sam9261() (0) | ||
142 | #define cpu_is_at91sam9g10() (0) | 135 | #define cpu_is_at91sam9g10() (0) |
143 | #endif | 136 | #endif |
144 | 137 | ||
145 | #ifdef CONFIG_ARCH_AT91SAM9263 | 138 | #ifdef CONFIG_SOC_AT91SAM9263 |
146 | #define cpu_is_at91sam9263() (at91_soc_initdata.type == AT91_SOC_SAM9263) | 139 | #define cpu_is_at91sam9263() (at91_soc_initdata.type == AT91_SOC_SAM9263) |
147 | #else | 140 | #else |
148 | #define cpu_is_at91sam9263() (0) | 141 | #define cpu_is_at91sam9263() (0) |
149 | #endif | 142 | #endif |
150 | 143 | ||
151 | #ifdef CONFIG_ARCH_AT91SAM9RL | 144 | #ifdef CONFIG_SOC_AT91SAM9RL |
152 | #define cpu_is_at91sam9rl() (at91_soc_initdata.type == AT91_SOC_SAM9RL) | 145 | #define cpu_is_at91sam9rl() (at91_soc_initdata.type == AT91_SOC_SAM9RL) |
153 | #else | 146 | #else |
154 | #define cpu_is_at91sam9rl() (0) | 147 | #define cpu_is_at91sam9rl() (0) |
155 | #endif | 148 | #endif |
156 | 149 | ||
157 | #ifdef CONFIG_ARCH_AT91SAM9G45 | 150 | #ifdef CONFIG_SOC_AT91SAM9G45 |
158 | #define cpu_is_at91sam9g45() (at91_soc_initdata.type == AT91_SOC_SAM9G45) | 151 | #define cpu_is_at91sam9g45() (at91_soc_initdata.type == AT91_SOC_SAM9G45) |
159 | #define cpu_is_at91sam9g45es() (at91_soc_initdata.subtype == AT91_SOC_SAM9G45ES) | 152 | #define cpu_is_at91sam9g45es() (at91_soc_initdata.subtype == AT91_SOC_SAM9G45ES) |
160 | #define cpu_is_at91sam9m10() (at91_soc_initdata.subtype == AT91_SOC_SAM9M10) | 153 | #define cpu_is_at91sam9m10() (at91_soc_initdata.subtype == AT91_SOC_SAM9M10) |
@@ -168,7 +161,7 @@ static inline int at91_soc_is_detected(void) | |||
168 | #define cpu_is_at91sam9m11() (0) | 161 | #define cpu_is_at91sam9m11() (0) |
169 | #endif | 162 | #endif |
170 | 163 | ||
171 | #ifdef CONFIG_ARCH_AT91SAM9X5 | 164 | #ifdef CONFIG_SOC_AT91SAM9X5 |
172 | #define cpu_is_at91sam9x5() (at91_soc_initdata.type == AT91_SOC_SAM9X5) | 165 | #define cpu_is_at91sam9x5() (at91_soc_initdata.type == AT91_SOC_SAM9X5) |
173 | #define cpu_is_at91sam9g15() (at91_soc_initdata.subtype == AT91_SOC_SAM9G15) | 166 | #define cpu_is_at91sam9g15() (at91_soc_initdata.subtype == AT91_SOC_SAM9G15) |
174 | #define cpu_is_at91sam9g35() (at91_soc_initdata.subtype == AT91_SOC_SAM9G35) | 167 | #define cpu_is_at91sam9g35() (at91_soc_initdata.subtype == AT91_SOC_SAM9G35) |
@@ -189,5 +182,6 @@ static inline int at91_soc_is_detected(void) | |||
189 | * definitions may reduce clutter in common drivers. | 182 | * definitions may reduce clutter in common drivers. |
190 | */ | 183 | */ |
191 | #define cpu_is_at32ap7000() (0) | 184 | #define cpu_is_at32ap7000() (0) |
185 | #endif /* __ASSEMBLY__ */ | ||
192 | 186 | ||
193 | #endif /* __MACH_CPU_H__ */ | 187 | #endif /* __MACH_CPU_H__ */ |
diff --git a/arch/arm/mach-at91/include/mach/hardware.h b/arch/arm/mach-at91/include/mach/hardware.h index e9e29a6c3868..3a01f8ff7e74 100644 --- a/arch/arm/mach-at91/include/mach/hardware.h +++ b/arch/arm/mach-at91/include/mach/hardware.h | |||
@@ -22,27 +22,17 @@ | |||
22 | /* 9263, 9g45 */ | 22 | /* 9263, 9g45 */ |
23 | #define AT91_BASE_DBGU1 0xffffee00 | 23 | #define AT91_BASE_DBGU1 0xffffee00 |
24 | 24 | ||
25 | #if defined(CONFIG_ARCH_AT91RM9200) | 25 | #if defined(CONFIG_ARCH_AT91X40) |
26 | #include <mach/at91x40.h> | ||
27 | #else | ||
26 | #include <mach/at91rm9200.h> | 28 | #include <mach/at91rm9200.h> |
27 | #elif defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9G20) | ||
28 | #include <mach/at91sam9260.h> | 29 | #include <mach/at91sam9260.h> |
29 | #elif defined(CONFIG_ARCH_AT91SAM9261) || defined(CONFIG_ARCH_AT91SAM9G10) | ||
30 | #include <mach/at91sam9261.h> | 30 | #include <mach/at91sam9261.h> |
31 | #elif defined(CONFIG_ARCH_AT91SAM9263) | ||
32 | #include <mach/at91sam9263.h> | 31 | #include <mach/at91sam9263.h> |
33 | #elif defined(CONFIG_ARCH_AT91SAM9RL) | ||
34 | #include <mach/at91sam9rl.h> | 32 | #include <mach/at91sam9rl.h> |
35 | #elif defined(CONFIG_ARCH_AT91SAM9G45) | ||
36 | #include <mach/at91sam9g45.h> | 33 | #include <mach/at91sam9g45.h> |
37 | #elif defined(CONFIG_ARCH_AT91SAM9X5) | ||
38 | #include <mach/at91sam9x5.h> | 34 | #include <mach/at91sam9x5.h> |
39 | #elif defined(CONFIG_ARCH_AT91X40) | ||
40 | #include <mach/at91x40.h> | ||
41 | #else | ||
42 | #error "Unsupported AT91 processor" | ||
43 | #endif | ||
44 | 35 | ||
45 | #if !defined(CONFIG_ARCH_AT91X40) | ||
46 | /* | 36 | /* |
47 | * On all at91 except rm9200 and x40 have the System Controller starts | 37 | * On all at91 except rm9200 and x40 have the System Controller starts |
48 | * at address 0xffffc000 and has a size of 16KiB. | 38 | * at address 0xffffc000 and has a size of 16KiB. |
diff --git a/arch/arm/mach-at91/include/mach/uncompress.h b/arch/arm/mach-at91/include/mach/uncompress.h index 4218647c1fcd..6f6118d1576a 100644 --- a/arch/arm/mach-at91/include/mach/uncompress.h +++ b/arch/arm/mach-at91/include/mach/uncompress.h | |||
@@ -1,7 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * arch/arm/mach-at91/include/mach/uncompress.h | 2 | * arch/arm/mach-at91/include/mach/uncompress.h |
3 | * | 3 | * |
4 | * Copyright (C) 2003 SAN People | 4 | * Copyright (C) 2003 SAN People |
5 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by | 8 | * it under the terms of the GNU General Public License as published by |
@@ -25,22 +26,147 @@ | |||
25 | #include <linux/atmel_serial.h> | 26 | #include <linux/atmel_serial.h> |
26 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
27 | 28 | ||
28 | #if defined(CONFIG_AT91_EARLY_DBGU0) | 29 | #include <mach/at91_dbgu.h> |
29 | #define UART_OFFSET AT91_BASE_DBGU0 | 30 | #include <mach/cpu.h> |
30 | #elif defined(CONFIG_AT91_EARLY_DBGU1) | 31 | |
31 | #define UART_OFFSET AT91_BASE_DBGU1 | 32 | void __iomem *at91_uart; |
32 | #elif defined(CONFIG_AT91_EARLY_USART0) | 33 | |
33 | #define UART_OFFSET AT91_USART0 | 34 | #if !defined(CONFIG_ARCH_AT91X40) |
34 | #elif defined(CONFIG_AT91_EARLY_USART1) | 35 | static const u32 uarts_rm9200[] = { |
35 | #define UART_OFFSET AT91_USART1 | 36 | AT91_BASE_DBGU0, |
36 | #elif defined(CONFIG_AT91_EARLY_USART2) | 37 | AT91RM9200_BASE_US0, |
37 | #define UART_OFFSET AT91_USART2 | 38 | AT91RM9200_BASE_US1, |
38 | #elif defined(CONFIG_AT91_EARLY_USART3) | 39 | AT91RM9200_BASE_US2, |
39 | #define UART_OFFSET AT91_USART3 | 40 | AT91RM9200_BASE_US3, |
40 | #elif defined(CONFIG_AT91_EARLY_USART4) | 41 | 0, |
41 | #define UART_OFFSET AT91_USART4 | 42 | }; |
42 | #elif defined(CONFIG_AT91_EARLY_USART5) | 43 | |
43 | #define UART_OFFSET AT91_USART5 | 44 | static const u32 uarts_sam9260[] = { |
45 | AT91_BASE_DBGU0, | ||
46 | AT91SAM9260_BASE_US0, | ||
47 | AT91SAM9260_BASE_US1, | ||
48 | AT91SAM9260_BASE_US2, | ||
49 | AT91SAM9260_BASE_US3, | ||
50 | AT91SAM9260_BASE_US4, | ||
51 | AT91SAM9260_BASE_US5, | ||
52 | 0, | ||
53 | }; | ||
54 | |||
55 | static const u32 uarts_sam9261[] = { | ||
56 | AT91_BASE_DBGU0, | ||
57 | AT91SAM9261_BASE_US0, | ||
58 | AT91SAM9261_BASE_US1, | ||
59 | AT91SAM9261_BASE_US2, | ||
60 | 0, | ||
61 | }; | ||
62 | |||
63 | static const u32 uarts_sam9263[] = { | ||
64 | AT91_BASE_DBGU1, | ||
65 | AT91SAM9263_BASE_US0, | ||
66 | AT91SAM9263_BASE_US1, | ||
67 | AT91SAM9263_BASE_US2, | ||
68 | 0, | ||
69 | }; | ||
70 | |||
71 | static const u32 uarts_sam9g45[] = { | ||
72 | AT91_BASE_DBGU1, | ||
73 | AT91SAM9G45_BASE_US0, | ||
74 | AT91SAM9G45_BASE_US1, | ||
75 | AT91SAM9G45_BASE_US2, | ||
76 | AT91SAM9G45_BASE_US3, | ||
77 | 0, | ||
78 | }; | ||
79 | |||
80 | static const u32 uarts_sam9rl[] = { | ||
81 | AT91_BASE_DBGU0, | ||
82 | AT91SAM9RL_BASE_US0, | ||
83 | AT91SAM9RL_BASE_US1, | ||
84 | AT91SAM9RL_BASE_US2, | ||
85 | AT91SAM9RL_BASE_US3, | ||
86 | 0, | ||
87 | }; | ||
88 | |||
89 | static const u32 uarts_sam9x5[] = { | ||
90 | AT91_BASE_DBGU0, | ||
91 | AT91SAM9X5_BASE_USART0, | ||
92 | AT91SAM9X5_BASE_USART1, | ||
93 | AT91SAM9X5_BASE_USART2, | ||
94 | 0, | ||
95 | }; | ||
96 | |||
97 | static inline const u32* decomp_soc_detect(u32 dbgu_base) | ||
98 | { | ||
99 | u32 cidr, socid; | ||
100 | |||
101 | cidr = __raw_readl(dbgu_base + AT91_DBGU_CIDR); | ||
102 | socid = cidr & ~AT91_CIDR_VERSION; | ||
103 | |||
104 | switch (socid) { | ||
105 | case ARCH_ID_AT91RM9200: | ||
106 | return uarts_rm9200; | ||
107 | |||
108 | case ARCH_ID_AT91SAM9G20: | ||
109 | case ARCH_ID_AT91SAM9260: | ||
110 | return uarts_sam9260; | ||
111 | |||
112 | case ARCH_ID_AT91SAM9261: | ||
113 | return uarts_sam9261; | ||
114 | |||
115 | case ARCH_ID_AT91SAM9263: | ||
116 | return uarts_sam9263; | ||
117 | |||
118 | case ARCH_ID_AT91SAM9G45: | ||
119 | return uarts_sam9g45; | ||
120 | |||
121 | case ARCH_ID_AT91SAM9RL64: | ||
122 | return uarts_sam9rl; | ||
123 | |||
124 | case ARCH_ID_AT91SAM9X5: | ||
125 | return uarts_sam9x5; | ||
126 | } | ||
127 | |||
128 | /* at91sam9g10 */ | ||
129 | if ((cidr & ~AT91_CIDR_EXT) == ARCH_ID_AT91SAM9G10) { | ||
130 | return uarts_sam9261; | ||
131 | } | ||
132 | /* at91sam9xe */ | ||
133 | else if ((cidr & AT91_CIDR_ARCH) == ARCH_FAMILY_AT91SAM9XE) { | ||
134 | return uarts_sam9260; | ||
135 | } | ||
136 | |||
137 | return NULL; | ||
138 | } | ||
139 | |||
140 | static inline void arch_decomp_setup(void) | ||
141 | { | ||
142 | int i = 0; | ||
143 | const u32* usarts; | ||
144 | |||
145 | usarts = decomp_soc_detect(AT91_BASE_DBGU0); | ||
146 | |||
147 | if (!usarts) | ||
148 | usarts = decomp_soc_detect(AT91_BASE_DBGU1); | ||
149 | if (!usarts) { | ||
150 | at91_uart = NULL; | ||
151 | return; | ||
152 | } | ||
153 | |||
154 | do { | ||
155 | /* physical address */ | ||
156 | at91_uart = (void __iomem *)usarts[i]; | ||
157 | |||
158 | if (__raw_readl(at91_uart + ATMEL_US_BRGR)) | ||
159 | return; | ||
160 | i++; | ||
161 | } while (usarts[i]); | ||
162 | |||
163 | at91_uart = NULL; | ||
164 | } | ||
165 | #else | ||
166 | static inline void arch_decomp_setup(void) | ||
167 | { | ||
168 | at91_uart = NULL; | ||
169 | } | ||
44 | #endif | 170 | #endif |
45 | 171 | ||
46 | /* | 172 | /* |
@@ -52,28 +178,24 @@ | |||
52 | */ | 178 | */ |
53 | static void putc(int c) | 179 | static void putc(int c) |
54 | { | 180 | { |
55 | #ifdef UART_OFFSET | 181 | if (!at91_uart) |
56 | void __iomem *sys = (void __iomem *) UART_OFFSET; /* physical address */ | 182 | return; |
57 | 183 | ||
58 | while (!(__raw_readl(sys + ATMEL_US_CSR) & ATMEL_US_TXRDY)) | 184 | while (!(__raw_readl(at91_uart + ATMEL_US_CSR) & ATMEL_US_TXRDY)) |
59 | barrier(); | 185 | barrier(); |
60 | __raw_writel(c, sys + ATMEL_US_THR); | 186 | __raw_writel(c, at91_uart + ATMEL_US_THR); |
61 | #endif | ||
62 | } | 187 | } |
63 | 188 | ||
64 | static inline void flush(void) | 189 | static inline void flush(void) |
65 | { | 190 | { |
66 | #ifdef UART_OFFSET | 191 | if (!at91_uart) |
67 | void __iomem *sys = (void __iomem *) UART_OFFSET; /* physical address */ | 192 | return; |
68 | 193 | ||
69 | /* wait for transmission to complete */ | 194 | /* wait for transmission to complete */ |
70 | while (!(__raw_readl(sys + ATMEL_US_CSR) & ATMEL_US_TXEMPTY)) | 195 | while (!(__raw_readl(at91_uart + ATMEL_US_CSR) & ATMEL_US_TXEMPTY)) |
71 | barrier(); | 196 | barrier(); |
72 | #endif | ||
73 | } | 197 | } |
74 | 198 | ||
75 | #define arch_decomp_setup() | ||
76 | |||
77 | #define arch_decomp_wdog() | 199 | #define arch_decomp_wdog() |
78 | 200 | ||
79 | #endif | 201 | #endif |
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c index f630250c6b87..1bfaad628731 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c | |||
@@ -261,7 +261,12 @@ static int at91_pm_enter(suspend_state_t state) | |||
261 | * For ARM 926 based chips, this requirement is weaker | 261 | * For ARM 926 based chips, this requirement is weaker |
262 | * as at91sam9 can access a RAM in self-refresh mode. | 262 | * as at91sam9 can access a RAM in self-refresh mode. |
263 | */ | 263 | */ |
264 | at91_standby(); | 264 | if (cpu_is_at91rm9200()) |
265 | at91rm9200_standby(); | ||
266 | else if (cpu_is_at91sam9g45()) | ||
267 | at91sam9g45_standby(); | ||
268 | else | ||
269 | at91sam9_standby(); | ||
265 | break; | 270 | break; |
266 | 271 | ||
267 | case PM_SUSPEND_ON: | 272 | case PM_SUSPEND_ON: |
@@ -307,10 +312,9 @@ static int __init at91_pm_init(void) | |||
307 | 312 | ||
308 | pr_info("AT91: Power Management%s\n", (slow_clock ? " (with slow clock mode)" : "")); | 313 | pr_info("AT91: Power Management%s\n", (slow_clock ? " (with slow clock mode)" : "")); |
309 | 314 | ||
310 | #ifdef CONFIG_ARCH_AT91RM9200 | ||
311 | /* AT91RM9200 SDRAM low-power mode cannot be used with self-refresh. */ | 315 | /* AT91RM9200 SDRAM low-power mode cannot be used with self-refresh. */ |
312 | at91_ramc_write(0, AT91RM9200_SDRAMC_LPR, 0); | 316 | if (cpu_is_at91rm9200()) |
313 | #endif | 317 | at91_ramc_write(0, AT91RM9200_SDRAMC_LPR, 0); |
314 | 318 | ||
315 | suspend_set_ops(&at91_pm_ops); | 319 | suspend_set_ops(&at91_pm_ops); |
316 | 320 | ||
diff --git a/arch/arm/mach-at91/pm.h b/arch/arm/mach-at91/pm.h index 89f56f3a802e..38f467c6b710 100644 --- a/arch/arm/mach-at91/pm.h +++ b/arch/arm/mach-at91/pm.h | |||
@@ -12,7 +12,6 @@ | |||
12 | #define __ARCH_ARM_MACH_AT91_PM | 12 | #define __ARCH_ARM_MACH_AT91_PM |
13 | 13 | ||
14 | #include <mach/at91_ramc.h> | 14 | #include <mach/at91_ramc.h> |
15 | #ifdef CONFIG_ARCH_AT91RM9200 | ||
16 | #include <mach/at91rm9200_sdramc.h> | 15 | #include <mach/at91rm9200_sdramc.h> |
17 | 16 | ||
18 | /* | 17 | /* |
@@ -43,10 +42,6 @@ static inline void at91rm9200_standby(void) | |||
43 | "r" (lpr)); | 42 | "r" (lpr)); |
44 | } | 43 | } |
45 | 44 | ||
46 | #define at91_standby at91rm9200_standby | ||
47 | |||
48 | #elif defined(CONFIG_ARCH_AT91SAM9G45) | ||
49 | |||
50 | /* We manage both DDRAM/SDRAM controllers, we need more than one value to | 45 | /* We manage both DDRAM/SDRAM controllers, we need more than one value to |
51 | * remember. | 46 | * remember. |
52 | */ | 47 | */ |
@@ -75,11 +70,7 @@ static inline void at91sam9g45_standby(void) | |||
75 | at91_ramc_write(1, AT91_DDRSDRC_LPR, saved_lpr1); | 70 | at91_ramc_write(1, AT91_DDRSDRC_LPR, saved_lpr1); |
76 | } | 71 | } |
77 | 72 | ||
78 | #define at91_standby at91sam9g45_standby | 73 | #ifdef CONFIG_SOC_AT91SAM9263 |
79 | |||
80 | #else | ||
81 | |||
82 | #ifdef CONFIG_ARCH_AT91SAM9263 | ||
83 | /* | 74 | /* |
84 | * FIXME either or both the SDRAM controllers (EB0, EB1) might be in use; | 75 | * FIXME either or both the SDRAM controllers (EB0, EB1) might be in use; |
85 | * handle those cases both here and in the Suspend-To-RAM support. | 76 | * handle those cases both here and in the Suspend-To-RAM support. |
@@ -102,8 +93,4 @@ static inline void at91sam9_standby(void) | |||
102 | at91_ramc_write(0, AT91_SDRAMC_LPR, saved_lpr); | 93 | at91_ramc_write(0, AT91_SDRAMC_LPR, saved_lpr); |
103 | } | 94 | } |
104 | 95 | ||
105 | #define at91_standby at91sam9_standby | ||
106 | |||
107 | #endif | ||
108 | |||
109 | #endif | 96 | #endif |
diff --git a/arch/arm/mach-at91/pm_slowclock.S b/arch/arm/mach-at91/pm_slowclock.S index db5452123f17..098c28ddf025 100644 --- a/arch/arm/mach-at91/pm_slowclock.S +++ b/arch/arm/mach-at91/pm_slowclock.S | |||
@@ -18,7 +18,7 @@ | |||
18 | #include <mach/at91_ramc.h> | 18 | #include <mach/at91_ramc.h> |
19 | 19 | ||
20 | 20 | ||
21 | #ifdef CONFIG_ARCH_AT91SAM9263 | 21 | #ifdef CONFIG_SOC_AT91SAM9263 |
22 | /* | 22 | /* |
23 | * FIXME either or both the SDRAM controllers (EB0, EB1) might be in use; | 23 | * FIXME either or both the SDRAM controllers (EB0, EB1) might be in use; |
24 | * handle those cases both here and in the Suspend-To-RAM support. | 24 | * handle those cases both here and in the Suspend-To-RAM support. |
diff --git a/arch/arm/mach-at91/soc.h b/arch/arm/mach-at91/soc.h index 5db4aa45404a..683dddfd8b13 100644 --- a/arch/arm/mach-at91/soc.h +++ b/arch/arm/mach-at91/soc.h | |||
@@ -26,30 +26,30 @@ static inline int at91_soc_is_enabled(void) | |||
26 | return at91_boot_soc.init != NULL; | 26 | return at91_boot_soc.init != NULL; |
27 | } | 27 | } |
28 | 28 | ||
29 | #if !defined(CONFIG_ARCH_AT91RM9200) | 29 | #if !defined(CONFIG_SOC_AT91RM9200) |
30 | #define at91rm9200_soc at91_boot_soc | 30 | #define at91rm9200_soc at91_boot_soc |
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | #if !(defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9G20)) | 33 | #if !defined(CONFIG_SOC_AT91SAM9260) |
34 | #define at91sam9260_soc at91_boot_soc | 34 | #define at91sam9260_soc at91_boot_soc |
35 | #endif | 35 | #endif |
36 | 36 | ||
37 | #if !(defined(CONFIG_ARCH_AT91SAM9261) || defined(CONFIG_ARCH_AT91SAM9G10)) | 37 | #if !defined(CONFIG_SOC_AT91SAM9261) |
38 | #define at91sam9261_soc at91_boot_soc | 38 | #define at91sam9261_soc at91_boot_soc |
39 | #endif | 39 | #endif |
40 | 40 | ||
41 | #if !defined(CONFIG_ARCH_AT91SAM9263) | 41 | #if !defined(CONFIG_SOC_AT91SAM9263) |
42 | #define at91sam9263_soc at91_boot_soc | 42 | #define at91sam9263_soc at91_boot_soc |
43 | #endif | 43 | #endif |
44 | 44 | ||
45 | #if !defined(CONFIG_ARCH_AT91SAM9G45) | 45 | #if !defined(CONFIG_SOC_AT91SAM9G45) |
46 | #define at91sam9g45_soc at91_boot_soc | 46 | #define at91sam9g45_soc at91_boot_soc |
47 | #endif | 47 | #endif |
48 | 48 | ||
49 | #if !defined(CONFIG_ARCH_AT91SAM9RL) | 49 | #if !defined(CONFIG_SOC_AT91SAM9RL) |
50 | #define at91sam9rl_soc at91_boot_soc | 50 | #define at91sam9rl_soc at91_boot_soc |
51 | #endif | 51 | #endif |
52 | 52 | ||
53 | #if !defined(CONFIG_ARCH_AT91SAM9X5) | 53 | #if !defined(CONFIG_SOC_AT91SAM9X5) |
54 | #define at91sam9x5_soc at91_boot_soc | 54 | #define at91sam9x5_soc at91_boot_soc |
55 | #endif | 55 | #endif |
diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig index 0689bf6b0183..b2402eb076c7 100644 --- a/drivers/char/hw_random/Kconfig +++ b/drivers/char/hw_random/Kconfig | |||
@@ -62,7 +62,7 @@ config HW_RANDOM_AMD | |||
62 | 62 | ||
63 | config HW_RANDOM_ATMEL | 63 | config HW_RANDOM_ATMEL |
64 | tristate "Atmel Random Number Generator support" | 64 | tristate "Atmel Random Number Generator support" |
65 | depends on HW_RANDOM && ARCH_AT91SAM9G45 | 65 | depends on HW_RANDOM && HAVE_CLK |
66 | default HW_RANDOM | 66 | default HW_RANDOM |
67 | ---help--- | 67 | ---help--- |
68 | This driver provides kernel-side support for the Random Number | 68 | This driver provides kernel-side support for the Random Number |
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 2a2141915aa0..75838d7710ce 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig | |||
@@ -489,10 +489,10 @@ config TOUCHSCREEN_TI_TSCADC | |||
489 | 489 | ||
490 | config TOUCHSCREEN_ATMEL_TSADCC | 490 | config TOUCHSCREEN_ATMEL_TSADCC |
491 | tristate "Atmel Touchscreen Interface" | 491 | tristate "Atmel Touchscreen Interface" |
492 | depends on ARCH_AT91SAM9RL || ARCH_AT91SAM9G45 | 492 | depends on ARCH_AT91 |
493 | help | 493 | help |
494 | Say Y here if you have a 4-wire touchscreen connected to the | 494 | Say Y here if you have a 4-wire touchscreen connected to the |
495 | ADC Controller on your Atmel SoC (such as the AT91SAM9RL). | 495 | ADC Controller on your Atmel SoC. |
496 | 496 | ||
497 | If unsure, say N. | 497 | If unsure, say N. |
498 | 498 | ||
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 8c8377d50c4c..4161bfe462cd 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig | |||
@@ -838,7 +838,7 @@ config RTC_DRV_AT32AP700X | |||
838 | 838 | ||
839 | config RTC_DRV_AT91RM9200 | 839 | config RTC_DRV_AT91RM9200 |
840 | tristate "AT91RM9200 or some AT91SAM9 RTC" | 840 | tristate "AT91RM9200 or some AT91SAM9 RTC" |
841 | depends on ARCH_AT91RM9200 || ARCH_AT91SAM9RL || ARCH_AT91SAM9G45 | 841 | depends on ARCH_AT91 |
842 | help | 842 | help |
843 | Driver for the internal RTC (Realtime Clock) module found on | 843 | Driver for the internal RTC (Realtime Clock) module found on |
844 | Atmel AT91RM9200's and some AT91SAM9 chips. On AT91SAM9 chips | 844 | Atmel AT91RM9200's and some AT91SAM9 chips. On AT91SAM9 chips |