1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/input.h>
7 #include <dt-bindings/leds/common.h>
8 #include <dt-bindings/pinctrl/rockchip.h>
9 #include <dt-bindings/soc/rockchip,vop2.h>
10 #include <dt-bindings/soc/rockchip,boot-mode.h>
11 #include "rk3566.dtsi"
14 model = "LCKFB Taishan Pi RK3566";
15 compatible = "lckfb,tspi-rk3566", "rockchip,rk3566";
24 stdout-path = "serial2:1500000n8";
32 ramoops: ramoops@110000 {
33 compatible = "ramoops";
34 reg = <0 0x110000 0 0xf0000>;
35 console-size = <0x80000>;
36 ftrace-size = <0x00000>;
37 pmsg-size = <0x50000>;
38 record-size = <0x20000>;
43 compatible = "adc-keys";
44 io-channels = <&saradc 0>;
45 io-channel-names = "buttons";
46 keyup-threshold-microvolt = <1800000>;
47 poll-interval = <100>;
51 linux,code = <KEY_RESTART>;
52 press-threshold-microvolt = <108>;
57 compatible = "hdmi-connector";
61 hdmi_con_in: endpoint {
62 remote-endpoint = <&hdmi_out_con>;
68 compatible = "gpio-leds";
70 rgb_led_r: rgb-led-r {
71 color = <LED_COLOR_ID_RED>;
72 gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>;
76 rgb_led_g: rgb-led-g {
77 gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_LOW>;
78 color = <LED_COLOR_ID_GREEN>;
79 label = "status-green";
82 rgb_led_b: rgb-led-b {
83 gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>;
84 color = <LED_COLOR_ID_BLUE>;
85 label = "status-blue";
89 multi_leds: multi-led {
90 compatible = "leds-group-multicolor";
91 color = <LED_COLOR_ID_RGB>;
93 function = LED_FUNCTION_INDICATOR;
94 leds = <&rgb_led_r>, <&rgb_led_g>, <&rgb_led_b>;
97 vcc12v0_dcin: regulator-12v0-dcin {
98 compatible = "regulator-fixed";
99 regulator-name = "vcc12v0_dcin";
102 regulator-min-microvolt = <12000000>;
103 regulator-max-microvolt = <12000000>;
106 vcc3v3_sys: regulator-3v3-vcc-sys {
107 compatible = "regulator-fixed";
108 regulator-name = "vcc3v3_sys";
111 regulator-min-microvolt = <3300000>;
112 regulator-max-microvolt = <3300000>;
113 vin-supply = <&vcc5v0_sys>;
116 vcc5v0_sys: regulator-5v0-vcc-sys {
117 compatible = "regulator-fixed";
118 regulator-name = "vcc5v0_sys";
121 regulator-min-microvolt = <5000000>;
122 regulator-max-microvolt = <5000000>;
123 vin-supply = <&vcc12v0_dcin>;
126 vcc5v0_host: regulator-5v0-vcc-host {
127 compatible = "regulator-fixed";
129 gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;
130 pinctrl-names = "default";
131 pinctrl-0 = <&vcc5v0_host_en>;
132 regulator-name = "vcc5v0_host";
133 regulator-min-microvolt = <5000000>;
134 regulator-max-microvolt = <5000000>;
135 vin-supply = <&vcc5v0_sys>;
138 sdio_pwrseq: sdio-pwrseq {
139 compatible = "mmc-pwrseq-simple";
141 clock-names = "ext_clock";
142 pinctrl-names = "default";
143 pinctrl-0 = <&wifi_enable_h>;
144 post-power-on-delay-ms = <200>;
145 reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
149 compatible = "simple-audio-card";
150 simple-audio-card,format = "i2s";
151 simple-audio-card,name = "Analog RK809";
152 simple-audio-card,mclk-fs = <256>;
154 simple-audio-card,cpu {
155 sound-dai = <&i2s1_8ch>;
158 simple-audio-card,codec {
159 sound-dai = <&rk809>;
173 cpu-supply = <&vdd_cpu>;
177 cpu-supply = <&vdd_cpu>;
181 cpu-supply = <&vdd_cpu>;
185 cpu-supply = <&vdd_cpu>;
189 mali-supply = <&vdd_gpu>;
194 avdd-0v9-supply = <&vdda0v9_image>;
195 avdd-1v8-supply = <&vcca1v8_image>;
200 hdmi_in_vp0: endpoint {
201 remote-endpoint = <&vp0_out_hdmi>;
206 hdmi_out_con: endpoint {
207 remote-endpoint = <&hdmi_con_in>;
218 vdd_cpu: regulator@1c {
219 compatible = "tcs,tcs4525";
221 fcs,suspend-voltage-selector = <1>;
222 regulator-name = "vdd_cpu";
225 regulator-min-microvolt = <800000>;
226 regulator-max-microvolt = <1150000>;
227 regulator-ramp-delay = <2300>;
228 vin-supply = <&vcc5v0_sys>;
230 regulator-state-mem {
231 regulator-off-in-suspend;
236 compatible = "rockchip,rk809";
238 assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
239 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
241 clock-output-names = "rk808-clkout1", "rk808-clkout2";
242 clock-names = "mclk";
243 clocks = <&cru I2S1_MCLKOUT_TX>;
244 interrupt-parent = <&gpio0>;
245 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
246 pinctrl-names = "default";
247 pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>;
248 rockchip,system-power-controller;
249 #sound-dai-cells = <0>;
252 vcc1-supply = <&vcc3v3_sys>;
253 vcc2-supply = <&vcc3v3_sys>;
254 vcc3-supply = <&vcc3v3_sys>;
255 vcc4-supply = <&vcc3v3_sys>;
256 vcc5-supply = <&vcc3v3_sys>;
257 vcc6-supply = <&vcc3v3_sys>;
258 vcc7-supply = <&vcc3v3_sys>;
259 vcc8-supply = <&vcc3v3_sys>;
260 vcc9-supply = <&vcc3v3_sys>;
263 vdd_logic: DCDC_REG1 {
264 regulator-name = "vdd_logic";
267 regulator-min-microvolt = <500000>;
268 regulator-max-microvolt = <1350000>;
269 regulator-ramp-delay = <6001>;
270 regulator-initial-mode = <0x2>;
272 regulator-state-mem {
273 regulator-off-in-suspend;
278 regulator-name = "vdd_gpu";
281 regulator-min-microvolt = <500000>;
282 regulator-max-microvolt = <1350000>;
283 regulator-ramp-delay = <6001>;
284 regulator-initial-mode = <0x2>;
286 regulator-state-mem {
287 regulator-off-in-suspend;
292 regulator-name = "vcc_ddr";
295 regulator-initial-mode = <0x2>;
297 regulator-state-mem {
298 regulator-on-in-suspend;
303 regulator-name = "vdd_npu";
306 regulator-min-microvolt = <500000>;
307 regulator-max-microvolt = <1350000>;
308 regulator-ramp-delay = <6001>;
309 regulator-initial-mode = <0x2>;
311 regulator-state-mem {
312 regulator-off-in-suspend;
316 vdda0v9_image: LDO_REG1 {
317 regulator-name = "vdda0v9_image";
320 regulator-min-microvolt = <900000>;
321 regulator-max-microvolt = <900000>;
323 regulator-state-mem {
324 regulator-off-in-suspend;
329 regulator-name = "vdda_0v9";
332 regulator-min-microvolt = <900000>;
333 regulator-max-microvolt = <900000>;
334 regulator-state-mem {
335 regulator-off-in-suspend;
339 vdda0v9_pmu: LDO_REG3 {
340 regulator-name = "vdda0v9_pmu";
343 regulator-min-microvolt = <900000>;
344 regulator-max-microvolt = <900000>;
346 regulator-state-mem {
347 regulator-on-in-suspend;
348 regulator-suspend-microvolt = <900000>;
352 vccio_acodec: LDO_REG4 {
353 regulator-name = "vccio_acodec";
356 regulator-min-microvolt = <3300000>;
357 regulator-max-microvolt = <3300000>;
359 regulator-state-mem {
360 regulator-off-in-suspend;
365 regulator-name = "vccio_sd";
368 regulator-min-microvolt = <1800000>;
369 regulator-max-microvolt = <3300000>;
371 regulator-state-mem {
372 regulator-off-in-suspend;
376 vcc3v3_pmu: LDO_REG6 {
377 regulator-name = "vcc3v3_pmu";
380 regulator-min-microvolt = <3300000>;
381 regulator-max-microvolt = <3300000>;
383 regulator-state-mem {
384 regulator-on-in-suspend;
385 regulator-suspend-microvolt = <3300000>;
390 regulator-name = "vcca_1v8";
393 regulator-min-microvolt = <1800000>;
394 regulator-max-microvolt = <1800000>;
396 regulator-state-mem {
397 regulator-off-in-suspend;
401 vcca1v8_pmu: LDO_REG8 {
402 regulator-name = "vcca1v8_pmu";
405 regulator-min-microvolt = <1800000>;
406 regulator-max-microvolt = <1800000>;
408 regulator-state-mem {
409 regulator-on-in-suspend;
410 regulator-suspend-microvolt = <1800000>;
414 vcca1v8_image: LDO_REG9 {
415 regulator-name = "vcca1v8_image";
418 regulator-min-microvolt = <1800000>;
419 regulator-max-microvolt = <1800000>;
421 regulator-state-mem {
422 regulator-off-in-suspend;
427 regulator-name = "vcc_1v8";
430 regulator-min-microvolt = <1800000>;
431 regulator-max-microvolt = <1800000>;
433 regulator-state-mem {
434 regulator-off-in-suspend;
438 vcc_3v3: SWITCH_REG1 {
439 regulator-name = "vcc_3v3";
443 regulator-state-mem {
444 regulator-off-in-suspend;
448 vcc3v3_sd: SWITCH_REG2 {
449 regulator-name = "vcc3v3_sd";
453 regulator-state-mem {
454 regulator-off-in-suspend;
460 rockchip,mic-in-differential;
471 pinctrl-names = "default";
472 pinctrl-0 = <&i2c4m0_xfer>;
483 pinctrl-names = "default";
484 pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>;
485 rockchip,trcm-sync-tx-only;
491 rockchip,trcm-sync-tx-only;
493 /* AP6212 Bluetooth */
498 bt_enable_h: bt-enable-h {
499 rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
502 bt_host_wake_l: bt-host-wake-l {
503 rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>;
506 bt_wake_l: bt-wake-l {
507 rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
513 rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
519 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
524 wifi_enable_h: wifi-enable-h {
525 rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
528 wifi_host_wake_h: wifi-host-wake-l {
529 rockchip,pins = <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
534 vcc5v0_host_en: vcc5v0-host-en {
535 rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
541 pmuio1-supply = <&vcc3v3_pmu>;
542 pmuio2-supply = <&vcc3v3_pmu>;
543 vccio1-supply = <&vccio_acodec>;
544 vccio2-supply = <&vcc_1v8>;
545 vccio3-supply = <&vccio_sd>;
546 vccio4-supply = <&vcc_1v8>;
547 vccio5-supply = <&vcc_3v3>;
548 vccio6-supply = <&vcc_1v8>;
549 vccio7-supply = <&vcc_3v3>;
555 compatible = "syscon-reboot-mode";
557 mode-normal = <BOOT_NORMAL>;
558 mode-loader = <BOOT_BL_DOWNLOAD>;
559 mode-recovery = <BOOT_RECOVERY>;
560 mode-bootloader = <BOOT_FASTBOOT>;
565 vref-supply = <&vcca_1v8>;
567 /* Channel 0: Recovery Button */
568 /* Channel 1: Hardware ID */
573 max-frequency = <200000000>;
575 pinctrl-names = "default";
576 pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe &emmc_rstnout>;
577 vmmc-supply = <&vcc_3v3>;
578 vqmmc-supply = <&vcc_1v8>;
587 max-frequency = <150000000>;
588 pinctrl-names = "default";
589 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
591 vmmc-supply = <&vcc3v3_sd>;
592 vqmmc-supply = <&vcc_1v8>;
601 keep-power-in-suspend;
602 max-frequency = <150000000>;
603 mmc-pwrseq = <&sdio_pwrseq>;
605 pinctrl-names = "default";
606 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
608 vmmc-supply = <&vcc3v3_sys>;
609 vqmmc-supply = <&vcc_1v8>;
610 #address-cells = <1>;
615 compatible = "brcm,bcm4329-fmac";
617 interrupt-parent = <&gpio2>;
618 interrupts = <RK_PB2 IRQ_TYPE_LEVEL_HIGH>;
619 interrupt-names = "host-wake";
620 pinctrl-names = "default";
621 pinctrl-0 = <&wifi_host_wake_h>;
626 rockchip,hw-tshut-mode = <1>;
627 rockchip,hw-tshut-polarity = <0>;
632 pinctrl-names = "default";
633 pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
637 bluetooth: bluetooth {
638 compatible = "brcm,bcm43438-bt";
641 max-speed = <3000000>;
642 pinctrl-names = "default";
643 pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
644 shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
645 vbat-supply = <&vcc3v3_sys>;
646 vddio-supply = <&vcc_1v8>;
651 pinctrl-names = "default";
652 pinctrl-0 = <&uart2m0_xfer>;
687 phy-supply = <&vcc5v0_sys>;
692 phy-supply = <&vcc5v0_sys>;
701 phy-supply = <&vcc5v0_host>;
706 phy-supply = <&vcc5v0_host>;
711 assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
712 assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
721 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
722 reg = <ROCKCHIP_VOP2_EP_HDMI0>;
723 remote-endpoint = <&hdmi_in_vp0>;