cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

rk3399-firefly.dts (18960B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2/*
      3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
      4 */
      5
      6/dts-v1/;
      7#include <dt-bindings/input/linux-event-codes.h>
      8#include <dt-bindings/interrupt-controller/irq.h>
      9#include <dt-bindings/pwm/pwm.h>
     10#include <dt-bindings/usb/pd.h>
     11#include "rk3399.dtsi"
     12#include "rk3399-opp.dtsi"
     13
     14/ {
     15	model = "Firefly-RK3399 Board";
     16	compatible = "firefly,firefly-rk3399", "rockchip,rk3399";
     17
     18	aliases {
     19		mmc0 = &sdio0;
     20		mmc1 = &sdmmc;
     21		mmc2 = &sdhci;
     22	};
     23
     24	chosen {
     25		stdout-path = "serial2:1500000n8";
     26	};
     27
     28	backlight: backlight {
     29		compatible = "pwm-backlight";
     30		enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
     31		pwms = <&pwm0 0 25000 0>;
     32		brightness-levels = <
     33			  0   1   2   3   4   5   6   7
     34			  8   9  10  11  12  13  14  15
     35			 16  17  18  19  20  21  22  23
     36			 24  25  26  27  28  29  30  31
     37			 32  33  34  35  36  37  38  39
     38			 40  41  42  43  44  45  46  47
     39			 48  49  50  51  52  53  54  55
     40			 56  57  58  59  60  61  62  63
     41			 64  65  66  67  68  69  70  71
     42			 72  73  74  75  76  77  78  79
     43			 80  81  82  83  84  85  86  87
     44			 88  89  90  91  92  93  94  95
     45			 96  97  98  99 100 101 102 103
     46			104 105 106 107 108 109 110 111
     47			112 113 114 115 116 117 118 119
     48			120 121 122 123 124 125 126 127
     49			128 129 130 131 132 133 134 135
     50			136 137 138 139 140 141 142 143
     51			144 145 146 147 148 149 150 151
     52			152 153 154 155 156 157 158 159
     53			160 161 162 163 164 165 166 167
     54			168 169 170 171 172 173 174 175
     55			176 177 178 179 180 181 182 183
     56			184 185 186 187 188 189 190 191
     57			192 193 194 195 196 197 198 199
     58			200 201 202 203 204 205 206 207
     59			208 209 210 211 212 213 214 215
     60			216 217 218 219 220 221 222 223
     61			224 225 226 227 228 229 230 231
     62			232 233 234 235 236 237 238 239
     63			240 241 242 243 244 245 246 247
     64			248 249 250 251 252 253 254 255>;
     65		default-brightness-level = <200>;
     66	};
     67
     68	clkin_gmac: external-gmac-clock {
     69		compatible = "fixed-clock";
     70		clock-frequency = <125000000>;
     71		clock-output-names = "clkin_gmac";
     72		#clock-cells = <0>;
     73	};
     74
     75	dc_12v: dc-12v {
     76		compatible = "regulator-fixed";
     77		regulator-name = "dc_12v";
     78		regulator-always-on;
     79		regulator-boot-on;
     80		regulator-min-microvolt = <12000000>;
     81		regulator-max-microvolt = <12000000>;
     82	};
     83
     84	gpio-keys {
     85		compatible = "gpio-keys";
     86		autorepeat;
     87		pinctrl-names = "default";
     88		pinctrl-0 = <&pwrbtn>;
     89
     90		power {
     91			debounce-interval = <100>;
     92			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
     93			label = "GPIO Key Power";
     94			linux,code = <KEY_POWER>;
     95			wakeup-source;
     96		};
     97	};
     98
     99	ir-receiver {
    100		compatible = "gpio-ir-receiver";
    101		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
    102		pinctrl-0 = <&ir_int>;
    103		pinctrl-names = "default";
    104	};
    105
    106	leds {
    107		compatible = "gpio-leds";
    108		pinctrl-names = "default";
    109		pinctrl-0 = <&work_led_pin>, <&diy_led_pin>;
    110
    111		work_led: led-0 {
    112			label = "work";
    113			default-state = "on";
    114			gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
    115		};
    116
    117		diy_led: led-1 {
    118			label = "diy";
    119			default-state = "off";
    120			gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
    121		};
    122	};
    123
    124	rt5640-sound {
    125		compatible = "simple-audio-card";
    126		simple-audio-card,name = "rockchip,rt5640-codec";
    127		simple-audio-card,format = "i2s";
    128		simple-audio-card,mclk-fs = <256>;
    129		simple-audio-card,widgets =
    130			"Microphone", "Mic Jack",
    131			"Headphone", "Headphone Jack";
    132		simple-audio-card,routing =
    133			"Mic Jack", "MICBIAS1",
    134			"IN1P", "Mic Jack",
    135			"Headphone Jack", "HPOL",
    136			"Headphone Jack", "HPOR";
    137
    138		simple-audio-card,cpu {
    139			sound-dai = <&i2s1>;
    140		};
    141
    142		simple-audio-card,codec {
    143			sound-dai = <&rt5640>;
    144		};
    145	};
    146
    147	sdio_pwrseq: sdio-pwrseq {
    148		compatible = "mmc-pwrseq-simple";
    149		clocks = <&rk808 1>;
    150		clock-names = "ext_clock";
    151		pinctrl-names = "default";
    152		pinctrl-0 = <&wifi_enable_h>;
    153
    154		/*
    155		 * On the module itself this is one of these (depending
    156		 * on the actual card populated):
    157		 * - SDIO_RESET_L_WL_REG_ON
    158		 * - PDN (power down when low)
    159		 */
    160		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
    161	};
    162
    163	sound-dit {
    164		compatible = "audio-graph-card";
    165		label = "SPDIF";
    166		dais = <&spdif_p0>;
    167	};
    168
    169	spdif-dit {
    170		compatible = "linux,spdif-dit";
    171		#sound-dai-cells = <0>;
    172
    173		port {
    174			dit_p0_0: endpoint {
    175				remote-endpoint = <&spdif_p0_0>;
    176			};
    177		};
    178	};
    179
    180	/* switched by pmic_sleep */
    181	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
    182		compatible = "regulator-fixed";
    183		regulator-name = "vcc1v8_s3";
    184		regulator-always-on;
    185		regulator-boot-on;
    186		regulator-min-microvolt = <1800000>;
    187		regulator-max-microvolt = <1800000>;
    188		vin-supply = <&vcc_1v8>;
    189	};
    190
    191	vcc3v3_pcie: vcc3v3-pcie-regulator {
    192		compatible = "regulator-fixed";
    193		enable-active-high;
    194		gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
    195		pinctrl-names = "default";
    196		pinctrl-0 = <&pcie_pwr_en>;
    197		regulator-name = "vcc3v3_pcie";
    198		regulator-always-on;
    199		regulator-boot-on;
    200		vin-supply = <&dc_12v>;
    201	};
    202
    203	vcc3v3_sys: vcc3v3-sys {
    204		compatible = "regulator-fixed";
    205		regulator-name = "vcc3v3_sys";
    206		regulator-always-on;
    207		regulator-boot-on;
    208		regulator-min-microvolt = <3300000>;
    209		regulator-max-microvolt = <3300000>;
    210		vin-supply = <&vcc_sys>;
    211	};
    212
    213	/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
    214	vcc5v0_host: vcc5v0-host-regulator {
    215		compatible = "regulator-fixed";
    216		enable-active-high;
    217		gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
    218		pinctrl-names = "default";
    219		pinctrl-0 = <&vcc5v0_host_en>;
    220		regulator-name = "vcc5v0_host";
    221		regulator-always-on;
    222		vin-supply = <&vcc_sys>;
    223	};
    224
    225	vcc5v0_typec: vcc5v0-typec-regulator {
    226		compatible = "regulator-fixed";
    227		enable-active-high;
    228		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
    229		pinctrl-names = "default";
    230		pinctrl-0 = <&vcc5v0_typec_en>;
    231		regulator-name = "vcc5v0_typec";
    232		regulator-always-on;
    233		vin-supply = <&vcc_sys>;
    234	};
    235
    236	vcc_sys: vcc-sys {
    237		compatible = "regulator-fixed";
    238		regulator-name = "vcc_sys";
    239		regulator-always-on;
    240		regulator-boot-on;
    241		regulator-min-microvolt = <5000000>;
    242		regulator-max-microvolt = <5000000>;
    243		vin-supply = <&dc_12v>;
    244	};
    245
    246	vdd_log: vdd-log {
    247		compatible = "pwm-regulator";
    248		pwms = <&pwm2 0 25000 1>;
    249		pwm-supply = <&vcc_sys>;
    250		regulator-name = "vdd_log";
    251		regulator-always-on;
    252		regulator-boot-on;
    253		regulator-min-microvolt = <430000>;
    254		regulator-max-microvolt = <1400000>;
    255	};
    256};
    257
    258&cpu_l0 {
    259	cpu-supply = <&vdd_cpu_l>;
    260};
    261
    262&cpu_l1 {
    263	cpu-supply = <&vdd_cpu_l>;
    264};
    265
    266&cpu_l2 {
    267	cpu-supply = <&vdd_cpu_l>;
    268};
    269
    270&cpu_l3 {
    271	cpu-supply = <&vdd_cpu_l>;
    272};
    273
    274&cpu_b0 {
    275	cpu-supply = <&vdd_cpu_b>;
    276};
    277
    278&cpu_b1 {
    279	cpu-supply = <&vdd_cpu_b>;
    280};
    281
    282&emmc_phy {
    283	status = "okay";
    284};
    285
    286&gmac {
    287	assigned-clocks = <&cru SCLK_RMII_SRC>;
    288	assigned-clock-parents = <&clkin_gmac>;
    289	clock_in_out = "input";
    290	phy-supply = <&vcc_lan>;
    291	phy-mode = "rgmii";
    292	pinctrl-names = "default";
    293	pinctrl-0 = <&rgmii_pins>;
    294	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
    295	snps,reset-active-low;
    296	snps,reset-delays-us = <0 10000 50000>;
    297	tx_delay = <0x28>;
    298	rx_delay = <0x11>;
    299	status = "okay";
    300};
    301
    302&gpu {
    303	mali-supply = <&vdd_gpu>;
    304	status = "okay";
    305};
    306
    307&hdmi {
    308	ddc-i2c-bus = <&i2c3>;
    309	pinctrl-names = "default";
    310	pinctrl-0 = <&hdmi_cec>;
    311	status = "okay";
    312};
    313
    314&i2c0 {
    315	clock-frequency = <400000>;
    316	i2c-scl-rising-time-ns = <168>;
    317	i2c-scl-falling-time-ns = <4>;
    318	status = "okay";
    319
    320	rk808: pmic@1b {
    321		compatible = "rockchip,rk808";
    322		reg = <0x1b>;
    323		interrupt-parent = <&gpio1>;
    324		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
    325		#clock-cells = <1>;
    326		clock-output-names = "xin32k", "rk808-clkout2";
    327		pinctrl-names = "default";
    328		pinctrl-0 = <&pmic_int_l>;
    329		rockchip,system-power-controller;
    330		wakeup-source;
    331
    332		vcc1-supply = <&vcc_sys>;
    333		vcc2-supply = <&vcc_sys>;
    334		vcc3-supply = <&vcc_sys>;
    335		vcc4-supply = <&vcc_sys>;
    336		vcc6-supply = <&vcc_sys>;
    337		vcc7-supply = <&vcc_sys>;
    338		vcc8-supply = <&vcc3v3_sys>;
    339		vcc9-supply = <&vcc_sys>;
    340		vcc10-supply = <&vcc_sys>;
    341		vcc11-supply = <&vcc_sys>;
    342		vcc12-supply = <&vcc3v3_sys>;
    343		vddio-supply = <&vcc1v8_pmu>;
    344
    345		regulators {
    346			vdd_center: DCDC_REG1 {
    347				regulator-name = "vdd_center";
    348				regulator-always-on;
    349				regulator-boot-on;
    350				regulator-min-microvolt = <750000>;
    351				regulator-max-microvolt = <1350000>;
    352				regulator-ramp-delay = <6001>;
    353				regulator-state-mem {
    354					regulator-off-in-suspend;
    355				};
    356			};
    357
    358			vdd_cpu_l: DCDC_REG2 {
    359				regulator-name = "vdd_cpu_l";
    360				regulator-always-on;
    361				regulator-boot-on;
    362				regulator-min-microvolt = <750000>;
    363				regulator-max-microvolt = <1350000>;
    364				regulator-ramp-delay = <6001>;
    365				regulator-state-mem {
    366					regulator-off-in-suspend;
    367				};
    368			};
    369
    370			vcc_ddr: DCDC_REG3 {
    371				regulator-name = "vcc_ddr";
    372				regulator-always-on;
    373				regulator-boot-on;
    374				regulator-state-mem {
    375					regulator-on-in-suspend;
    376				};
    377			};
    378
    379			vcc_1v8: DCDC_REG4 {
    380				regulator-name = "vcc_1v8";
    381				regulator-always-on;
    382				regulator-boot-on;
    383				regulator-min-microvolt = <1800000>;
    384				regulator-max-microvolt = <1800000>;
    385				regulator-state-mem {
    386					regulator-on-in-suspend;
    387					regulator-suspend-microvolt = <1800000>;
    388				};
    389			};
    390
    391			vcc1v8_dvp: LDO_REG1 {
    392				regulator-name = "vcc1v8_dvp";
    393				regulator-always-on;
    394				regulator-boot-on;
    395				regulator-min-microvolt = <1800000>;
    396				regulator-max-microvolt = <1800000>;
    397				regulator-state-mem {
    398					regulator-off-in-suspend;
    399				};
    400			};
    401
    402			vcc2v8_dvp: LDO_REG2 {
    403				regulator-name = "vcc2v8_dvp";
    404				regulator-always-on;
    405				regulator-boot-on;
    406				regulator-min-microvolt = <2800000>;
    407				regulator-max-microvolt = <2800000>;
    408				regulator-state-mem {
    409					regulator-off-in-suspend;
    410				};
    411			};
    412
    413			vcc1v8_pmu: LDO_REG3 {
    414				regulator-name = "vcc1v8_pmu";
    415				regulator-always-on;
    416				regulator-boot-on;
    417				regulator-min-microvolt = <1800000>;
    418				regulator-max-microvolt = <1800000>;
    419				regulator-state-mem {
    420					regulator-on-in-suspend;
    421					regulator-suspend-microvolt = <1800000>;
    422				};
    423			};
    424
    425			vcc_sdio: LDO_REG4 {
    426				regulator-name = "vcc_sdio";
    427				regulator-always-on;
    428				regulator-boot-on;
    429				regulator-min-microvolt = <1800000>;
    430				regulator-max-microvolt = <3000000>;
    431				regulator-state-mem {
    432					regulator-on-in-suspend;
    433					regulator-suspend-microvolt = <3000000>;
    434				};
    435			};
    436
    437			vcca3v0_codec: LDO_REG5 {
    438				regulator-name = "vcca3v0_codec";
    439				regulator-always-on;
    440				regulator-boot-on;
    441				regulator-min-microvolt = <3000000>;
    442				regulator-max-microvolt = <3000000>;
    443				regulator-state-mem {
    444					regulator-off-in-suspend;
    445				};
    446			};
    447
    448			vcc_1v5: LDO_REG6 {
    449				regulator-name = "vcc_1v5";
    450				regulator-always-on;
    451				regulator-boot-on;
    452				regulator-min-microvolt = <1500000>;
    453				regulator-max-microvolt = <1500000>;
    454				regulator-state-mem {
    455					regulator-on-in-suspend;
    456					regulator-suspend-microvolt = <1500000>;
    457				};
    458			};
    459
    460			vcca1v8_codec: LDO_REG7 {
    461				regulator-name = "vcca1v8_codec";
    462				regulator-always-on;
    463				regulator-boot-on;
    464				regulator-min-microvolt = <1800000>;
    465				regulator-max-microvolt = <1800000>;
    466				regulator-state-mem {
    467					regulator-off-in-suspend;
    468				};
    469			};
    470
    471			vcc_3v0: LDO_REG8 {
    472				regulator-name = "vcc_3v0";
    473				regulator-always-on;
    474				regulator-boot-on;
    475				regulator-min-microvolt = <3000000>;
    476				regulator-max-microvolt = <3000000>;
    477				regulator-state-mem {
    478					regulator-on-in-suspend;
    479					regulator-suspend-microvolt = <3000000>;
    480				};
    481			};
    482
    483			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
    484				regulator-name = "vcc3v3_s3";
    485				regulator-always-on;
    486				regulator-boot-on;
    487				regulator-state-mem {
    488					regulator-off-in-suspend;
    489				};
    490			};
    491
    492			vcc3v3_s0: SWITCH_REG2 {
    493				regulator-name = "vcc3v3_s0";
    494				regulator-always-on;
    495				regulator-boot-on;
    496				regulator-state-mem {
    497					regulator-off-in-suspend;
    498				};
    499			};
    500		};
    501	};
    502
    503	vdd_cpu_b: regulator@40 {
    504		compatible = "silergy,syr827";
    505		reg = <0x40>;
    506		fcs,suspend-voltage-selector = <0>;
    507		regulator-name = "vdd_cpu_b";
    508		regulator-min-microvolt = <712500>;
    509		regulator-max-microvolt = <1500000>;
    510		regulator-ramp-delay = <1000>;
    511		regulator-always-on;
    512		regulator-boot-on;
    513		vin-supply = <&vcc_sys>;
    514
    515		regulator-state-mem {
    516			regulator-off-in-suspend;
    517		};
    518	};
    519
    520	vdd_gpu: regulator@41 {
    521		compatible = "silergy,syr828";
    522		reg = <0x41>;
    523		fcs,suspend-voltage-selector = <1>;
    524		regulator-name = "vdd_gpu";
    525		regulator-min-microvolt = <712500>;
    526		regulator-max-microvolt = <1500000>;
    527		regulator-ramp-delay = <1000>;
    528		regulator-always-on;
    529		regulator-boot-on;
    530		vin-supply = <&vcc_sys>;
    531
    532		regulator-state-mem {
    533			regulator-off-in-suspend;
    534		};
    535	};
    536};
    537
    538&i2c1 {
    539	i2c-scl-rising-time-ns = <300>;
    540	i2c-scl-falling-time-ns = <15>;
    541	status = "okay";
    542
    543	rt5640: rt5640@1c {
    544		compatible = "realtek,rt5640";
    545		reg = <0x1c>;
    546		clocks = <&cru SCLK_I2S_8CH_OUT>;
    547		clock-names = "mclk";
    548		realtek,in1-differential;
    549		#sound-dai-cells = <0>;
    550		pinctrl-names = "default";
    551		pinctrl-0 = <&rt5640_hpcon>;
    552	};
    553};
    554
    555&i2c3 {
    556	i2c-scl-rising-time-ns = <450>;
    557	i2c-scl-falling-time-ns = <15>;
    558	status = "okay";
    559};
    560
    561&i2c4 {
    562	i2c-scl-rising-time-ns = <600>;
    563	i2c-scl-falling-time-ns = <20>;
    564	status = "okay";
    565
    566	fusb0: typec-portc@22 {
    567		compatible = "fcs,fusb302";
    568		reg = <0x22>;
    569		interrupt-parent = <&gpio1>;
    570		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
    571		pinctrl-names = "default";
    572		pinctrl-0 = <&fusb0_int>;
    573		vbus-supply = <&vcc5v0_typec>;
    574		status = "okay";
    575
    576		connector {
    577			compatible = "usb-c-connector";
    578			data-role = "host";
    579			label = "USB-C";
    580			op-sink-microwatt = <1000000>;
    581			power-role = "dual";
    582			sink-pdos =
    583				<PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
    584			source-pdos =
    585				<PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
    586			try-power-role = "sink";
    587
    588			ports {
    589				#address-cells = <1>;
    590				#size-cells = <0>;
    591
    592				port@0 {
    593					reg = <0>;
    594
    595					usbc_hs: endpoint {
    596						remote-endpoint =
    597							<&u2phy0_typec_hs>;
    598					};
    599				};
    600
    601				port@1 {
    602					reg = <1>;
    603
    604					usbc_ss: endpoint {
    605						remote-endpoint =
    606							<&tcphy0_typec_ss>;
    607					};
    608				};
    609			};
    610		};
    611	};
    612
    613	accelerometer@68 {
    614		compatible = "invensense,mpu6500";
    615		reg = <0x68>;
    616		interrupt-parent = <&gpio1>;
    617		interrupts = <RK_PC6 IRQ_TYPE_EDGE_RISING>;
    618	};
    619};
    620
    621&i2s0 {
    622	rockchip,playback-channels = <8>;
    623	rockchip,capture-channels = <8>;
    624	status = "okay";
    625};
    626
    627&i2s1 {
    628	rockchip,playback-channels = <2>;
    629	rockchip,capture-channels = <2>;
    630	status = "okay";
    631};
    632
    633&i2s2 {
    634	status = "okay";
    635};
    636
    637&io_domains {
    638	status = "okay";
    639
    640	bt656-supply = <&vcc1v8_dvp>;
    641	audio-supply = <&vcca1v8_codec>;
    642	sdmmc-supply = <&vcc_sdio>;
    643	gpio1830-supply = <&vcc_3v0>;
    644};
    645
    646&pcie_phy {
    647	status = "okay";
    648};
    649
    650&pcie0 {
    651	ep-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
    652	num-lanes = <4>;
    653	pinctrl-names = "default";
    654	pinctrl-0 = <&pcie_clkreqn_cpm>;
    655	status = "okay";
    656};
    657
    658&pmu_io_domains {
    659	pmu1830-supply = <&vcc_3v0>;
    660	status = "okay";
    661};
    662
    663&pinctrl {
    664	buttons {
    665		pwrbtn: pwrbtn {
    666			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
    667		};
    668	};
    669
    670	fusb302x {
    671		fusb0_int: fusb0-int {
    672			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
    673		};
    674	};
    675
    676	ir {
    677		ir_int: ir-int {
    678			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
    679		};
    680	};
    681
    682	lcd-panel {
    683		lcd_panel_reset: lcd-panel-reset {
    684			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
    685		};
    686	};
    687
    688	leds {
    689		work_led_pin: work-led-pin {
    690			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
    691		};
    692
    693		diy_led_pin: diy-led-pin {
    694			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
    695		};
    696	};
    697
    698	pcie {
    699		pcie_pwr_en: pcie-pwr-en {
    700			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
    701		};
    702
    703		pcie_3g_drv: pcie-3g-drv {
    704			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
    705		};
    706	};
    707
    708	pmic {
    709		pmic_int_l: pmic-int-l {
    710			rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
    711		};
    712
    713		vsel1_pin: vsel1-pin {
    714			rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
    715		};
    716
    717		vsel2_pin: vsel2-pin {
    718			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
    719		};
    720	};
    721
    722	rt5640 {
    723		rt5640_hpcon: rt5640-hpcon {
    724			rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
    725		};
    726	};
    727
    728	sdio-pwrseq {
    729		wifi_enable_h: wifi-enable-h {
    730			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
    731		};
    732	};
    733
    734	usb-typec {
    735		vcc5v0_typec_en: vcc5v0_typec_en {
    736			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
    737		};
    738	};
    739
    740	usb2 {
    741		vcc5v0_host_en: vcc5v0-host-en {
    742			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
    743		};
    744	};
    745
    746	wifi {
    747		wifi_host_wake_l: wifi-host-wake-l {
    748			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
    749		};
    750	};
    751};
    752
    753&pwm0 {
    754	status = "okay";
    755};
    756
    757&pwm2 {
    758	status = "okay";
    759};
    760
    761&saradc {
    762	vref-supply = <&vcca1v8_s3>;
    763	status = "okay";
    764};
    765
    766&sdio0 {
    767	/* WiFi & BT combo module Ampak AP6356S */
    768	bus-width = <4>;
    769	cap-sdio-irq;
    770	cap-sd-highspeed;
    771	keep-power-in-suspend;
    772	mmc-pwrseq = <&sdio_pwrseq>;
    773	non-removable;
    774	pinctrl-names = "default";
    775	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
    776	sd-uhs-sdr104;
    777
    778	/* Power supply */
    779	vqmmc-supply = <&vcc1v8_s3>;	/* IO line */
    780	vmmc-supply = <&vcc_sdio>;	/* card's power */
    781
    782	#address-cells = <1>;
    783	#size-cells = <0>;
    784	status = "okay";
    785
    786	brcmf: wifi@1 {
    787		reg = <1>;
    788		compatible = "brcm,bcm4329-fmac";
    789		interrupt-parent = <&gpio0>;
    790		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>;
    791		interrupt-names = "host-wake";
    792		brcm,drive-strength = <5>;
    793		pinctrl-names = "default";
    794		pinctrl-0 = <&wifi_host_wake_l>;
    795	};
    796};
    797
    798&sdmmc {
    799	bus-width = <4>;
    800	cap-mmc-highspeed;
    801	cap-sd-highspeed;
    802	cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
    803	disable-wp;
    804	max-frequency = <150000000>;
    805	pinctrl-names = "default";
    806	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
    807	status = "okay";
    808};
    809
    810&sdhci {
    811	bus-width = <8>;
    812	mmc-hs400-1_8v;
    813	mmc-hs400-enhanced-strobe;
    814	non-removable;
    815	status = "okay";
    816};
    817
    818&spdif {
    819	pinctrl-0 = <&spdif_bus_1>;
    820	status = "okay";
    821
    822	spdif_p0: port {
    823		spdif_p0_0: endpoint {
    824			remote-endpoint = <&dit_p0_0>;
    825		};
    826	};
    827};
    828
    829&tcphy0 {
    830	status = "okay";
    831};
    832
    833&tcphy0_usb3 {
    834	port {
    835		tcphy0_typec_ss: endpoint {
    836			remote-endpoint = <&usbc_ss>;
    837		};
    838	};
    839};
    840
    841&tcphy1 {
    842	status = "okay";
    843};
    844
    845&tsadc {
    846	/* tshut mode 0:CRU 1:GPIO */
    847	rockchip,hw-tshut-mode = <1>;
    848	/* tshut polarity 0:LOW 1:HIGH */
    849	rockchip,hw-tshut-polarity = <1>;
    850	status = "okay";
    851};
    852
    853&u2phy0 {
    854	status = "okay";
    855
    856	u2phy0_otg: otg-port {
    857		status = "okay";
    858	};
    859
    860	u2phy0_host: host-port {
    861		phy-supply = <&vcc5v0_host>;
    862		status = "okay";
    863	};
    864
    865	port {
    866		u2phy0_typec_hs: endpoint {
    867			remote-endpoint = <&usbc_hs>;
    868		};
    869	};
    870};
    871
    872&u2phy1 {
    873	status = "okay";
    874
    875	u2phy1_otg: otg-port {
    876		status = "okay";
    877	};
    878
    879	u2phy1_host: host-port {
    880		phy-supply = <&vcc5v0_host>;
    881		status = "okay";
    882	};
    883};
    884
    885&uart0 {
    886	pinctrl-names = "default";
    887	pinctrl-0 = <&uart0_xfer &uart0_cts>;
    888	status = "okay";
    889};
    890
    891&uart2 {
    892	status = "okay";
    893};
    894
    895&usb_host0_ehci {
    896	status = "okay";
    897};
    898
    899&usb_host0_ohci {
    900	status = "okay";
    901};
    902
    903&usb_host1_ehci {
    904	status = "okay";
    905};
    906
    907&usb_host1_ohci {
    908	status = "okay";
    909};
    910
    911&usbdrd3_0 {
    912	status = "okay";
    913};
    914
    915&usbdrd_dwc3_0 {
    916	status = "okay";
    917	dr_mode = "otg";
    918};
    919
    920&usbdrd3_1 {
    921	status = "okay";
    922};
    923
    924&usbdrd_dwc3_1 {
    925	status = "okay";
    926	dr_mode = "host";
    927};
    928
    929&vopb {
    930	status = "okay";
    931};
    932
    933&vopb_mmu {
    934	status = "okay";
    935};
    936
    937&vopl {
    938	status = "okay";
    939};
    940
    941&vopl_mmu {
    942	status = "okay";
    943};