blob: 2218c64410de6c27c93d3acb15bd748be633dca2 [file] [log] [blame]
Heiko Stuebnerd63dc052013-06-02 23:09:41 +02001/*
2 * Copyright (c) 2013 MundoReader S.L.
3 * Author: Heiko Stuebner <heiko@sntech.de>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15
16#include <dt-bindings/gpio/gpio.h>
Heiko Stuebnerd63dc052013-06-02 23:09:41 +020017#include <dt-bindings/pinctrl/rockchip.h>
Heiko Stuebnerf75efdd2013-09-29 13:25:08 +020018#include "rk3xxx.dtsi"
Heiko Stuebnerd63dc052013-06-02 23:09:41 +020019#include "rk3066a-clocks.dtsi"
20
21/ {
22 compatible = "rockchip,rk3066a";
Heiko Stuebnerd63dc052013-06-02 23:09:41 +020023
24 cpus {
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 cpu@0 {
29 device_type = "cpu";
30 compatible = "arm,cortex-a9";
31 next-level-cache = <&L2>;
32 reg = <0x0>;
33 };
34 cpu@1 {
35 device_type = "cpu";
36 compatible = "arm,cortex-a9";
37 next-level-cache = <&L2>;
38 reg = <0x1>;
39 };
40 };
41
42 soc {
Heiko Stuebnerd63dc052013-06-02 23:09:41 +020043 timer@20038000 {
44 compatible = "snps,dw-apb-timer-osc";
45 reg = <0x20038000 0x100>;
46 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
47 clocks = <&clk_gates1 0>, <&clk_gates7 7>;
48 clock-names = "timer", "pclk";
49 };
50
51 timer@2003a000 {
52 compatible = "snps,dw-apb-timer-osc";
53 reg = <0x2003a000 0x100>;
54 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
55 clocks = <&clk_gates1 1>, <&clk_gates7 8>;
56 clock-names = "timer", "pclk";
57 };
58
59 timer@2000e000 {
60 compatible = "snps,dw-apb-timer-osc";
61 reg = <0x2000e000 0x100>;
62 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
63 clocks = <&clk_gates1 2>, <&clk_gates7 9>;
64 clock-names = "timer", "pclk";
65 };
66
67 pinctrl@20008000 {
68 compatible = "rockchip,rk3066a-pinctrl";
69 reg = <0x20008000 0x150>;
70 #address-cells = <1>;
71 #size-cells = <1>;
72 ranges;
73
74 gpio0: gpio0@20034000 {
75 compatible = "rockchip,gpio-bank";
76 reg = <0x20034000 0x100>;
77 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
78 clocks = <&clk_gates8 9>;
79
80 gpio-controller;
81 #gpio-cells = <2>;
82
83 interrupt-controller;
84 #interrupt-cells = <2>;
85 };
86
87 gpio1: gpio1@2003c000 {
88 compatible = "rockchip,gpio-bank";
89 reg = <0x2003c000 0x100>;
90 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
91 clocks = <&clk_gates8 10>;
92
93 gpio-controller;
94 #gpio-cells = <2>;
95
96 interrupt-controller;
97 #interrupt-cells = <2>;
98 };
99
100 gpio2: gpio2@2003e000 {
101 compatible = "rockchip,gpio-bank";
102 reg = <0x2003e000 0x100>;
103 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
104 clocks = <&clk_gates8 11>;
105
106 gpio-controller;
107 #gpio-cells = <2>;
108
109 interrupt-controller;
110 #interrupt-cells = <2>;
111 };
112
113 gpio3: gpio3@20080000 {
114 compatible = "rockchip,gpio-bank";
115 reg = <0x20080000 0x100>;
116 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
117 clocks = <&clk_gates8 12>;
118
119 gpio-controller;
120 #gpio-cells = <2>;
121
122 interrupt-controller;
123 #interrupt-cells = <2>;
124 };
125
126 gpio4: gpio4@20084000 {
127 compatible = "rockchip,gpio-bank";
128 reg = <0x20084000 0x100>;
129 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
130 clocks = <&clk_gates8 13>;
131
132 gpio-controller;
133 #gpio-cells = <2>;
134
135 interrupt-controller;
136 #interrupt-cells = <2>;
137 };
138
139 gpio6: gpio6@2000a000 {
140 compatible = "rockchip,gpio-bank";
141 reg = <0x2000a000 0x100>;
142 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
143 clocks = <&clk_gates8 15>;
144
145 gpio-controller;
146 #gpio-cells = <2>;
147
148 interrupt-controller;
149 #interrupt-cells = <2>;
150 };
151
152 pcfg_pull_default: pcfg_pull_default {
153 bias-pull-pin-default;
154 };
155
156 pcfg_pull_none: pcfg_pull_none {
157 bias-disable;
158 };
159
160 uart0 {
161 uart0_xfer: uart0-xfer {
162 rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_default>,
163 <RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_default>;
164 rockchip,config = <&pcfg_pull_default>;
165 };
166
167 uart0_cts: uart0-cts {
168 rockchip,pins = <RK_GPIO1 2 RK_FUNC_1 &pcfg_pull_default>;
169 rockchip,config = <&pcfg_pull_default>;
170 };
171
172 uart0_rts: uart0-rts {
173 rockchip,pins = <RK_GPIO1 3 RK_FUNC_1 &pcfg_pull_default>;
174 rockchip,config = <&pcfg_pull_default>;
175 };
176 };
177
178 uart1 {
179 uart1_xfer: uart1-xfer {
180 rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_default>,
181 <RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_default>;
182 rockchip,config = <&pcfg_pull_default>;
183 };
184
185 uart1_cts: uart1-cts {
186 rockchip,pins = <RK_GPIO1 6 RK_FUNC_1 &pcfg_pull_default>;
187 rockchip,config = <&pcfg_pull_default>;
188 };
189
190 uart1_rts: uart1-rts {
191 rockchip,pins = <RK_GPIO1 7 RK_FUNC_1 &pcfg_pull_default>;
192 rockchip,config = <&pcfg_pull_default>;
193 };
194 };
195
196 uart2 {
197 uart2_xfer: uart2-xfer {
198 rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_default>,
199 <RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_default>;
200 rockchip,config = <&pcfg_pull_default>;
201 };
202 /* no rts / cts for uart2 */
203 };
204
205 uart3 {
206 uart3_xfer: uart3-xfer {
207 rockchip,pins = <RK_GPIO3 27 RK_FUNC_1 &pcfg_pull_default>,
208 <RK_GPIO3 28 RK_FUNC_1 &pcfg_pull_default>;
209 rockchip,config = <&pcfg_pull_default>;
210 };
211
212 uart3_cts: uart3-cts {
213 rockchip,pins = <RK_GPIO3 29 RK_FUNC_1 &pcfg_pull_default>;
214 rockchip,config = <&pcfg_pull_default>;
215 };
216
217 uart3_rts: uart3-rts {
218 rockchip,pins = <RK_GPIO3 30 RK_FUNC_1 &pcfg_pull_default>;
219 rockchip,config = <&pcfg_pull_default>;
220 };
221 };
222
223 sd0 {
224 sd0_clk: sd0-clk {
225 rockchip,pins = <RK_GPIO3 8 RK_FUNC_1 &pcfg_pull_default>;
226 rockchip,config = <&pcfg_pull_default>;
227 };
228
229 sd0_cmd: sd0-cmd {
230 rockchip,pins = <RK_GPIO3 9 RK_FUNC_1 &pcfg_pull_default>;
231 rockchip,config = <&pcfg_pull_default>;
232 };
233
234 sd0_cd: sd0-cd {
235 rockchip,pins = <RK_GPIO3 14 RK_FUNC_1 &pcfg_pull_default>;
236 rockchip,config = <&pcfg_pull_default>;
237 };
238
239 sd0_wp: sd0-wp {
240 rockchip,pins = <RK_GPIO3 15 RK_FUNC_1 &pcfg_pull_default>;
241 rockchip,config = <&pcfg_pull_default>;
242 };
243
244 sd0_bus1: sd0-bus-width1 {
245 rockchip,pins = <RK_GPIO3 10 RK_FUNC_1 &pcfg_pull_default>;
246 rockchip,config = <&pcfg_pull_default>;
247 };
248
249 sd0_bus4: sd0-bus-width4 {
250 rockchip,pins = <RK_GPIO3 10 RK_FUNC_1 &pcfg_pull_default>,
251 <RK_GPIO3 11 RK_FUNC_1 &pcfg_pull_default>,
252 <RK_GPIO3 12 RK_FUNC_1 &pcfg_pull_default>,
253 <RK_GPIO3 13 RK_FUNC_1 &pcfg_pull_default>;
254 rockchip,config = <&pcfg_pull_default>;
255 };
256 };
257
258 sd1 {
259 sd1_clk: sd1-clk {
260 rockchip,pins = <RK_GPIO3 21 RK_FUNC_1 &pcfg_pull_default>;
261 rockchip,config = <&pcfg_pull_default>;
262 };
263
264 sd1_cmd: sd1-cmd {
265 rockchip,pins = <RK_GPIO3 16 RK_FUNC_1 &pcfg_pull_default>;
266 rockchip,config = <&pcfg_pull_default>;
267 };
268
269 sd1_cd: sd1-cd {
270 rockchip,pins = <RK_GPIO3 22 RK_FUNC_1 &pcfg_pull_default>;
271 rockchip,config = <&pcfg_pull_default>;
272 };
273
274 sd1_wp: sd1-wp {
275 rockchip,pins = <RK_GPIO3 23 RK_FUNC_1 &pcfg_pull_default>;
276 rockchip,config = <&pcfg_pull_default>;
277 };
278
279 sd1_bus1: sd1-bus-width1 {
280 rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_default>;
281 rockchip,config = <&pcfg_pull_default>;
282 };
283
284 sd1_bus4: sd1-bus-width4 {
285 rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_default>,
286 <RK_GPIO3 18 RK_FUNC_1 &pcfg_pull_default>,
287 <RK_GPIO3 19 RK_FUNC_1 &pcfg_pull_default>,
288 <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_default>;
289 rockchip,config = <&pcfg_pull_default>;
290 };
291 };
292 };
Heiko Stuebnerd63dc052013-06-02 23:09:41 +0200293 };
294};