1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2018 Collabora Ltd.
4 * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd.
6 * Schematics available at https://dl.vamrs.com/products/ficus/docs/hw
10 #include "rk3399.dtsi"
11 #include "rk3399-opp.dtsi"
14 model = "96boards RK3399 Ficus";
15 compatible = "vamrs,ficus", "rockchip,rk3399";
18 stdout-path = "serial2:1500000n8";
21 clkin_gmac: external-gmac-clock {
22 compatible = "fixed-clock";
23 clock-frequency = <125000000>;
24 clock-output-names = "clkin_gmac";
28 vcc1v8_s0: vcc1v8-s0 {
29 compatible = "regulator-fixed";
30 regulator-name = "vcc1v8_s0";
31 regulator-min-microvolt = <1800000>;
32 regulator-max-microvolt = <1800000>;
37 compatible = "regulator-fixed";
38 regulator-name = "vcc_sys";
39 regulator-min-microvolt = <5000000>;
40 regulator-max-microvolt = <5000000>;
44 vcc3v3_sys: vcc3v3-sys {
45 compatible = "regulator-fixed";
46 regulator-name = "vcc3v3_sys";
47 regulator-min-microvolt = <3300000>;
48 regulator-max-microvolt = <3300000>;
50 vin-supply = <&vcc_sys>;
53 vcc3v3_pcie: vcc3v3-pcie-regulator {
54 compatible = "regulator-fixed";
56 gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>;
57 pinctrl-names = "default";
58 pinctrl-0 = <&pcie_drv>;
60 regulator-name = "vcc3v3_pcie";
61 regulator-min-microvolt = <3300000>;
62 regulator-max-microvolt = <3300000>;
63 vin-supply = <&vcc3v3_sys>;
66 vcc5v0_host: vcc5v0-host-regulator {
67 compatible = "regulator-fixed";
69 gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
70 pinctrl-names = "default";
71 pinctrl-0 = <&host_vbus_drv>;
72 regulator-name = "vcc5v0_host";
73 regulator-min-microvolt = <5000000>;
74 regulator-max-microvolt = <5000000>;
76 vin-supply = <&vcc_sys>;
81 cpu-supply = <&vdd_cpu_l>;
85 cpu-supply = <&vdd_cpu_l>;
89 cpu-supply = <&vdd_cpu_l>;
93 cpu-supply = <&vdd_cpu_l>;
97 cpu-supply = <&vdd_cpu_b>;
101 cpu-supply = <&vdd_cpu_b>;
109 assigned-clocks = <&cru SCLK_RMII_SRC>;
110 assigned-clock-parents = <&clkin_gmac>;
111 clock_in_out = "input";
112 phy-supply = <&vcc3v3_sys>;
114 pinctrl-names = "default";
115 pinctrl-0 = <&rgmii_pins>;
116 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
117 snps,reset-active-low;
118 snps,reset-delays-us = <0 10000 50000>;
125 ddc-i2c-bus = <&i2c3>;
126 pinctrl-names = "default";
127 pinctrl-0 = <&hdmi_cec>;
132 clock-frequency = <400000>;
133 i2c-scl-rising-time-ns = <168>;
134 i2c-scl-falling-time-ns = <4>;
137 vdd_cpu_b: regulator@40 {
138 compatible = "silergy,syr827";
140 fcs,suspend-voltage-selector = <1>;
141 regulator-name = "vdd_cpu_b";
142 regulator-min-microvolt = <712500>;
143 regulator-max-microvolt = <1500000>;
144 regulator-ramp-delay = <1000>;
147 vin-supply = <&vcc_sys>;
150 regulator-state-mem {
151 regulator-off-in-suspend;
155 vdd_gpu: regulator@41 {
156 compatible = "silergy,syr828";
158 fcs,suspend-voltage-selector = <1>;
159 regulator-name = "vdd_gpu";
160 regulator-min-microvolt = <712500>;
161 regulator-max-microvolt = <1500000>;
162 regulator-ramp-delay = <1000>;
165 vin-supply = <&vcc_sys>;
166 regulator-state-mem {
167 regulator-off-in-suspend;
172 compatible = "rockchip,rk808";
174 interrupt-parent = <&gpio1>;
175 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
176 pinctrl-names = "default";
177 pinctrl-0 = <&pmic_int_l>;
178 rockchip,system-power-controller;
181 clock-output-names = "xin32k", "rk808-clkout2";
183 vcc1-supply = <&vcc_sys>;
184 vcc2-supply = <&vcc_sys>;
185 vcc3-supply = <&vcc_sys>;
186 vcc4-supply = <&vcc_sys>;
187 vcc6-supply = <&vcc_sys>;
188 vcc7-supply = <&vcc_sys>;
189 vcc8-supply = <&vcc3v3_sys>;
190 vcc9-supply = <&vcc_sys>;
191 vcc10-supply = <&vcc_sys>;
192 vcc11-supply = <&vcc_sys>;
193 vcc12-supply = <&vcc3v3_sys>;
194 vddio-supply = <&vcc_1v8>;
197 vdd_center: DCDC_REG1 {
198 regulator-name = "vdd_center";
199 regulator-min-microvolt = <750000>;
200 regulator-max-microvolt = <1350000>;
203 regulator-state-mem {
204 regulator-off-in-suspend;
208 vdd_cpu_l: DCDC_REG2 {
209 regulator-name = "vdd_cpu_l";
210 regulator-min-microvolt = <750000>;
211 regulator-max-microvolt = <1350000>;
214 regulator-state-mem {
215 regulator-off-in-suspend;
220 regulator-name = "vcc_ddr";
223 regulator-state-mem {
224 regulator-on-in-suspend;
229 regulator-name = "vcc_1v8";
230 regulator-min-microvolt = <1800000>;
231 regulator-max-microvolt = <1800000>;
234 regulator-state-mem {
235 regulator-on-in-suspend;
236 regulator-suspend-microvolt = <1800000>;
240 vcc1v8_dvp: LDO_REG1 {
241 regulator-name = "vcc1v8_dvp";
242 regulator-min-microvolt = <1800000>;
243 regulator-max-microvolt = <1800000>;
246 regulator-state-mem {
247 regulator-on-in-suspend;
248 regulator-suspend-microvolt = <1800000>;
252 vcca1v8_hdmi: LDO_REG2 {
253 regulator-name = "vcca1v8_hdmi";
254 regulator-min-microvolt = <1800000>;
255 regulator-max-microvolt = <1800000>;
258 regulator-state-mem {
259 regulator-on-in-suspend;
260 regulator-suspend-microvolt = <1800000>;
265 regulator-name = "vcca_1v8";
266 regulator-min-microvolt = <1800000>;
267 regulator-max-microvolt = <1800000>;
270 regulator-state-mem {
271 regulator-on-in-suspend;
272 regulator-suspend-microvolt = <1800000>;
277 regulator-name = "vcc_sd";
278 regulator-min-microvolt = <1800000>;
279 regulator-max-microvolt = <3300000>;
282 regulator-state-mem {
283 regulator-on-in-suspend;
284 regulator-suspend-microvolt = <3300000>;
288 vcc3v0_sd: LDO_REG5 {
289 regulator-name = "vcc3v0_sd";
290 regulator-min-microvolt = <3000000>;
291 regulator-max-microvolt = <3000000>;
294 regulator-state-mem {
295 regulator-on-in-suspend;
296 regulator-suspend-microvolt = <3000000>;
301 regulator-name = "vcc_1v5";
302 regulator-min-microvolt = <1500000>;
303 regulator-max-microvolt = <1500000>;
306 regulator-state-mem {
307 regulator-on-in-suspend;
308 regulator-suspend-microvolt = <1500000>;
312 vcca0v9_hdmi: LDO_REG7 {
313 regulator-name = "vcca0v9_hdmi";
314 regulator-min-microvolt = <900000>;
315 regulator-max-microvolt = <900000>;
318 regulator-state-mem {
319 regulator-on-in-suspend;
320 regulator-suspend-microvolt = <900000>;
325 regulator-name = "vcc_3v0";
326 regulator-min-microvolt = <3000000>;
327 regulator-max-microvolt = <3000000>;
330 regulator-state-mem {
331 regulator-on-in-suspend;
332 regulator-suspend-microvolt = <3000000>;
336 vcc3v3_s3: SWITCH_REG1 {
337 regulator-name = "vcc3v3_s3";
340 regulator-state-mem {
341 regulator-on-in-suspend;
345 vcc3v3_s0: SWITCH_REG2 {
346 regulator-name = "vcc3v3_s0";
349 regulator-state-mem {
350 regulator-on-in-suspend;
374 bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */
375 audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */
376 sdmmc-supply = <&vcc_sd>; /* sdmmc_gpio4b_ms */
377 gpio1830-supply = <&vcc_3v0>; /* gpio1833_gpio4cd_ms */
386 ep-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_HIGH>;
388 pinctrl-names = "default";
389 pinctrl-0 = <&pcie_clkreqn_cpm>;
390 vpcie3v3-supply = <&vcc3v3_pcie>;
395 pmu1830-supply = <&vcc_1v8>;
401 rgmii_sleep_pins: rgmii-sleep-pins {
403 <3 15 RK_FUNC_GPIO &pcfg_output_low>;
408 sdmmc_bus1: sdmmc-bus1 {
410 <4 8 RK_FUNC_1 &pcfg_pull_up_8ma>;
413 sdmmc_bus4: sdmmc-bus4 {
415 <4 8 RK_FUNC_1 &pcfg_pull_up_8ma>,
416 <4 9 RK_FUNC_1 &pcfg_pull_up_8ma>,
417 <4 10 RK_FUNC_1 &pcfg_pull_up_8ma>,
418 <4 11 RK_FUNC_1 &pcfg_pull_up_8ma>;
421 sdmmc_clk: sdmmc-clk {
423 <4 12 RK_FUNC_1 &pcfg_pull_none_18ma>;
426 sdmmc_cmd: sdmmc-cmd {
428 <4 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
435 <1 24 RK_FUNC_GPIO &pcfg_pull_none>;
440 pmic_int_l: pmic-int-l {
442 <1 21 RK_FUNC_GPIO &pcfg_pull_up>;
445 vsel1_gpio: vsel1-gpio {
447 <1 17 RK_FUNC_GPIO &pcfg_pull_down>;
450 vsel2_gpio: vsel2-gpio {
452 <1 14 RK_FUNC_GPIO &pcfg_pull_down>;
457 host_vbus_drv: host-vbus-drv {
459 <4 27 RK_FUNC_GPIO &pcfg_pull_none>;
475 mmc-hs400-enhanced-strobe;
484 clock-frequency = <100000000>;
485 clock-freq-min-max = <100000 100000000>;
488 vqmmc-supply = <&vcc_sd>;
489 card-detect-delay = <800>;
490 pinctrl-names = "default";
491 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
512 phy-supply = <&vcc5v0_host>;
517 phy-supply = <&vcc5v0_host>;
530 pinctrl-names = "default";
531 pinctrl-0 = <&uart0_xfer &uart0_cts>;