diff options
author | Olof Johansson <olof@lixom.net> | 2013-04-11 06:48:25 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-04-11 06:49:00 -0400 |
commit | 768cc7675dc9b10f08d369b3a282a58f7020061c (patch) | |
tree | 94e5915f1a7f7aefbdb7d39a726e3d27488316f0 | |
parent | f73548c4c8b5ea798792237e327d27633b7740dc (diff) | |
parent | 0b19b7c2c6e169efccb4b1632fe628969d001618 (diff) |
Merge tag 'sunxi-dt-for-3.10-3' of git://github.com/mripard/linux into next/dt
From Maxime Ripard:
SunXi dt additions for 3.10, take 3
- Remove sunxi.dtsi and only use one dtsi for each SoC
- Various compatible renamings to be consistent with the other platforms
* tag 'sunxi-dt-for-3.10-3' of git://github.com/mripard/linux:
ARM: sunxi: dt: Update watchdog compatible string
ARM: sunxi: dt: Update interrupt controller compatible string
ARM: sunxi: dt: Update timer compatible string
ARM: sunxi: dt: Reorganize the dtsi
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun4i-a10-hackberry.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun4i-a10.dtsi | 194 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun5i-a13.dtsi | 194 | ||||
-rw-r--r-- | arch/arm/boot/dts/sunxi.dtsi | 208 |
6 files changed, 387 insertions, 215 deletions
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts index 99558f624554..b70fe0db6bb7 100644 --- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts +++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts | |||
@@ -26,7 +26,7 @@ | |||
26 | bootargs = "earlyprintk console=ttyS0,115200"; | 26 | bootargs = "earlyprintk console=ttyS0,115200"; |
27 | }; | 27 | }; |
28 | 28 | ||
29 | soc { | 29 | soc@01c20000 { |
30 | pinctrl@01c20800 { | 30 | pinctrl@01c20800 { |
31 | led_pins_cubieboard: led_pins@0 { | 31 | led_pins_cubieboard: led_pins@0 { |
32 | allwinner,pins = "PH20", "PH21"; | 32 | allwinner,pins = "PH20", "PH21"; |
diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts index 20460007a89f..b9efac100c85 100644 --- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts +++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts | |||
@@ -22,7 +22,7 @@ | |||
22 | bootargs = "earlyprintk console=ttyS0,115200"; | 22 | bootargs = "earlyprintk console=ttyS0,115200"; |
23 | }; | 23 | }; |
24 | 24 | ||
25 | soc { | 25 | soc@01c20000 { |
26 | uart0: serial@01c28000 { | 26 | uart0: serial@01c28000 { |
27 | pinctrl-names = "default"; | 27 | pinctrl-names = "default"; |
28 | pinctrl-0 = <&uart0_pins_a>; | 28 | pinctrl-0 = <&uart0_pins_a>; |
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi index f6405204e7e2..5619a213da99 100644 --- a/arch/arm/boot/dts/sun4i-a10.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi | |||
@@ -10,14 +10,172 @@ | |||
10 | * http://www.gnu.org/copyleft/gpl.html | 10 | * http://www.gnu.org/copyleft/gpl.html |
11 | */ | 11 | */ |
12 | 12 | ||
13 | /include/ "sunxi.dtsi" | 13 | /include/ "skeleton.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | interrupt-parent = <&intc>; | ||
17 | |||
18 | cpus { | ||
19 | cpu@0 { | ||
20 | compatible = "arm,cortex-a8"; | ||
21 | }; | ||
22 | }; | ||
23 | |||
16 | memory { | 24 | memory { |
17 | reg = <0x40000000 0x80000000>; | 25 | reg = <0x40000000 0x80000000>; |
18 | }; | 26 | }; |
19 | 27 | ||
20 | soc { | 28 | clocks { |
29 | #address-cells = <1>; | ||
30 | #size-cells = <1>; | ||
31 | ranges; | ||
32 | |||
33 | /* | ||
34 | * This is a dummy clock, to be used as placeholder on | ||
35 | * other mux clocks when a specific parent clock is not | ||
36 | * yet implemented. It should be dropped when the driver | ||
37 | * is complete. | ||
38 | */ | ||
39 | dummy: dummy { | ||
40 | #clock-cells = <0>; | ||
41 | compatible = "fixed-clock"; | ||
42 | clock-frequency = <0>; | ||
43 | }; | ||
44 | |||
45 | osc24M_fixed: osc24M_fixed { | ||
46 | #clock-cells = <0>; | ||
47 | compatible = "fixed-clock"; | ||
48 | clock-frequency = <24000000>; | ||
49 | }; | ||
50 | |||
51 | osc24M: osc24M@01c20050 { | ||
52 | #clock-cells = <0>; | ||
53 | compatible = "allwinner,sun4i-osc-clk"; | ||
54 | reg = <0x01c20050 0x4>; | ||
55 | clocks = <&osc24M_fixed>; | ||
56 | }; | ||
57 | |||
58 | osc32k: osc32k { | ||
59 | #clock-cells = <0>; | ||
60 | compatible = "fixed-clock"; | ||
61 | clock-frequency = <32768>; | ||
62 | }; | ||
63 | |||
64 | pll1: pll1@01c20000 { | ||
65 | #clock-cells = <0>; | ||
66 | compatible = "allwinner,sun4i-pll1-clk"; | ||
67 | reg = <0x01c20000 0x4>; | ||
68 | clocks = <&osc24M>; | ||
69 | }; | ||
70 | |||
71 | /* dummy is 200M */ | ||
72 | cpu: cpu@01c20054 { | ||
73 | #clock-cells = <0>; | ||
74 | compatible = "allwinner,sun4i-cpu-clk"; | ||
75 | reg = <0x01c20054 0x4>; | ||
76 | clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>; | ||
77 | }; | ||
78 | |||
79 | axi: axi@01c20054 { | ||
80 | #clock-cells = <0>; | ||
81 | compatible = "allwinner,sun4i-axi-clk"; | ||
82 | reg = <0x01c20054 0x4>; | ||
83 | clocks = <&cpu>; | ||
84 | }; | ||
85 | |||
86 | axi_gates: axi_gates@01c2005c { | ||
87 | #clock-cells = <1>; | ||
88 | compatible = "allwinner,sun4i-axi-gates-clk"; | ||
89 | reg = <0x01c2005c 0x4>; | ||
90 | clocks = <&axi>; | ||
91 | clock-output-names = "axi_dram"; | ||
92 | }; | ||
93 | |||
94 | ahb: ahb@01c20054 { | ||
95 | #clock-cells = <0>; | ||
96 | compatible = "allwinner,sun4i-ahb-clk"; | ||
97 | reg = <0x01c20054 0x4>; | ||
98 | clocks = <&axi>; | ||
99 | }; | ||
100 | |||
101 | ahb_gates: ahb_gates@01c20060 { | ||
102 | #clock-cells = <1>; | ||
103 | compatible = "allwinner,sun4i-ahb-gates-clk"; | ||
104 | reg = <0x01c20060 0x8>; | ||
105 | clocks = <&ahb>; | ||
106 | clock-output-names = "ahb_usb0", "ahb_ehci0", | ||
107 | "ahb_ohci0", "ahb_ehci1", "ahb_ohci1", "ahb_ss", | ||
108 | "ahb_dma", "ahb_bist", "ahb_mmc0", "ahb_mmc1", | ||
109 | "ahb_mmc2", "ahb_mmc3", "ahb_ms", "ahb_nand", | ||
110 | "ahb_sdram", "ahb_ace", "ahb_emac", "ahb_ts", | ||
111 | "ahb_spi0", "ahb_spi1", "ahb_spi2", "ahb_spi3", | ||
112 | "ahb_pata", "ahb_sata", "ahb_gps", "ahb_ve", | ||
113 | "ahb_tvd", "ahb_tve0", "ahb_tve1", "ahb_lcd0", | ||
114 | "ahb_lcd1", "ahb_csi0", "ahb_csi1", "ahb_hdmi", | ||
115 | "ahb_de_be0", "ahb_de_be1", "ahb_de_fe0", | ||
116 | "ahb_de_fe1", "ahb_mp", "ahb_mali400"; | ||
117 | }; | ||
118 | |||
119 | apb0: apb0@01c20054 { | ||
120 | #clock-cells = <0>; | ||
121 | compatible = "allwinner,sun4i-apb0-clk"; | ||
122 | reg = <0x01c20054 0x4>; | ||
123 | clocks = <&ahb>; | ||
124 | }; | ||
125 | |||
126 | apb0_gates: apb0_gates@01c20068 { | ||
127 | #clock-cells = <1>; | ||
128 | compatible = "allwinner,sun4i-apb0-gates-clk"; | ||
129 | reg = <0x01c20068 0x4>; | ||
130 | clocks = <&apb0>; | ||
131 | clock-output-names = "apb0_codec", "apb0_spdif", | ||
132 | "apb0_ac97", "apb0_iis", "apb0_pio", "apb0_ir0", | ||
133 | "apb0_ir1", "apb0_keypad"; | ||
134 | }; | ||
135 | |||
136 | /* dummy is pll62 */ | ||
137 | apb1_mux: apb1_mux@01c20058 { | ||
138 | #clock-cells = <0>; | ||
139 | compatible = "allwinner,sun4i-apb1-mux-clk"; | ||
140 | reg = <0x01c20058 0x4>; | ||
141 | clocks = <&osc24M>, <&dummy>, <&osc32k>; | ||
142 | }; | ||
143 | |||
144 | apb1: apb1@01c20058 { | ||
145 | #clock-cells = <0>; | ||
146 | compatible = "allwinner,sun4i-apb1-clk"; | ||
147 | reg = <0x01c20058 0x4>; | ||
148 | clocks = <&apb1_mux>; | ||
149 | }; | ||
150 | |||
151 | apb1_gates: apb1_gates@01c2006c { | ||
152 | #clock-cells = <1>; | ||
153 | compatible = "allwinner,sun4i-apb1-gates-clk"; | ||
154 | reg = <0x01c2006c 0x4>; | ||
155 | clocks = <&apb1>; | ||
156 | clock-output-names = "apb1_i2c0", "apb1_i2c1", | ||
157 | "apb1_i2c2", "apb1_can", "apb1_scr", | ||
158 | "apb1_ps20", "apb1_ps21", "apb1_uart0", | ||
159 | "apb1_uart1", "apb1_uart2", "apb1_uart3", | ||
160 | "apb1_uart4", "apb1_uart5", "apb1_uart6", | ||
161 | "apb1_uart7"; | ||
162 | }; | ||
163 | }; | ||
164 | |||
165 | soc@01c20000 { | ||
166 | compatible = "simple-bus"; | ||
167 | #address-cells = <1>; | ||
168 | #size-cells = <1>; | ||
169 | reg = <0x01c20000 0x300000>; | ||
170 | ranges; | ||
171 | |||
172 | intc: interrupt-controller@01c20400 { | ||
173 | compatible = "allwinner,sun4i-ic"; | ||
174 | reg = <0x01c20400 0x400>; | ||
175 | interrupt-controller; | ||
176 | #interrupt-cells = <1>; | ||
177 | }; | ||
178 | |||
21 | pio: pinctrl@01c20800 { | 179 | pio: pinctrl@01c20800 { |
22 | compatible = "allwinner,sun4i-a10-pinctrl"; | 180 | compatible = "allwinner,sun4i-a10-pinctrl"; |
23 | reg = <0x01c20800 0x400>; | 181 | reg = <0x01c20800 0x400>; |
@@ -49,6 +207,18 @@ | |||
49 | }; | 207 | }; |
50 | }; | 208 | }; |
51 | 209 | ||
210 | timer@01c20c00 { | ||
211 | compatible = "allwinner,sun4i-timer"; | ||
212 | reg = <0x01c20c00 0x90>; | ||
213 | interrupts = <22>; | ||
214 | clocks = <&osc24M>; | ||
215 | }; | ||
216 | |||
217 | wdt: watchdog@01c20c90 { | ||
218 | compatible = "allwinner,sun4i-wdt"; | ||
219 | reg = <0x01c20c90 0x10>; | ||
220 | }; | ||
221 | |||
52 | uart0: serial@01c28000 { | 222 | uart0: serial@01c28000 { |
53 | compatible = "snps,dw-apb-uart"; | 223 | compatible = "snps,dw-apb-uart"; |
54 | reg = <0x01c28000 0x400>; | 224 | reg = <0x01c28000 0x400>; |
@@ -59,6 +229,16 @@ | |||
59 | status = "disabled"; | 229 | status = "disabled"; |
60 | }; | 230 | }; |
61 | 231 | ||
232 | uart1: serial@01c28400 { | ||
233 | compatible = "snps,dw-apb-uart"; | ||
234 | reg = <0x01c28400 0x400>; | ||
235 | interrupts = <2>; | ||
236 | reg-shift = <2>; | ||
237 | reg-io-width = <4>; | ||
238 | clocks = <&apb1_gates 17>; | ||
239 | status = "disabled"; | ||
240 | }; | ||
241 | |||
62 | uart2: serial@01c28800 { | 242 | uart2: serial@01c28800 { |
63 | compatible = "snps,dw-apb-uart"; | 243 | compatible = "snps,dw-apb-uart"; |
64 | reg = <0x01c28800 0x400>; | 244 | reg = <0x01c28800 0x400>; |
@@ -69,6 +249,16 @@ | |||
69 | status = "disabled"; | 249 | status = "disabled"; |
70 | }; | 250 | }; |
71 | 251 | ||
252 | uart3: serial@01c28c00 { | ||
253 | compatible = "snps,dw-apb-uart"; | ||
254 | reg = <0x01c28c00 0x400>; | ||
255 | interrupts = <4>; | ||
256 | reg-shift = <2>; | ||
257 | reg-io-width = <4>; | ||
258 | clocks = <&apb1_gates 19>; | ||
259 | status = "disabled"; | ||
260 | }; | ||
261 | |||
72 | uart4: serial@01c29000 { | 262 | uart4: serial@01c29000 { |
73 | compatible = "snps,dw-apb-uart"; | 263 | compatible = "snps,dw-apb-uart"; |
74 | reg = <0x01c29000 0x400>; | 264 | reg = <0x01c29000 0x400>; |
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts index f1579a831f90..3ca55067f868 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts | |||
@@ -22,7 +22,7 @@ | |||
22 | bootargs = "earlyprintk console=ttyS0,115200"; | 22 | bootargs = "earlyprintk console=ttyS0,115200"; |
23 | }; | 23 | }; |
24 | 24 | ||
25 | soc { | 25 | soc@01c20000 { |
26 | pinctrl@01c20800 { | 26 | pinctrl@01c20800 { |
27 | led_pins_olinuxino: led_pins@0 { | 27 | led_pins_olinuxino: led_pins@0 { |
28 | allwinner,pins = "PG9"; | 28 | allwinner,pins = "PG9"; |
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi index 10ee8eedd36b..391bcb70858b 100644 --- a/arch/arm/boot/dts/sun5i-a13.dtsi +++ b/arch/arm/boot/dts/sun5i-a13.dtsi | |||
@@ -11,14 +11,172 @@ | |||
11 | * http://www.gnu.org/copyleft/gpl.html | 11 | * http://www.gnu.org/copyleft/gpl.html |
12 | */ | 12 | */ |
13 | 13 | ||
14 | /include/ "sunxi.dtsi" | 14 | /include/ "skeleton.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | interrupt-parent = <&intc>; | ||
18 | |||
19 | cpus { | ||
20 | cpu@0 { | ||
21 | compatible = "arm,cortex-a8"; | ||
22 | }; | ||
23 | }; | ||
24 | |||
17 | memory { | 25 | memory { |
18 | reg = <0x40000000 0x20000000>; | 26 | reg = <0x40000000 0x20000000>; |
19 | }; | 27 | }; |
20 | 28 | ||
21 | soc { | 29 | clocks { |
30 | #address-cells = <1>; | ||
31 | #size-cells = <1>; | ||
32 | ranges; | ||
33 | |||
34 | /* | ||
35 | * This is a dummy clock, to be used as placeholder on | ||
36 | * other mux clocks when a specific parent clock is not | ||
37 | * yet implemented. It should be dropped when the driver | ||
38 | * is complete. | ||
39 | */ | ||
40 | dummy: dummy { | ||
41 | #clock-cells = <0>; | ||
42 | compatible = "fixed-clock"; | ||
43 | clock-frequency = <0>; | ||
44 | }; | ||
45 | |||
46 | osc24M_fixed: osc24M_fixed { | ||
47 | #clock-cells = <0>; | ||
48 | compatible = "fixed-clock"; | ||
49 | clock-frequency = <24000000>; | ||
50 | }; | ||
51 | |||
52 | osc24M: osc24M@01c20050 { | ||
53 | #clock-cells = <0>; | ||
54 | compatible = "allwinner,sun4i-osc-clk"; | ||
55 | reg = <0x01c20050 0x4>; | ||
56 | clocks = <&osc24M_fixed>; | ||
57 | }; | ||
58 | |||
59 | osc32k: osc32k { | ||
60 | #clock-cells = <0>; | ||
61 | compatible = "fixed-clock"; | ||
62 | clock-frequency = <32768>; | ||
63 | }; | ||
64 | |||
65 | pll1: pll1@01c20000 { | ||
66 | #clock-cells = <0>; | ||
67 | compatible = "allwinner,sun4i-pll1-clk"; | ||
68 | reg = <0x01c20000 0x4>; | ||
69 | clocks = <&osc24M>; | ||
70 | }; | ||
71 | |||
72 | /* dummy is 200M */ | ||
73 | cpu: cpu@01c20054 { | ||
74 | #clock-cells = <0>; | ||
75 | compatible = "allwinner,sun4i-cpu-clk"; | ||
76 | reg = <0x01c20054 0x4>; | ||
77 | clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>; | ||
78 | }; | ||
79 | |||
80 | axi: axi@01c20054 { | ||
81 | #clock-cells = <0>; | ||
82 | compatible = "allwinner,sun4i-axi-clk"; | ||
83 | reg = <0x01c20054 0x4>; | ||
84 | clocks = <&cpu>; | ||
85 | }; | ||
86 | |||
87 | axi_gates: axi_gates@01c2005c { | ||
88 | #clock-cells = <1>; | ||
89 | compatible = "allwinner,sun4i-axi-gates-clk"; | ||
90 | reg = <0x01c2005c 0x4>; | ||
91 | clocks = <&axi>; | ||
92 | clock-output-names = "axi_dram"; | ||
93 | }; | ||
94 | |||
95 | ahb: ahb@01c20054 { | ||
96 | #clock-cells = <0>; | ||
97 | compatible = "allwinner,sun4i-ahb-clk"; | ||
98 | reg = <0x01c20054 0x4>; | ||
99 | clocks = <&axi>; | ||
100 | }; | ||
101 | |||
102 | ahb_gates: ahb_gates@01c20060 { | ||
103 | #clock-cells = <1>; | ||
104 | compatible = "allwinner,sun4i-ahb-gates-clk"; | ||
105 | reg = <0x01c20060 0x8>; | ||
106 | clocks = <&ahb>; | ||
107 | clock-output-names = "ahb_usb0", "ahb_ehci0", | ||
108 | "ahb_ohci0", "ahb_ehci1", "ahb_ohci1", "ahb_ss", | ||
109 | "ahb_dma", "ahb_bist", "ahb_mmc0", "ahb_mmc1", | ||
110 | "ahb_mmc2", "ahb_mmc3", "ahb_ms", "ahb_nand", | ||
111 | "ahb_sdram", "ahb_ace", "ahb_emac", "ahb_ts", | ||
112 | "ahb_spi0", "ahb_spi1", "ahb_spi2", "ahb_spi3", | ||
113 | "ahb_pata", "ahb_sata", "ahb_gps", "ahb_ve", | ||
114 | "ahb_tvd", "ahb_tve0", "ahb_tve1", "ahb_lcd0", | ||
115 | "ahb_lcd1", "ahb_csi0", "ahb_csi1", "ahb_hdmi", | ||
116 | "ahb_de_be0", "ahb_de_be1", "ahb_de_fe0", | ||
117 | "ahb_de_fe1", "ahb_mp", "ahb_mali400"; | ||
118 | }; | ||
119 | |||
120 | apb0: apb0@01c20054 { | ||
121 | #clock-cells = <0>; | ||
122 | compatible = "allwinner,sun4i-apb0-clk"; | ||
123 | reg = <0x01c20054 0x4>; | ||
124 | clocks = <&ahb>; | ||
125 | }; | ||
126 | |||
127 | apb0_gates: apb0_gates@01c20068 { | ||
128 | #clock-cells = <1>; | ||
129 | compatible = "allwinner,sun4i-apb0-gates-clk"; | ||
130 | reg = <0x01c20068 0x4>; | ||
131 | clocks = <&apb0>; | ||
132 | clock-output-names = "apb0_codec", "apb0_spdif", | ||
133 | "apb0_ac97", "apb0_iis", "apb0_pio", "apb0_ir0", | ||
134 | "apb0_ir1", "apb0_keypad"; | ||
135 | }; | ||
136 | |||
137 | /* dummy is pll62 */ | ||
138 | apb1_mux: apb1_mux@01c20058 { | ||
139 | #clock-cells = <0>; | ||
140 | compatible = "allwinner,sun4i-apb1-mux-clk"; | ||
141 | reg = <0x01c20058 0x4>; | ||
142 | clocks = <&osc24M>, <&dummy>, <&osc32k>; | ||
143 | }; | ||
144 | |||
145 | apb1: apb1@01c20058 { | ||
146 | #clock-cells = <0>; | ||
147 | compatible = "allwinner,sun4i-apb1-clk"; | ||
148 | reg = <0x01c20058 0x4>; | ||
149 | clocks = <&apb1_mux>; | ||
150 | }; | ||
151 | |||
152 | apb1_gates: apb1_gates@01c2006c { | ||
153 | #clock-cells = <1>; | ||
154 | compatible = "allwinner,sun4i-apb1-gates-clk"; | ||
155 | reg = <0x01c2006c 0x4>; | ||
156 | clocks = <&apb1>; | ||
157 | clock-output-names = "apb1_i2c0", "apb1_i2c1", | ||
158 | "apb1_i2c2", "apb1_can", "apb1_scr", | ||
159 | "apb1_ps20", "apb1_ps21", "apb1_uart0", | ||
160 | "apb1_uart1", "apb1_uart2", "apb1_uart3", | ||
161 | "apb1_uart4", "apb1_uart5", "apb1_uart6", | ||
162 | "apb1_uart7"; | ||
163 | }; | ||
164 | }; | ||
165 | |||
166 | soc@01c20000 { | ||
167 | compatible = "simple-bus"; | ||
168 | #address-cells = <1>; | ||
169 | #size-cells = <1>; | ||
170 | reg = <0x01c20000 0x300000>; | ||
171 | ranges; | ||
172 | |||
173 | intc: interrupt-controller@01c20400 { | ||
174 | compatible = "allwinner,sun4i-ic"; | ||
175 | reg = <0x01c20400 0x400>; | ||
176 | interrupt-controller; | ||
177 | #interrupt-cells = <1>; | ||
178 | }; | ||
179 | |||
22 | pio: pinctrl@01c20800 { | 180 | pio: pinctrl@01c20800 { |
23 | compatible = "allwinner,sun5i-a13-pinctrl"; | 181 | compatible = "allwinner,sun5i-a13-pinctrl"; |
24 | reg = <0x01c20800 0x400>; | 182 | reg = <0x01c20800 0x400>; |
@@ -42,5 +200,37 @@ | |||
42 | allwinner,pull = <0>; | 200 | allwinner,pull = <0>; |
43 | }; | 201 | }; |
44 | }; | 202 | }; |
203 | |||
204 | timer@01c20c00 { | ||
205 | compatible = "allwinner,sun4i-timer"; | ||
206 | reg = <0x01c20c00 0x90>; | ||
207 | interrupts = <22>; | ||
208 | clocks = <&osc24M>; | ||
209 | }; | ||
210 | |||
211 | wdt: watchdog@01c20c90 { | ||
212 | compatible = "allwinner,sun4i-wdt"; | ||
213 | reg = <0x01c20c90 0x10>; | ||
214 | }; | ||
215 | |||
216 | uart1: serial@01c28400 { | ||
217 | compatible = "snps,dw-apb-uart"; | ||
218 | reg = <0x01c28400 0x400>; | ||
219 | interrupts = <2>; | ||
220 | reg-shift = <2>; | ||
221 | reg-io-width = <4>; | ||
222 | clocks = <&apb1_gates 17>; | ||
223 | status = "disabled"; | ||
224 | }; | ||
225 | |||
226 | uart3: serial@01c28c00 { | ||
227 | compatible = "snps,dw-apb-uart"; | ||
228 | reg = <0x01c28c00 0x400>; | ||
229 | interrupts = <4>; | ||
230 | reg-shift = <2>; | ||
231 | reg-io-width = <4>; | ||
232 | clocks = <&apb1_gates 19>; | ||
233 | status = "disabled"; | ||
234 | }; | ||
45 | }; | 235 | }; |
46 | }; | 236 | }; |
diff --git a/arch/arm/boot/dts/sunxi.dtsi b/arch/arm/boot/dts/sunxi.dtsi deleted file mode 100644 index a8d47e200f87..000000000000 --- a/arch/arm/boot/dts/sunxi.dtsi +++ /dev/null | |||
@@ -1,208 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Maxime Ripard | ||
3 | * | ||
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | ||
5 | * | ||
6 | * The code contained herein is licensed under the GNU General Public | ||
7 | * License. You may obtain a copy of the GNU General Public License | ||
8 | * Version 2 or later at the following locations: | ||
9 | * | ||
10 | * http://www.opensource.org/licenses/gpl-license.html | ||
11 | * http://www.gnu.org/copyleft/gpl.html | ||
12 | */ | ||
13 | |||
14 | /include/ "skeleton.dtsi" | ||
15 | |||
16 | / { | ||
17 | interrupt-parent = <&intc>; | ||
18 | |||
19 | cpus { | ||
20 | cpu@0 { | ||
21 | compatible = "arm,cortex-a8"; | ||
22 | }; | ||
23 | }; | ||
24 | |||
25 | clocks { | ||
26 | #address-cells = <1>; | ||
27 | #size-cells = <1>; | ||
28 | ranges; | ||
29 | |||
30 | /* | ||
31 | * This is a dummy clock, to be used as placeholder on | ||
32 | * other mux clocks when a specific parent clock is not | ||
33 | * yet implemented. It should be dropped when the driver | ||
34 | * is complete. | ||
35 | */ | ||
36 | dummy: dummy { | ||
37 | #clock-cells = <0>; | ||
38 | compatible = "fixed-clock"; | ||
39 | clock-frequency = <0>; | ||
40 | }; | ||
41 | |||
42 | osc24M_fixed: osc24M_fixed { | ||
43 | #clock-cells = <0>; | ||
44 | compatible = "fixed-clock"; | ||
45 | clock-frequency = <24000000>; | ||
46 | }; | ||
47 | |||
48 | osc24M: osc24M@01c20050 { | ||
49 | #clock-cells = <0>; | ||
50 | compatible = "allwinner,sun4i-osc-clk"; | ||
51 | reg = <0x01c20050 0x4>; | ||
52 | clocks = <&osc24M_fixed>; | ||
53 | }; | ||
54 | |||
55 | osc32k: osc32k { | ||
56 | #clock-cells = <0>; | ||
57 | compatible = "fixed-clock"; | ||
58 | clock-frequency = <32768>; | ||
59 | }; | ||
60 | |||
61 | pll1: pll1@01c20000 { | ||
62 | #clock-cells = <0>; | ||
63 | compatible = "allwinner,sun4i-pll1-clk"; | ||
64 | reg = <0x01c20000 0x4>; | ||
65 | clocks = <&osc24M>; | ||
66 | }; | ||
67 | |||
68 | /* dummy is 200M */ | ||
69 | cpu: cpu@01c20054 { | ||
70 | #clock-cells = <0>; | ||
71 | compatible = "allwinner,sun4i-cpu-clk"; | ||
72 | reg = <0x01c20054 0x4>; | ||
73 | clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>; | ||
74 | }; | ||
75 | |||
76 | axi: axi@01c20054 { | ||
77 | #clock-cells = <0>; | ||
78 | compatible = "allwinner,sun4i-axi-clk"; | ||
79 | reg = <0x01c20054 0x4>; | ||
80 | clocks = <&cpu>; | ||
81 | }; | ||
82 | |||
83 | axi_gates: axi_gates@01c2005c { | ||
84 | #clock-cells = <1>; | ||
85 | compatible = "allwinner,sun4i-axi-gates-clk"; | ||
86 | reg = <0x01c2005c 0x4>; | ||
87 | clocks = <&axi>; | ||
88 | clock-output-names = "axi_dram"; | ||
89 | }; | ||
90 | |||
91 | ahb: ahb@01c20054 { | ||
92 | #clock-cells = <0>; | ||
93 | compatible = "allwinner,sun4i-ahb-clk"; | ||
94 | reg = <0x01c20054 0x4>; | ||
95 | clocks = <&axi>; | ||
96 | }; | ||
97 | |||
98 | ahb_gates: ahb_gates@01c20060 { | ||
99 | #clock-cells = <1>; | ||
100 | compatible = "allwinner,sun4i-ahb-gates-clk"; | ||
101 | reg = <0x01c20060 0x8>; | ||
102 | clocks = <&ahb>; | ||
103 | clock-output-names = "ahb_usb0", "ahb_ehci0", | ||
104 | "ahb_ohci0", "ahb_ehci1", "ahb_ohci1", "ahb_ss", | ||
105 | "ahb_dma", "ahb_bist", "ahb_mmc0", "ahb_mmc1", | ||
106 | "ahb_mmc2", "ahb_mmc3", "ahb_ms", "ahb_nand", | ||
107 | "ahb_sdram", "ahb_ace", "ahb_emac", "ahb_ts", | ||
108 | "ahb_spi0", "ahb_spi1", "ahb_spi2", "ahb_spi3", | ||
109 | "ahb_pata", "ahb_sata", "ahb_gps", "ahb_ve", | ||
110 | "ahb_tvd", "ahb_tve0", "ahb_tve1", "ahb_lcd0", | ||
111 | "ahb_lcd1", "ahb_csi0", "ahb_csi1", "ahb_hdmi", | ||
112 | "ahb_de_be0", "ahb_de_be1", "ahb_de_fe0", | ||
113 | "ahb_de_fe1", "ahb_mp", "ahb_mali400"; | ||
114 | }; | ||
115 | |||
116 | apb0: apb0@01c20054 { | ||
117 | #clock-cells = <0>; | ||
118 | compatible = "allwinner,sun4i-apb0-clk"; | ||
119 | reg = <0x01c20054 0x4>; | ||
120 | clocks = <&ahb>; | ||
121 | }; | ||
122 | |||
123 | apb0_gates: apb0_gates@01c20068 { | ||
124 | #clock-cells = <1>; | ||
125 | compatible = "allwinner,sun4i-apb0-gates-clk"; | ||
126 | reg = <0x01c20068 0x4>; | ||
127 | clocks = <&apb0>; | ||
128 | clock-output-names = "apb0_codec", "apb0_spdif", | ||
129 | "apb0_ac97", "apb0_iis", "apb0_pio", "apb0_ir0", | ||
130 | "apb0_ir1", "apb0_keypad"; | ||
131 | }; | ||
132 | |||
133 | /* dummy is pll62 */ | ||
134 | apb1_mux: apb1_mux@01c20058 { | ||
135 | #clock-cells = <0>; | ||
136 | compatible = "allwinner,sun4i-apb1-mux-clk"; | ||
137 | reg = <0x01c20058 0x4>; | ||
138 | clocks = <&osc24M>, <&dummy>, <&osc32k>; | ||
139 | }; | ||
140 | |||
141 | apb1: apb1@01c20058 { | ||
142 | #clock-cells = <0>; | ||
143 | compatible = "allwinner,sun4i-apb1-clk"; | ||
144 | reg = <0x01c20058 0x4>; | ||
145 | clocks = <&apb1_mux>; | ||
146 | }; | ||
147 | |||
148 | apb1_gates: apb1_gates@01c2006c { | ||
149 | #clock-cells = <1>; | ||
150 | compatible = "allwinner,sun4i-apb1-gates-clk"; | ||
151 | reg = <0x01c2006c 0x4>; | ||
152 | clocks = <&apb1>; | ||
153 | clock-output-names = "apb1_i2c0", "apb1_i2c1", | ||
154 | "apb1_i2c2", "apb1_can", "apb1_scr", | ||
155 | "apb1_ps20", "apb1_ps21", "apb1_uart0", | ||
156 | "apb1_uart1", "apb1_uart2", "apb1_uart3", | ||
157 | "apb1_uart4", "apb1_uart5", "apb1_uart6", | ||
158 | "apb1_uart7"; | ||
159 | }; | ||
160 | }; | ||
161 | |||
162 | soc { | ||
163 | compatible = "simple-bus"; | ||
164 | #address-cells = <1>; | ||
165 | #size-cells = <1>; | ||
166 | reg = <0x01c20000 0x300000>; | ||
167 | ranges; | ||
168 | |||
169 | timer@01c20c00 { | ||
170 | compatible = "allwinner,sunxi-timer"; | ||
171 | reg = <0x01c20c00 0x90>; | ||
172 | interrupts = <22>; | ||
173 | clocks = <&osc24M>; | ||
174 | }; | ||
175 | |||
176 | wdt: watchdog@01c20c90 { | ||
177 | compatible = "allwinner,sunxi-wdt"; | ||
178 | reg = <0x01c20c90 0x10>; | ||
179 | }; | ||
180 | |||
181 | intc: interrupt-controller@01c20400 { | ||
182 | compatible = "allwinner,sunxi-ic"; | ||
183 | reg = <0x01c20400 0x400>; | ||
184 | interrupt-controller; | ||
185 | #interrupt-cells = <1>; | ||
186 | }; | ||
187 | |||
188 | uart1: serial@01c28400 { | ||
189 | compatible = "snps,dw-apb-uart"; | ||
190 | reg = <0x01c28400 0x400>; | ||
191 | interrupts = <2>; | ||
192 | reg-shift = <2>; | ||
193 | reg-io-width = <4>; | ||
194 | clocks = <&apb1_gates 17>; | ||
195 | status = "disabled"; | ||
196 | }; | ||
197 | |||
198 | uart3: serial@01c28c00 { | ||
199 | compatible = "snps,dw-apb-uart"; | ||
200 | reg = <0x01c28c00 0x400>; | ||
201 | interrupts = <4>; | ||
202 | reg-shift = <2>; | ||
203 | reg-io-width = <4>; | ||
204 | clocks = <&apb1_gates 19>; | ||
205 | status = "disabled"; | ||
206 | }; | ||
207 | }; | ||
208 | }; | ||