1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/leds/common.h>
6 #include <dt-bindings/pinctrl/rockchip.h>
7 #include <dt-bindings/soc/rockchip,vop2.h>
11 model = "Radxa ROCK3 Model A";
12 compatible = "radxa,rock3a", "rockchip,rk3568";
21 stdout-path = "serial2:1500000n8";
25 compatible = "hdmi-connector";
29 hdmi_con_in: endpoint {
30 remote-endpoint = <&hdmi_out_con>;
36 compatible = "gpio-leds";
39 gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
40 function = LED_FUNCTION_HEARTBEAT;
41 color = <LED_COLOR_ID_BLUE>;
42 linux,default-trigger = "heartbeat";
43 pinctrl-names = "default";
44 pinctrl-0 = <&led_user_en>;
49 compatible = "simple-audio-card";
50 simple-audio-card,format = "i2s";
51 simple-audio-card,name = "Analog RK809";
52 simple-audio-card,mclk-fs = <256>;
54 simple-audio-card,cpu {
55 sound-dai = <&i2s1_8ch>;
58 simple-audio-card,codec {
63 vcc12v_dcin: vcc12v-dcin {
64 compatible = "regulator-fixed";
65 regulator-name = "vcc12v_dcin";
70 vcc3v3_pcie: vcc3v3-pcie-regulator {
71 compatible = "regulator-fixed";
73 gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
74 pinctrl-names = "default";
75 pinctrl-0 = <&pcie_enable_h>;
76 regulator-name = "vcc3v3_pcie";
77 regulator-min-microvolt = <3300000>;
78 regulator-max-microvolt = <3300000>;
79 vin-supply = <&vcc5v0_sys>;
82 vcc3v3_sys: vcc3v3-sys {
83 compatible = "regulator-fixed";
84 regulator-name = "vcc3v3_sys";
87 regulator-min-microvolt = <3300000>;
88 regulator-max-microvolt = <3300000>;
89 vin-supply = <&vcc12v_dcin>;
92 vcc5v0_sys: vcc5v0-sys {
93 compatible = "regulator-fixed";
94 regulator-name = "vcc5v0_sys";
97 regulator-min-microvolt = <5000000>;
98 regulator-max-microvolt = <5000000>;
99 vin-supply = <&vcc12v_dcin>;
102 vcc5v0_usb: vcc5v0-usb {
103 compatible = "regulator-fixed";
104 regulator-name = "vcc5v0_usb";
107 regulator-min-microvolt = <5000000>;
108 regulator-max-microvolt = <5000000>;
109 vin-supply = <&vcc12v_dcin>;
112 vcc5v0_usb_host: vcc5v0-usb-host {
113 compatible = "regulator-fixed";
115 gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
116 pinctrl-names = "default";
117 pinctrl-0 = <&vcc5v0_usb_host_en>;
118 regulator-name = "vcc5v0_usb_host";
119 regulator-min-microvolt = <5000000>;
120 regulator-max-microvolt = <5000000>;
121 vin-supply = <&vcc5v0_usb>;
124 vcc5v0_usb_hub: vcc5v0-usb-hub-regulator {
125 compatible = "regulator-fixed";
127 gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
128 pinctrl-names = "default";
129 pinctrl-0 = <&vcc5v0_usb_hub_en>;
130 regulator-name = "vcc5v0_usb_hub";
132 vin-supply = <&vcc5v0_usb>;
135 vcc5v0_usb_otg: vcc5v0-usb-otg-regulator {
136 compatible = "regulator-fixed";
138 gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
139 pinctrl-names = "default";
140 pinctrl-0 = <&vcc5v0_usb_otg_en>;
141 regulator-name = "vcc5v0_usb_otg";
142 regulator-min-microvolt = <5000000>;
143 regulator-max-microvolt = <5000000>;
144 vin-supply = <&vcc5v0_usb>;
148 compatible = "regulator-fixed";
150 gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
151 pinctrl-names = "default";
152 pinctrl-0 = <&vcc_cam_en>;
153 regulator-name = "vcc_cam";
154 regulator-min-microvolt = <3300000>;
155 regulator-max-microvolt = <3300000>;
156 vin-supply = <&vcc3v3_sys>;
158 regulator-state-mem {
159 regulator-off-in-suspend;
164 compatible = "regulator-fixed";
166 gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
167 pinctrl-names = "default";
168 pinctrl-0 = <&vcc_mipi_en>;
169 regulator-name = "vcc_mipi";
170 regulator-min-microvolt = <3300000>;
171 regulator-max-microvolt = <3300000>;
172 vin-supply = <&vcc3v3_sys>;
174 regulator-state-mem {
175 regulator-off-in-suspend;
193 cpu-supply = <&vdd_cpu>;
197 cpu-supply = <&vdd_cpu>;
201 cpu-supply = <&vdd_cpu>;
205 cpu-supply = <&vdd_cpu>;
209 assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
210 assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>;
211 assigned-clock-rates = <0>, <125000000>;
212 clock_in_out = "output";
213 phy-handle = <&rgmii_phy1>;
214 phy-mode = "rgmii-id";
215 pinctrl-names = "default";
216 pinctrl-0 = <&gmac1m1_miim
225 mali-supply = <&vdd_gpu>;
230 avdd-0v9-supply = <&vdda0v9_image>;
231 avdd-1v8-supply = <&vcca1v8_image>;
236 hdmi_in_vp0: endpoint {
237 remote-endpoint = <&vp0_out_hdmi>;
242 hdmi_out_con: endpoint {
243 remote-endpoint = <&hdmi_con_in>;
254 vdd_cpu: regulator@1c {
255 compatible = "tcs,tcs4525";
257 fcs,suspend-voltage-selector = <1>;
258 regulator-name = "vdd_cpu";
261 regulator-min-microvolt = <800000>;
262 regulator-max-microvolt = <1150000>;
263 regulator-ramp-delay = <2300>;
264 vin-supply = <&vcc5v0_sys>;
266 regulator-state-mem {
267 regulator-off-in-suspend;
272 compatible = "rockchip,rk809";
274 interrupt-parent = <&gpio0>;
275 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
276 assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
277 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
279 clock-names = "mclk";
280 clocks = <&cru I2S1_MCLKOUT_TX>;
281 pinctrl-names = "default";
282 pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>;
283 rockchip,system-power-controller;
284 #sound-dai-cells = <0>;
285 vcc1-supply = <&vcc3v3_sys>;
286 vcc2-supply = <&vcc3v3_sys>;
287 vcc3-supply = <&vcc3v3_sys>;
288 vcc4-supply = <&vcc3v3_sys>;
289 vcc5-supply = <&vcc3v3_sys>;
290 vcc6-supply = <&vcc3v3_sys>;
291 vcc7-supply = <&vcc3v3_sys>;
292 vcc8-supply = <&vcc3v3_sys>;
293 vcc9-supply = <&vcc3v3_sys>;
297 vdd_logic: DCDC_REG1 {
298 regulator-name = "vdd_logic";
301 regulator-init-microvolt = <900000>;
302 regulator-initial-mode = <0x2>;
303 regulator-min-microvolt = <500000>;
304 regulator-max-microvolt = <1350000>;
305 regulator-ramp-delay = <6001>;
307 regulator-state-mem {
308 regulator-off-in-suspend;
313 regulator-name = "vdd_gpu";
315 regulator-init-microvolt = <900000>;
316 regulator-initial-mode = <0x2>;
317 regulator-min-microvolt = <500000>;
318 regulator-max-microvolt = <1350000>;
319 regulator-ramp-delay = <6001>;
321 regulator-state-mem {
322 regulator-off-in-suspend;
327 regulator-name = "vcc_ddr";
330 regulator-initial-mode = <0x2>;
332 regulator-state-mem {
333 regulator-on-in-suspend;
338 regulator-name = "vdd_npu";
339 regulator-init-microvolt = <900000>;
340 regulator-initial-mode = <0x2>;
341 regulator-min-microvolt = <500000>;
342 regulator-max-microvolt = <1350000>;
343 regulator-ramp-delay = <6001>;
345 regulator-state-mem {
346 regulator-off-in-suspend;
351 regulator-name = "vcc_1v8";
354 regulator-min-microvolt = <1800000>;
355 regulator-max-microvolt = <1800000>;
357 regulator-state-mem {
358 regulator-off-in-suspend;
362 vdda0v9_image: LDO_REG1 {
363 regulator-name = "vdda0v9_image";
364 regulator-min-microvolt = <900000>;
365 regulator-max-microvolt = <900000>;
367 regulator-state-mem {
368 regulator-off-in-suspend;
373 regulator-name = "vdda_0v9";
376 regulator-min-microvolt = <900000>;
377 regulator-max-microvolt = <900000>;
379 regulator-state-mem {
380 regulator-off-in-suspend;
384 vdda0v9_pmu: LDO_REG3 {
385 regulator-name = "vdda0v9_pmu";
388 regulator-min-microvolt = <900000>;
389 regulator-max-microvolt = <900000>;
391 regulator-state-mem {
392 regulator-on-in-suspend;
393 regulator-suspend-microvolt = <900000>;
397 vccio_acodec: LDO_REG4 {
398 regulator-name = "vccio_acodec";
400 regulator-min-microvolt = <3300000>;
401 regulator-max-microvolt = <3300000>;
403 regulator-state-mem {
404 regulator-off-in-suspend;
409 regulator-name = "vccio_sd";
410 regulator-min-microvolt = <1800000>;
411 regulator-max-microvolt = <3300000>;
413 regulator-state-mem {
414 regulator-off-in-suspend;
418 vcc3v3_pmu: LDO_REG6 {
419 regulator-name = "vcc3v3_pmu";
422 regulator-min-microvolt = <3300000>;
423 regulator-max-microvolt = <3300000>;
425 regulator-state-mem {
426 regulator-on-in-suspend;
427 regulator-suspend-microvolt = <3300000>;
432 regulator-name = "vcca_1v8";
435 regulator-min-microvolt = <1800000>;
436 regulator-max-microvolt = <1800000>;
438 regulator-state-mem {
439 regulator-off-in-suspend;
443 vcca1v8_pmu: LDO_REG8 {
444 regulator-name = "vcca1v8_pmu";
447 regulator-min-microvolt = <1800000>;
448 regulator-max-microvolt = <1800000>;
450 regulator-state-mem {
451 regulator-on-in-suspend;
452 regulator-suspend-microvolt = <1800000>;
456 vcca1v8_image: LDO_REG9 {
457 regulator-name = "vcca1v8_image";
458 regulator-min-microvolt = <1800000>;
459 regulator-max-microvolt = <1800000>;
461 regulator-state-mem {
462 regulator-off-in-suspend;
466 vcc_3v3: SWITCH_REG1 {
467 regulator-name = "vcc_3v3";
471 regulator-state-mem {
472 regulator-off-in-suspend;
476 vcc3v3_sd: SWITCH_REG2 {
477 regulator-name = "vcc3v3_sd";
479 regulator-state-mem {
480 regulator-off-in-suspend;
492 pinctrl-names = "default";
493 pinctrl-0 = <&i2c3m1_xfer>;
498 pinctrl-names = "default";
499 pinctrl-0 = <&i2c4m1_xfer>;
507 compatible = "haoyu,hym8563";
509 interrupt-parent = <&gpio0>;
510 interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
512 clock-output-names = "rtcic_32kout";
513 pinctrl-names = "default";
514 pinctrl-0 = <&hym8563_int>;
524 pinctrl-names = "default";
525 pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>;
526 rockchip,trcm-sync-tx-only;
531 rgmii_phy1: ethernet-phy@0 {
532 compatible = "ethernet-phy-ieee802.3-c22";
534 pinctrl-names = "default";
535 pinctrl-0 = <ð_phy_rst>;
536 reset-assert-us = <20000>;
537 reset-deassert-us = <100000>;
538 reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
543 pinctrl-names = "default";
544 pinctrl-0 = <&pcie_reset_h>;
545 reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
546 vpcie3v3-supply = <&vcc3v3_pcie>;
552 vcc_cam_en: vcc_cam_en {
553 rockchip,pins = <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
558 vcc_mipi_en: vcc_mipi_en {
559 rockchip,pins = <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
564 eth_phy_rst: eth_phy_rst {
565 rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
570 hym8563_int: hym8563-int {
571 rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
576 led_user_en: led_user_en {
577 rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
582 pcie_enable_h: pcie-enable-h {
583 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
586 pcie_reset_h: pcie-reset-h {
587 rockchip,pins = <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
594 <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
599 vcc5v0_usb_host_en: vcc5v0_usb_host_en {
600 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
602 vcc5v0_usb_hub_en: vcc5v0_usb_hub_en {
603 rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
605 vcc5v0_usb_otg_en: vcc5v0_usb_otg_en {
606 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
612 pmuio1-supply = <&vcc3v3_pmu>;
613 pmuio2-supply = <&vcc3v3_pmu>;
614 vccio1-supply = <&vccio_acodec>;
615 vccio2-supply = <&vcc_1v8>;
616 vccio3-supply = <&vccio_sd>;
617 vccio4-supply = <&vcc_1v8>;
618 vccio5-supply = <&vcc_3v3>;
619 vccio6-supply = <&vcc_1v8>;
620 vccio7-supply = <&vcc_3v3>;
625 vref-supply = <&vcca_1v8>;
631 max-frequency = <200000000>;
633 pinctrl-names = "default";
634 pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
635 vmmc-supply = <&vcc_3v3>;
636 vqmmc-supply = <&vcc_1v8>;
643 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
645 pinctrl-names = "default";
646 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
648 vmmc-supply = <&vcc3v3_sd>;
649 vqmmc-supply = <&vccio_sd>;
654 rockchip,hw-tshut-mode = <1>;
655 rockchip,hw-tshut-polarity = <0>;
672 extcon = <&usb2phy0>;
693 phy-supply = <&vcc5v0_usb_host>;
698 phy-supply = <&vcc5v0_usb_otg>;
707 phy-supply = <&vcc5v0_usb_host>;
712 phy-supply = <&vcc5v0_usb_host>;
717 assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
718 assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
727 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
728 reg = <ROCKCHIP_VOP2_EP_HDMI0>;
729 remote-endpoint = <&hdmi_in_vp0>;