1ebe82df4SShimrra Shai// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2ebe82df4SShimrra Shai 3ebe82df4SShimrra Shai/dts-v1/; 4ebe82df4SShimrra Shai 5ebe82df4SShimrra Shai#include <dt-bindings/gpio/gpio.h> 6ebe82df4SShimrra Shai#include <dt-bindings/input/input.h> 7ebe82df4SShimrra Shai#include <dt-bindings/leds/common.h> 8ebe82df4SShimrra Shai#include <dt-bindings/pinctrl/rockchip.h> 9ebe82df4SShimrra Shai#include <dt-bindings/pwm/pwm.h> 10ebe82df4SShimrra Shai#include <dt-bindings/soc/rockchip,vop2.h> 11ebe82df4SShimrra Shai#include "dt-bindings/usb/pd.h" 12ebe82df4SShimrra Shai 13ebe82df4SShimrra Shai#include "rk3588-firefly-core-3588j.dtsi" 14ebe82df4SShimrra Shai 15ebe82df4SShimrra Shai/ { 16ebe82df4SShimrra Shai model = "Firefly ITX-3588J"; 17ebe82df4SShimrra Shai compatible = "firefly,itx-3588j", "firefly,core-3588j", "rockchip,rk3588"; 18ebe82df4SShimrra Shai 19ebe82df4SShimrra Shai aliases { 20ebe82df4SShimrra Shai ethernet0 = &gmac0; 21ebe82df4SShimrra Shai ethernet1 = &gmac1; 22ebe82df4SShimrra Shai }; 23ebe82df4SShimrra Shai 24ebe82df4SShimrra Shai chosen { 25ebe82df4SShimrra Shai stdout-path = "serial2:1500000n8"; 26ebe82df4SShimrra Shai }; 27ebe82df4SShimrra Shai 28ebe82df4SShimrra Shai /* 29ebe82df4SShimrra Shai * there are also a "Reset" and "Mask ROM" button, but the needed 30ebe82df4SShimrra Shai * settings are unknown at this time 31ebe82df4SShimrra Shai */ 32ebe82df4SShimrra Shai adc-keys-0 { 33ebe82df4SShimrra Shai compatible = "adc-keys"; 34ebe82df4SShimrra Shai io-channels = <&saradc 1>; 35ebe82df4SShimrra Shai io-channel-names = "buttons"; 36ebe82df4SShimrra Shai keyup-threshold-microvolt = <1800000>; 37ebe82df4SShimrra Shai poll-interval = <100>; 38ebe82df4SShimrra Shai 39ebe82df4SShimrra Shai button-recovery { 40ebe82df4SShimrra Shai label = "Recovery"; 41ebe82df4SShimrra Shai linux,code = <KEY_VENDOR>; 42ebe82df4SShimrra Shai press-threshold-microvolt = <2000>; 43ebe82df4SShimrra Shai }; 44ebe82df4SShimrra Shai }; 45ebe82df4SShimrra Shai 46ebe82df4SShimrra Shai analog-sound { 47ebe82df4SShimrra Shai compatible = "simple-audio-card"; 48ebe82df4SShimrra Shai pinctrl-0 = <&hp_detect>; 49ebe82df4SShimrra Shai pinctrl-names = "default"; 50ebe82df4SShimrra Shai simple-audio-card,aux-devs = <&_headphones>, <&_speaker>; 51ebe82df4SShimrra Shai simple-audio-card,format = "i2s"; 52ebe82df4SShimrra Shai simple-audio-card,hp-det-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>; 53ebe82df4SShimrra Shai simple-audio-card,mclk-fs = <384>; 54ebe82df4SShimrra Shai simple-audio-card,name = "rockchip_es8323"; 55ebe82df4SShimrra Shai simple-audio-card,pin-switches = "Headphones", "Speaker"; 56ebe82df4SShimrra Shai simple-audio-card,routing = 57ebe82df4SShimrra Shai "Speaker Amplifier INL", "LOUT2", 58ebe82df4SShimrra Shai "Speaker Amplifier INR", "ROUT2", 59ebe82df4SShimrra Shai "Speaker", "Speaker Amplifier OUTL", 60ebe82df4SShimrra Shai "Speaker", "Speaker Amplifier OUTR", 61ebe82df4SShimrra Shai "Headphones Amplifier INL", "LOUT1", 62ebe82df4SShimrra Shai "Headphones Amplifier INR", "ROUT1", 63ebe82df4SShimrra Shai "Headphones", "Headphones Amplifier OUTL", 64ebe82df4SShimrra Shai "Headphones", "Headphones Amplifier OUTR", 65ebe82df4SShimrra Shai "LINPUT1", "Microphone Jack", 66ebe82df4SShimrra Shai "RINPUT1", "Microphone Jack", 67ebe82df4SShimrra Shai "LINPUT2", "Onboard Microphone", 68ebe82df4SShimrra Shai "RINPUT2", "Onboard Microphone"; 69ebe82df4SShimrra Shai simple-audio-card,widgets = 70ebe82df4SShimrra Shai "Microphone", "Microphone Jack", 71ebe82df4SShimrra Shai "Microphone", "Onboard Microphone", 72ebe82df4SShimrra Shai "Headphone", "Headphones", 73ebe82df4SShimrra Shai "Speaker", "Speaker"; 74ebe82df4SShimrra Shai 75ebe82df4SShimrra Shai simple-audio-card,cpu { 76ebe82df4SShimrra Shai sound-dai = <&i2s0_8ch>; 77ebe82df4SShimrra Shai }; 78ebe82df4SShimrra Shai 79ebe82df4SShimrra Shai simple-audio-card,codec { 80ebe82df4SShimrra Shai sound-dai = <&es8323>; 81ebe82df4SShimrra Shai system-clock-frequency = <12288000>; 82ebe82df4SShimrra Shai }; 83ebe82df4SShimrra Shai }; 84ebe82df4SShimrra Shai 85ebe82df4SShimrra Shai /* 86ebe82df4SShimrra Shai * this does not seem to be a proper "amplifier" but is just 87ebe82df4SShimrra Shai * a way to control the GPIO pins to switch on or off the given 88ebe82df4SShimrra Shai * sound output device 89ebe82df4SShimrra Shai */ 90ebe82df4SShimrra Shai amp_headphones: headphones-audio-amplifier { 91ebe82df4SShimrra Shai compatible = "simple-audio-amplifier"; 92ebe82df4SShimrra Shai enable-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 93ebe82df4SShimrra Shai pinctrl-names = "default"; 94ebe82df4SShimrra Shai pinctrl-0 = <&headphone_amplifier_en>; 95ebe82df4SShimrra Shai sound-name-prefix = "Headphones Amplifier"; 96ebe82df4SShimrra Shai }; 97ebe82df4SShimrra Shai 98ebe82df4SShimrra Shai amp_speaker: speaker-audio-amplifier { 99ebe82df4SShimrra Shai compatible = "simple-audio-amplifier"; 100ebe82df4SShimrra Shai enable-gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>; 101ebe82df4SShimrra Shai pinctrl-names = "default"; 102ebe82df4SShimrra Shai pinctrl-0 = <&speaker_amplifier_en>; 103ebe82df4SShimrra Shai sound-name-prefix = "Speaker Amplifier"; 104ebe82df4SShimrra Shai }; 105ebe82df4SShimrra Shai 106ebe82df4SShimrra Shai fan: pwm-fan { 107ebe82df4SShimrra Shai compatible = "pwm-fan"; 108ebe82df4SShimrra Shai #cooling-cells = <2>; 109ebe82df4SShimrra Shai cooling-levels = <0 120 150 180 210 240 255>; 110ebe82df4SShimrra Shai fan-supply = <&vcc12v_dcin>; 111ebe82df4SShimrra Shai pwms = <&pwm15 0 50000 1>; 112ebe82df4SShimrra Shai }; 113ebe82df4SShimrra Shai 114ebe82df4SShimrra Shai hdmi0-con { 115ebe82df4SShimrra Shai compatible = "hdmi-connector"; 116ebe82df4SShimrra Shai type = "a"; 117ebe82df4SShimrra Shai 118ebe82df4SShimrra Shai port { 119ebe82df4SShimrra Shai hdmi0_con_in: endpoint { 120ebe82df4SShimrra Shai remote-endpoint = <&hdmi0_out_con>; 121ebe82df4SShimrra Shai }; 122ebe82df4SShimrra Shai }; 123ebe82df4SShimrra Shai }; 124ebe82df4SShimrra Shai 125ebe82df4SShimrra Shai leds { 126ebe82df4SShimrra Shai compatible = "gpio-leds"; 127ebe82df4SShimrra Shai 128ebe82df4SShimrra Shai /* 129ebe82df4SShimrra Shai * There is also a Power LED control @ RK_PB3 on 130ebe82df4SShimrra Shai * GPIO1 but for some reason it doesn't seem to work right 131ebe82df4SShimrra Shai */ 132ebe82df4SShimrra Shai 133ebe82df4SShimrra Shai user_led: led-1 { 134ebe82df4SShimrra Shai gpios = <&pca9555 3 GPIO_ACTIVE_HIGH>; 135ebe82df4SShimrra Shai linux,default-trigger = "disk-activity"; 136ebe82df4SShimrra Shai }; 137ebe82df4SShimrra Shai }; 138ebe82df4SShimrra Shai 139ebe82df4SShimrra Shai pcie30_avdd0v75: regulator-pcie30-avdd0v75 { 140ebe82df4SShimrra Shai compatible = "regulator-fixed"; 141ebe82df4SShimrra Shai regulator-always-on; 142ebe82df4SShimrra Shai regulator-boot-on; 143ebe82df4SShimrra Shai regulator-min-microvolt = <750000>; 144ebe82df4SShimrra Shai regulator-max-microvolt = <750000>; 145ebe82df4SShimrra Shai regulator-name = "pcie30_avdd0v75"; 146ebe82df4SShimrra Shai vin-supply = <&avdd_0v75_s0>; 147ebe82df4SShimrra Shai }; 148ebe82df4SShimrra Shai 149ebe82df4SShimrra Shai vbus5v0_typec_pwr_en: regulator-vbus5v0-typec-pwr-en { 150ebe82df4SShimrra Shai compatible = "regulator-fixed"; 151ebe82df4SShimrra Shai enable-active-high; 152ebe82df4SShimrra Shai gpios = <&pca9555 12 GPIO_ACTIVE_HIGH>; 153ebe82df4SShimrra Shai regulator-min-microvolt = <5000000>; 154ebe82df4SShimrra Shai regulator-max-microvolt = <5000000>; 155ebe82df4SShimrra Shai regulator-name = "vbus5v0_typec_pwr_en"; 156ebe82df4SShimrra Shai }; 157ebe82df4SShimrra Shai 158ebe82df4SShimrra Shai vcc12v_dcin: regulator-vcc12v-dcin { 159ebe82df4SShimrra Shai compatible = "regulator-fixed"; 160ebe82df4SShimrra Shai regulator-always-on; 161ebe82df4SShimrra Shai regulator-boot-on; 162ebe82df4SShimrra Shai regulator-min-microvolt = <12000000>; 163ebe82df4SShimrra Shai regulator-max-microvolt = <12000000>; 164ebe82df4SShimrra Shai regulator-name = "vcc12v_dcin"; 165ebe82df4SShimrra Shai }; 166ebe82df4SShimrra Shai 167ebe82df4SShimrra Shai vcc3v3_pcie30: regulator-vcc3v3-pcie30 { 168ebe82df4SShimrra Shai compatible = "regulator-fixed"; 169ebe82df4SShimrra Shai enable-active-high; 170ebe82df4SShimrra Shai gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>; 171ebe82df4SShimrra Shai pinctrl-names = "default"; 172ebe82df4SShimrra Shai pinctrl-0 = <&pcie3_vcc3v3_en>; 173ebe82df4SShimrra Shai regulator-min-microvolt = <3300000>; 174ebe82df4SShimrra Shai regulator-max-microvolt = <3300000>; 175ebe82df4SShimrra Shai regulator-name = "vcc3v3_pcie30"; 176ebe82df4SShimrra Shai startup-delay-us = <5000>; 177ebe82df4SShimrra Shai vin-supply = <&vcc12v_dcin>; 178ebe82df4SShimrra Shai }; 179ebe82df4SShimrra Shai 180ebe82df4SShimrra Shai vcc5v0_host: regulator-vcc5v0-host { 181ebe82df4SShimrra Shai compatible = "regulator-fixed"; 182ebe82df4SShimrra Shai enable-active-high; 183ebe82df4SShimrra Shai gpios = <&pca9555 5 GPIO_ACTIVE_HIGH>; 184ebe82df4SShimrra Shai regulator-always-on; 185ebe82df4SShimrra Shai regulator-boot-on; 186ebe82df4SShimrra Shai regulator-min-microvolt = <5000000>; 187ebe82df4SShimrra Shai regulator-max-microvolt = <5000000>; 188ebe82df4SShimrra Shai regulator-name = "vcc5v0_host"; 189ebe82df4SShimrra Shai vin-supply = <&vcc5v0_usb>; 190ebe82df4SShimrra Shai }; 191ebe82df4SShimrra Shai 192ebe82df4SShimrra Shai vcc5v0_host3: regulator-vcc5v0-host3 { 193ebe82df4SShimrra Shai compatible = "regulator-fixed"; 194ebe82df4SShimrra Shai enable-active-high; 195ebe82df4SShimrra Shai gpios = <&pca9555 7 GPIO_ACTIVE_HIGH>; 196ebe82df4SShimrra Shai regulator-name = "vcc5v0_host3"; 197ebe82df4SShimrra Shai regulator-boot-on; 198ebe82df4SShimrra Shai regulator-always-on; 199ebe82df4SShimrra Shai regulator-min-microvolt = <5000000>; 200ebe82df4SShimrra Shai regulator-max-microvolt = <5000000>; 201ebe82df4SShimrra Shai vin-supply = <&vcc5v0_usb>; 202ebe82df4SShimrra Shai }; 203ebe82df4SShimrra Shai 204ebe82df4SShimrra Shai vcc5v0_sys: regulator-vcc5v0-sys { 205ebe82df4SShimrra Shai compatible = "regulator-fixed"; 206ebe82df4SShimrra Shai regulator-always-on; 207ebe82df4SShimrra Shai regulator-boot-on; 208ebe82df4SShimrra Shai regulator-min-microvolt = <5000000>; 209ebe82df4SShimrra Shai regulator-max-microvolt = <5000000>; 210ebe82df4SShimrra Shai regulator-name = "vcc5v0_sys"; 211ebe82df4SShimrra Shai vin-supply = <&vcc12v_dcin>; 212ebe82df4SShimrra Shai }; 213ebe82df4SShimrra Shai 214ebe82df4SShimrra Shai vcc5v0_usb: regulator-vcc5v0-usb { 215ebe82df4SShimrra Shai compatible = "regulator-fixed"; 216ebe82df4SShimrra Shai regulator-always-on; 217ebe82df4SShimrra Shai regulator-boot-on; 218ebe82df4SShimrra Shai regulator-min-microvolt = <5000000>; 219ebe82df4SShimrra Shai regulator-max-microvolt = <5000000>; 220ebe82df4SShimrra Shai regulator-name = "vcc5v0_usb"; 221ebe82df4SShimrra Shai vin-supply = <&vcc12v_dcin>; 222ebe82df4SShimrra Shai }; 223ebe82df4SShimrra Shai 224ebe82df4SShimrra Shai vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 { 225ebe82df4SShimrra Shai compatible = "regulator-fixed"; 226ebe82df4SShimrra Shai regulator-always-on; 227ebe82df4SShimrra Shai regulator-boot-on; 228ebe82df4SShimrra Shai regulator-min-microvolt = <1100000>; 229ebe82df4SShimrra Shai regulator-max-microvolt = <1100000>; 230ebe82df4SShimrra Shai regulator-name = "vcc_1v1_nldo_s3"; 231ebe82df4SShimrra Shai vin-supply = <&vcc5v0_sys>; 232ebe82df4SShimrra Shai }; 233ebe82df4SShimrra Shai 234ebe82df4SShimrra Shai vcc_fan_pwr_en: regulator-vcc-fan-pwr-en { 235ebe82df4SShimrra Shai compatible = "regulator-fixed"; 236ebe82df4SShimrra Shai enable-active-high; 237ebe82df4SShimrra Shai gpios = <&pca9555 11 GPIO_ACTIVE_HIGH>; 238ebe82df4SShimrra Shai regulator-always-on; 239ebe82df4SShimrra Shai regulator-boot-on; 240ebe82df4SShimrra Shai regulator-name = "vcc_fan_pwr_en"; 241ebe82df4SShimrra Shai }; 242ebe82df4SShimrra Shai 243ebe82df4SShimrra Shai vcc_hub_reset: regulator-vcc-hub-reset { 244ebe82df4SShimrra Shai compatible = "regulator-fixed"; 245ebe82df4SShimrra Shai enable-active-high; 246ebe82df4SShimrra Shai gpios = <&pca9555 4 GPIO_ACTIVE_HIGH>; 247ebe82df4SShimrra Shai regulator-always-on; 248ebe82df4SShimrra Shai regulator-boot-on; 249ebe82df4SShimrra Shai regulator-name = "vcc_hub_reset"; 250ebe82df4SShimrra Shai }; 251ebe82df4SShimrra Shai 252ebe82df4SShimrra Shai vcc_hub3_reset: regulator-vcc-hub3-reset { 253ebe82df4SShimrra Shai compatible = "regulator-fixed"; 254ebe82df4SShimrra Shai enable-active-high; 255ebe82df4SShimrra Shai gpios = <&pca9555 6 GPIO_ACTIVE_HIGH>; 256ebe82df4SShimrra Shai regulator-always-on; 257ebe82df4SShimrra Shai regulator-name = "vcc_hub3_reset"; 258ebe82df4SShimrra Shai }; 259ebe82df4SShimrra Shai 260ebe82df4SShimrra Shai vcc_sata_pwr_en: regulator-vcc-sata-pwr-en { 261ebe82df4SShimrra Shai compatible = "regulator-fixed"; 262ebe82df4SShimrra Shai enable-active-high; 263ebe82df4SShimrra Shai gpios = <&pca9555 10 GPIO_ACTIVE_HIGH>; 264ebe82df4SShimrra Shai regulator-always-on; 265ebe82df4SShimrra Shai regulator-boot-on; 266ebe82df4SShimrra Shai regulator-name = "vcc_sata_pwr_en"; 267ebe82df4SShimrra Shai }; 268ebe82df4SShimrra Shai}; 269ebe82df4SShimrra Shai 270ebe82df4SShimrra Shai&avcc_1v8_s0 { 271ebe82df4SShimrra Shai regulator-state-mem { 272ebe82df4SShimrra Shai regulator-on-in-suspend; 273ebe82df4SShimrra Shai }; 274ebe82df4SShimrra Shai}; 275ebe82df4SShimrra Shai 276ebe82df4SShimrra Shai&combphy0_ps { 277ebe82df4SShimrra Shai status = "okay"; 278ebe82df4SShimrra Shai}; 279ebe82df4SShimrra Shai 280ebe82df4SShimrra Shai&combphy1_ps { 281ebe82df4SShimrra Shai status = "okay"; 282ebe82df4SShimrra Shai}; 283ebe82df4SShimrra Shai 284ebe82df4SShimrra Shai&combphy2_psu { 285ebe82df4SShimrra Shai status = "okay"; 286ebe82df4SShimrra Shai}; 287ebe82df4SShimrra Shai 288ebe82df4SShimrra Shai&gmac0 { 289ebe82df4SShimrra Shai clock_in_out = "output"; 290ebe82df4SShimrra Shai phy-handle = <&rgmii_phy0>; 291ebe82df4SShimrra Shai phy-mode = "rgmii-rxid"; 292ebe82df4SShimrra Shai pinctrl-names = "default"; 293ebe82df4SShimrra Shai pinctrl-0 = <&gmac0_miim 294ebe82df4SShimrra Shai &gmac0_tx_bus2 295ebe82df4SShimrra Shai &gmac0_rx_bus2 296ebe82df4SShimrra Shai &gmac0_rgmii_clk 297ebe82df4SShimrra Shai &gmac0_rgmii_bus>; 298ebe82df4SShimrra Shai tx_delay = <0x45>; 299ebe82df4SShimrra Shai rx_delay = <0x4a>; 300ebe82df4SShimrra Shai status = "okay"; 301ebe82df4SShimrra Shai}; 302ebe82df4SShimrra Shai 303ebe82df4SShimrra Shai&gmac1 { 304ebe82df4SShimrra Shai clock_in_out = "output"; 305ebe82df4SShimrra Shai phy-handle = <&rgmii_phy1>; 306ebe82df4SShimrra Shai phy-mode = "rgmii-rxid"; 307ebe82df4SShimrra Shai pinctrl-names = "default"; 308ebe82df4SShimrra Shai pinctrl-0 = <&gmac1_miim 309ebe82df4SShimrra Shai &gmac1_tx_bus2 310ebe82df4SShimrra Shai &gmac1_rx_bus2 311ebe82df4SShimrra Shai &gmac1_rgmii_clk 312ebe82df4SShimrra Shai &gmac1_rgmii_bus>; 313ebe82df4SShimrra Shai tx_delay = <0x42>; 314ebe82df4SShimrra Shai rx_delay = <0x4f>; 315ebe82df4SShimrra Shai status = "okay"; 316ebe82df4SShimrra Shai}; 317ebe82df4SShimrra Shai 318ebe82df4SShimrra Shai&gpu { 319ebe82df4SShimrra Shai mali-supply = <&vdd_gpu_s0>; 320ebe82df4SShimrra Shai sram-supply = <&vdd_gpu_mem_s0>; 321ebe82df4SShimrra Shai status = "okay"; 322ebe82df4SShimrra Shai}; 323ebe82df4SShimrra Shai 324ebe82df4SShimrra Shai&hdmi0 { 325ebe82df4SShimrra Shai status = "okay"; 326ebe82df4SShimrra Shai}; 327ebe82df4SShimrra Shai 328ebe82df4SShimrra Shai&hdmi0_in { 329ebe82df4SShimrra Shai hdmi0_in_vp0: endpoint { 330ebe82df4SShimrra Shai remote-endpoint = <&vp0_out_hdmi0>; 331ebe82df4SShimrra Shai }; 332ebe82df4SShimrra Shai}; 333ebe82df4SShimrra Shai 334ebe82df4SShimrra Shai&hdmi0_out { 335ebe82df4SShimrra Shai hdmi0_out_con: endpoint { 336ebe82df4SShimrra Shai remote-endpoint = <&hdmi0_con_in>; 337ebe82df4SShimrra Shai }; 338ebe82df4SShimrra Shai}; 339ebe82df4SShimrra Shai 340*2efdb041SDamon Ding&hdptxphy0 { 341ebe82df4SShimrra Shai status = "okay"; 342ebe82df4SShimrra Shai}; 343ebe82df4SShimrra Shai 344ebe82df4SShimrra Shai&i2c3 { 345ebe82df4SShimrra Shai status = "okay"; 346ebe82df4SShimrra Shai 347ebe82df4SShimrra Shai /* 348ebe82df4SShimrra Shai * in the Firefly BSP source this was confusingly called an 349ebe82df4SShimrra Shai * "ES8388" - it actually seems to be an ES8323 and the drivers 350ebe82df4SShimrra Shai * for that work best 351ebe82df4SShimrra Shai */ 352ebe82df4SShimrra Shai es8323: audio-codec@11 { 353ebe82df4SShimrra Shai compatible = "everest,es8323"; 354ebe82df4SShimrra Shai reg = <0x11>; 355ebe82df4SShimrra Shai assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 356ebe82df4SShimrra Shai assigned-clock-rates = <12288000>; 357ebe82df4SShimrra Shai clocks = <&cru I2S0_8CH_MCLKOUT>; 358ebe82df4SShimrra Shai clock-names = "mclk"; 359ebe82df4SShimrra Shai #sound-dai-cells = <0>; 360ebe82df4SShimrra Shai }; 361ebe82df4SShimrra Shai}; 362ebe82df4SShimrra Shai 363ebe82df4SShimrra Shai&i2c6 { 364ebe82df4SShimrra Shai pinctrl-names = "default"; 365ebe82df4SShimrra Shai pinctrl-0 = <&i2c6m0_xfer>; 366ebe82df4SShimrra Shai status = "okay"; 367ebe82df4SShimrra Shai 368ebe82df4SShimrra Shai pca9555: gpio@21 { 369ebe82df4SShimrra Shai compatible = "nxp,pca9555"; 370ebe82df4SShimrra Shai reg = <0x21>; 371ebe82df4SShimrra Shai gpio-controller; 372ebe82df4SShimrra Shai #gpio-cells = <2>; 373ebe82df4SShimrra Shai }; 374ebe82df4SShimrra Shai 375ebe82df4SShimrra Shai usbc0: usb-typec@22 { 376ebe82df4SShimrra Shai compatible = "fcs,fusb302"; 377ebe82df4SShimrra Shai reg = <0x22>; 378ebe82df4SShimrra Shai interrupt-parent = <&gpio0>; 379ebe82df4SShimrra Shai interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>; 380ebe82df4SShimrra Shai pinctrl-names = "default"; 381ebe82df4SShimrra Shai pinctrl-0 = <&usbc0_int>; 382ebe82df4SShimrra Shai vbus-supply = <&vbus5v0_typec_pwr_en>; 383ebe82df4SShimrra Shai 384ebe82df4SShimrra Shai usb_con: connector { 385ebe82df4SShimrra Shai compatible = "usb-c-connector"; 386ebe82df4SShimrra Shai label = "USB-C"; 387ebe82df4SShimrra Shai data-role = "dual"; 388ebe82df4SShimrra Shai op-sink-microwatt = <1000000>; 389ebe82df4SShimrra Shai power-role = "dual"; 390ebe82df4SShimrra Shai sink-pdos = 391ebe82df4SShimrra Shai <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>; 392ebe82df4SShimrra Shai source-pdos = 393ebe82df4SShimrra Shai <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 394ebe82df4SShimrra Shai try-power-role = "source"; 395ebe82df4SShimrra Shai 396ebe82df4SShimrra Shai ports { 397ebe82df4SShimrra Shai #address-cells = <1>; 398ebe82df4SShimrra Shai #size-cells = <0>; 399ebe82df4SShimrra Shai 400ebe82df4SShimrra Shai port@0 { 401ebe82df4SShimrra Shai reg = <0>; 402ebe82df4SShimrra Shai 403ebe82df4SShimrra Shai usbc0_orien_sw: endpoint { 404ebe82df4SShimrra Shai remote-endpoint = <&usbdp_phy0_orientation_switch>; 405ebe82df4SShimrra Shai }; 406ebe82df4SShimrra Shai }; 407ebe82df4SShimrra Shai 408ebe82df4SShimrra Shai port@1 { 409ebe82df4SShimrra Shai reg = <1>; 410ebe82df4SShimrra Shai 411ebe82df4SShimrra Shai usbc0_role_sw: endpoint { 412ebe82df4SShimrra Shai remote-endpoint = <&dwc3_0_role_switch>; 413ebe82df4SShimrra Shai }; 414ebe82df4SShimrra Shai }; 415ebe82df4SShimrra Shai 416ebe82df4SShimrra Shai port@2 { 417ebe82df4SShimrra Shai reg = <2>; 418ebe82df4SShimrra Shai 419ebe82df4SShimrra Shai dp_altmode_mux: endpoint { 420ebe82df4SShimrra Shai remote-endpoint = <&usbdp_phy0_dp_altmode_mux>; 421ebe82df4SShimrra Shai }; 422ebe82df4SShimrra Shai }; 423ebe82df4SShimrra Shai }; 424ebe82df4SShimrra Shai }; 425ebe82df4SShimrra Shai }; 426ebe82df4SShimrra Shai 427ebe82df4SShimrra Shai hym8563: rtc@51 { 428ebe82df4SShimrra Shai compatible = "haoyu,hym8563"; 429ebe82df4SShimrra Shai reg = <0x51>; 430ebe82df4SShimrra Shai interrupt-parent = <&gpio0>; 431ebe82df4SShimrra Shai interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>; 432ebe82df4SShimrra Shai #clock-cells = <0>; 433ebe82df4SShimrra Shai clock-output-names = "hym8563"; 434ebe82df4SShimrra Shai pinctrl-names = "default"; 435ebe82df4SShimrra Shai pinctrl-0 = <&hym8563_int>; 436ebe82df4SShimrra Shai wakeup-source; 437ebe82df4SShimrra Shai }; 438ebe82df4SShimrra Shai}; 439ebe82df4SShimrra Shai 440ebe82df4SShimrra Shai&i2s0_8ch { 441ebe82df4SShimrra Shai pinctrl-names = "default"; 442ebe82df4SShimrra Shai pinctrl-0 = <&i2s0_lrck 443ebe82df4SShimrra Shai &i2s0_mclk 444ebe82df4SShimrra Shai &i2s0_sclk 445ebe82df4SShimrra Shai &i2s0_sdi0 446ebe82df4SShimrra Shai &i2s0_sdo0>; 447ebe82df4SShimrra Shai status = "okay"; 448ebe82df4SShimrra Shai}; 449ebe82df4SShimrra Shai 450ebe82df4SShimrra Shai&mdio0 { 451ebe82df4SShimrra Shai rgmii_phy0: ethernet-phy@1 { 452ebe82df4SShimrra Shai compatible = "ethernet-phy-ieee802.3-c22"; 453ebe82df4SShimrra Shai reg = <0x1>; 454ebe82df4SShimrra Shai }; 455ebe82df4SShimrra Shai}; 456ebe82df4SShimrra Shai 457ebe82df4SShimrra Shai&mdio1 { 458ebe82df4SShimrra Shai rgmii_phy1: ethernet-phy@1 { 459ebe82df4SShimrra Shai compatible = "ethernet-phy-ieee802.3-c22"; 460ebe82df4SShimrra Shai reg = <0x1>; 461ebe82df4SShimrra Shai }; 462ebe82df4SShimrra Shai}; 463ebe82df4SShimrra Shai 464ebe82df4SShimrra Shai&pcie2x1l0 { 465ebe82df4SShimrra Shai pinctrl-names = "default"; 466ebe82df4SShimrra Shai pinctrl-0 = <&pcie2_0_rst>; 467ebe82df4SShimrra Shai reset-gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>; 468ebe82df4SShimrra Shai status = "okay"; 469ebe82df4SShimrra Shai}; 470ebe82df4SShimrra Shai 471ebe82df4SShimrra Shai&pcie30phy { 472ebe82df4SShimrra Shai status = "okay"; 473ebe82df4SShimrra Shai}; 474ebe82df4SShimrra Shai 475ebe82df4SShimrra Shai&pcie3x4 { 476ebe82df4SShimrra Shai pinctrl-names = "default"; 477ebe82df4SShimrra Shai pinctrl-0 = <&pcie3_rst>; 478ebe82df4SShimrra Shai reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 479ebe82df4SShimrra Shai vpcie3v3-supply = <&vcc3v3_pcie30>; 480ebe82df4SShimrra Shai status = "okay"; 481ebe82df4SShimrra Shai}; 482ebe82df4SShimrra Shai 483ebe82df4SShimrra Shai&pinctrl { 484ebe82df4SShimrra Shai dp { 485ebe82df4SShimrra Shai dp1_hpd: dp1-hpd { 486ebe82df4SShimrra Shai rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 487ebe82df4SShimrra Shai }; 488ebe82df4SShimrra Shai }; 489ebe82df4SShimrra Shai 490ebe82df4SShimrra Shai hym8563 { 491ebe82df4SShimrra Shai hym8563_int: hym8563-int { 492ebe82df4SShimrra Shai rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 493ebe82df4SShimrra Shai }; 494ebe82df4SShimrra Shai }; 495ebe82df4SShimrra Shai 496ebe82df4SShimrra Shai gpio-leds { 497ebe82df4SShimrra Shai sys_led_pin: sys-led-pin { 498ebe82df4SShimrra Shai rockchip,pins = 499ebe82df4SShimrra Shai <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 500ebe82df4SShimrra Shai }; 501ebe82df4SShimrra Shai }; 502ebe82df4SShimrra Shai 503ebe82df4SShimrra Shai pcie2 { 504ebe82df4SShimrra Shai pcie2_0_rst: pcie2-0-rst { 505ebe82df4SShimrra Shai rockchip,pins = <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 506ebe82df4SShimrra Shai }; 507ebe82df4SShimrra Shai }; 508ebe82df4SShimrra Shai 509ebe82df4SShimrra Shai pcie3 { 510ebe82df4SShimrra Shai pcie3_rst: pcie3-rst { 511ebe82df4SShimrra Shai rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 512ebe82df4SShimrra Shai }; 513ebe82df4SShimrra Shai 514ebe82df4SShimrra Shai pcie3_vcc3v3_en: pcie3-vcc3v3-en { 515ebe82df4SShimrra Shai rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 516ebe82df4SShimrra Shai }; 517ebe82df4SShimrra Shai }; 518ebe82df4SShimrra Shai 519ebe82df4SShimrra Shai sound { 520ebe82df4SShimrra Shai hp_detect: hp-detect { 521ebe82df4SShimrra Shai rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; 522ebe82df4SShimrra Shai }; 523ebe82df4SShimrra Shai 524ebe82df4SShimrra Shai headphone_amplifier_en: headphone-amplifier-en { 525ebe82df4SShimrra Shai rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 526ebe82df4SShimrra Shai }; 527ebe82df4SShimrra Shai 528ebe82df4SShimrra Shai speaker_amplifier_en: speaker-amplifier-en { 529ebe82df4SShimrra Shai rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 530ebe82df4SShimrra Shai }; 531ebe82df4SShimrra Shai }; 532ebe82df4SShimrra Shai 533ebe82df4SShimrra Shai usb { 534ebe82df4SShimrra Shai usbc0_int: usbc0-int { 535ebe82df4SShimrra Shai rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; 536ebe82df4SShimrra Shai }; 537ebe82df4SShimrra Shai }; 538ebe82df4SShimrra Shai}; 539ebe82df4SShimrra Shai 540ebe82df4SShimrra Shai&pwm15 { 541ebe82df4SShimrra Shai pinctrl-names = "default"; 542ebe82df4SShimrra Shai pinctrl-0 = <&pwm15m2_pins>; 543ebe82df4SShimrra Shai status = "okay"; 544ebe82df4SShimrra Shai}; 545ebe82df4SShimrra Shai 546ebe82df4SShimrra Shai&sata0 { 547ebe82df4SShimrra Shai status = "okay"; 548ebe82df4SShimrra Shai}; 549ebe82df4SShimrra Shai 550ebe82df4SShimrra Shai&sata1 { 551ebe82df4SShimrra Shai status = "okay"; 552ebe82df4SShimrra Shai}; 553ebe82df4SShimrra Shai 554ebe82df4SShimrra Shai&sata2 { 555ebe82df4SShimrra Shai status = "okay"; 556ebe82df4SShimrra Shai}; 557ebe82df4SShimrra Shai 558ebe82df4SShimrra Shai/* uart/232/485 */ 559ebe82df4SShimrra Shai&uart0 { 560ebe82df4SShimrra Shai pinctrl-0 = <&uart0m2_xfer>; 561ebe82df4SShimrra Shai status = "okay"; 562ebe82df4SShimrra Shai}; 563ebe82df4SShimrra Shai 564ebe82df4SShimrra Shai&uart1 { 565ebe82df4SShimrra Shai pinctrl-0 = <&uart1m1_xfer>; 566ebe82df4SShimrra Shai status = "okay"; 567ebe82df4SShimrra Shai}; 568ebe82df4SShimrra Shai 569ebe82df4SShimrra Shai/* usb enable */ 570ebe82df4SShimrra Shai&u2phy0 { 571ebe82df4SShimrra Shai status = "okay"; 572ebe82df4SShimrra Shai}; 573ebe82df4SShimrra Shai 574ebe82df4SShimrra Shai&u2phy0_otg { 575ebe82df4SShimrra Shai status = "okay"; 576ebe82df4SShimrra Shai}; 577ebe82df4SShimrra Shai 578ebe82df4SShimrra Shai&u2phy1 { 579ebe82df4SShimrra Shai status = "okay"; 580ebe82df4SShimrra Shai}; 581ebe82df4SShimrra Shai 582ebe82df4SShimrra Shai&u2phy1_otg { 583ebe82df4SShimrra Shai phy-supply = <&vcc5v0_host>; 584ebe82df4SShimrra Shai status = "okay"; 585ebe82df4SShimrra Shai}; 586ebe82df4SShimrra Shai 587ebe82df4SShimrra Shai&u2phy2 { 588ebe82df4SShimrra Shai status = "okay"; 589ebe82df4SShimrra Shai}; 590ebe82df4SShimrra Shai 591ebe82df4SShimrra Shai&u2phy2_host { 592ebe82df4SShimrra Shai phy-supply = <&vcc5v0_host>; 593ebe82df4SShimrra Shai status = "okay"; 594ebe82df4SShimrra Shai}; 595ebe82df4SShimrra Shai 596ebe82df4SShimrra Shai&u2phy3 { 597ebe82df4SShimrra Shai status = "okay"; 598ebe82df4SShimrra Shai}; 599ebe82df4SShimrra Shai 600ebe82df4SShimrra Shai&u2phy3_host { 601ebe82df4SShimrra Shai phy-supply = <&vcc5v0_host>; 602ebe82df4SShimrra Shai status = "okay"; 603ebe82df4SShimrra Shai}; 604ebe82df4SShimrra Shai 605ebe82df4SShimrra Shai&usb_host0_ehci { 606ebe82df4SShimrra Shai status = "okay"; 607ebe82df4SShimrra Shai}; 608ebe82df4SShimrra Shai 609ebe82df4SShimrra Shai&usb_host0_ohci { 610ebe82df4SShimrra Shai status = "okay"; 611ebe82df4SShimrra Shai}; 612ebe82df4SShimrra Shai 613ebe82df4SShimrra Shai&usb_host1_ehci { 614ebe82df4SShimrra Shai status = "okay"; 615ebe82df4SShimrra Shai}; 616ebe82df4SShimrra Shai 617ebe82df4SShimrra Shai&usb_host1_ohci { 618ebe82df4SShimrra Shai status = "okay"; 619ebe82df4SShimrra Shai}; 620ebe82df4SShimrra Shai 621ebe82df4SShimrra Shai&usb_host0_xhci { 622ebe82df4SShimrra Shai usb-role-switch; 623ebe82df4SShimrra Shai dr_mode = "otg"; 624ebe82df4SShimrra Shai status = "okay"; 625ebe82df4SShimrra Shai 626ebe82df4SShimrra Shai port { 627ebe82df4SShimrra Shai #address-cells = <1>; 628ebe82df4SShimrra Shai #size-cells = <0>; 629ebe82df4SShimrra Shai 630ebe82df4SShimrra Shai dwc3_0_role_switch: endpoint@0 { 631ebe82df4SShimrra Shai reg = <0>; 632ebe82df4SShimrra Shai remote-endpoint = <&usbc0_role_sw>; 633ebe82df4SShimrra Shai }; 634ebe82df4SShimrra Shai }; 635ebe82df4SShimrra Shai}; 636ebe82df4SShimrra Shai 637ebe82df4SShimrra Shai&usb_host1_xhci { 638ebe82df4SShimrra Shai dr_mode = "host"; 639ebe82df4SShimrra Shai status = "okay"; 640ebe82df4SShimrra Shai}; 641ebe82df4SShimrra Shai 642ebe82df4SShimrra Shai&usb_host2_xhci { 643ebe82df4SShimrra Shai status = "okay"; 644ebe82df4SShimrra Shai}; 645ebe82df4SShimrra Shai 646ebe82df4SShimrra Shai&usbdp_phy0 { 647ebe82df4SShimrra Shai orientation-switch; 648ebe82df4SShimrra Shai sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>; 649ebe82df4SShimrra Shai sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; 650ebe82df4SShimrra Shai status = "okay"; 651ebe82df4SShimrra Shai 652ebe82df4SShimrra Shai port { 653ebe82df4SShimrra Shai #address-cells = <1>; 654ebe82df4SShimrra Shai #size-cells = <0>; 655ebe82df4SShimrra Shai 656ebe82df4SShimrra Shai usbdp_phy0_orientation_switch: endpoint@0 { 657ebe82df4SShimrra Shai reg = <0>; 658ebe82df4SShimrra Shai remote-endpoint = <&usbc0_orien_sw>; 659ebe82df4SShimrra Shai }; 660ebe82df4SShimrra Shai 661ebe82df4SShimrra Shai usbdp_phy0_dp_altmode_mux: endpoint@1 { 662ebe82df4SShimrra Shai reg = <1>; 663ebe82df4SShimrra Shai remote-endpoint = <&dp_altmode_mux>; 664ebe82df4SShimrra Shai }; 665ebe82df4SShimrra Shai }; 666ebe82df4SShimrra Shai}; 667ebe82df4SShimrra Shai 668ebe82df4SShimrra Shai&usbdp_phy1 { 669ebe82df4SShimrra Shai rockchip,dp-lane-mux = <2 3>; 670ebe82df4SShimrra Shai status = "okay"; 671ebe82df4SShimrra Shai}; 672ebe82df4SShimrra Shai 673ebe82df4SShimrra Shai&vcc_1v8_s0 { 674ebe82df4SShimrra Shai regulator-state-mem { 675ebe82df4SShimrra Shai regulator-on-in-suspend; 676ebe82df4SShimrra Shai regulator-suspend-microvolt = <1800000>; 677ebe82df4SShimrra Shai }; 678ebe82df4SShimrra Shai}; 679ebe82df4SShimrra Shai 680ebe82df4SShimrra Shai/* for fan when deep sleep */ 681ebe82df4SShimrra Shai&vdd_log_s0 { 682ebe82df4SShimrra Shai regulator-state-mem { 683ebe82df4SShimrra Shai regulator-on-in-suspend; 684ebe82df4SShimrra Shai regulator-suspend-microvolt = <750000>; 685ebe82df4SShimrra Shai }; 686ebe82df4SShimrra Shai}; 687ebe82df4SShimrra Shai 688ebe82df4SShimrra Shai/* display generator */ 689ebe82df4SShimrra Shai&vop_mmu { 690ebe82df4SShimrra Shai status = "okay"; 691ebe82df4SShimrra Shai}; 692ebe82df4SShimrra Shai 693ebe82df4SShimrra Shai&vop { 694ebe82df4SShimrra Shai status = "okay"; 695ebe82df4SShimrra Shai}; 696ebe82df4SShimrra Shai 697ebe82df4SShimrra Shai&vp0 { 698ebe82df4SShimrra Shai vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 699ebe82df4SShimrra Shai reg = <ROCKCHIP_VOP2_EP_HDMI0>; 700ebe82df4SShimrra Shai remote-endpoint = <&hdmi0_in_vp0>; 701ebe82df4SShimrra Shai }; 702ebe82df4SShimrra Shai}; 703