Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
0004  * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
0005  */
0006 
0007 #include <dt-bindings/input/linux-event-codes.h>
0008 #include <dt-bindings/pwm/pwm.h>
0009 #include "rk3399.dtsi"
0010 #include "rk3399-opp.dtsi"
0011 
0012 / {
0013         aliases {
0014                 mmc0 = &sdio0;
0015                 mmc1 = &sdmmc;
0016                 mmc2 = &sdhci;
0017         };
0018 
0019         chosen {
0020                 stdout-path = "serial2:1500000n8";
0021         };
0022 
0023         /* enable for panel backlight support */
0024         backlight: backlight {
0025                 compatible = "pwm-backlight";
0026                 brightness-levels = <0 4 8 16 32 64 128 255>;
0027                 default-brightness-level = <5>;
0028                 pwms = <&pwm0 0 1000000 0>;
0029                 status = "disabled";
0030         };
0031 
0032         clkin_gmac: external-gmac-clock {
0033                 compatible = "fixed-clock";
0034                 clock-frequency = <125000000>;
0035                 clock-output-names = "clkin_gmac";
0036                 #clock-cells = <0>;
0037         };
0038 
0039         gpio-keys {
0040                 compatible = "gpio-keys";
0041                 autorepeat;
0042                 pinctrl-names = "default";
0043                 pinctrl-0 = <&pwrbtn>;
0044 
0045                 key-power {
0046                         debounce-interval = <100>;
0047                         gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
0048                         label = "GPIO Key Power";
0049                         linux,code = <KEY_POWER>;
0050                         wakeup-source;
0051                 };
0052         };
0053 
0054         ir-receiver {
0055                 compatible = "gpio-ir-receiver";
0056                 gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
0057                 pinctrl-0 = <&ir_int>;
0058                 pinctrl-names = "default";
0059         };
0060 
0061         leds {
0062                 compatible = "gpio-leds";
0063                 pinctrl-names = "default";
0064                 pinctrl-0 = <&work_led_pin>, <&diy_led_pin>;
0065 
0066                 work_led: led-0 {
0067                         label = "work";
0068                         default-state = "on";
0069                         gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
0070                 };
0071 
0072                 diy_led: led-1 {
0073                         label = "diy";
0074                         default-state = "off";
0075                         gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
0076                 };
0077         };
0078 
0079         fan: pwm-fan {
0080                 compatible = "pwm-fan";
0081                 cooling-levels = <0 100 150 200 255>;
0082                 #cooling-cells = <2>;
0083                 fan-supply = <&vcc12v_dcin>;
0084                 pwms = <&pwm1 0 50000 0>;
0085         };
0086 
0087         sdio_pwrseq: sdio-pwrseq {
0088                 compatible = "mmc-pwrseq-simple";
0089                 clocks = <&rk808 1>;
0090                 clock-names = "ext_clock";
0091                 pinctrl-names = "default";
0092                 pinctrl-0 = <&wifi_enable_h>;
0093                 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
0094         };
0095 
0096         sound {
0097                 compatible = "audio-graph-card";
0098                 label = "Analog";
0099                 dais = <&i2s1_p0>;
0100         };
0101 
0102         sound-dit {
0103                 compatible = "audio-graph-card";
0104                 label = "SPDIF";
0105                 dais = <&spdif_p0>;
0106         };
0107 
0108         spdif-dit {
0109                 compatible = "linux,spdif-dit";
0110                 #sound-dai-cells = <0>;
0111 
0112                 port {
0113                         dit_p0_0: endpoint {
0114                                 remote-endpoint = <&spdif_p0_0>;
0115                         };
0116                 };
0117         };
0118 
0119         avdd: avdd-regulator {
0120                 compatible = "regulator-fixed";
0121                 regulator-name = "avdd";
0122                 regulator-min-microvolt = <11000000>;
0123                 regulator-max-microvolt = <11000000>;
0124                 vin-supply = <&vcc3v3_s0>;
0125         };
0126 
0127         vcc12v_dcin: vcc12v-dcin {
0128                 compatible = "regulator-fixed";
0129                 regulator-name = "vcc12v_dcin";
0130                 regulator-always-on;
0131                 regulator-boot-on;
0132                 regulator-min-microvolt = <12000000>;
0133                 regulator-max-microvolt = <12000000>;
0134         };
0135 
0136         /* switched by pmic_sleep */
0137         vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
0138                 compatible = "regulator-fixed";
0139                 regulator-name = "vcc1v8_s3";
0140                 regulator-always-on;
0141                 regulator-boot-on;
0142                 regulator-min-microvolt = <1800000>;
0143                 regulator-max-microvolt = <1800000>;
0144                 vin-supply = <&vcc_1v8>;
0145         };
0146 
0147         /* micro SD card power */
0148         vcc3v0_sd: vcc3v0-sd {
0149                 compatible = "regulator-fixed";
0150                 enable-active-high;
0151                 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
0152                 pinctrl-names = "default";
0153                 pinctrl-0 = <&sdmmc0_pwr_h>;
0154                 regulator-name = "vcc3v0_sd";
0155                 regulator-always-on;
0156                 regulator-min-microvolt = <3000000>;
0157                 regulator-max-microvolt = <3000000>;
0158                 vin-supply = <&vcc3v3_sys>;
0159 
0160                 regulator-state-mem {
0161                         regulator-off-in-suspend;
0162                 };
0163         };
0164 
0165         vcc3v3_pcie: vcc3v3-pcie-regulator {
0166                 compatible = "regulator-fixed";
0167                 enable-active-high;
0168                 gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
0169                 pinctrl-names = "default";
0170                 pinctrl-0 = <&pcie_pwr_en>;
0171                 regulator-name = "vcc3v3_pcie";
0172                 regulator-always-on;
0173                 regulator-boot-on;
0174                 vin-supply = <&vcc12v_dcin>;
0175         };
0176 
0177         vcc3v3_sys: vcc3v3-sys {
0178                 compatible = "regulator-fixed";
0179                 regulator-name = "vcc3v3_sys";
0180                 regulator-always-on;
0181                 regulator-boot-on;
0182                 regulator-min-microvolt = <3300000>;
0183                 regulator-max-microvolt = <3300000>;
0184                 vin-supply = <&vcc5v0_sys>;
0185         };
0186 
0187         /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
0188         vcc5v0_host: vcc5v0-host-regulator {
0189                 compatible = "regulator-fixed";
0190                 enable-active-high;
0191                 gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
0192                 pinctrl-names = "default";
0193                 pinctrl-0 = <&vcc5v0_host_en>;
0194                 regulator-name = "vcc5v0_host";
0195                 regulator-always-on;
0196                 vin-supply = <&vcc5v0_usb>;
0197         };
0198 
0199         vcc5v0_typec: vcc5v0-typec-regulator {
0200                 compatible = "regulator-fixed";
0201                 enable-active-high;
0202                 gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
0203                 pinctrl-names = "default";
0204                 pinctrl-0 = <&vcc5v0_typec_en>;
0205                 regulator-name = "vcc5v0_typec";
0206                 regulator-always-on;
0207                 vin-supply = <&vcc5v0_usb>;
0208         };
0209 
0210         vcc5v0_sys: vcc5v0-sys {
0211                 compatible = "regulator-fixed";
0212                 regulator-name = "vcc5v0_sys";
0213                 regulator-always-on;
0214                 regulator-boot-on;
0215                 regulator-min-microvolt = <5000000>;
0216                 regulator-max-microvolt = <5000000>;
0217                 vin-supply = <&vcc12v_dcin>;
0218         };
0219 
0220         vcc5v0_usb: vcc5v0-usb {
0221                 compatible = "regulator-fixed";
0222                 regulator-name = "vcc5v0_usb";
0223                 regulator-always-on;
0224                 regulator-boot-on;
0225                 regulator-min-microvolt = <5000000>;
0226                 regulator-max-microvolt = <5000000>;
0227                 vin-supply = <&vcc12v_dcin>;
0228         };
0229 
0230         vdd_log: vdd-log {
0231                 compatible = "pwm-regulator";
0232                 pwms = <&pwm2 0 25000 1>;
0233                 pwm-supply = <&vcc5v0_sys>;
0234                 regulator-name = "vdd_log";
0235                 regulator-always-on;
0236                 regulator-boot-on;
0237                 regulator-min-microvolt = <800000>;
0238                 regulator-max-microvolt = <1700000>;
0239         };
0240 };
0241 
0242 &cpu_l0 {
0243         cpu-supply = <&vdd_cpu_l>;
0244 };
0245 
0246 &cpu_l1 {
0247         cpu-supply = <&vdd_cpu_l>;
0248 };
0249 
0250 &cpu_l2 {
0251         cpu-supply = <&vdd_cpu_l>;
0252 };
0253 
0254 &cpu_l3 {
0255         cpu-supply = <&vdd_cpu_l>;
0256 };
0257 
0258 &cpu_b0 {
0259         cpu-supply = <&vdd_cpu_b>;
0260 };
0261 
0262 &cpu_b1 {
0263         cpu-supply = <&vdd_cpu_b>;
0264 };
0265 
0266 &cpu_thermal {
0267         trips {
0268                 cpu_warm: cpu_warm {
0269                         temperature = <55000>;
0270                         hysteresis = <2000>;
0271                         type = "active";
0272                 };
0273 
0274                 cpu_hot: cpu_hot {
0275                         temperature = <65000>;
0276                         hysteresis = <2000>;
0277                         type = "active";
0278                 };
0279         };
0280 
0281         cooling-maps {
0282                 map2 {
0283                         trip = <&cpu_warm>;
0284                         cooling-device = <&fan THERMAL_NO_LIMIT 1>;
0285                 };
0286 
0287                 map3 {
0288                         trip = <&cpu_hot>;
0289                         cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
0290                 };
0291         };
0292 };
0293 
0294 &emmc_phy {
0295         status = "okay";
0296 };
0297 
0298 &gmac {
0299         assigned-clocks = <&cru SCLK_RMII_SRC>;
0300         assigned-clock-parents = <&clkin_gmac>;
0301         clock_in_out = "input";
0302         phy-supply = <&vcc_lan>;
0303         phy-mode = "rgmii";
0304         pinctrl-names = "default";
0305         pinctrl-0 = <&rgmii_pins>;
0306         snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
0307         snps,reset-active-low;
0308         snps,reset-delays-us = <0 10000 50000>;
0309         tx_delay = <0x28>;
0310         rx_delay = <0x11>;
0311         status = "okay";
0312 };
0313 
0314 &hdmi {
0315         ddc-i2c-bus = <&i2c3>;
0316         pinctrl-names = "default";
0317         pinctrl-0 = <&hdmi_cec>;
0318         status = "okay";
0319 };
0320 
0321 &hdmi_sound {
0322         status = "okay";
0323 };
0324 
0325 &gpu {
0326         mali-supply = <&vdd_gpu>;
0327         status = "okay";
0328 };
0329 
0330 &i2c0 {
0331         clock-frequency = <400000>;
0332         i2c-scl-rising-time-ns = <168>;
0333         i2c-scl-falling-time-ns = <4>;
0334         status = "okay";
0335 
0336         rk808: pmic@1b {
0337                 compatible = "rockchip,rk808";
0338                 reg = <0x1b>;
0339                 interrupt-parent = <&gpio3>;
0340                 interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
0341                 #clock-cells = <1>;
0342                 clock-output-names = "xin32k", "rk808-clkout2";
0343                 pinctrl-names = "default";
0344                 pinctrl-0 = <&pmic_int_l>;
0345                 rockchip,system-power-controller;
0346                 wakeup-source;
0347 
0348                 vcc1-supply = <&vcc5v0_sys>;
0349                 vcc2-supply = <&vcc5v0_sys>;
0350                 vcc3-supply = <&vcc5v0_sys>;
0351                 vcc4-supply = <&vcc5v0_sys>;
0352                 vcc6-supply = <&vcc5v0_sys>;
0353                 vcc7-supply = <&vcc5v0_sys>;
0354                 vcc8-supply = <&vcc3v3_sys>;
0355                 vcc9-supply = <&vcc5v0_sys>;
0356                 vcc10-supply = <&vcc5v0_sys>;
0357                 vcc11-supply = <&vcc5v0_sys>;
0358                 vcc12-supply = <&vcc3v3_sys>;
0359                 vddio-supply = <&vcca_1v8>;
0360 
0361                 regulators {
0362                         vdd_center: DCDC_REG1 {
0363                                 regulator-name = "vdd_center";
0364                                 regulator-always-on;
0365                                 regulator-boot-on;
0366                                 regulator-min-microvolt = <750000>;
0367                                 regulator-max-microvolt = <1350000>;
0368                                 regulator-ramp-delay = <6001>;
0369                                 regulator-state-mem {
0370                                         regulator-off-in-suspend;
0371                                 };
0372                         };
0373 
0374                         vdd_cpu_l: DCDC_REG2 {
0375                                 regulator-name = "vdd_cpu_l";
0376                                 regulator-always-on;
0377                                 regulator-boot-on;
0378                                 regulator-min-microvolt = <750000>;
0379                                 regulator-max-microvolt = <1350000>;
0380                                 regulator-ramp-delay = <6001>;
0381                                 regulator-state-mem {
0382                                         regulator-off-in-suspend;
0383                                 };
0384                         };
0385 
0386                         vcc_ddr: DCDC_REG3 {
0387                                 regulator-name = "vcc_ddr";
0388                                 regulator-always-on;
0389                                 regulator-boot-on;
0390                                 regulator-state-mem {
0391                                         regulator-on-in-suspend;
0392                                 };
0393                         };
0394 
0395                         vcc_1v8: DCDC_REG4 {
0396                                 regulator-name = "vcc_1v8";
0397                                 regulator-always-on;
0398                                 regulator-boot-on;
0399                                 regulator-min-microvolt = <1800000>;
0400                                 regulator-max-microvolt = <1800000>;
0401                                 regulator-state-mem {
0402                                         regulator-on-in-suspend;
0403                                         regulator-suspend-microvolt = <1800000>;
0404                                 };
0405                         };
0406 
0407                         vcc1v8_dvp: LDO_REG1 {
0408                                 regulator-name = "vcc1v8_dvp";
0409                                 regulator-always-on;
0410                                 regulator-boot-on;
0411                                 regulator-min-microvolt = <1800000>;
0412                                 regulator-max-microvolt = <1800000>;
0413                                 regulator-state-mem {
0414                                         regulator-off-in-suspend;
0415                                 };
0416                         };
0417 
0418                         vcc3v0_touch: LDO_REG2 {
0419                                 regulator-name = "vcc3v0_touch";
0420                                 regulator-min-microvolt = <3000000>;
0421                                 regulator-max-microvolt = <3000000>;
0422                                 regulator-state-mem {
0423                                         regulator-off-in-suspend;
0424                                 };
0425                         };
0426 
0427                         vcca_1v8: LDO_REG3 {
0428                                 regulator-name = "vcca_1v8";
0429                                 regulator-always-on;
0430                                 regulator-boot-on;
0431                                 regulator-min-microvolt = <1800000>;
0432                                 regulator-max-microvolt = <1800000>;
0433                                 regulator-state-mem {
0434                                         regulator-on-in-suspend;
0435                                         regulator-suspend-microvolt = <1800000>;
0436                                 };
0437                         };
0438 
0439                         vcc_sdio: LDO_REG4 {
0440                                 regulator-name = "vcc_sdio";
0441                                 regulator-always-on;
0442                                 regulator-boot-on;
0443                                 regulator-min-microvolt = <1800000>;
0444                                 regulator-max-microvolt = <3000000>;
0445                                 regulator-state-mem {
0446                                         regulator-on-in-suspend;
0447                                         regulator-suspend-microvolt = <3000000>;
0448                                 };
0449                         };
0450 
0451                         vcca3v0_codec: LDO_REG5 {
0452                                 regulator-name = "vcca3v0_codec";
0453                                 regulator-always-on;
0454                                 regulator-boot-on;
0455                                 regulator-min-microvolt = <3000000>;
0456                                 regulator-max-microvolt = <3000000>;
0457                                 regulator-state-mem {
0458                                         regulator-off-in-suspend;
0459                                 };
0460                         };
0461 
0462                         vcc_1v5: LDO_REG6 {
0463                                 regulator-name = "vcc_1v5";
0464                                 regulator-always-on;
0465                                 regulator-boot-on;
0466                                 regulator-min-microvolt = <1500000>;
0467                                 regulator-max-microvolt = <1500000>;
0468                                 regulator-state-mem {
0469                                         regulator-on-in-suspend;
0470                                         regulator-suspend-microvolt = <1500000>;
0471                                 };
0472                         };
0473 
0474                         vcca1v8_codec: LDO_REG7 {
0475                                 regulator-name = "vcca1v8_codec";
0476                                 regulator-always-on;
0477                                 regulator-boot-on;
0478                                 regulator-min-microvolt = <1800000>;
0479                                 regulator-max-microvolt = <1800000>;
0480                                 regulator-state-mem {
0481                                         regulator-off-in-suspend;
0482                                 };
0483                         };
0484 
0485                         vcc_3v0: LDO_REG8 {
0486                                 regulator-name = "vcc_3v0";
0487                                 regulator-always-on;
0488                                 regulator-boot-on;
0489                                 regulator-min-microvolt = <3000000>;
0490                                 regulator-max-microvolt = <3000000>;
0491                                 regulator-state-mem {
0492                                         regulator-on-in-suspend;
0493                                         regulator-suspend-microvolt = <3000000>;
0494                                 };
0495                         };
0496 
0497                         vcc3v3_s3: vcc_lan: SWITCH_REG1 {
0498                                 regulator-name = "vcc3v3_s3";
0499                                 regulator-always-on;
0500                                 regulator-boot-on;
0501                                 regulator-state-mem {
0502                                         regulator-off-in-suspend;
0503                                 };
0504                         };
0505 
0506                         vcc3v3_s0: SWITCH_REG2 {
0507                                 regulator-name = "vcc3v3_s0";
0508                                 regulator-state-mem {
0509                                         regulator-off-in-suspend;
0510                                 };
0511                         };
0512                 };
0513         };
0514 
0515         vdd_cpu_b: regulator@40 {
0516                 compatible = "silergy,syr827";
0517                 reg = <0x40>;
0518                 fcs,suspend-voltage-selector = <1>;
0519                 pinctrl-names = "default";
0520                 pinctrl-0 = <&vsel1_pin>;
0521                 regulator-name = "vdd_cpu_b";
0522                 regulator-min-microvolt = <712500>;
0523                 regulator-max-microvolt = <1500000>;
0524                 regulator-ramp-delay = <1000>;
0525                 regulator-always-on;
0526                 regulator-boot-on;
0527                 vin-supply = <&vcc5v0_sys>;
0528 
0529                 regulator-state-mem {
0530                         regulator-off-in-suspend;
0531                 };
0532         };
0533 
0534         vdd_gpu: regulator@41 {
0535                 compatible = "silergy,syr828";
0536                 reg = <0x41>;
0537                 fcs,suspend-voltage-selector = <1>;
0538                 pinctrl-names = "default";
0539                 pinctrl-0 = <&vsel2_pin>;
0540                 regulator-name = "vdd_gpu";
0541                 regulator-min-microvolt = <712500>;
0542                 regulator-max-microvolt = <1500000>;
0543                 regulator-ramp-delay = <1000>;
0544                 regulator-always-on;
0545                 regulator-boot-on;
0546                 vin-supply = <&vcc5v0_sys>;
0547 
0548                 regulator-state-mem {
0549                         regulator-off-in-suspend;
0550                 };
0551         };
0552 };
0553 
0554 &i2c1 {
0555         i2c-scl-rising-time-ns = <300>;
0556         i2c-scl-falling-time-ns = <15>;
0557         status = "okay";
0558 };
0559 
0560 &i2c3 {
0561         i2c-scl-rising-time-ns = <450>;
0562         i2c-scl-falling-time-ns = <15>;
0563         status = "okay";
0564 };
0565 
0566 &i2c4 {
0567         i2c-scl-rising-time-ns = <600>;
0568         i2c-scl-falling-time-ns = <20>;
0569         status = "okay";
0570 
0571         fusb0: typec-portc@22 {
0572                 compatible = "fcs,fusb302";
0573                 reg = <0x22>;
0574                 interrupt-parent = <&gpio1>;
0575                 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
0576                 pinctrl-names = "default";
0577                 pinctrl-0 = <&fusb0_int>;
0578                 vbus-supply = <&vcc5v0_typec>;
0579                 status = "okay";
0580         };
0581 
0582         /* enable for pine64 touch screen support */
0583         touch: touchscreen@5d {
0584                 compatible = "goodix,gt911";
0585                 reg = <0x5d>;
0586                 interrupt-parent = <&gpio4>;
0587                 interrupts = <RK_PD5 IRQ_TYPE_EDGE_FALLING>;
0588                 AVDD28-supply = <&vcc3v0_touch>;
0589                 VDDIO-supply = <&vcc3v0_touch>;
0590                 irq-gpios = <&gpio4 RK_PD5 GPIO_ACTIVE_HIGH>;
0591                 reset-gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>;
0592                 status = "disabled";
0593         };
0594 };
0595 
0596 &i2s0 {
0597         rockchip,playback-channels = <8>;
0598         rockchip,capture-channels = <8>;
0599         status = "okay";
0600 };
0601 
0602 &i2s1 {
0603         rockchip,playback-channels = <2>;
0604         rockchip,capture-channels = <2>;
0605         status = "okay";
0606 
0607         i2s1_p0: port {
0608                 i2s1_p0_0: endpoint {
0609                         dai-format = "i2s";
0610                         mclk-fs = <256>;
0611                         remote-endpoint = <&es8316_p0_0>;
0612                 };
0613         };
0614 };
0615 
0616 &i2s2 {
0617         status = "okay";
0618 };
0619 
0620 &io_domains {
0621         status = "okay";
0622 
0623         bt656-supply = <&vcc1v8_dvp>;
0624         audio-supply = <&vcc_3v0>;
0625         sdmmc-supply = <&vcc_sdio>;
0626         gpio1830-supply = <&vcc_3v0>;
0627 };
0628 
0629 /* enable for pine64 panel display support */
0630 &mipi_dsi {
0631         clock-master;
0632         status = "disabled";
0633 
0634         ports {
0635                 mipi_out: port@1 {
0636                         reg = <1>;
0637 
0638                         mipi_out_panel: endpoint {
0639                                 remote-endpoint = <&mipi_in_panel>;
0640                         };
0641                 };
0642         };
0643 
0644         mipi_panel: panel@0 {
0645                 compatible = "feiyang,fy07024di26a30d";
0646                 reg = <0>;
0647                 avdd-supply = <&avdd>;
0648                 backlight = <&backlight>;
0649                 dvdd-supply = <&vcc3v3_s0>;
0650                 ports {
0651                         #address-cells = <1>;
0652                         #size-cells = <0>;
0653 
0654                         port@0 {
0655                                 reg = <0>;
0656 
0657                                 mipi_in_panel: endpoint {
0658                                         remote-endpoint = <&mipi_out_panel>;
0659                                 };
0660                         };
0661                 };
0662         };
0663 };
0664 
0665 &pcie0 {
0666         ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
0667         num-lanes = <4>;
0668         pinctrl-names = "default";
0669         pinctrl-0 = <&pcie_perst>;
0670         vpcie12v-supply = <&vcc12v_dcin>;
0671         vpcie3v3-supply = <&vcc3v3_pcie>;
0672         status = "okay";
0673 };
0674 
0675 &pcie_phy {
0676         status = "okay";
0677 };
0678 
0679 &pmu_io_domains {
0680         pmu1830-supply = <&vcc_3v0>;
0681         status = "okay";
0682 };
0683 
0684 &pinctrl {
0685         bt {
0686                 bt_enable_h: bt-enable-h {
0687                         rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
0688                 };
0689 
0690                 bt_host_wake_l: bt-host-wake-l {
0691                         rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
0692                 };
0693 
0694                 bt_wake_l: bt-wake-l {
0695                         rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
0696                 };
0697         };
0698 
0699         buttons {
0700                 pwrbtn: pwrbtn {
0701                         rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
0702                 };
0703         };
0704 
0705         fusb302x {
0706                 fusb0_int: fusb0-int {
0707                         rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
0708                 };
0709         };
0710 
0711         ir {
0712                 ir_int: ir-int {
0713                         rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
0714                 };
0715         };
0716 
0717         leds {
0718                 work_led_pin: work-led-pin {
0719                         rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
0720                 };
0721 
0722                 diy_led_pin: diy-led-pin {
0723                         rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
0724                 };
0725         };
0726 
0727         pcie {
0728                 pcie_perst: pcie-perst {
0729                         rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
0730                 };
0731 
0732                 pcie_pwr_en: pcie-pwr-en {
0733                         rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
0734                 };
0735         };
0736 
0737         pmic {
0738                 pmic_int_l: pmic-int-l {
0739                         rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
0740                 };
0741 
0742                 vsel1_pin: vsel1-pin {
0743                         rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
0744                 };
0745 
0746                 vsel2_pin: vsel2-pin {
0747                         rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
0748                 };
0749         };
0750 
0751         sdcard {
0752                 sdmmc0_pwr_h: sdmmc0-pwr-h {
0753                         rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
0754                 };
0755 
0756         };
0757 
0758         sdio-pwrseq {
0759                 wifi_enable_h: wifi-enable-h {
0760                         rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
0761                 };
0762         };
0763 
0764         usb-typec {
0765                 vcc5v0_typec_en: vcc5v0_typec_en {
0766                         rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
0767                 };
0768         };
0769 
0770         usb2 {
0771                 vcc5v0_host_en: vcc5v0-host-en {
0772                         rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
0773                 };
0774         };
0775 };
0776 
0777 &pwm0 {
0778         status = "okay";
0779 };
0780 
0781 &pwm1 {
0782         status = "okay";
0783 };
0784 
0785 &pwm2 {
0786         status = "okay";
0787 };
0788 
0789 &saradc {
0790         vref-supply = <&vcca1v8_s3>;
0791         status = "okay";
0792 };
0793 
0794 &sdio0 {
0795         bus-width = <4>;
0796         cap-sd-highspeed;
0797         cap-sdio-irq;
0798         disable-wp;
0799         keep-power-in-suspend;
0800         mmc-pwrseq = <&sdio_pwrseq>;
0801         non-removable;
0802         pinctrl-names = "default";
0803         pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
0804         sd-uhs-sdr104;
0805         status = "okay";
0806 };
0807 
0808 &sdmmc {
0809         bus-width = <4>;
0810         cap-sd-highspeed;
0811         cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
0812         disable-wp;
0813         max-frequency = <150000000>;
0814         pinctrl-names = "default";
0815         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
0816         vmmc-supply = <&vcc3v0_sd>;
0817         vqmmc-supply = <&vcc_sdio>;
0818         status = "okay";
0819 };
0820 
0821 &sdhci {
0822         bus-width = <8>;
0823         mmc-hs200-1_8v;
0824         non-removable;
0825         status = "okay";
0826 };
0827 
0828 &spdif {
0829         pinctrl-0 = <&spdif_bus_1>;
0830 
0831         spdif_p0: port {
0832                 spdif_p0_0: endpoint {
0833                         remote-endpoint = <&dit_p0_0>;
0834                 };
0835         };
0836 };
0837 
0838 &spi1 {
0839         status = "okay";
0840 
0841         flash@0 {
0842                 compatible = "jedec,spi-nor";
0843                 reg = <0>;
0844                 spi-max-frequency = <10000000>;
0845         };
0846 };
0847 
0848 &tcphy0 {
0849         status = "okay";
0850 };
0851 
0852 &tcphy1 {
0853         status = "okay";
0854 };
0855 
0856 &tsadc {
0857         /* tshut mode 0:CRU 1:GPIO */
0858         rockchip,hw-tshut-mode = <1>;
0859         /* tshut polarity 0:LOW 1:HIGH */
0860         rockchip,hw-tshut-polarity = <1>;
0861         status = "okay";
0862 };
0863 
0864 &u2phy0 {
0865         status = "okay";
0866 
0867         u2phy0_otg: otg-port {
0868                 status = "okay";
0869         };
0870 
0871         u2phy0_host: host-port {
0872                 phy-supply = <&vcc5v0_host>;
0873                 status = "okay";
0874         };
0875 };
0876 
0877 &u2phy1 {
0878         status = "okay";
0879 
0880         u2phy1_otg: otg-port {
0881                 status = "okay";
0882         };
0883 
0884         u2phy1_host: host-port {
0885                 phy-supply = <&vcc5v0_host>;
0886                 status = "okay";
0887         };
0888 };
0889 
0890 &uart0 {
0891         pinctrl-names = "default";
0892         pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
0893         status = "okay";
0894 
0895         bluetooth {
0896                 compatible = "brcm,bcm43438-bt";
0897                 clocks = <&rk808 1>;
0898                 clock-names = "lpo";
0899                 device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
0900                 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
0901                 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
0902                 pinctrl-names = "default";
0903                 pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
0904                 vbat-supply = <&vcc3v3_sys>;
0905                 vddio-supply = <&vcc_1v8>;
0906         };
0907 };
0908 
0909 &uart2 {
0910         status = "okay";
0911 };
0912 
0913 &usb_host0_ehci {
0914         status = "okay";
0915 };
0916 
0917 &usb_host0_ohci {
0918         status = "okay";
0919 };
0920 
0921 &usb_host1_ehci {
0922         status = "okay";
0923 };
0924 
0925 &usb_host1_ohci {
0926         status = "okay";
0927 };
0928 
0929 &usbdrd3_0 {
0930         status = "okay";
0931 };
0932 
0933 &usbdrd_dwc3_0 {
0934         status = "okay";
0935         dr_mode = "host";
0936 };
0937 
0938 &usbdrd3_1 {
0939         status = "okay";
0940 };
0941 
0942 &usbdrd_dwc3_1 {
0943         status = "okay";
0944         dr_mode = "host";
0945 };
0946 
0947 &vopb {
0948         status = "okay";
0949 };
0950 
0951 &vopb_mmu {
0952         status = "okay";
0953 };
0954 
0955 &vopl {
0956         status = "okay";
0957 };
0958 
0959 &vopl_mmu {
0960         status = "okay";
0961 };