diff options
author | Wadim Egorov <w.egorov@phytec.de> | 2017-04-06 09:04:25 -0400 |
---|---|---|
committer | Heiko Stuebner <heiko@sntech.de> | 2017-04-06 17:38:18 -0400 |
commit | 81507732449076de35db3b5a439e4dfd548c6b5a (patch) | |
tree | 8922a1ba5d041ae6d7eff4fad525697fb458e1c5 | |
parent | e78939d7f7b9a6126215c10b5f1ab2cf69b0e4d3 (diff) |
ARM: dts: rockchip: Add support for PCM-947 carrier board
Add basic support for the PCM-947 carrier board, a RK3288 based development
board made by PHYTEC. This board works in a combination with
the phyCORE-RK3288 System on Module.
Following interfaces and devices are available on the PCM-947 carrier board:
- 2x UART
- micro SDMMC
- USB host and USB otg
- USB 3503 HSIC hub
- Ethernet
- 2nd alternative KSZ9031 ethernet phy
- Display connectors: PHYTEC LVDS, DDG LVDS, parallel signals, HDMI
- Parallel Camera CIF
- SGTL5000-32QFN audio codec
- 4x LEDs connected via PCA9533
- 2 user buttons
- Expansion connectors for WiFi and other modules
- RTC RV-4162-C7
- Resistive touch STMPE811
- EEPROM M24C32
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3288-phycore-rdk.dts | 298 |
2 files changed, 299 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index fb468493a70e..80c6f97e62ff 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -692,6 +692,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ | |||
692 | rk3288-firefly.dtb \ | 692 | rk3288-firefly.dtb \ |
693 | rk3288-firefly-reload.dtb \ | 693 | rk3288-firefly-reload.dtb \ |
694 | rk3288-miqi.dtb \ | 694 | rk3288-miqi.dtb \ |
695 | rk3288-phycore-rdk.dtb \ | ||
695 | rk3288-popmetal.dtb \ | 696 | rk3288-popmetal.dtb \ |
696 | rk3288-r89.dtb \ | 697 | rk3288-r89.dtb \ |
697 | rk3288-rock2-square.dtb \ | 698 | rk3288-rock2-square.dtb \ |
diff --git a/arch/arm/boot/dts/rk3288-phycore-rdk.dts b/arch/arm/boot/dts/rk3288-phycore-rdk.dts new file mode 100644 index 000000000000..3dda79579b51 --- /dev/null +++ b/arch/arm/boot/dts/rk3288-phycore-rdk.dts | |||
@@ -0,0 +1,298 @@ | |||
1 | /* | ||
2 | * Device tree file for Phytec PCM-947 carrier board | ||
3 | * Copyright (C) 2017 PHYTEC Messtechnik GmbH | ||
4 | * Author: Wadim Egorov <w.egorov@phytec.de> | ||
5 | * | ||
6 | * This file is dual-licensed: you can use it either under the terms | ||
7 | * of the GPL or the X11 license, at your option. Note that this dual | ||
8 | * licensing only applies to this file, and not this project as a | ||
9 | * whole. | ||
10 | * | ||
11 | * a) This file is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public License as | ||
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * Or, alternatively, | ||
22 | * | ||
23 | * b) Permission is hereby granted, free of charge, to any person | ||
24 | * obtaining a copy of this software and associated documentation | ||
25 | * files (the "Software"), to deal in the Software without | ||
26 | * restriction, including without limitation the rights to use, | ||
27 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
28 | * sell copies of the Software, and to permit persons to whom the | ||
29 | * Software is furnished to do so, subject to the following | ||
30 | * conditions: | ||
31 | * | ||
32 | * The above copyright notice and this permission notice shall be | ||
33 | * included in all copies or substantial portions of the Software. | ||
34 | * | ||
35 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
36 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
37 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
38 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
39 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
40 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
41 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
42 | * OTHER DEALINGS IN THE SOFTWARE. | ||
43 | */ | ||
44 | |||
45 | /dts-v1/; | ||
46 | |||
47 | #include <dt-bindings/input/input.h> | ||
48 | #include <dt-bindings/leds/leds-pca9532.h> | ||
49 | #include "rk3288-phycore-som.dtsi" | ||
50 | |||
51 | / { | ||
52 | model = "Phytec RK3288 PCM-947"; | ||
53 | compatible = "phytec,rk3288-pcm-947", "phytec,rk3288-phycore-som", "rockchip,rk3288"; | ||
54 | |||
55 | user_buttons: user-buttons { | ||
56 | compatible = "gpio-keys"; | ||
57 | pinctrl-names = "default"; | ||
58 | pinctrl-0 = <&user_button_pins>; | ||
59 | |||
60 | button@0 { | ||
61 | label = "home"; | ||
62 | linux,code = <KEY_HOME>; | ||
63 | gpios = <&gpio8 0 GPIO_ACTIVE_HIGH>; | ||
64 | wakeup-source; | ||
65 | }; | ||
66 | |||
67 | button@1 { | ||
68 | label = "menu"; | ||
69 | linux,code = <KEY_MENU>; | ||
70 | gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>; | ||
71 | wakeup-source; | ||
72 | }; | ||
73 | }; | ||
74 | |||
75 | vcc_host0_5v: usb-host0-regulator { | ||
76 | compatible = "regulator-fixed"; | ||
77 | gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>; | ||
78 | pinctrl-names = "default"; | ||
79 | pinctrl-0 = <&host0_vbus_drv>; | ||
80 | regulator-name = "vcc_host0_5v"; | ||
81 | regulator-min-microvolt = <5000000>; | ||
82 | regulator-max-microvolt = <5000000>; | ||
83 | regulator-always-on; | ||
84 | vin-supply = <&vdd_in_otg_out>; | ||
85 | }; | ||
86 | |||
87 | vcc_host1_5v: usb-host1-regulator { | ||
88 | compatible = "regulator-fixed"; | ||
89 | gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>; | ||
90 | pinctrl-names = "default"; | ||
91 | pinctrl-0 = <&host1_vbus_drv>; | ||
92 | regulator-name = "vcc_host1_5v"; | ||
93 | regulator-min-microvolt = <5000000>; | ||
94 | regulator-max-microvolt = <5000000>; | ||
95 | regulator-always-on; | ||
96 | vin-supply = <&vdd_in_otg_out>; | ||
97 | }; | ||
98 | |||
99 | vcc_otg_5v: usb-otg-regulator { | ||
100 | compatible = "regulator-fixed"; | ||
101 | gpio = <&gpio2 12 GPIO_ACTIVE_HIGH>; | ||
102 | pinctrl-names = "default"; | ||
103 | pinctrl-0 = <&otg_vbus_drv>; | ||
104 | regulator-name = "vcc_otg_5v"; | ||
105 | regulator-min-microvolt = <5000000>; | ||
106 | regulator-max-microvolt = <5000000>; | ||
107 | regulator-always-on; | ||
108 | vin-supply = <&vdd_in_otg_out>; | ||
109 | }; | ||
110 | }; | ||
111 | |||
112 | &gmac { | ||
113 | status = "okay"; | ||
114 | }; | ||
115 | |||
116 | &hdmi { | ||
117 | status = "okay"; | ||
118 | }; | ||
119 | |||
120 | &i2c1 { | ||
121 | status = "okay"; | ||
122 | |||
123 | touchscreen@44 { | ||
124 | compatible = "st,stmpe811"; | ||
125 | reg = <0x44>; | ||
126 | }; | ||
127 | |||
128 | adc@64 { | ||
129 | compatible = "maxim,max1037"; | ||
130 | reg = <0x64>; | ||
131 | }; | ||
132 | |||
133 | i2c_rtc: rtc@68 { | ||
134 | compatible = "rv4162"; | ||
135 | reg = <0x68>; | ||
136 | pinctrl-names = "default"; | ||
137 | pinctrl-0 = <&i2c_rtc_int>; | ||
138 | interrupt-parent = <&gpio5>; | ||
139 | interrupts = <10 0>; | ||
140 | }; | ||
141 | }; | ||
142 | |||
143 | &i2c3 { | ||
144 | status = "okay"; | ||
145 | |||
146 | i2c_eeprom_cb: eeprom@51 { | ||
147 | compatible = "atmel,24c32"; | ||
148 | reg = <0x51>; | ||
149 | pagesize = <32>; | ||
150 | }; | ||
151 | }; | ||
152 | |||
153 | &i2c4 { | ||
154 | status = "okay"; | ||
155 | |||
156 | /* PCA9533 - 4-bit LED dimmer */ | ||
157 | leddim: leddimmer@62 { | ||
158 | compatible = "nxp,pca9533"; | ||
159 | reg = <0x62>; | ||
160 | |||
161 | led1 { | ||
162 | label = "red:user1"; | ||
163 | linux,default-trigger = "none"; | ||
164 | type = <PCA9532_TYPE_LED>; | ||
165 | }; | ||
166 | |||
167 | led2 { | ||
168 | label = "green:user2"; | ||
169 | linux,default-trigger = "none"; | ||
170 | type = <PCA9532_TYPE_LED>; | ||
171 | }; | ||
172 | |||
173 | led3 { | ||
174 | label = "blue:user3"; | ||
175 | linux,default-trigger = "none"; | ||
176 | type = <PCA9532_TYPE_LED>; | ||
177 | }; | ||
178 | |||
179 | led4 { | ||
180 | label = "red:user4"; | ||
181 | linux,default-trigger = "none"; | ||
182 | type = <PCA9532_TYPE_LED>; | ||
183 | }; | ||
184 | }; | ||
185 | }; | ||
186 | |||
187 | &i2c5 { | ||
188 | status = "okay"; | ||
189 | }; | ||
190 | |||
191 | &pinctrl { | ||
192 | pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma { | ||
193 | bias-pull-up; | ||
194 | drive-strength = <12>; | ||
195 | }; | ||
196 | |||
197 | buttons { | ||
198 | user_button_pins: user-button-pins { | ||
199 | /* button 1 */ | ||
200 | rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_pull_up>, | ||
201 | /* button 2 */ | ||
202 | <8 0 RK_FUNC_GPIO &pcfg_pull_up>; | ||
203 | }; | ||
204 | }; | ||
205 | |||
206 | rv4162 { | ||
207 | i2c_rtc_int: i2c-rtc-int { | ||
208 | rockchip,pins = <5 10 RK_FUNC_GPIO &pcfg_pull_up>; | ||
209 | }; | ||
210 | }; | ||
211 | |||
212 | sdmmc { | ||
213 | /* | ||
214 | * Default drive strength isn't enough to achieve even | ||
215 | * high-speed mode on pcm-947 board so bump up to 12 mA. | ||
216 | */ | ||
217 | sdmmc_bus4: sdmmc-bus4 { | ||
218 | rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_12ma>, | ||
219 | <6 17 RK_FUNC_1 &pcfg_pull_up_drv_12ma>, | ||
220 | <6 18 RK_FUNC_1 &pcfg_pull_up_drv_12ma>, | ||
221 | <6 19 RK_FUNC_1 &pcfg_pull_up_drv_12ma>; | ||
222 | }; | ||
223 | |||
224 | sdmmc_clk: sdmmc-clk { | ||
225 | rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_12ma>; | ||
226 | }; | ||
227 | |||
228 | sdmmc_cmd: sdmmc-cmd { | ||
229 | rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_12ma>; | ||
230 | }; | ||
231 | |||
232 | sdmmc_pwr: sdmmc-pwr { | ||
233 | rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; | ||
234 | }; | ||
235 | }; | ||
236 | |||
237 | touchscreen { | ||
238 | ts_irq_pin: ts-irq-pin { | ||
239 | rockchip,pins = <5 15 RK_FUNC_GPIO &pcfg_pull_none>; | ||
240 | }; | ||
241 | }; | ||
242 | |||
243 | usb_host { | ||
244 | host0_vbus_drv: host0-vbus-drv { | ||
245 | rockchip,pins = <2 13 RK_FUNC_GPIO &pcfg_pull_none>; | ||
246 | }; | ||
247 | |||
248 | host1_vbus_drv: host1-vbus-drv { | ||
249 | rockchip,pins = <2 0 RK_FUNC_GPIO &pcfg_pull_none>; | ||
250 | }; | ||
251 | }; | ||
252 | |||
253 | usb_otg { | ||
254 | otg_vbus_drv: otg-vbus-drv { | ||
255 | rockchip,pins = <2 12 RK_FUNC_GPIO &pcfg_pull_none>; | ||
256 | }; | ||
257 | }; | ||
258 | }; | ||
259 | |||
260 | &sdmmc { | ||
261 | bus-width = <4>; | ||
262 | cap-mmc-highspeed; | ||
263 | cap-sd-highspeed; | ||
264 | card-detect-delay = <200>; | ||
265 | disable-wp; | ||
266 | num-slots = <1>; | ||
267 | pinctrl-names = "default"; | ||
268 | pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; | ||
269 | vmmc-supply = <&vdd_io_sd>; | ||
270 | vqmmc-supply = <&vdd_io_sd>; | ||
271 | status = "okay"; | ||
272 | }; | ||
273 | |||
274 | &uart0 { | ||
275 | pinctrl-names = "default"; | ||
276 | pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; | ||
277 | status = "okay"; | ||
278 | }; | ||
279 | |||
280 | &uart2 { | ||
281 | status = "okay"; | ||
282 | }; | ||
283 | |||
284 | &usbphy { | ||
285 | status = "okay"; | ||
286 | }; | ||
287 | |||
288 | &usb_host0_ehci { | ||
289 | status = "okay"; | ||
290 | }; | ||
291 | |||
292 | &usb_host1 { | ||
293 | status = "okay"; | ||
294 | }; | ||
295 | |||
296 | &usb_otg { | ||
297 | status = "okay"; | ||
298 | }; | ||