Skip to content

Commit b8c564d

Browse files
openedevmmind
authored andcommitted
ARM: dts: rockchip: Add VMARC RK3288 SOM initial support
VMARC RK3288 SOM is a standard SMARC SOM design with Rockchip RK3288 SoC, which is designed by Vamrs. Specification: - Rockchip RK3288 - PMIC: RK808 - eMMC: 16GB/32GB/64GB - SD slot - 2xUSB-2.0, 1xUSB3.0 - USB-C for power supply - Ethernet - HDMI, MIPI-DSI/CSI, eDP Add initial support for VMARC RK3288 SOM, this would use with associated carrier board. Signed-off-by: Jagan Teki <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Heiko Stuebner <[email protected]>
1 parent 09ee479 commit b8c564d

File tree

1 file changed

+270
-0
lines changed

1 file changed

+270
-0
lines changed
Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
4+
* Copyright (c) 2019 Vamrs Limited
5+
* Copyright (c) 2019 Amarula Solutions(India)
6+
*/
7+
8+
#include <dt-bindings/gpio/gpio.h>
9+
#include <dt-bindings/pinctrl/rockchip.h>
10+
11+
/ {
12+
compatible = "vamrs,rk3288-vmarc-som", "rockchip,rk3288";
13+
14+
vccio_flash: vccio-flash-regulator {
15+
compatible = "regulator-fixed";
16+
regulator-name = "vccio_flash";
17+
regulator-min-microvolt = <1800000>;
18+
regulator-max-microvolt = <1800000>;
19+
vin-supply = <&vcc_io>;
20+
};
21+
};
22+
23+
&emmc {
24+
bus-width = <8>;
25+
cap-mmc-highspeed;
26+
disable-wp;
27+
non-removable;
28+
pinctrl-names = "default";
29+
pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
30+
vmmc-supply = <&vcc_io>;
31+
vqmmc-supply = <&vccio_flash>;
32+
status = "okay";
33+
};
34+
35+
&gmac {
36+
assigned-clocks = <&cru SCLK_MAC>;
37+
phy-supply = <&vcc_io>;
38+
snps,reset-gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
39+
};
40+
41+
&i2c0 {
42+
clock-frequency = <400000>;
43+
status = "okay";
44+
45+
rk808: pmic@1b {
46+
compatible = "rockchip,rk808";
47+
reg = <0x1b>;
48+
interrupt-parent = <&gpio0>;
49+
interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
50+
pinctrl-names = "default";
51+
pinctrl-0 = <&pmic_int &global_pwroff>;
52+
rockchip,system-power-controller;
53+
wakeup-source;
54+
#clock-cells = <1>;
55+
clock-output-names = "rk808-clkout1", "rk808-clkout2";
56+
57+
vcc1-supply = <&vcc5v0_sys>;
58+
vcc2-supply = <&vcc5v0_sys>;
59+
vcc3-supply = <&vcc5v0_sys>;
60+
vcc4-supply = <&vcc5v0_sys>;
61+
vcc6-supply = <&vcc5v0_sys>;
62+
vcc7-supply = <&vcc5v0_sys>;
63+
vcc8-supply = <&vcc_io>;
64+
vcc9-supply = <&vcc_io>;
65+
vcc10-supply = <&vcc5v0_sys>;
66+
vcc11-supply = <&vcc5v0_sys>;
67+
vcc12-supply = <&vcc_io>;
68+
vddio-supply = <&vcc_io>;
69+
70+
regulators {
71+
vdd_cpu: DCDC_REG1 {
72+
regulator-name = "vdd_arm";
73+
regulator-always-on;
74+
regulator-boot-on;
75+
regulator-min-microvolt = <750000>;
76+
regulator-max-microvolt = <1400000>;
77+
regulator-state-mem {
78+
regulator-off-in-suspend;
79+
};
80+
};
81+
82+
vdd_gpu: DCDC_REG2 {
83+
regulator-name = "vdd_gpu";
84+
regulator-always-on;
85+
regulator-boot-on;
86+
regulator-min-microvolt = <850000>;
87+
regulator-max-microvolt = <1250000>;
88+
regulator-ramp-delay = <6000>;
89+
regulator-state-mem {
90+
regulator-off-in-suspend;
91+
};
92+
};
93+
94+
vcc_ddr: DCDC_REG3 {
95+
regulator-name = "vcc_ddr";
96+
regulator-always-on;
97+
regulator-boot-on;
98+
regulator-state-mem {
99+
regulator-on-in-suspend;
100+
};
101+
};
102+
103+
vcc_io: DCDC_REG4 {
104+
regulator-name = "vcc_io";
105+
regulator-always-on;
106+
regulator-boot-on;
107+
regulator-min-microvolt = <3300000>;
108+
regulator-max-microvolt = <3300000>;
109+
regulator-state-mem {
110+
regulator-on-in-suspend;
111+
regulator-suspend-microvolt = <3300000>;
112+
};
113+
};
114+
115+
vcc_tp: LDO_REG1 {
116+
regulator-name = "vcc_tp";
117+
regulator-always-on;
118+
regulator-boot-on;
119+
regulator-min-microvolt = <3300000>;
120+
regulator-max-microvolt = <3300000>;
121+
regulator-state-mem {
122+
regulator-off-in-suspend;
123+
};
124+
};
125+
126+
vcca_codec: LDO_REG2 {
127+
regulator-name = "vcca_codec";
128+
regulator-always-on;
129+
regulator-boot-on;
130+
regulator-min-microvolt = <3300000>;
131+
regulator-max-microvolt = <3300000>;
132+
regulator-state-mem {
133+
regulator-on-in-suspend;
134+
regulator-suspend-microvolt = <3300000>;
135+
};
136+
};
137+
138+
vdd_10: LDO_REG3 {
139+
regulator-name = "vdd_10";
140+
regulator-always-on;
141+
regulator-boot-on;
142+
regulator-min-microvolt = <1000000>;
143+
regulator-max-microvolt = <1000000>;
144+
regulator-state-mem {
145+
regulator-on-in-suspend;
146+
regulator-suspend-microvolt = <1000000>;
147+
};
148+
};
149+
150+
vcc_wl: LDO_REG4 {
151+
regulator-name = "vcc_wl";
152+
regulator-always-on;
153+
regulator-boot-on;
154+
regulator-min-microvolt = <1800000>;
155+
regulator-max-microvolt = <1800000>;
156+
regulator-state-mem {
157+
regulator-on-in-suspend;
158+
};
159+
};
160+
161+
vccio_sd: LDO_REG5 {
162+
regulator-name = "vccio_sd";
163+
regulator-always-on;
164+
regulator-boot-on;
165+
regulator-min-microvolt = <1800000>;
166+
regulator-max-microvolt = <3300000>;
167+
regulator-state-mem {
168+
regulator-on-in-suspend;
169+
regulator-suspend-microvolt = <3300000>;
170+
};
171+
};
172+
173+
vdd10_lcd: LDO_REG6 {
174+
regulator-name = "vdd10_lcd";
175+
regulator-always-on;
176+
regulator-boot-on;
177+
regulator-min-microvolt = <1000000>;
178+
regulator-max-microvolt = <1000000>;
179+
regulator-state-mem {
180+
regulator-off-in-suspend;
181+
};
182+
};
183+
184+
vcc_18: LDO_REG7 {
185+
regulator-name = "vcc_18";
186+
regulator-always-on;
187+
regulator-boot-on;
188+
regulator-min-microvolt = <1800000>;
189+
regulator-max-microvolt = <1800000>;
190+
regulator-state-mem {
191+
regulator-on-in-suspend;
192+
regulator-suspend-microvolt = <1800000>;
193+
};
194+
};
195+
196+
vcc18_lcd: LDO_REG8 {
197+
regulator-name = "vcc18_lcd";
198+
regulator-always-on;
199+
regulator-boot-on;
200+
regulator-min-microvolt = <1800000>;
201+
regulator-max-microvolt = <1800000>;
202+
regulator-state-mem {
203+
regulator-off-in-suspend;
204+
};
205+
};
206+
207+
vcc_sd: SWITCH_REG1 {
208+
regulator-name = "vcc_sd";
209+
regulator-always-on;
210+
regulator-boot-on;
211+
regulator-state-mem {
212+
regulator-off-in-suspend;
213+
};
214+
};
215+
216+
vcc_lcd: SWITCH_REG2 {
217+
regulator-name = "vcc_lcd";
218+
regulator-always-on;
219+
regulator-boot-on;
220+
regulator-state-mem {
221+
regulator-off-in-suspend;
222+
};
223+
};
224+
};
225+
};
226+
};
227+
228+
&io_domains {
229+
bb-supply = <&vcc_io>;
230+
flash0-supply = <&vccio_flash>;
231+
gpio1830-supply = <&vcc_18>;
232+
gpio30-supply = <&vcc_io>;
233+
sdcard-supply = <&vccio_sd>;
234+
status = "okay";
235+
};
236+
237+
&pinctrl {
238+
pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
239+
drive-strength = <8>;
240+
};
241+
242+
pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
243+
bias-pull-up;
244+
drive-strength = <8>;
245+
};
246+
247+
pmic {
248+
pmic_int: pmic-int {
249+
rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
250+
};
251+
};
252+
253+
sdmmc {
254+
sdmmc_bus4: sdmmc-bus4 {
255+
rockchip,pins =
256+
<6 RK_PC0 1 &pcfg_pull_up_drv_8ma>,
257+
<6 RK_PC1 1 &pcfg_pull_up_drv_8ma>,
258+
<6 RK_PC2 1 &pcfg_pull_up_drv_8ma>,
259+
<6 RK_PC3 1 &pcfg_pull_up_drv_8ma>;
260+
};
261+
262+
sdmmc_clk: sdmmc-clk {
263+
rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_drv_8ma>;
264+
};
265+
266+
sdmmc_cmd: sdmmc-cmd {
267+
rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_8ma>;
268+
};
269+
};
270+
};

0 commit comments

Comments
 (0)