diff options
author | Olof Johansson <olof@lixom.net> | 2015-01-27 19:24:08 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2015-01-27 19:24:08 -0500 |
commit | f0ac4f3e067dc9b233de9300214a98cc4ccb46d3 (patch) | |
tree | ba31ce894823db61a8dc29fb399a2daa8d4cadab /arch/arm | |
parent | a5565a217520d12ef8d6349456a63592875999b3 (diff) | |
parent | 11ff8c86d74002cb493407742fd1c128055e1abe (diff) |
Merge tag 'v3.20-rockchip-dts2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt
Merge "ARM: rockchip: second batch of dts updates for 3.20" from Heiko Stübner:
Basic display nodes for crtcs and hdmi encoder, timer node
for the broadcast timer going through the clocksource tree
and two new boards, the rk3288-based Firefly and the
PX2-based Rayeager board (the PX2 is identical to the rk3066
but made for industrial users).
* tag 'v3.20-rockchip-dts2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: dts: rockchip: add dts for ChipSPARK Rayeager PX2 board
ARM: dts: rockchip: add dts for Firefly Firefly-RK3288 boards
dt-bindings: add vendor prefix and root compatible property for Rockchip boards
ARM: dts: rockchip: Add rockchip timer node for rk3288
ARM: dts: rockchip: add rk3288 hdmi nodes
ARM: dts: rockchip: Add rk3288 vop and display-subsystem
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/boot/dts/Makefile | 5 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3066a-rayeager.dts | 468 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3288-firefly-beta.dts | 71 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3288-firefly.dts | 71 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3288-firefly.dtsi | 467 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3288.dtsi | 84 |
6 files changed, 1165 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 99896543aa38..09f28f468b83 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -444,9 +444,12 @@ dtb-$(CONFIG_ARCH_REALVIEW) += \ | |||
444 | dtb-$(CONFIG_ARCH_ROCKCHIP) += \ | 444 | dtb-$(CONFIG_ARCH_ROCKCHIP) += \ |
445 | rk3066a-bqcurie2.dtb \ | 445 | rk3066a-bqcurie2.dtb \ |
446 | rk3066a-marsboard.dtb \ | 446 | rk3066a-marsboard.dtb \ |
447 | rk3066a-rayeager.dtb \ | ||
447 | rk3188-radxarock.dtb \ | 448 | rk3188-radxarock.dtb \ |
448 | rk3288-evb-act8846.dtb \ | 449 | rk3288-evb-act8846.dtb \ |
449 | rk3288-evb-rk808.dtb | 450 | rk3288-evb-rk808.dtb \ |
451 | rk3288-firefly-beta.dtb \ | ||
452 | rk3288-firefly.dtb | ||
450 | dtb-$(CONFIG_ARCH_S3C24XX) += \ | 453 | dtb-$(CONFIG_ARCH_S3C24XX) += \ |
451 | s3c2416-smdk2416.dtb | 454 | s3c2416-smdk2416.dtb |
452 | dtb-$(CONFIG_ARCH_S3C64XX) += \ | 455 | dtb-$(CONFIG_ARCH_S3C64XX) += \ |
diff --git a/arch/arm/boot/dts/rk3066a-rayeager.dts b/arch/arm/boot/dts/rk3066a-rayeager.dts new file mode 100644 index 000000000000..3ac151102c2f --- /dev/null +++ b/arch/arm/boot/dts/rk3066a-rayeager.dts | |||
@@ -0,0 +1,468 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com> | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * Or, alternatively, | ||
20 | * | ||
21 | * b) Permission is hereby granted, free of charge, to any person | ||
22 | * obtaining a copy of this software and associated documentation | ||
23 | * files (the "Software"), to deal in the Software without | ||
24 | * restriction, including without limitation the rights to use, | ||
25 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
26 | * sell copies of the Software, and to permit persons to whom the | ||
27 | * Software is furnished to do so, subject to the following | ||
28 | * conditions: | ||
29 | * | ||
30 | * The above copyright notice and this permission notice shall be | ||
31 | * included in all copies or substantial portions of the Software. | ||
32 | * | ||
33 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
34 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
35 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
36 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
37 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
38 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
39 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
40 | * OTHER DEALINGS IN THE SOFTWARE. | ||
41 | */ | ||
42 | |||
43 | /dts-v1/; | ||
44 | #include "rk3066a.dtsi" | ||
45 | |||
46 | / { | ||
47 | model = "Rayeager PX2"; | ||
48 | compatible = "chipspark,rayeager-px2", "rockchip,rk3066a"; | ||
49 | |||
50 | memory { | ||
51 | reg = <0x60000000 0x40000000>; | ||
52 | }; | ||
53 | |||
54 | ir: ir-receiver { | ||
55 | compatible = "gpio-ir-receiver"; | ||
56 | gpios = <&gpio6 1 GPIO_ACTIVE_LOW>; | ||
57 | pinctrl-names = "default"; | ||
58 | pinctrl-0 = <&ir_int>; | ||
59 | }; | ||
60 | |||
61 | keys: gpio-keys { | ||
62 | compatible = "gpio-keys"; | ||
63 | #address-cells = <1>; | ||
64 | #size-cells = <0>; | ||
65 | |||
66 | button@0 { | ||
67 | gpio-key,wakeup = <1>; | ||
68 | gpios = <&gpio6 2 GPIO_ACTIVE_LOW>; | ||
69 | label = "GPIO Power"; | ||
70 | linux,code = <116>; | ||
71 | pinctrl-names = "default"; | ||
72 | pinctrl-0 = <&pwr_key>; | ||
73 | }; | ||
74 | }; | ||
75 | |||
76 | vsys: vsys-regulator { | ||
77 | compatible = "regulator-fixed"; | ||
78 | regulator-name = "vsys"; | ||
79 | regulator-min-microvolt = <5000000>; | ||
80 | regulator-max-microvolt = <5000000>; | ||
81 | regulator-always-on; | ||
82 | regulator-boot-on; | ||
83 | }; | ||
84 | |||
85 | /* input for 5V_STDBY is VSYS or DC5V, selectable by jumper J4 */ | ||
86 | vcc_stdby: 5v-stdby-regulator { | ||
87 | compatible = "regulator-fixed"; | ||
88 | regulator-name = "5v_stdby"; | ||
89 | regulator-min-microvolt = <5000000>; | ||
90 | regulator-max-microvolt = <5000000>; | ||
91 | regulator-always-on; | ||
92 | regulator-boot-on; | ||
93 | }; | ||
94 | |||
95 | vcc_emmc: emmc-regulator { | ||
96 | compatible = "regulator-fixed"; | ||
97 | regulator-name = "emmc_vccq"; | ||
98 | regulator-min-microvolt = <3000000>; | ||
99 | regulator-max-microvolt = <3000000>; | ||
100 | vin-supply = <&vsys>; | ||
101 | }; | ||
102 | |||
103 | vcc_sata: sata-regulator { | ||
104 | compatible = "regulator-fixed"; | ||
105 | enable-active-high; | ||
106 | gpio = <&gpio4 22 GPIO_ACTIVE_HIGH>; | ||
107 | pinctrl-names = "default"; | ||
108 | pinctrl-0 = <&sata_pwr>; | ||
109 | regulator-name = "usb_5v"; | ||
110 | regulator-min-microvolt = <5000000>; | ||
111 | regulator-max-microvolt = <5000000>; | ||
112 | regulator-always-on; | ||
113 | vin-supply = <&vcc_stdby>; | ||
114 | }; | ||
115 | |||
116 | vcc_sd: sdmmc-regulator { | ||
117 | compatible = "regulator-fixed"; | ||
118 | gpio = <&gpio3 7 GPIO_ACTIVE_LOW>; | ||
119 | pinctrl-names = "default"; | ||
120 | pinctrl-0 = <&sdmmc_pwr>; | ||
121 | regulator-name = "vcc_sd"; | ||
122 | regulator-min-microvolt = <3300000>; | ||
123 | regulator-max-microvolt = <3300000>; | ||
124 | startup-delay-us = <100000>; | ||
125 | vin-supply = <&vcc_io>; | ||
126 | }; | ||
127 | |||
128 | vcc_host: usb-host-regulator { | ||
129 | compatible = "regulator-fixed"; | ||
130 | enable-active-high; | ||
131 | gpio = <&gpio0 6 GPIO_ACTIVE_HIGH>; | ||
132 | pinctrl-names = "default"; | ||
133 | pinctrl-0 = <&host_drv>; | ||
134 | regulator-name = "host-pwr"; | ||
135 | regulator-min-microvolt = <5000000>; | ||
136 | regulator-max-microvolt = <5000000>; | ||
137 | regulator-always-on; | ||
138 | vin-supply = <&vcc_stdby>; | ||
139 | }; | ||
140 | |||
141 | vcc_otg: usb-otg-regulator { | ||
142 | compatible = "regulator-fixed"; | ||
143 | enable-active-high; | ||
144 | gpio = <&gpio0 5 GPIO_ACTIVE_HIGH>; | ||
145 | pinctrl-names = "default"; | ||
146 | pinctrl-0 = <&otg_drv>; | ||
147 | regulator-name = "vcc_otg"; | ||
148 | regulator-min-microvolt = <5000000>; | ||
149 | regulator-max-microvolt = <5000000>; | ||
150 | regulator-always-on; | ||
151 | vin-supply = <&vcc_stdby>; | ||
152 | }; | ||
153 | }; | ||
154 | |||
155 | &cpu0 { | ||
156 | cpu0-supply = <&vdd_arm>; | ||
157 | }; | ||
158 | |||
159 | &emac { | ||
160 | pinctrl-names = "default"; | ||
161 | pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&rmii_rst>; | ||
162 | phy = <&phy0>; | ||
163 | phy-supply = <&vcc_rmii>; | ||
164 | status = "okay"; | ||
165 | |||
166 | phy0: ethernet-phy@0 { | ||
167 | reg = <0>; | ||
168 | }; | ||
169 | }; | ||
170 | |||
171 | &emmc { | ||
172 | broken-cd; | ||
173 | bus-width = <8>; | ||
174 | cap-mmc-highspeed; | ||
175 | disable-wp; | ||
176 | non-removable; | ||
177 | num-slots = <1>; | ||
178 | pinctrl-names = "default"; | ||
179 | pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_rst>; | ||
180 | vmmc-supply = <&vcc_emmc>; | ||
181 | vqmmc-supply = <&vcc_emmc>; | ||
182 | status = "okay"; | ||
183 | }; | ||
184 | |||
185 | &i2c0 { | ||
186 | clock-frequency = <400000>; | ||
187 | status = "okay"; | ||
188 | |||
189 | ak8963: ak8963@0d { | ||
190 | compatible = "asahi-kasei,ak8975"; | ||
191 | reg = <0x0d>; | ||
192 | interrupt-parent = <&gpio4>; | ||
193 | interrupts = <17 IRQ_TYPE_EDGE_RISING>; | ||
194 | pinctrl-names = "default"; | ||
195 | pinctrl-0 = <&comp_int>; | ||
196 | }; | ||
197 | |||
198 | mma8452: mma8452@1d { | ||
199 | compatible = "fsl,mma8452"; | ||
200 | reg = <0x1d>; | ||
201 | interrupt-parent = <&gpio4>; | ||
202 | interrupts = <16 IRQ_TYPE_EDGE_RISING>; | ||
203 | pinctrl-names = "default"; | ||
204 | pinctrl-0 = <&gsensor_int>; | ||
205 | }; | ||
206 | }; | ||
207 | |||
208 | &i2c1 { | ||
209 | clock-frequency = <400000>; | ||
210 | status = "okay"; | ||
211 | |||
212 | tps: tps@2d { | ||
213 | reg = <0x2d>; | ||
214 | interrupt-parent = <&gpio6>; | ||
215 | interrupts = <4 IRQ_TYPE_EDGE_RISING>; | ||
216 | pinctrl-names = "default"; | ||
217 | pinctrl-0 = <&pmic_int>, <&pwr_hold>; | ||
218 | |||
219 | vcc1-supply = <&vsys>; | ||
220 | vcc2-supply = <&vsys>; | ||
221 | vcc3-supply = <&vsys>; | ||
222 | vcc4-supply = <&vsys>; | ||
223 | vcc5-supply = <&vcc_io>; | ||
224 | vcc6-supply = <&vcc_io>; | ||
225 | vcc7-supply = <&vsys>; | ||
226 | vccio-supply = <&vsys>; | ||
227 | |||
228 | regulators { | ||
229 | vcc_rtc: regulator@0 { | ||
230 | regulator-name = "vcc_rtc"; | ||
231 | regulator-always-on; | ||
232 | }; | ||
233 | |||
234 | vcc_io: regulator@1 { | ||
235 | regulator-name = "vcc_io"; | ||
236 | regulator-min-microvolt = <3300000>; | ||
237 | regulator-max-microvolt = <3300000>; | ||
238 | regulator-always-on; | ||
239 | }; | ||
240 | |||
241 | vdd_arm: regulator@2 { | ||
242 | regulator-name = "vdd_arm"; | ||
243 | regulator-min-microvolt = <600000>; | ||
244 | regulator-max-microvolt = <1500000>; | ||
245 | regulator-always-on; | ||
246 | regulator-boot-on; | ||
247 | }; | ||
248 | |||
249 | vcc_ddr: regulator@3 { | ||
250 | regulator-name = "vcc_ddr"; | ||
251 | regulator-min-microvolt = <600000>; | ||
252 | regulator-max-microvolt = <1500000>; | ||
253 | regulator-always-on; | ||
254 | regulator-boot-on; | ||
255 | }; | ||
256 | |||
257 | vcc18: regulator@5 { | ||
258 | regulator-name = "vcc18"; | ||
259 | regulator-min-microvolt = <1800000>; | ||
260 | regulator-max-microvolt = <1800000>; | ||
261 | regulator-always-on; | ||
262 | }; | ||
263 | |||
264 | vdd_11: regulator@6 { | ||
265 | regulator-name = "vdd_11"; | ||
266 | regulator-min-microvolt = <1100000>; | ||
267 | regulator-max-microvolt = <1100000>; | ||
268 | regulator-always-on; | ||
269 | }; | ||
270 | |||
271 | vcc_25: regulator@7 { | ||
272 | regulator-name = "vcc_25"; | ||
273 | regulator-min-microvolt = <2500000>; | ||
274 | regulator-max-microvolt = <2500000>; | ||
275 | regulator-always-on; | ||
276 | }; | ||
277 | |||
278 | vccio_wl: regulator@8 { | ||
279 | regulator-name = "vccio_wl"; | ||
280 | regulator-min-microvolt = <1800000>; | ||
281 | regulator-max-microvolt = <1800000>; | ||
282 | }; | ||
283 | |||
284 | vcc25_hdmi: regulator@9 { | ||
285 | regulator-name = "vcc25_hdmi"; | ||
286 | regulator-min-microvolt = <2500000>; | ||
287 | regulator-max-microvolt = <2500000>; | ||
288 | }; | ||
289 | |||
290 | vcca_33: regulator@10 { | ||
291 | regulator-name = "vcca_33"; | ||
292 | regulator-min-microvolt = <3300000>; | ||
293 | regulator-max-microvolt = <3300000>; | ||
294 | }; | ||
295 | |||
296 | vcc_rmii: regulator@11 { | ||
297 | regulator-name = "vcc_rmii"; | ||
298 | regulator-min-microvolt = <3300000>; | ||
299 | regulator-max-microvolt = <3300000>; | ||
300 | }; | ||
301 | |||
302 | vcc28_cif: regulator@12 { | ||
303 | regulator-name = "vcc28_cif"; | ||
304 | regulator-min-microvolt = <2800000>; | ||
305 | regulator-max-microvolt = <2800000>; | ||
306 | }; | ||
307 | }; | ||
308 | }; | ||
309 | }; | ||
310 | |||
311 | #include "tps65910.dtsi" | ||
312 | |||
313 | &i2c2 { | ||
314 | status = "okay"; | ||
315 | }; | ||
316 | |||
317 | &i2c3 { | ||
318 | status = "okay"; | ||
319 | }; | ||
320 | |||
321 | &i2c4 { | ||
322 | status = "okay"; | ||
323 | }; | ||
324 | |||
325 | &mmc0 { | ||
326 | bus-width = <4>; | ||
327 | disable-wp; | ||
328 | num-slots = <1>; | ||
329 | pinctrl-names = "default"; | ||
330 | pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; | ||
331 | vmmc-supply = <&vcc_sd>; | ||
332 | status = "okay"; | ||
333 | }; | ||
334 | |||
335 | &mmc1 { | ||
336 | broken-cd; | ||
337 | bus-width = <4>; | ||
338 | disable-wp; | ||
339 | non-removable; | ||
340 | num-slots = <1>; | ||
341 | pinctrl-names = "default"; | ||
342 | pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_bus4>; | ||
343 | vmmc-supply = <&vccio_wl>; | ||
344 | status = "okay"; | ||
345 | }; | ||
346 | |||
347 | &pinctrl { | ||
348 | pcfg_output_high: pcfg-output-high { | ||
349 | output-high; | ||
350 | }; | ||
351 | |||
352 | ak8963 { | ||
353 | comp_int: comp-int { | ||
354 | rockchip,pins = <4 17 RK_FUNC_GPIO &pcfg_pull_default>; | ||
355 | }; | ||
356 | }; | ||
357 | |||
358 | emac { | ||
359 | rmii_rst: rmii-rst { | ||
360 | rockchip,pins = <1 30 RK_FUNC_GPIO &pcfg_output_high>; | ||
361 | }; | ||
362 | }; | ||
363 | |||
364 | ir { | ||
365 | ir_int: ir-int { | ||
366 | rockchip,pins = <6 1 RK_FUNC_GPIO &pcfg_pull_default>; | ||
367 | }; | ||
368 | }; | ||
369 | |||
370 | keys { | ||
371 | pwr_key: pwr-key { | ||
372 | rockchip,pins = <6 2 RK_FUNC_GPIO &pcfg_pull_default>; | ||
373 | }; | ||
374 | }; | ||
375 | |||
376 | mma8452 { | ||
377 | gsensor_int: gsensor-int { | ||
378 | rockchip,pins = <4 16 RK_FUNC_GPIO &pcfg_pull_default>; | ||
379 | }; | ||
380 | }; | ||
381 | |||
382 | mmc { | ||
383 | sdmmc_pwr: sdmmc-pwr { | ||
384 | rockchip,pins = <3 7 RK_FUNC_GPIO &pcfg_pull_default>; | ||
385 | }; | ||
386 | }; | ||
387 | |||
388 | usb_host { | ||
389 | host_drv: host-drv { | ||
390 | rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_default>; | ||
391 | }; | ||
392 | |||
393 | hub_rst: hub-rst { | ||
394 | rockchip,pins = <1 31 RK_FUNC_GPIO &pcfg_output_high>; | ||
395 | }; | ||
396 | |||
397 | sata_pwr: sata-pwr { | ||
398 | rockchip,pins = <4 22 RK_FUNC_GPIO &pcfg_pull_default>; | ||
399 | }; | ||
400 | |||
401 | sata_reset: sata-reset { | ||
402 | rockchip,pins = <0 13 RK_FUNC_GPIO &pcfg_output_high>; | ||
403 | }; | ||
404 | }; | ||
405 | |||
406 | usb_otg { | ||
407 | otg_drv: otg-drv { | ||
408 | rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_default>; | ||
409 | }; | ||
410 | }; | ||
411 | |||
412 | tps { | ||
413 | pmic_int: pmic-int { | ||
414 | rockchip,pins = <6 4 RK_FUNC_GPIO &pcfg_pull_default>; | ||
415 | }; | ||
416 | |||
417 | pwr_hold: pwr-hold { | ||
418 | rockchip,pins = <6 8 RK_FUNC_GPIO &pcfg_output_high>; | ||
419 | }; | ||
420 | }; | ||
421 | }; | ||
422 | |||
423 | &pwm1 { | ||
424 | status = "okay"; | ||
425 | }; | ||
426 | |||
427 | &pwm2 { | ||
428 | status = "okay"; | ||
429 | }; | ||
430 | |||
431 | &saradc { | ||
432 | vref-supply = <&vcc_25>; | ||
433 | status = "okay"; | ||
434 | }; | ||
435 | |||
436 | &spi0 { | ||
437 | status = "okay"; | ||
438 | }; | ||
439 | |||
440 | &uart0 { | ||
441 | pinctrl-names = "default"; | ||
442 | pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; | ||
443 | status = "okay"; | ||
444 | }; | ||
445 | |||
446 | &uart2 { | ||
447 | status = "okay"; | ||
448 | }; | ||
449 | |||
450 | &uart3 { | ||
451 | pinctrl-names = "default"; | ||
452 | pinctrl-0 = <&uart3_xfer>, <&uart3_cts>, <&uart3_rts>; | ||
453 | status = "okay"; | ||
454 | }; | ||
455 | |||
456 | &usb_host { | ||
457 | pinctrl-names = "default"; | ||
458 | pinctrl-0 = <&hub_rst>, <&sata_reset>; | ||
459 | status = "okay"; | ||
460 | }; | ||
461 | |||
462 | &usb_otg { | ||
463 | status = "okay"; | ||
464 | }; | ||
465 | |||
466 | &wdt { | ||
467 | status = "okay"; | ||
468 | }; | ||
diff --git a/arch/arm/boot/dts/rk3288-firefly-beta.dts b/arch/arm/boot/dts/rk3288-firefly-beta.dts new file mode 100644 index 000000000000..75d77e38e0d6 --- /dev/null +++ b/arch/arm/boot/dts/rk3288-firefly-beta.dts | |||
@@ -0,0 +1,71 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com> | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * Or, alternatively, | ||
20 | * | ||
21 | * b) Permission is hereby granted, free of charge, to any person | ||
22 | * obtaining a copy of this software and associated documentation | ||
23 | * files (the "Software"), to deal in the Software without | ||
24 | * restriction, including without limitation the rights to use, | ||
25 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
26 | * sell copies of the Software, and to permit persons to whom the | ||
27 | * Software is furnished to do so, subject to the following | ||
28 | * conditions: | ||
29 | * | ||
30 | * The above copyright notice and this permission notice shall be | ||
31 | * included in all copies or substantial portions of the Software. | ||
32 | * | ||
33 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
34 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
35 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
36 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
37 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
38 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
39 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
40 | * OTHER DEALINGS IN THE SOFTWARE. | ||
41 | */ | ||
42 | |||
43 | /dts-v1/; | ||
44 | #include "rk3288-firefly.dtsi" | ||
45 | |||
46 | / { | ||
47 | model = "Firefly-RK3288 Beta"; | ||
48 | compatible = "firefly,firefly-rk3288-beta", "rockchip,rk3288"; | ||
49 | }; | ||
50 | |||
51 | &ir { | ||
52 | gpios = <&gpio7 5 GPIO_ACTIVE_LOW>; | ||
53 | }; | ||
54 | |||
55 | &pinctrl { | ||
56 | act8846 { | ||
57 | pmic_vsel: pmic-vsel { | ||
58 | rockchip,pins = <7 1 RK_FUNC_GPIO &pcfg_output_low>; | ||
59 | }; | ||
60 | }; | ||
61 | |||
62 | ir { | ||
63 | ir_int: ir-int { | ||
64 | rockchip,pins = <7 5 RK_FUNC_GPIO &pcfg_pull_up>; | ||
65 | }; | ||
66 | }; | ||
67 | }; | ||
68 | |||
69 | &pwm0 { | ||
70 | status = "okay"; | ||
71 | }; | ||
diff --git a/arch/arm/boot/dts/rk3288-firefly.dts b/arch/arm/boot/dts/rk3288-firefly.dts new file mode 100644 index 000000000000..c07fe92dc69f --- /dev/null +++ b/arch/arm/boot/dts/rk3288-firefly.dts | |||
@@ -0,0 +1,71 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com> | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * Or, alternatively, | ||
20 | * | ||
21 | * b) Permission is hereby granted, free of charge, to any person | ||
22 | * obtaining a copy of this software and associated documentation | ||
23 | * files (the "Software"), to deal in the Software without | ||
24 | * restriction, including without limitation the rights to use, | ||
25 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
26 | * sell copies of the Software, and to permit persons to whom the | ||
27 | * Software is furnished to do so, subject to the following | ||
28 | * conditions: | ||
29 | * | ||
30 | * The above copyright notice and this permission notice shall be | ||
31 | * included in all copies or substantial portions of the Software. | ||
32 | * | ||
33 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
34 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
35 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
36 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
37 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
38 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
39 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
40 | * OTHER DEALINGS IN THE SOFTWARE. | ||
41 | */ | ||
42 | |||
43 | /dts-v1/; | ||
44 | #include "rk3288-firefly.dtsi" | ||
45 | |||
46 | / { | ||
47 | model = "Firefly-RK3288"; | ||
48 | compatible = "firefly,firefly-rk3288", "rockchip,rk3288"; | ||
49 | }; | ||
50 | |||
51 | &ir { | ||
52 | gpios = <&gpio7 0 GPIO_ACTIVE_LOW>; | ||
53 | }; | ||
54 | |||
55 | &pinctrl { | ||
56 | act8846 { | ||
57 | pmic_vsel: pmic-vsel { | ||
58 | rockchip,pins = <7 14 RK_FUNC_GPIO &pcfg_output_low>; | ||
59 | }; | ||
60 | }; | ||
61 | |||
62 | ir { | ||
63 | ir_int: ir-int { | ||
64 | rockchip,pins = <7 0 RK_FUNC_GPIO &pcfg_pull_up>; | ||
65 | }; | ||
66 | }; | ||
67 | }; | ||
68 | |||
69 | &pwm1 { | ||
70 | status = "okay"; | ||
71 | }; | ||
diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi new file mode 100644 index 000000000000..7f0ba9b24869 --- /dev/null +++ b/arch/arm/boot/dts/rk3288-firefly.dtsi | |||
@@ -0,0 +1,467 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com> | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * Or, alternatively, | ||
20 | * | ||
21 | * b) Permission is hereby granted, free of charge, to any person | ||
22 | * obtaining a copy of this software and associated documentation | ||
23 | * files (the "Software"), to deal in the Software without | ||
24 | * restriction, including without limitation the rights to use, | ||
25 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
26 | * sell copies of the Software, and to permit persons to whom the | ||
27 | * Software is furnished to do so, subject to the following | ||
28 | * conditions: | ||
29 | * | ||
30 | * The above copyright notice and this permission notice shall be | ||
31 | * included in all copies or substantial portions of the Software. | ||
32 | * | ||
33 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
34 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
35 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
36 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
37 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
38 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
39 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
40 | * OTHER DEALINGS IN THE SOFTWARE. | ||
41 | */ | ||
42 | |||
43 | #include "rk3288.dtsi" | ||
44 | |||
45 | / { | ||
46 | memory { | ||
47 | reg = <0 0x80000000>; | ||
48 | }; | ||
49 | |||
50 | ext_gmac: external-gmac-clock { | ||
51 | compatible = "fixed-clock"; | ||
52 | #clock-cells = <0>; | ||
53 | clock-frequency = <125000000>; | ||
54 | clock-output-names = "ext_gmac"; | ||
55 | }; | ||
56 | |||
57 | ir: ir-receiver { | ||
58 | compatible = "gpio-ir-receiver"; | ||
59 | pinctrl-names = "default"; | ||
60 | pinctrl-0 = <&ir_int>; | ||
61 | }; | ||
62 | |||
63 | keys: gpio-keys { | ||
64 | compatible = "gpio-keys"; | ||
65 | #address-cells = <1>; | ||
66 | #size-cells = <0>; | ||
67 | |||
68 | button@0 { | ||
69 | gpio-key,wakeup = <1>; | ||
70 | gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; | ||
71 | label = "GPIO Power"; | ||
72 | linux,code = <116>; | ||
73 | pinctrl-names = "default"; | ||
74 | pinctrl-0 = <&pwr_key>; | ||
75 | }; | ||
76 | }; | ||
77 | |||
78 | leds { | ||
79 | compatible = "gpio-leds"; | ||
80 | |||
81 | work { | ||
82 | gpios = <&gpio8 1 GPIO_ACTIVE_LOW>; | ||
83 | label = "firefly:blue:user"; | ||
84 | linux,default-trigger = "rc-feedback"; | ||
85 | pinctrl-names = "default"; | ||
86 | pinctrl-0 = <&work_led>; | ||
87 | }; | ||
88 | |||
89 | power { | ||
90 | gpios = <&gpio8 2 GPIO_ACTIVE_LOW>; | ||
91 | label = "firefly:green:power"; | ||
92 | linux,default-trigger = "default-on"; | ||
93 | pinctrl-names = "default"; | ||
94 | pinctrl-0 = <&power_led>; | ||
95 | }; | ||
96 | }; | ||
97 | |||
98 | vcc_sys: vsys-regulator { | ||
99 | compatible = "regulator-fixed"; | ||
100 | regulator-name = "vcc_sys"; | ||
101 | regulator-min-microvolt = <5000000>; | ||
102 | regulator-max-microvolt = <5000000>; | ||
103 | regulator-always-on; | ||
104 | regulator-boot-on; | ||
105 | }; | ||
106 | |||
107 | vcc_sd: sdmmc-regulator { | ||
108 | compatible = "regulator-fixed"; | ||
109 | gpio = <&gpio7 11 GPIO_ACTIVE_LOW>; | ||
110 | pinctrl-names = "default"; | ||
111 | pinctrl-0 = <&sdmmc_pwr>; | ||
112 | regulator-name = "vcc_sd"; | ||
113 | regulator-min-microvolt = <3300000>; | ||
114 | regulator-max-microvolt = <3300000>; | ||
115 | startup-delay-us = <100000>; | ||
116 | vin-supply = <&vcc_io>; | ||
117 | }; | ||
118 | |||
119 | vcc_flash: flash-regulator { | ||
120 | compatible = "regulator-fixed"; | ||
121 | regulator-name = "vcc_flash"; | ||
122 | regulator-min-microvolt = <1800000>; | ||
123 | regulator-max-microvolt = <1800000>; | ||
124 | vin-supply = <&vcc_io>; | ||
125 | }; | ||
126 | |||
127 | vcc_5v: usb-regulator { | ||
128 | compatible = "regulator-fixed"; | ||
129 | regulator-name = "vcc_5v"; | ||
130 | regulator-min-microvolt = <5000000>; | ||
131 | regulator-max-microvolt = <5000000>; | ||
132 | regulator-always-on; | ||
133 | regulator-boot-on; | ||
134 | vin-supply = <&vcc_sys>; | ||
135 | }; | ||
136 | |||
137 | vcc_host_5v: usb-host-regulator { | ||
138 | compatible = "regulator-fixed"; | ||
139 | enable-active-high; | ||
140 | gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>; | ||
141 | pinctrl-names = "default"; | ||
142 | pinctrl-0 = <&host_vbus_drv>; | ||
143 | regulator-name = "vcc_host_5v"; | ||
144 | regulator-min-microvolt = <5000000>; | ||
145 | regulator-max-microvolt = <5000000>; | ||
146 | regulator-always-on; | ||
147 | vin-supply = <&vcc_5v>; | ||
148 | }; | ||
149 | |||
150 | vcc_otg_5v: usb-otg-regulator { | ||
151 | compatible = "regulator-fixed"; | ||
152 | enable-active-high; | ||
153 | gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>; | ||
154 | pinctrl-names = "default"; | ||
155 | pinctrl-0 = <&otg_vbus_drv>; | ||
156 | regulator-name = "vcc_otg_5v"; | ||
157 | regulator-min-microvolt = <5000000>; | ||
158 | regulator-max-microvolt = <5000000>; | ||
159 | regulator-always-on; | ||
160 | vin-supply = <&vcc_5v>; | ||
161 | }; | ||
162 | }; | ||
163 | |||
164 | &cpu0 { | ||
165 | cpu0-supply = <&vdd_cpu>; | ||
166 | }; | ||
167 | |||
168 | &emmc { | ||
169 | broken-cd; | ||
170 | bus-width = <8>; | ||
171 | cap-mmc-highspeed; | ||
172 | disable-wp; | ||
173 | non-removable; | ||
174 | num-slots = <1>; | ||
175 | pinctrl-names = "default"; | ||
176 | pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; | ||
177 | vmmc-supply = <&vcc_io>; | ||
178 | vqmmc-supply = <&vcc_flash>; | ||
179 | status = "okay"; | ||
180 | }; | ||
181 | |||
182 | &i2c0 { | ||
183 | clock-frequency = <400000>; | ||
184 | status = "okay"; | ||
185 | |||
186 | vdd_cpu: syr827@40 { | ||
187 | compatible = "silergy,syr827"; | ||
188 | fcs,suspend-voltage-selector = <1>; | ||
189 | reg = <0x40>; | ||
190 | regulator-name = "vdd_cpu"; | ||
191 | regulator-min-microvolt = <850000>; | ||
192 | regulator-max-microvolt = <1350000>; | ||
193 | regulator-always-on; | ||
194 | regulator-boot-on; | ||
195 | vin-supply = <&vcc_sys>; | ||
196 | }; | ||
197 | |||
198 | vdd_gpu: syr828@41 { | ||
199 | compatible = "silergy,syr828"; | ||
200 | fcs,suspend-voltage-selector = <1>; | ||
201 | reg = <0x41>; | ||
202 | regulator-name = "vdd_gpu"; | ||
203 | regulator-min-microvolt = <850000>; | ||
204 | regulator-max-microvolt = <1350000>; | ||
205 | regulator-always-on; | ||
206 | vin-supply = <&vcc_sys>; | ||
207 | }; | ||
208 | |||
209 | hym8563: hym8563@51 { | ||
210 | compatible = "haoyu,hym8563"; | ||
211 | reg = <0x51>; | ||
212 | #clock-cells = <0>; | ||
213 | clock-frequency = <32768>; | ||
214 | clock-output-names = "xin32k"; | ||
215 | interrupt-parent = <&gpio7>; | ||
216 | interrupts = <4 IRQ_TYPE_EDGE_FALLING>; | ||
217 | pinctrl-names = "default"; | ||
218 | pinctrl-0 = <&rtc_int>; | ||
219 | }; | ||
220 | |||
221 | act8846: act8846@5a { | ||
222 | compatible = "active-semi,act8846"; | ||
223 | reg = <0x5a>; | ||
224 | pinctrl-names = "default"; | ||
225 | pinctrl-0 = <&pmic_vsel>, <&pwr_hold>; | ||
226 | system-power-controller; | ||
227 | |||
228 | regulators { | ||
229 | vcc_ddr: REG1 { | ||
230 | regulator-name = "vcc_ddr"; | ||
231 | regulator-min-microvolt = <1200000>; | ||
232 | regulator-max-microvolt = <1200000>; | ||
233 | regulator-always-on; | ||
234 | }; | ||
235 | |||
236 | vcc_io: REG2 { | ||
237 | regulator-name = "vcc_io"; | ||
238 | regulator-min-microvolt = <3300000>; | ||
239 | regulator-max-microvolt = <3300000>; | ||
240 | regulator-always-on; | ||
241 | }; | ||
242 | |||
243 | vdd_log: REG3 { | ||
244 | regulator-name = "vdd_log"; | ||
245 | regulator-min-microvolt = <1100000>; | ||
246 | regulator-max-microvolt = <1100000>; | ||
247 | regulator-always-on; | ||
248 | }; | ||
249 | |||
250 | vcc_20: REG4 { | ||
251 | regulator-name = "vcc_20"; | ||
252 | regulator-min-microvolt = <2000000>; | ||
253 | regulator-max-microvolt = <2000000>; | ||
254 | regulator-always-on; | ||
255 | }; | ||
256 | |||
257 | vccio_sd: REG5 { | ||
258 | regulator-name = "vccio_sd"; | ||
259 | regulator-min-microvolt = <3300000>; | ||
260 | regulator-max-microvolt = <3300000>; | ||
261 | regulator-always-on; | ||
262 | }; | ||
263 | |||
264 | vdd10_lcd: REG6 { | ||
265 | regulator-name = "vdd10_lcd"; | ||
266 | regulator-min-microvolt = <1000000>; | ||
267 | regulator-max-microvolt = <1000000>; | ||
268 | }; | ||
269 | |||
270 | vcca_18: REG7 { | ||
271 | regulator-name = "vcca_18"; | ||
272 | regulator-min-microvolt = <1800000>; | ||
273 | regulator-max-microvolt = <1800000>; | ||
274 | }; | ||
275 | |||
276 | vcca_33: REG8 { | ||
277 | regulator-name = "vcca_33"; | ||
278 | regulator-min-microvolt = <3300000>; | ||
279 | regulator-max-microvolt = <3300000>; | ||
280 | }; | ||
281 | |||
282 | vcc_lan: REG9 { | ||
283 | regulator-name = "vcc_lan"; | ||
284 | regulator-min-microvolt = <3300000>; | ||
285 | regulator-max-microvolt = <3300000>; | ||
286 | }; | ||
287 | |||
288 | vdd_10: REG10 { | ||
289 | regulator-name = "vdd_10"; | ||
290 | regulator-min-microvolt = <1000000>; | ||
291 | regulator-max-microvolt = <1000000>; | ||
292 | regulator-always-on; | ||
293 | }; | ||
294 | |||
295 | vcc_18: REG11 { | ||
296 | regulator-name = "vcc_18"; | ||
297 | regulator-min-microvolt = <1800000>; | ||
298 | regulator-max-microvolt = <1800000>; | ||
299 | regulator-always-on; | ||
300 | }; | ||
301 | |||
302 | vcc18_lcd: REG12 { | ||
303 | regulator-name = "vcc18_lcd"; | ||
304 | regulator-min-microvolt = <1800000>; | ||
305 | regulator-max-microvolt = <1800000>; | ||
306 | }; | ||
307 | }; | ||
308 | }; | ||
309 | }; | ||
310 | |||
311 | &i2c1 { | ||
312 | status = "okay"; | ||
313 | }; | ||
314 | |||
315 | &i2c2 { | ||
316 | status = "okay"; | ||
317 | }; | ||
318 | |||
319 | &i2c4 { | ||
320 | status = "okay"; | ||
321 | }; | ||
322 | |||
323 | &i2c5 { | ||
324 | status = "okay"; | ||
325 | }; | ||
326 | |||
327 | &pinctrl { | ||
328 | pcfg_output_high: pcfg-output-high { | ||
329 | output-high; | ||
330 | }; | ||
331 | |||
332 | pcfg_output_low: pcfg-output-low { | ||
333 | output-low; | ||
334 | }; | ||
335 | |||
336 | act8846 { | ||
337 | pwr_hold: pwr-hold { | ||
338 | rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_output_high>; | ||
339 | }; | ||
340 | }; | ||
341 | |||
342 | gmac { | ||
343 | phy_int: phy-int { | ||
344 | rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>; | ||
345 | }; | ||
346 | |||
347 | phy_pmeb: phy-pmeb { | ||
348 | rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>; | ||
349 | }; | ||
350 | |||
351 | phy_rst: phy-rst { | ||
352 | rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; | ||
353 | }; | ||
354 | }; | ||
355 | |||
356 | hym8563 { | ||
357 | rtc_int: rtc-int { | ||
358 | rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_up>; | ||
359 | }; | ||
360 | }; | ||
361 | |||
362 | keys { | ||
363 | pwr_key: pwr-key { | ||
364 | rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>; | ||
365 | }; | ||
366 | }; | ||
367 | |||
368 | leds { | ||
369 | power_led: power-led { | ||
370 | rockchip,pins = <8 2 RK_FUNC_GPIO &pcfg_pull_none>; | ||
371 | }; | ||
372 | |||
373 | work_led: work-led { | ||
374 | rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_none>; | ||
375 | }; | ||
376 | }; | ||
377 | |||
378 | sdmmc { | ||
379 | sdmmc_pwr: sdmmc-pwr { | ||
380 | rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; | ||
381 | }; | ||
382 | }; | ||
383 | |||
384 | usb_host { | ||
385 | host_vbus_drv: host-vbus-drv { | ||
386 | rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; | ||
387 | }; | ||
388 | |||
389 | usbhub_rst: usbhub-rst { | ||
390 | rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_output_high>; | ||
391 | }; | ||
392 | }; | ||
393 | |||
394 | usb_otg { | ||
395 | otg_vbus_drv: otg-vbus-drv { | ||
396 | rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>; | ||
397 | }; | ||
398 | }; | ||
399 | }; | ||
400 | |||
401 | &saradc { | ||
402 | vref-supply = <&vcc_18>; | ||
403 | status = "okay"; | ||
404 | }; | ||
405 | |||
406 | &sdio0 { | ||
407 | broken-cd; | ||
408 | bus-width = <4>; | ||
409 | disable-wp; | ||
410 | non-removable; | ||
411 | num-slots = <1>; | ||
412 | pinctrl-names = "default"; | ||
413 | pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>; | ||
414 | vmmc-supply = <&vcc_18>; | ||
415 | status = "okay"; | ||
416 | }; | ||
417 | |||
418 | &sdmmc { | ||
419 | bus-width = <4>; | ||
420 | cap-mmc-highspeed; | ||
421 | cap-sd-highspeed; | ||
422 | card-detect-delay = <200>; | ||
423 | disable-wp; | ||
424 | num-slots = <1>; | ||
425 | pinctrl-names = "default"; | ||
426 | pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; | ||
427 | vmmc-supply = <&vcc_sd>; | ||
428 | status = "okay"; | ||
429 | }; | ||
430 | |||
431 | &spi0 { | ||
432 | pinctrl-names = "default"; | ||
433 | pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>; | ||
434 | status = "okay"; | ||
435 | }; | ||
436 | |||
437 | &uart0 { | ||
438 | pinctrl-names = "default"; | ||
439 | pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; | ||
440 | status = "okay"; | ||
441 | }; | ||
442 | |||
443 | &uart1 { | ||
444 | status = "okay"; | ||
445 | }; | ||
446 | |||
447 | &uart2 { | ||
448 | status = "okay"; | ||
449 | }; | ||
450 | |||
451 | &uart3 { | ||
452 | status = "okay"; | ||
453 | }; | ||
454 | |||
455 | &usb_host1 { | ||
456 | pinctrl-names = "default"; | ||
457 | pinctrl-0 = <&usbhub_rst>; | ||
458 | status = "okay"; | ||
459 | }; | ||
460 | |||
461 | &usb_otg { | ||
462 | status = "okay"; | ||
463 | }; | ||
464 | |||
465 | &wdt { | ||
466 | status = "okay"; | ||
467 | }; | ||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index 2a878a35facc..37847c14b449 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi | |||
@@ -149,6 +149,19 @@ | |||
149 | clock-frequency = <24000000>; | 149 | clock-frequency = <24000000>; |
150 | }; | 150 | }; |
151 | 151 | ||
152 | timer: timer@ff810000 { | ||
153 | compatible = "rockchip,rk3288-timer"; | ||
154 | reg = <0xff810000 0x20>; | ||
155 | interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; | ||
156 | clocks = <&xin24m>, <&cru PCLK_TIMER>; | ||
157 | clock-names = "timer", "pclk"; | ||
158 | }; | ||
159 | |||
160 | display-subsystem { | ||
161 | compatible = "rockchip,display-subsystem"; | ||
162 | ports = <&vopl_out>, <&vopb_out>; | ||
163 | }; | ||
164 | |||
152 | sdmmc: dwmmc@ff0c0000 { | 165 | sdmmc: dwmmc@ff0c0000 { |
153 | compatible = "rockchip,rk3288-dw-mshc"; | 166 | compatible = "rockchip,rk3288-dw-mshc"; |
154 | clock-freq-min-max = <400000 150000000>; | 167 | clock-freq-min-max = <400000 150000000>; |
@@ -566,6 +579,28 @@ | |||
566 | status = "disabled"; | 579 | status = "disabled"; |
567 | }; | 580 | }; |
568 | 581 | ||
582 | vopb: vop@ff930000 { | ||
583 | compatible = "rockchip,rk3288-vop"; | ||
584 | reg = <0xff930000 0x19c>; | ||
585 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; | ||
586 | clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>; | ||
587 | clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; | ||
588 | resets = <&cru SRST_LCDC0_AXI>, <&cru SRST_LCDC0_AHB>, <&cru SRST_LCDC0_DCLK>; | ||
589 | reset-names = "axi", "ahb", "dclk"; | ||
590 | iommus = <&vopb_mmu>; | ||
591 | status = "disabled"; | ||
592 | |||
593 | vopb_out: port { | ||
594 | #address-cells = <1>; | ||
595 | #size-cells = <0>; | ||
596 | |||
597 | vopb_out_hdmi: endpoint@0 { | ||
598 | reg = <0>; | ||
599 | remote-endpoint = <&hdmi_in_vopb>; | ||
600 | }; | ||
601 | }; | ||
602 | }; | ||
603 | |||
569 | vopb_mmu: iommu@ff930300 { | 604 | vopb_mmu: iommu@ff930300 { |
570 | compatible = "rockchip,iommu"; | 605 | compatible = "rockchip,iommu"; |
571 | reg = <0xff930300 0x100>; | 606 | reg = <0xff930300 0x100>; |
@@ -575,6 +610,28 @@ | |||
575 | status = "disabled"; | 610 | status = "disabled"; |
576 | }; | 611 | }; |
577 | 612 | ||
613 | vopl: vop@ff940000 { | ||
614 | compatible = "rockchip,rk3288-vop"; | ||
615 | reg = <0xff940000 0x19c>; | ||
616 | interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; | ||
617 | clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>; | ||
618 | clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; | ||
619 | resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>; | ||
620 | reset-names = "axi", "ahb", "dclk"; | ||
621 | iommus = <&vopl_mmu>; | ||
622 | status = "disabled"; | ||
623 | |||
624 | vopl_out: port { | ||
625 | #address-cells = <1>; | ||
626 | #size-cells = <0>; | ||
627 | |||
628 | vopl_out_hdmi: endpoint@0 { | ||
629 | reg = <0>; | ||
630 | remote-endpoint = <&hdmi_in_vopl>; | ||
631 | }; | ||
632 | }; | ||
633 | }; | ||
634 | |||
578 | vopl_mmu: iommu@ff940300 { | 635 | vopl_mmu: iommu@ff940300 { |
579 | compatible = "rockchip,iommu"; | 636 | compatible = "rockchip,iommu"; |
580 | reg = <0xff940300 0x100>; | 637 | reg = <0xff940300 0x100>; |
@@ -584,6 +641,33 @@ | |||
584 | status = "disabled"; | 641 | status = "disabled"; |
585 | }; | 642 | }; |
586 | 643 | ||
644 | hdmi: hdmi@ff980000 { | ||
645 | compatible = "rockchip,rk3288-dw-hdmi"; | ||
646 | reg = <0xff980000 0x20000>; | ||
647 | reg-io-width = <4>; | ||
648 | ddc-i2c-bus = <&i2c5>; | ||
649 | rockchip,grf = <&grf>; | ||
650 | interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; | ||
651 | clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>; | ||
652 | clock-names = "iahb", "isfr"; | ||
653 | status = "disabled"; | ||
654 | |||
655 | ports { | ||
656 | hdmi_in: port { | ||
657 | #address-cells = <1>; | ||
658 | #size-cells = <0>; | ||
659 | hdmi_in_vopb: endpoint@0 { | ||
660 | reg = <0>; | ||
661 | remote-endpoint = <&vopb_out_hdmi>; | ||
662 | }; | ||
663 | hdmi_in_vopl: endpoint@1 { | ||
664 | reg = <1>; | ||
665 | remote-endpoint = <&vopl_out_hdmi>; | ||
666 | }; | ||
667 | }; | ||
668 | }; | ||
669 | }; | ||
670 | |||
587 | gic: interrupt-controller@ffc01000 { | 671 | gic: interrupt-controller@ffc01000 { |
588 | compatible = "arm,gic-400"; | 672 | compatible = "arm,gic-400"; |
589 | interrupt-controller; | 673 | interrupt-controller; |