1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun#include "rk3588.dtsi" 8*4882a593Smuzhiyun#include "rk3588-evb.dtsi" 9*4882a593Smuzhiyun#include "rk3588-rk806-dual.dtsi" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/ { 12*4882a593Smuzhiyun dsm_sound: dsm-sound { 13*4882a593Smuzhiyun compatible = "simple-audio-card"; 14*4882a593Smuzhiyun simple-audio-card,format = "i2s"; 15*4882a593Smuzhiyun simple-audio-card,mclk-fs = <256>; 16*4882a593Smuzhiyun simple-audio-card,name = "rockchip,dsm-sound"; 17*4882a593Smuzhiyun simple-audio-card,bitclock-master = <&sndcodec>; 18*4882a593Smuzhiyun simple-audio-card,frame-master = <&sndcodec>; 19*4882a593Smuzhiyun sndcpu: simple-audio-card,cpu { 20*4882a593Smuzhiyun sound-dai = <&i2s3_2ch>; 21*4882a593Smuzhiyun }; 22*4882a593Smuzhiyun sndcodec: simple-audio-card,codec { 23*4882a593Smuzhiyun sound-dai = <&acdcdig_dsm>; 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun }; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun fan: pwm-fan { 28*4882a593Smuzhiyun compatible = "pwm-fan"; 29*4882a593Smuzhiyun #cooling-cells = <2>; 30*4882a593Smuzhiyun pwms = <&pwm9 0 50000 0>; 31*4882a593Smuzhiyun cooling-levels = <0 50 100 150 200 255>; 32*4882a593Smuzhiyun rockchip,temp-trips = < 33*4882a593Smuzhiyun 50000 1 34*4882a593Smuzhiyun 55000 2 35*4882a593Smuzhiyun 60000 3 36*4882a593Smuzhiyun 65000 4 37*4882a593Smuzhiyun 70000 5 38*4882a593Smuzhiyun >; 39*4882a593Smuzhiyun }; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun hdmiin_dc: hdmiin-dc { 42*4882a593Smuzhiyun compatible = "rockchip,dummy-codec"; 43*4882a593Smuzhiyun #sound-dai-cells = <0>; 44*4882a593Smuzhiyun }; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun hdmiin-sound { 47*4882a593Smuzhiyun compatible = "simple-audio-card"; 48*4882a593Smuzhiyun simple-audio-card,format = "i2s"; 49*4882a593Smuzhiyun simple-audio-card,name = "rockchip,hdmiin"; 50*4882a593Smuzhiyun simple-audio-card,bitclock-master = <&dailink0_master>; 51*4882a593Smuzhiyun simple-audio-card,frame-master = <&dailink0_master>; 52*4882a593Smuzhiyun status = "okay"; 53*4882a593Smuzhiyun simple-audio-card,cpu { 54*4882a593Smuzhiyun sound-dai = <&i2s7_8ch>; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun dailink0_master: simple-audio-card,codec { 57*4882a593Smuzhiyun sound-dai = <&hdmiin_dc>; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun pcie20_avdd0v85: pcie20-avdd0v85 { 62*4882a593Smuzhiyun compatible = "regulator-fixed"; 63*4882a593Smuzhiyun regulator-name = "pcie20_avdd0v85"; 64*4882a593Smuzhiyun regulator-boot-on; 65*4882a593Smuzhiyun regulator-always-on; 66*4882a593Smuzhiyun regulator-min-microvolt = <850000>; 67*4882a593Smuzhiyun regulator-max-microvolt = <850000>; 68*4882a593Smuzhiyun vin-supply = <&avdd_0v85_s0>; 69*4882a593Smuzhiyun }; 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun pcie20_avdd1v8: pcie20-avdd1v8 { 72*4882a593Smuzhiyun compatible = "regulator-fixed"; 73*4882a593Smuzhiyun regulator-name = "pcie20_avdd1v8"; 74*4882a593Smuzhiyun regulator-boot-on; 75*4882a593Smuzhiyun regulator-always-on; 76*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 77*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 78*4882a593Smuzhiyun vin-supply = <&avcc_1v8_s0>; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun pcie30_avdd0v75: pcie30-avdd0v75 { 82*4882a593Smuzhiyun compatible = "regulator-fixed"; 83*4882a593Smuzhiyun regulator-name = "pcie30_avdd0v75"; 84*4882a593Smuzhiyun regulator-boot-on; 85*4882a593Smuzhiyun regulator-always-on; 86*4882a593Smuzhiyun regulator-min-microvolt = <750000>; 87*4882a593Smuzhiyun regulator-max-microvolt = <750000>; 88*4882a593Smuzhiyun vin-supply = <&avdd_0v75_s0>; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun pcie30_avdd1v8: pcie30-avdd1v8 { 92*4882a593Smuzhiyun compatible = "regulator-fixed"; 93*4882a593Smuzhiyun regulator-name = "pcie30_avdd1v8"; 94*4882a593Smuzhiyun regulator-boot-on; 95*4882a593Smuzhiyun regulator-always-on; 96*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 97*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 98*4882a593Smuzhiyun vin-supply = <&avcc_1v8_s0>; 99*4882a593Smuzhiyun }; 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun vcc3v3_pcie30: vcc3v3-pcie30 { 102*4882a593Smuzhiyun compatible = "regulator-fixed"; 103*4882a593Smuzhiyun regulator-name = "vcc3v3_pcie30"; 104*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 105*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 106*4882a593Smuzhiyun enable-active-high; 107*4882a593Smuzhiyun gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>; 108*4882a593Smuzhiyun startup-delay-us = <5000>; 109*4882a593Smuzhiyun vin-supply = <&vcc12v_dcin>; 110*4882a593Smuzhiyun }; 111*4882a593Smuzhiyun}; 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun&acdcdig_dsm { 114*4882a593Smuzhiyun status = "okay"; 115*4882a593Smuzhiyun}; 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun&combphy0_ps { 118*4882a593Smuzhiyun status = "okay"; 119*4882a593Smuzhiyun}; 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun&combphy1_ps { 122*4882a593Smuzhiyun status = "okay"; 123*4882a593Smuzhiyun}; 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun&combphy2_psu { 126*4882a593Smuzhiyun status = "okay"; 127*4882a593Smuzhiyun}; 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun/* 130*4882a593Smuzhiyun * mipi_dcphy0 needs to be enabled 131*4882a593Smuzhiyun * when dsi0 is enabled 132*4882a593Smuzhiyun */ 133*4882a593Smuzhiyun&dsi0 { 134*4882a593Smuzhiyun status = "disabled"; 135*4882a593Smuzhiyun}; 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun&dsi0_in_vp2 { 138*4882a593Smuzhiyun status = "disabled"; 139*4882a593Smuzhiyun}; 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun&dsi0_in_vp3 { 142*4882a593Smuzhiyun status = "okay"; 143*4882a593Smuzhiyun}; 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun/* 146*4882a593Smuzhiyun * mipi_dcphy1 needs to be enabled 147*4882a593Smuzhiyun * when dsi1 is enabled 148*4882a593Smuzhiyun */ 149*4882a593Smuzhiyun&dsi1 { 150*4882a593Smuzhiyun status = "disabled"; 151*4882a593Smuzhiyun}; 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun&dsi1_in_vp2 { 154*4882a593Smuzhiyun status = "disabled"; 155*4882a593Smuzhiyun}; 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun&dsi1_in_vp3 { 158*4882a593Smuzhiyun status = "disabled"; 159*4882a593Smuzhiyun}; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun&hdmi1 { 162*4882a593Smuzhiyun enable-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>; 163*4882a593Smuzhiyun status = "okay"; 164*4882a593Smuzhiyun}; 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun&hdmi1_in_vp0 { 167*4882a593Smuzhiyun status = "okay"; 168*4882a593Smuzhiyun}; 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun&hdmi1_sound { 171*4882a593Smuzhiyun status = "okay"; 172*4882a593Smuzhiyun}; 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun&hdptxphy_hdmi1 { 175*4882a593Smuzhiyun status = "okay"; 176*4882a593Smuzhiyun}; 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun&i2s3_2ch { 179*4882a593Smuzhiyun status = "okay"; 180*4882a593Smuzhiyun /delete-property/ pinctrl-names; 181*4882a593Smuzhiyun /delete-property/ pinctrl-0; 182*4882a593Smuzhiyun}; 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun&i2s6_8ch { 185*4882a593Smuzhiyun status = "okay"; 186*4882a593Smuzhiyun}; 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun&i2s7_8ch { 189*4882a593Smuzhiyun status = "okay"; 190*4882a593Smuzhiyun}; 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun&mipi_dcphy0 { 193*4882a593Smuzhiyun status = "disabled"; 194*4882a593Smuzhiyun}; 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun&mipi_dcphy1 { 197*4882a593Smuzhiyun status = "disabled"; 198*4882a593Smuzhiyun}; 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun&pcie2x1l0 { 201*4882a593Smuzhiyun reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; 202*4882a593Smuzhiyun vpcie3v3-supply = <&vcc3v3_pcie30>; 203*4882a593Smuzhiyun status = "okay"; 204*4882a593Smuzhiyun}; 205*4882a593Smuzhiyun 206*4882a593Smuzhiyun&pcie2x1l1 { 207*4882a593Smuzhiyun reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; 208*4882a593Smuzhiyun vpcie3v3-supply = <&vcc3v3_pcie30>; 209*4882a593Smuzhiyun status = "okay"; 210*4882a593Smuzhiyun}; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun&pcie2x1l2 { 213*4882a593Smuzhiyun reset-gpios = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>; 214*4882a593Smuzhiyun vpcie3v3-supply = <&vcc3v3_pcie30>; 215*4882a593Smuzhiyun status = "okay"; 216*4882a593Smuzhiyun}; 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun&pcie30phy { 219*4882a593Smuzhiyun rockchip,pcie30-phymode = <PHY_MODE_PCIE_NANBNB>; 220*4882a593Smuzhiyun status = "okay"; 221*4882a593Smuzhiyun}; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun&pcie3x2 { 224*4882a593Smuzhiyun reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 225*4882a593Smuzhiyun vpcie3v3-supply = <&vcc3v3_pcie30>; 226*4882a593Smuzhiyun status = "okay"; 227*4882a593Smuzhiyun}; 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun&pcie3x4 { 230*4882a593Smuzhiyun num-lanes = <2>; 231*4882a593Smuzhiyun reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 232*4882a593Smuzhiyun vpcie3v3-supply = <&vcc3v3_pcie30>; 233*4882a593Smuzhiyun pinctrl-names = "default"; 234*4882a593Smuzhiyun pinctrl-0 = <&pcie30x4_clkreqn_m1>; 235*4882a593Smuzhiyun status = "okay"; 236*4882a593Smuzhiyun}; 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun&pinctrl { 239*4882a593Smuzhiyun pcie30x4 { 240*4882a593Smuzhiyun pcie30x4_clkreqn_m1: pcie30x4-clkreqn-m1 { 241*4882a593Smuzhiyun rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>; 242*4882a593Smuzhiyun }; 243*4882a593Smuzhiyun }; 244*4882a593Smuzhiyun}; 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun&pwm9 { 247*4882a593Smuzhiyun pinctrl-0 = <&pwm9m2_pins>; 248*4882a593Smuzhiyun status = "okay"; 249*4882a593Smuzhiyun}; 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun&route_dsi0 { 252*4882a593Smuzhiyun status = "okay"; 253*4882a593Smuzhiyun connect = <&vp3_out_dsi0>; 254*4882a593Smuzhiyun}; 255*4882a593Smuzhiyun 256*4882a593Smuzhiyun&route_dsi1 { 257*4882a593Smuzhiyun status = "disabled"; 258*4882a593Smuzhiyun connect = <&vp3_out_dsi1>; 259*4882a593Smuzhiyun}; 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun&spdif_tx1 { 262*4882a593Smuzhiyun status = "okay"; 263*4882a593Smuzhiyun pinctrl-names = "default"; 264*4882a593Smuzhiyun pinctrl-0 = <&spdif1m0_tx>; 265*4882a593Smuzhiyun}; 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun&spdif_tx1_dc { 268*4882a593Smuzhiyun status = "okay"; 269*4882a593Smuzhiyun}; 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun&spdif_tx1_sound { 272*4882a593Smuzhiyun status = "okay"; 273*4882a593Smuzhiyun}; 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun&usbdp_phy0 { 276*4882a593Smuzhiyun status = "disabled"; 277*4882a593Smuzhiyun}; 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun&usbdp_phy0_dp { 280*4882a593Smuzhiyun status = "disabled"; 281*4882a593Smuzhiyun}; 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun&usbdp_phy0_u3 { 284*4882a593Smuzhiyun status = "disabled"; 285*4882a593Smuzhiyun}; 286*4882a593Smuzhiyun 287*4882a593Smuzhiyun&usbdrd_dwc3_0 { 288*4882a593Smuzhiyun dr_mode = "peripheral"; 289*4882a593Smuzhiyun phys = <&u2phy0_otg>; 290*4882a593Smuzhiyun phy-names = "usb2-phy"; 291*4882a593Smuzhiyun maximum-speed = "high-speed"; 292*4882a593Smuzhiyun}; 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun&usbhost3_0 { 295*4882a593Smuzhiyun status = "disabled"; 296*4882a593Smuzhiyun}; 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun&usbhost_dwc3_0 { 299*4882a593Smuzhiyun status = "disabled"; 300*4882a593Smuzhiyun}; 301