130ac9b4eSFurkan Kardame// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 230ac9b4eSFurkan Kardame 330ac9b4eSFurkan Kardame/dts-v1/; 430ac9b4eSFurkan Kardame 530ac9b4eSFurkan Kardame#include <dt-bindings/gpio/gpio.h> 630ac9b4eSFurkan Kardame#include <dt-bindings/pinctrl/rockchip.h> 702098618SFurkan Kardame#include <dt-bindings/soc/rockchip,vop2.h> 830ac9b4eSFurkan Kardame#include "rk3566.dtsi" 930ac9b4eSFurkan Kardame 1030ac9b4eSFurkan Kardame/ { 1130ac9b4eSFurkan Kardame model = "Firefly Station M2"; 1230ac9b4eSFurkan Kardame compatible = "firefly,rk3566-roc-pc", "rockchip,rk3566"; 1330ac9b4eSFurkan Kardame 1430ac9b4eSFurkan Kardame aliases { 1536d9b3aeSDragan Simic ethernet0 = &gmac1; 1630ac9b4eSFurkan Kardame mmc0 = &sdmmc0; 1730ac9b4eSFurkan Kardame mmc1 = &sdhci; 1830ac9b4eSFurkan Kardame mmc2 = &sdmmc1; 1930ac9b4eSFurkan Kardame }; 2030ac9b4eSFurkan Kardame 2130ac9b4eSFurkan Kardame chosen: chosen { 2230ac9b4eSFurkan Kardame stdout-path = "serial2:1500000n8"; 2330ac9b4eSFurkan Kardame }; 2430ac9b4eSFurkan Kardame 2530ac9b4eSFurkan Kardame gmac1_clkin: external-gmac1-clock { 2630ac9b4eSFurkan Kardame compatible = "fixed-clock"; 2730ac9b4eSFurkan Kardame clock-frequency = <125000000>; 2830ac9b4eSFurkan Kardame clock-output-names = "gmac1_clkin"; 2930ac9b4eSFurkan Kardame #clock-cells = <0>; 3030ac9b4eSFurkan Kardame }; 3130ac9b4eSFurkan Kardame 3202098618SFurkan Kardame hdmi-con { 3302098618SFurkan Kardame compatible = "hdmi-connector"; 3402098618SFurkan Kardame type = "a"; 3502098618SFurkan Kardame 3602098618SFurkan Kardame port { 3702098618SFurkan Kardame hdmi_con_in: endpoint { 3802098618SFurkan Kardame remote-endpoint = <&hdmi_out_con>; 3902098618SFurkan Kardame }; 4002098618SFurkan Kardame }; 4102098618SFurkan Kardame }; 4202098618SFurkan Kardame 4330ac9b4eSFurkan Kardame leds { 4430ac9b4eSFurkan Kardame compatible = "gpio-leds"; 4530ac9b4eSFurkan Kardame 4630ac9b4eSFurkan Kardame led-user { 4730ac9b4eSFurkan Kardame label = "user-led"; 4830ac9b4eSFurkan Kardame default-state = "on"; 4930ac9b4eSFurkan Kardame gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>; 5030ac9b4eSFurkan Kardame linux,default-trigger = "heartbeat"; 5130ac9b4eSFurkan Kardame pinctrl-names = "default"; 5230ac9b4eSFurkan Kardame pinctrl-0 = <&user_led_enable_h>; 5330ac9b4eSFurkan Kardame retain-state-suspended; 5430ac9b4eSFurkan Kardame }; 5530ac9b4eSFurkan Kardame }; 5630ac9b4eSFurkan Kardame 57a8e35c4bSFurkan Kardame rk809-sound { 58a8e35c4bSFurkan Kardame compatible = "simple-audio-card"; 59a8e35c4bSFurkan Kardame simple-audio-card,format = "i2s"; 60a8e35c4bSFurkan Kardame simple-audio-card,name = "STATION-M2-FRONT"; 61a8e35c4bSFurkan Kardame simple-audio-card,mclk-fs = <256>; 62a8e35c4bSFurkan Kardame status = "okay"; 63a8e35c4bSFurkan Kardame 64a8e35c4bSFurkan Kardame simple-audio-card,cpu { 65a8e35c4bSFurkan Kardame sound-dai = <&i2s1_8ch>; 66a8e35c4bSFurkan Kardame }; 67a8e35c4bSFurkan Kardame 68a8e35c4bSFurkan Kardame simple-audio-card,codec { 69a8e35c4bSFurkan Kardame sound-dai = <&rk809>; 70a8e35c4bSFurkan Kardame }; 71a8e35c4bSFurkan Kardame }; 72a8e35c4bSFurkan Kardame 7330ac9b4eSFurkan Kardame sdio_pwrseq: sdio-pwrseq { 7430ac9b4eSFurkan Kardame status = "okay"; 7530ac9b4eSFurkan Kardame compatible = "mmc-pwrseq-simple"; 7630ac9b4eSFurkan Kardame clocks = <&rk809 1>; 7730ac9b4eSFurkan Kardame clock-names = "ext_clock"; 7830ac9b4eSFurkan Kardame pinctrl-names = "default"; 7930ac9b4eSFurkan Kardame pinctrl-0 = <&wifi_enable_h>; 8030ac9b4eSFurkan Kardame reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>; 8130ac9b4eSFurkan Kardame }; 8230ac9b4eSFurkan Kardame 83*5c96e633SJohan Jonker usb_5v: regulator-usb-5v { 8430ac9b4eSFurkan Kardame compatible = "regulator-fixed"; 8530ac9b4eSFurkan Kardame regulator-name = "usb_5v"; 8630ac9b4eSFurkan Kardame regulator-always-on; 8730ac9b4eSFurkan Kardame regulator-boot-on; 8830ac9b4eSFurkan Kardame regulator-min-microvolt = <5000000>; 8930ac9b4eSFurkan Kardame regulator-max-microvolt = <5000000>; 9030ac9b4eSFurkan Kardame }; 9130ac9b4eSFurkan Kardame 92*5c96e633SJohan Jonker vcc5v0_sys: regulator-vcc5v0-sys { 9330ac9b4eSFurkan Kardame compatible = "regulator-fixed"; 9430ac9b4eSFurkan Kardame regulator-name = "vcc5v0_sys"; 9530ac9b4eSFurkan Kardame regulator-always-on; 9630ac9b4eSFurkan Kardame regulator-boot-on; 9730ac9b4eSFurkan Kardame regulator-min-microvolt = <5000000>; 9830ac9b4eSFurkan Kardame regulator-max-microvolt = <5000000>; 9930ac9b4eSFurkan Kardame vin-supply = <&usb_5v>; 10030ac9b4eSFurkan Kardame }; 10130ac9b4eSFurkan Kardame 102*5c96e633SJohan Jonker vcc3v3_pcie: regulator-vcc3v3-pcie { 1038ea13ce0SFurkan Kardame compatible = "regulator-fixed"; 1048ea13ce0SFurkan Kardame enable-active-high; 1058ea13ce0SFurkan Kardame gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; 1068ea13ce0SFurkan Kardame pinctrl-names = "default"; 1078ea13ce0SFurkan Kardame pinctrl-0 = <&pcie_enable_h>; 1088ea13ce0SFurkan Kardame regulator-name = "vcc3v3_pcie"; 1098ea13ce0SFurkan Kardame regulator-min-microvolt = <3300000>; 1108ea13ce0SFurkan Kardame regulator-max-microvolt = <3300000>; 1118ea13ce0SFurkan Kardame vin-supply = <&vcc5v0_sys>; 1128ea13ce0SFurkan Kardame }; 1138ea13ce0SFurkan Kardame 114*5c96e633SJohan Jonker vcc3v3_sys: regulator-vcc3v3-sys { 11530ac9b4eSFurkan Kardame compatible = "regulator-fixed"; 11630ac9b4eSFurkan Kardame regulator-name = "vcc3v3_sys"; 11730ac9b4eSFurkan Kardame regulator-min-microvolt = <3300000>; 11830ac9b4eSFurkan Kardame regulator-max-microvolt = <3300000>; 11930ac9b4eSFurkan Kardame regulator-always-on; 12030ac9b4eSFurkan Kardame vin-supply = <&vcc5v0_sys>; 12130ac9b4eSFurkan Kardame }; 12230ac9b4eSFurkan Kardame 123*5c96e633SJohan Jonker vcc5v0_usb30_host: regulator-vcc5v0-usb30-host { 12430ac9b4eSFurkan Kardame compatible = "regulator-fixed"; 12530ac9b4eSFurkan Kardame regulator-name = "vcc5v0_usb30_host"; 12630ac9b4eSFurkan Kardame enable-active-high; 12730ac9b4eSFurkan Kardame gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; 12830ac9b4eSFurkan Kardame pinctrl-names = "default"; 12930ac9b4eSFurkan Kardame pinctrl-0 = <&vcc5v0_usb30_host_en_h>; 13030ac9b4eSFurkan Kardame regulator-always-on; 13130ac9b4eSFurkan Kardame regulator-min-microvolt = <5000000>; 13230ac9b4eSFurkan Kardame regulator-max-microvolt = <5000000>; 13330ac9b4eSFurkan Kardame vin-supply = <&vcc5v0_sys>; 13430ac9b4eSFurkan Kardame }; 13530ac9b4eSFurkan Kardame 136*5c96e633SJohan Jonker vcc5v0_usb_otg: regulator-vcc5v0-usb-otg { 13730ac9b4eSFurkan Kardame compatible = "regulator-fixed"; 13830ac9b4eSFurkan Kardame regulator-name = "vcc5v0_usb_otg"; 13930ac9b4eSFurkan Kardame enable-active-high; 14030ac9b4eSFurkan Kardame gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; 14130ac9b4eSFurkan Kardame pinctrl-names = "default"; 14230ac9b4eSFurkan Kardame pinctrl-0 = <&vcc5v0_usb_otg_en_h>; 14330ac9b4eSFurkan Kardame regulator-always-on; 14430ac9b4eSFurkan Kardame regulator-min-microvolt = <5000000>; 14530ac9b4eSFurkan Kardame regulator-max-microvolt = <5000000>; 14630ac9b4eSFurkan Kardame vin-supply = <&vcc5v0_sys>; 14730ac9b4eSFurkan Kardame }; 14830ac9b4eSFurkan Kardame}; 14930ac9b4eSFurkan Kardame 15030ac9b4eSFurkan Kardame&combphy1 { 15130ac9b4eSFurkan Kardame status = "okay"; 15230ac9b4eSFurkan Kardame}; 15330ac9b4eSFurkan Kardame 1548ea13ce0SFurkan Kardame&combphy2 { 1558ea13ce0SFurkan Kardame status = "okay"; 1568ea13ce0SFurkan Kardame}; 1578ea13ce0SFurkan Kardame 15830ac9b4eSFurkan Kardame&cpu0 { 15930ac9b4eSFurkan Kardame cpu-supply = <&vdd_cpu>; 16030ac9b4eSFurkan Kardame}; 16130ac9b4eSFurkan Kardame 16230ac9b4eSFurkan Kardame&cpu1 { 16330ac9b4eSFurkan Kardame cpu-supply = <&vdd_cpu>; 16430ac9b4eSFurkan Kardame}; 16530ac9b4eSFurkan Kardame 16630ac9b4eSFurkan Kardame&cpu2 { 16730ac9b4eSFurkan Kardame cpu-supply = <&vdd_cpu>; 16830ac9b4eSFurkan Kardame}; 16930ac9b4eSFurkan Kardame 17030ac9b4eSFurkan Kardame&cpu3 { 17130ac9b4eSFurkan Kardame cpu-supply = <&vdd_cpu>; 17230ac9b4eSFurkan Kardame}; 17330ac9b4eSFurkan Kardame 17430ac9b4eSFurkan Kardame&gmac1 { 17530ac9b4eSFurkan Kardame assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>; 17630ac9b4eSFurkan Kardame assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>; 17730ac9b4eSFurkan Kardame clock_in_out = "input"; 178adbab347SFurkan Kardame phy-mode = "rgmii"; 17930ac9b4eSFurkan Kardame phy-supply = <&vcc_3v3>; 18030ac9b4eSFurkan Kardame pinctrl-names = "default"; 18130ac9b4eSFurkan Kardame pinctrl-0 = <&gmac1m0_miim 18230ac9b4eSFurkan Kardame &gmac1m0_tx_bus2 18330ac9b4eSFurkan Kardame &gmac1m0_rx_bus2 18430ac9b4eSFurkan Kardame &gmac1m0_rgmii_clk 18530ac9b4eSFurkan Kardame &gmac1m0_clkinout 18630ac9b4eSFurkan Kardame &gmac1m0_rgmii_bus>; 18730ac9b4eSFurkan Kardame snps,reset-gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; 18830ac9b4eSFurkan Kardame snps,reset-active-low; 18930ac9b4eSFurkan Kardame /* Reset time is 20ms, 100ms for rtl8211f */ 19030ac9b4eSFurkan Kardame snps,reset-delays-us = <0 20000 100000>; 19130ac9b4eSFurkan Kardame tx_delay = <0x4f>; 19230ac9b4eSFurkan Kardame rx_delay = <0x24>; 19330ac9b4eSFurkan Kardame phy-handle = <&rgmii_phy1>; 19430ac9b4eSFurkan Kardame status = "okay"; 19530ac9b4eSFurkan Kardame}; 19630ac9b4eSFurkan Kardame 19702098618SFurkan Kardame&gpu { 19802098618SFurkan Kardame mali-supply = <&vdd_gpu>; 19902098618SFurkan Kardame status = "okay"; 20002098618SFurkan Kardame}; 20102098618SFurkan Kardame 20202098618SFurkan Kardame&hdmi { 20302098618SFurkan Kardame avdd-0v9-supply = <&vdda0v9_image>; 20402098618SFurkan Kardame avdd-1v8-supply = <&vcca1v8_image>; 20502098618SFurkan Kardame status = "okay"; 20602098618SFurkan Kardame}; 20702098618SFurkan Kardame 20802098618SFurkan Kardame&hdmi_in { 20902098618SFurkan Kardame hdmi_in_vp0: endpoint { 21002098618SFurkan Kardame remote-endpoint = <&vp0_out_hdmi>; 21102098618SFurkan Kardame }; 21202098618SFurkan Kardame}; 21302098618SFurkan Kardame 21402098618SFurkan Kardame&hdmi_out { 21502098618SFurkan Kardame hdmi_out_con: endpoint { 21602098618SFurkan Kardame remote-endpoint = <&hdmi_con_in>; 21702098618SFurkan Kardame }; 21802098618SFurkan Kardame}; 21902098618SFurkan Kardame 220a8e35c4bSFurkan Kardame&hdmi_sound { 221a8e35c4bSFurkan Kardame status = "okay"; 222a8e35c4bSFurkan Kardame}; 223a8e35c4bSFurkan Kardame 22430ac9b4eSFurkan Kardame&i2c0 { 22530ac9b4eSFurkan Kardame status = "okay"; 22630ac9b4eSFurkan Kardame 22730ac9b4eSFurkan Kardame vdd_cpu: regulator@1c { 22830ac9b4eSFurkan Kardame compatible = "tcs,tcs4525"; 22930ac9b4eSFurkan Kardame reg = <0x1c>; 23030ac9b4eSFurkan Kardame fcs,suspend-voltage-selector = <1>; 23130ac9b4eSFurkan Kardame regulator-name = "vdd_cpu"; 23230ac9b4eSFurkan Kardame regulator-min-microvolt = <800000>; 23330ac9b4eSFurkan Kardame regulator-max-microvolt = <1150000>; 23430ac9b4eSFurkan Kardame regulator-ramp-delay = <2300>; 23530ac9b4eSFurkan Kardame regulator-always-on; 23630ac9b4eSFurkan Kardame regulator-boot-on; 23730ac9b4eSFurkan Kardame vin-supply = <&vcc5v0_sys>; 23830ac9b4eSFurkan Kardame 23930ac9b4eSFurkan Kardame regulator-state-mem { 24030ac9b4eSFurkan Kardame regulator-off-in-suspend; 24130ac9b4eSFurkan Kardame }; 24230ac9b4eSFurkan Kardame }; 24330ac9b4eSFurkan Kardame 24430ac9b4eSFurkan Kardame rk809: pmic@20 { 24530ac9b4eSFurkan Kardame compatible = "rockchip,rk809"; 24630ac9b4eSFurkan Kardame reg = <0x20>; 24730ac9b4eSFurkan Kardame interrupt-parent = <&gpio0>; 24830ac9b4eSFurkan Kardame interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 24930ac9b4eSFurkan Kardame clock-output-names = "rk808-clkout1", "rk808-clkout2"; 250a8e35c4bSFurkan Kardame assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 251a8e35c4bSFurkan Kardame assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 252a8e35c4bSFurkan Kardame clock-names = "mclk"; 253a8e35c4bSFurkan Kardame clocks = <&cru I2S1_MCLKOUT_TX>; 25430ac9b4eSFurkan Kardame pinctrl-names = "default"; 255a8e35c4bSFurkan Kardame pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>; 256b99ac7e2SDiederik de Haas system-power-controller; 25730ac9b4eSFurkan Kardame wakeup-source; 25830ac9b4eSFurkan Kardame #clock-cells = <1>; 259a8e35c4bSFurkan Kardame #sound-dai-cells = <0>; 26030ac9b4eSFurkan Kardame 26130ac9b4eSFurkan Kardame vcc1-supply = <&vcc3v3_sys>; 26230ac9b4eSFurkan Kardame vcc2-supply = <&vcc3v3_sys>; 26330ac9b4eSFurkan Kardame vcc3-supply = <&vcc3v3_sys>; 26430ac9b4eSFurkan Kardame vcc4-supply = <&vcc3v3_sys>; 26530ac9b4eSFurkan Kardame vcc5-supply = <&vcc3v3_sys>; 26630ac9b4eSFurkan Kardame vcc6-supply = <&vcc3v3_sys>; 26730ac9b4eSFurkan Kardame vcc7-supply = <&vcc3v3_sys>; 26830ac9b4eSFurkan Kardame vcc8-supply = <&vcc3v3_sys>; 26930ac9b4eSFurkan Kardame vcc9-supply = <&vcc3v3_sys>; 27030ac9b4eSFurkan Kardame 271a8e35c4bSFurkan Kardame codec { 272e643e4ebSCristian Ciocaltea rockchip,mic-in-differential; 273a8e35c4bSFurkan Kardame }; 274a8e35c4bSFurkan Kardame 27530ac9b4eSFurkan Kardame regulators { 27630ac9b4eSFurkan Kardame vdd_log: DCDC_REG1 { 27730ac9b4eSFurkan Kardame regulator-name = "vdd_log"; 27830ac9b4eSFurkan Kardame regulator-always-on; 27930ac9b4eSFurkan Kardame regulator-boot-on; 28030ac9b4eSFurkan Kardame regulator-min-microvolt = <500000>; 28130ac9b4eSFurkan Kardame regulator-max-microvolt = <1350000>; 28230ac9b4eSFurkan Kardame regulator-ramp-delay = <6001>; 28330ac9b4eSFurkan Kardame 28430ac9b4eSFurkan Kardame regulator-state-mem { 28530ac9b4eSFurkan Kardame regulator-on-in-suspend; 28630ac9b4eSFurkan Kardame regulator-suspend-microvolt = <900000>; 28730ac9b4eSFurkan Kardame }; 28830ac9b4eSFurkan Kardame }; 28930ac9b4eSFurkan Kardame 29030ac9b4eSFurkan Kardame vdd_gpu: DCDC_REG2 { 29130ac9b4eSFurkan Kardame regulator-name = "vdd_gpu"; 29230ac9b4eSFurkan Kardame regulator-min-microvolt = <900000>; 29330ac9b4eSFurkan Kardame regulator-max-microvolt = <1350000>; 29430ac9b4eSFurkan Kardame regulator-ramp-delay = <6001>; 29530ac9b4eSFurkan Kardame 29630ac9b4eSFurkan Kardame regulator-state-mem { 29730ac9b4eSFurkan Kardame regulator-off-in-suspend; 29830ac9b4eSFurkan Kardame regulator-suspend-microvolt = <900000>; 29930ac9b4eSFurkan Kardame }; 30030ac9b4eSFurkan Kardame }; 30130ac9b4eSFurkan Kardame 30230ac9b4eSFurkan Kardame vcc_ddr: DCDC_REG3 { 30330ac9b4eSFurkan Kardame regulator-name = "vcc_ddr"; 30430ac9b4eSFurkan Kardame regulator-always-on; 30530ac9b4eSFurkan Kardame regulator-boot-on; 30630ac9b4eSFurkan Kardame regulator-min-microvolt = <1100000>; 30730ac9b4eSFurkan Kardame regulator-max-microvolt = <1100000>; 30830ac9b4eSFurkan Kardame regulator-initial-mode = <0x2>; 30930ac9b4eSFurkan Kardame regulator-state-mem { 31030ac9b4eSFurkan Kardame regulator-on-in-suspend; 31130ac9b4eSFurkan Kardame }; 31230ac9b4eSFurkan Kardame }; 31330ac9b4eSFurkan Kardame 31430ac9b4eSFurkan Kardame vdd_npu: DCDC_REG4 { 31530ac9b4eSFurkan Kardame regulator-name = "vdd_npu"; 31630ac9b4eSFurkan Kardame regulator-min-microvolt = <900000>; 31730ac9b4eSFurkan Kardame regulator-max-microvolt = <1350000>; 31830ac9b4eSFurkan Kardame regulator-initial-mode = <0x2>; 31930ac9b4eSFurkan Kardame regulator-state-mem { 32030ac9b4eSFurkan Kardame regulator-off-in-suspend; 32130ac9b4eSFurkan Kardame }; 32230ac9b4eSFurkan Kardame }; 32330ac9b4eSFurkan Kardame 32430ac9b4eSFurkan Kardame vcc_1v8: DCDC_REG5 { 32530ac9b4eSFurkan Kardame regulator-name = "vcc_1v8"; 32630ac9b4eSFurkan Kardame regulator-always-on; 32730ac9b4eSFurkan Kardame regulator-boot-on; 32830ac9b4eSFurkan Kardame regulator-min-microvolt = <1800000>; 32930ac9b4eSFurkan Kardame regulator-max-microvolt = <1800000>; 33030ac9b4eSFurkan Kardame 33130ac9b4eSFurkan Kardame regulator-state-mem { 33230ac9b4eSFurkan Kardame regulator-on-in-suspend; 33330ac9b4eSFurkan Kardame regulator-suspend-microvolt = <1800000>; 33430ac9b4eSFurkan Kardame }; 33530ac9b4eSFurkan Kardame }; 33630ac9b4eSFurkan Kardame 33730ac9b4eSFurkan Kardame vdda0v9_image: LDO_REG1 { 33830ac9b4eSFurkan Kardame regulator-name = "vdda0v9_image"; 33930ac9b4eSFurkan Kardame regulator-always-on; 34030ac9b4eSFurkan Kardame regulator-boot-on; 34130ac9b4eSFurkan Kardame regulator-min-microvolt = <900000>; 34230ac9b4eSFurkan Kardame regulator-max-microvolt = <900000>; 34330ac9b4eSFurkan Kardame 34430ac9b4eSFurkan Kardame regulator-state-mem { 34530ac9b4eSFurkan Kardame regulator-on-in-suspend; 34630ac9b4eSFurkan Kardame regulator-suspend-microvolt = <900000>; 34730ac9b4eSFurkan Kardame }; 34830ac9b4eSFurkan Kardame }; 34930ac9b4eSFurkan Kardame 35030ac9b4eSFurkan Kardame vdda_0v9: LDO_REG2 { 35130ac9b4eSFurkan Kardame regulator-name = "vdda_0v9"; 35230ac9b4eSFurkan Kardame regulator-always-on; 35330ac9b4eSFurkan Kardame regulator-boot-on; 35430ac9b4eSFurkan Kardame regulator-min-microvolt = <900000>; 35530ac9b4eSFurkan Kardame regulator-max-microvolt = <900000>; 35630ac9b4eSFurkan Kardame 35730ac9b4eSFurkan Kardame regulator-state-mem { 35830ac9b4eSFurkan Kardame regulator-on-in-suspend; 35930ac9b4eSFurkan Kardame regulator-suspend-microvolt = <900000>; 36030ac9b4eSFurkan Kardame }; 36130ac9b4eSFurkan Kardame }; 36230ac9b4eSFurkan Kardame 36330ac9b4eSFurkan Kardame vdda0v9_pmu: LDO_REG3 { 36430ac9b4eSFurkan Kardame regulator-name = "vdda0v9_pmu"; 36530ac9b4eSFurkan Kardame regulator-always-on; 36630ac9b4eSFurkan Kardame regulator-boot-on; 36730ac9b4eSFurkan Kardame regulator-min-microvolt = <900000>; 36830ac9b4eSFurkan Kardame regulator-max-microvolt = <900000>; 36930ac9b4eSFurkan Kardame regulator-state-mem { 37030ac9b4eSFurkan Kardame regulator-on-in-suspend; 37130ac9b4eSFurkan Kardame regulator-suspend-microvolt = <900000>; 37230ac9b4eSFurkan Kardame }; 37330ac9b4eSFurkan Kardame }; 37430ac9b4eSFurkan Kardame 37530ac9b4eSFurkan Kardame vccio_acodec: LDO_REG4 { 37630ac9b4eSFurkan Kardame regulator-name = "vccio_acodec"; 37730ac9b4eSFurkan Kardame regulator-always-on; 37830ac9b4eSFurkan Kardame regulator-boot-on; 37930ac9b4eSFurkan Kardame regulator-min-microvolt = <3300000>; 38030ac9b4eSFurkan Kardame regulator-max-microvolt = <3300000>; 38130ac9b4eSFurkan Kardame 38230ac9b4eSFurkan Kardame regulator-state-mem { 38330ac9b4eSFurkan Kardame regulator-on-in-suspend; 38430ac9b4eSFurkan Kardame regulator-suspend-microvolt = <3300000>; 38530ac9b4eSFurkan Kardame 38630ac9b4eSFurkan Kardame }; 38730ac9b4eSFurkan Kardame }; 38830ac9b4eSFurkan Kardame 38930ac9b4eSFurkan Kardame vccio_sd: LDO_REG5 { 39030ac9b4eSFurkan Kardame regulator-name = "vccio_sd"; 39130ac9b4eSFurkan Kardame regulator-always-on; 39230ac9b4eSFurkan Kardame regulator-boot-on; 39330ac9b4eSFurkan Kardame regulator-min-microvolt = <1800000>; 39430ac9b4eSFurkan Kardame regulator-max-microvolt = <3300000>; 39530ac9b4eSFurkan Kardame 39630ac9b4eSFurkan Kardame regulator-state-mem { 39730ac9b4eSFurkan Kardame regulator-on-in-suspend; 39830ac9b4eSFurkan Kardame regulator-suspend-microvolt = <3300000>; 39930ac9b4eSFurkan Kardame }; 40030ac9b4eSFurkan Kardame }; 40130ac9b4eSFurkan Kardame 40230ac9b4eSFurkan Kardame vcc3v3_pmu: LDO_REG6 { 40330ac9b4eSFurkan Kardame regulator-name = "vcc3v3_pmu"; 40430ac9b4eSFurkan Kardame regulator-always-on; 40530ac9b4eSFurkan Kardame regulator-boot-on; 40630ac9b4eSFurkan Kardame regulator-min-microvolt = <3300000>; 40730ac9b4eSFurkan Kardame regulator-max-microvolt = <3300000>; 40830ac9b4eSFurkan Kardame 40930ac9b4eSFurkan Kardame regulator-state-mem { 41030ac9b4eSFurkan Kardame regulator-on-in-suspend; 41130ac9b4eSFurkan Kardame regulator-suspend-microvolt = <3300000>; 41230ac9b4eSFurkan Kardame }; 41330ac9b4eSFurkan Kardame }; 41430ac9b4eSFurkan Kardame 41530ac9b4eSFurkan Kardame vcca_1v8: LDO_REG7 { 41630ac9b4eSFurkan Kardame regulator-name = "vcca_1v8"; 41730ac9b4eSFurkan Kardame regulator-always-on; 41830ac9b4eSFurkan Kardame regulator-boot-on; 41930ac9b4eSFurkan Kardame regulator-min-microvolt = <1800000>; 42030ac9b4eSFurkan Kardame regulator-max-microvolt = <1800000>; 42130ac9b4eSFurkan Kardame 42230ac9b4eSFurkan Kardame regulator-state-mem { 42330ac9b4eSFurkan Kardame regulator-on-in-suspend; 42430ac9b4eSFurkan Kardame regulator-suspend-microvolt = <1800000>; 42530ac9b4eSFurkan Kardame }; 42630ac9b4eSFurkan Kardame }; 42730ac9b4eSFurkan Kardame 42830ac9b4eSFurkan Kardame vcca1v8_pmu: LDO_REG8 { 42930ac9b4eSFurkan Kardame regulator-name = "vcca1v8_pmu"; 43030ac9b4eSFurkan Kardame regulator-always-on; 43130ac9b4eSFurkan Kardame regulator-boot-on; 43230ac9b4eSFurkan Kardame regulator-min-microvolt = <1800000>; 43330ac9b4eSFurkan Kardame regulator-max-microvolt = <1800000>; 43430ac9b4eSFurkan Kardame 43530ac9b4eSFurkan Kardame regulator-state-mem { 43630ac9b4eSFurkan Kardame regulator-on-in-suspend; 43730ac9b4eSFurkan Kardame regulator-suspend-microvolt = <1800000>; 43830ac9b4eSFurkan Kardame }; 43930ac9b4eSFurkan Kardame }; 44030ac9b4eSFurkan Kardame 44130ac9b4eSFurkan Kardame vcca1v8_image: LDO_REG9 { 44230ac9b4eSFurkan Kardame regulator-name = "vcca1v8_image"; 44330ac9b4eSFurkan Kardame regulator-always-on; 44430ac9b4eSFurkan Kardame regulator-boot-on; 44530ac9b4eSFurkan Kardame regulator-min-microvolt = <1800000>; 44630ac9b4eSFurkan Kardame regulator-max-microvolt = <1800000>; 44730ac9b4eSFurkan Kardame 44830ac9b4eSFurkan Kardame regulator-state-mem { 44930ac9b4eSFurkan Kardame regulator-on-in-suspend; 45030ac9b4eSFurkan Kardame regulator-suspend-microvolt = <1800000>; 45130ac9b4eSFurkan Kardame }; 45230ac9b4eSFurkan Kardame }; 45330ac9b4eSFurkan Kardame 45430ac9b4eSFurkan Kardame vcc_3v3: SWITCH_REG1 { 45530ac9b4eSFurkan Kardame regulator-boot-on; 45630ac9b4eSFurkan Kardame regulator-name = "vcc3v3"; 45730ac9b4eSFurkan Kardame }; 45830ac9b4eSFurkan Kardame 45930ac9b4eSFurkan Kardame vcc3v3_sd: SWITCH_REG2 { 46030ac9b4eSFurkan Kardame regulator-name = "vcc3v3_sd"; 46130ac9b4eSFurkan Kardame regulator-always-on; 46230ac9b4eSFurkan Kardame regulator-boot-on; 46330ac9b4eSFurkan Kardame }; 46430ac9b4eSFurkan Kardame }; 46530ac9b4eSFurkan Kardame }; 46630ac9b4eSFurkan Kardame}; 46730ac9b4eSFurkan Kardame 46830ac9b4eSFurkan Kardame&i2c1 { 46930ac9b4eSFurkan Kardame status = "okay"; 47030ac9b4eSFurkan Kardame}; 47130ac9b4eSFurkan Kardame 47230ac9b4eSFurkan Kardame&i2c2 { 47330ac9b4eSFurkan Kardame status = "okay"; 47430ac9b4eSFurkan Kardame}; 47530ac9b4eSFurkan Kardame 47630ac9b4eSFurkan Kardame&i2c3 { 47730ac9b4eSFurkan Kardame pinctrl-names = "default"; 4782440ad0dSFurkan Kardame pinctrl-0 = <&i2c3m0_xfer>; 47930ac9b4eSFurkan Kardame status = "okay"; 48030ac9b4eSFurkan Kardame}; 48130ac9b4eSFurkan Kardame 482a8e35c4bSFurkan Kardame&i2s0_8ch { 483a8e35c4bSFurkan Kardame status = "okay"; 484a8e35c4bSFurkan Kardame}; 485a8e35c4bSFurkan Kardame 486a8e35c4bSFurkan Kardame&i2s1_8ch { 487a8e35c4bSFurkan Kardame pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx 488a8e35c4bSFurkan Kardame &i2s1m0_lrcktx &i2s1m0_lrckrx 489a8e35c4bSFurkan Kardame &i2s1m0_sdi0 &i2s1m0_sdo0>; 490a8e35c4bSFurkan Kardame rockchip,trcm-sync-tx-only; 491a8e35c4bSFurkan Kardame status = "okay"; 492a8e35c4bSFurkan Kardame}; 493a8e35c4bSFurkan Kardame 49430ac9b4eSFurkan Kardame&mdio1 { 49530ac9b4eSFurkan Kardame rgmii_phy1: ethernet-phy@0 { 49630ac9b4eSFurkan Kardame compatible = "ethernet-phy-ieee802.3-c22"; 49730ac9b4eSFurkan Kardame reg = <0x0>; 49830ac9b4eSFurkan Kardame }; 49930ac9b4eSFurkan Kardame}; 50030ac9b4eSFurkan Kardame 5018ea13ce0SFurkan Kardame&pcie2x1 { 5028ea13ce0SFurkan Kardame pinctrl-names = "default"; 5038ea13ce0SFurkan Kardame pinctrl-0 = <&pcie_reset_h>; 5048ea13ce0SFurkan Kardame reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; 5058ea13ce0SFurkan Kardame vpcie3v3-supply = <&vcc3v3_pcie>; 5068ea13ce0SFurkan Kardame status = "okay"; 5078ea13ce0SFurkan Kardame}; 5088ea13ce0SFurkan Kardame 50930ac9b4eSFurkan Kardame&pinctrl { 51030ac9b4eSFurkan Kardame bt { 51130ac9b4eSFurkan Kardame bt_enable_h: bt-enable-h { 51230ac9b4eSFurkan Kardame rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 51330ac9b4eSFurkan Kardame }; 51430ac9b4eSFurkan Kardame 51530ac9b4eSFurkan Kardame bt_host_wake_l: bt-host-wake-l { 51630ac9b4eSFurkan Kardame rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_down>; 51730ac9b4eSFurkan Kardame }; 51830ac9b4eSFurkan Kardame 51930ac9b4eSFurkan Kardame bt_wake_l: bt-wake-l { 52030ac9b4eSFurkan Kardame rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 52130ac9b4eSFurkan Kardame }; 52230ac9b4eSFurkan Kardame }; 52330ac9b4eSFurkan Kardame 52430ac9b4eSFurkan Kardame leds { 52530ac9b4eSFurkan Kardame user_led_enable_h: user-led-enable-h { 52630ac9b4eSFurkan Kardame rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 52730ac9b4eSFurkan Kardame }; 52830ac9b4eSFurkan Kardame }; 52930ac9b4eSFurkan Kardame 5308ea13ce0SFurkan Kardame pcie { 5318ea13ce0SFurkan Kardame pcie_enable_h: pcie-enable-h { 5328ea13ce0SFurkan Kardame rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; 5338ea13ce0SFurkan Kardame }; 5348ea13ce0SFurkan Kardame 5358ea13ce0SFurkan Kardame pcie_reset_h: pcie-reset-h { 5368ea13ce0SFurkan Kardame rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 5378ea13ce0SFurkan Kardame }; 5388ea13ce0SFurkan Kardame }; 5398ea13ce0SFurkan Kardame 54030ac9b4eSFurkan Kardame pmic { 54130ac9b4eSFurkan Kardame pmic_int: pmic_int { 54230ac9b4eSFurkan Kardame rockchip,pins = 54330ac9b4eSFurkan Kardame <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 54430ac9b4eSFurkan Kardame }; 54530ac9b4eSFurkan Kardame }; 54630ac9b4eSFurkan Kardame 54730ac9b4eSFurkan Kardame sdio-pwrseq { 54830ac9b4eSFurkan Kardame wifi_enable_h: wifi-enable-h { 54930ac9b4eSFurkan Kardame rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 55030ac9b4eSFurkan Kardame }; 55130ac9b4eSFurkan Kardame }; 55230ac9b4eSFurkan Kardame 55330ac9b4eSFurkan Kardame usb { 55430ac9b4eSFurkan Kardame vcc5v0_usb30_host_en_h: vcc5v0-usb30-host-en_h { 55530ac9b4eSFurkan Kardame rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 55630ac9b4eSFurkan Kardame }; 55730ac9b4eSFurkan Kardame 55830ac9b4eSFurkan Kardame vcc5v0_usb_otg_en_h: vcc5v0-usb-otg-en_h { 55930ac9b4eSFurkan Kardame rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 56030ac9b4eSFurkan Kardame }; 56130ac9b4eSFurkan Kardame }; 56230ac9b4eSFurkan Kardame}; 56330ac9b4eSFurkan Kardame 56430ac9b4eSFurkan Kardame&pmu_io_domains { 56530ac9b4eSFurkan Kardame status = "okay"; 56630ac9b4eSFurkan Kardame pmuio1-supply = <&vcc3v3_pmu>; 56730ac9b4eSFurkan Kardame pmuio2-supply = <&vcc3v3_pmu>; 56830ac9b4eSFurkan Kardame vccio1-supply = <&vccio_acodec>; 56930ac9b4eSFurkan Kardame vccio2-supply = <&vcc_1v8>; 57030ac9b4eSFurkan Kardame vccio3-supply = <&vccio_sd>; 57130ac9b4eSFurkan Kardame vccio4-supply = <&vcc_1v8>; 57230ac9b4eSFurkan Kardame vccio5-supply = <&vcc_3v3>; 57330ac9b4eSFurkan Kardame vccio6-supply = <&vcc_1v8>; 57430ac9b4eSFurkan Kardame vccio7-supply = <&vcc_3v3>; 57530ac9b4eSFurkan Kardame}; 57630ac9b4eSFurkan Kardame 57730ac9b4eSFurkan Kardame&sdhci { 57830ac9b4eSFurkan Kardame bus-width = <8>; 57930ac9b4eSFurkan Kardame mmc-hs200-1_8v; 58030ac9b4eSFurkan Kardame non-removable; 58130ac9b4eSFurkan Kardame vmmc-supply = <&vcc_3v3>; 58230ac9b4eSFurkan Kardame vqmmc-supply = <&vcc_1v8>; 58330ac9b4eSFurkan Kardame status = "okay"; 58430ac9b4eSFurkan Kardame}; 58530ac9b4eSFurkan Kardame 58630ac9b4eSFurkan Kardame&sdmmc0 { 58730ac9b4eSFurkan Kardame bus-width = <4>; 58830ac9b4eSFurkan Kardame cap-sd-highspeed; 58930ac9b4eSFurkan Kardame cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 59030ac9b4eSFurkan Kardame disable-wp; 59130ac9b4eSFurkan Kardame pinctrl-names = "default"; 59230ac9b4eSFurkan Kardame pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 59330ac9b4eSFurkan Kardame sd-uhs-sdr104; 59430ac9b4eSFurkan Kardame vmmc-supply = <&vcc3v3_sd>; 59530ac9b4eSFurkan Kardame vqmmc-supply = <&vccio_sd>; 59630ac9b4eSFurkan Kardame status = "okay"; 59730ac9b4eSFurkan Kardame}; 59830ac9b4eSFurkan Kardame 59930ac9b4eSFurkan Kardame&sdmmc1 { 60030ac9b4eSFurkan Kardame bus-width = <4>; 60130ac9b4eSFurkan Kardame cap-sd-highspeed; 60230ac9b4eSFurkan Kardame cap-sdio-irq; 60330ac9b4eSFurkan Kardame keep-power-in-suspend; 60430ac9b4eSFurkan Kardame mmc-pwrseq = <&sdio_pwrseq>; 60530ac9b4eSFurkan Kardame vmmc-supply = <&vcc3v3_sys>; 60630ac9b4eSFurkan Kardame vqmmc-supply = <&vcca1v8_pmu>; 60730ac9b4eSFurkan Kardame pinctrl-names = "default"; 60830ac9b4eSFurkan Kardame pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>; 60930ac9b4eSFurkan Kardame status = "okay"; 61030ac9b4eSFurkan Kardame}; 61130ac9b4eSFurkan Kardame 61230ac9b4eSFurkan Kardame&tsadc { 61330ac9b4eSFurkan Kardame status = "okay"; 61430ac9b4eSFurkan Kardame}; 61530ac9b4eSFurkan Kardame 61630ac9b4eSFurkan Kardame&uart0 { 61730ac9b4eSFurkan Kardame pinctrl-names = "default"; 61830ac9b4eSFurkan Kardame pinctrl-0 = <&uart0_xfer>; 61930ac9b4eSFurkan Kardame status = "okay"; 62030ac9b4eSFurkan Kardame}; 62130ac9b4eSFurkan Kardame 62230ac9b4eSFurkan Kardame&uart1 { 62330ac9b4eSFurkan Kardame pinctrl-names = "default"; 62430ac9b4eSFurkan Kardame pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>; 62530ac9b4eSFurkan Kardame status = "okay"; 62630ac9b4eSFurkan Kardame uart-has-rtscts; 62730ac9b4eSFurkan Kardame 62830ac9b4eSFurkan Kardame bluetooth { 62930ac9b4eSFurkan Kardame compatible = "brcm,bcm43438-bt"; 63030ac9b4eSFurkan Kardame clocks = <&rk809 1>; 63130ac9b4eSFurkan Kardame clock-names = "lpo"; 63230ac9b4eSFurkan Kardame device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; 63330ac9b4eSFurkan Kardame host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>; 63430ac9b4eSFurkan Kardame shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>; 63530ac9b4eSFurkan Kardame pinctrl-names = "default"; 63630ac9b4eSFurkan Kardame pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; 63730ac9b4eSFurkan Kardame vbat-supply = <&vcc3v3_sys>; 63830ac9b4eSFurkan Kardame vddio-supply = <&vcca1v8_pmu>; 63930ac9b4eSFurkan Kardame }; 64030ac9b4eSFurkan Kardame}; 64130ac9b4eSFurkan Kardame 64230ac9b4eSFurkan Kardame&uart2 { 64330ac9b4eSFurkan Kardame status = "okay"; 64430ac9b4eSFurkan Kardame}; 64530ac9b4eSFurkan Kardame 64630ac9b4eSFurkan Kardame&usb2phy0_host { 64730ac9b4eSFurkan Kardame phy-supply = <&vcc5v0_usb30_host>; 64830ac9b4eSFurkan Kardame status = "okay"; 64930ac9b4eSFurkan Kardame}; 65030ac9b4eSFurkan Kardame 65130ac9b4eSFurkan Kardame&usb2phy0_otg { 65230ac9b4eSFurkan Kardame phy-supply = <&vcc5v0_usb_otg>; 65330ac9b4eSFurkan Kardame status = "okay"; 65430ac9b4eSFurkan Kardame}; 65530ac9b4eSFurkan Kardame 65630ac9b4eSFurkan Kardame&usb2phy1_otg { 65730ac9b4eSFurkan Kardame phy-supply = <&vcc5v0_usb30_host>; 65830ac9b4eSFurkan Kardame status = "okay"; 65930ac9b4eSFurkan Kardame}; 66030ac9b4eSFurkan Kardame 66130ac9b4eSFurkan Kardame&usb2phy0 { 66230ac9b4eSFurkan Kardame status = "okay"; 66330ac9b4eSFurkan Kardame}; 66430ac9b4eSFurkan Kardame 66530ac9b4eSFurkan Kardame&usb2phy1 { 66630ac9b4eSFurkan Kardame status = "okay"; 66730ac9b4eSFurkan Kardame}; 66830ac9b4eSFurkan Kardame 66930ac9b4eSFurkan Kardame&usb_host0_xhci { 67030ac9b4eSFurkan Kardame status = "okay"; 67130ac9b4eSFurkan Kardame}; 67230ac9b4eSFurkan Kardame 67330ac9b4eSFurkan Kardame&usb_host1_xhci { 67430ac9b4eSFurkan Kardame status = "okay"; 67530ac9b4eSFurkan Kardame}; 67630ac9b4eSFurkan Kardame 67730ac9b4eSFurkan Kardame&usb_host0_ehci { 67830ac9b4eSFurkan Kardame status = "okay"; 67930ac9b4eSFurkan Kardame}; 68030ac9b4eSFurkan Kardame 68130ac9b4eSFurkan Kardame&usb_host0_ohci { 68230ac9b4eSFurkan Kardame status = "okay"; 68330ac9b4eSFurkan Kardame}; 68402098618SFurkan Kardame 68502098618SFurkan Kardame&vop { 68602098618SFurkan Kardame assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 68702098618SFurkan Kardame assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 68802098618SFurkan Kardame status = "okay"; 68902098618SFurkan Kardame}; 69002098618SFurkan Kardame 69102098618SFurkan Kardame&vop_mmu { 69202098618SFurkan Kardame status = "okay"; 69302098618SFurkan Kardame}; 69402098618SFurkan Kardame 69502098618SFurkan Kardame&vp0 { 69602098618SFurkan Kardame vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 69702098618SFurkan Kardame reg = <ROCKCHIP_VOP2_EP_HDMI0>; 69802098618SFurkan Kardame remote-endpoint = <&hdmi_in_vp0>; 69902098618SFurkan Kardame }; 70002098618SFurkan Kardame}; 701