Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Google Gru-scarlet board device tree source
0004  *
0005  * Copyright 2018 Google, Inc
0006  */
0007 
0008 #include "rk3399-gru.dtsi"
0009 
0010 /{
0011         chassis-type = "tablet";
0012 
0013         /* Power tree */
0014 
0015         /* ppvar_sys children, sorted by name */
0016         pp1250_s3: pp1250-s3 {
0017                 compatible = "regulator-fixed";
0018                 regulator-name = "pp1250_s3";
0019 
0020                 /* EC turns on w/ pp1250_s3_en; always on for AP */
0021                 regulator-always-on;
0022                 regulator-boot-on;
0023                 regulator-min-microvolt = <1250000>;
0024                 regulator-max-microvolt = <1250000>;
0025 
0026                 vin-supply = <&ppvar_sys>;
0027         };
0028 
0029         pp1250_cam: pp1250-dvdd {
0030                 compatible = "regulator-fixed";
0031                 regulator-name = "pp1250_dvdd";
0032                 pinctrl-names = "default";
0033                 pinctrl-0 = <&pp1250_cam_en>;
0034 
0035                 enable-active-high;
0036                 gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>;
0037 
0038                 /* 740us delay from gpio output high to pp1250 stable,
0039                  * rounding up to 1ms for safety.
0040                  */
0041                 startup-delay-us = <1000>;
0042                 vin-supply = <&pp1250_s3>;
0043         };
0044 
0045         pp900_s0: pp900-s0 {
0046                 compatible = "regulator-fixed";
0047                 regulator-name = "pp900_s0";
0048 
0049                 /* EC turns on w/ pp900_s0_en; always on for AP */
0050                 regulator-always-on;
0051                 regulator-boot-on;
0052                 regulator-min-microvolt = <900000>;
0053                 regulator-max-microvolt = <900000>;
0054 
0055                 vin-supply = <&ppvar_sys>;
0056         };
0057 
0058         ppvarn_lcd: ppvarn-lcd {
0059                 compatible = "regulator-fixed";
0060                 regulator-name = "ppvarn_lcd";
0061                 pinctrl-names = "default";
0062                 pinctrl-0 = <&ppvarn_lcd_en>;
0063 
0064                 enable-active-high;
0065                 gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
0066                 vin-supply = <&ppvar_sys>;
0067         };
0068 
0069         ppvarp_lcd: ppvarp-lcd {
0070                 compatible = "regulator-fixed";
0071                 regulator-name = "ppvarp_lcd";
0072                 pinctrl-names = "default";
0073                 pinctrl-0 = <&ppvarp_lcd_en>;
0074 
0075                 enable-active-high;
0076                 gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
0077                 vin-supply = <&ppvar_sys>;
0078         };
0079 
0080         /* pp1800 children, sorted by name */
0081         pp900_s3: pp900-s3 {
0082                 compatible = "regulator-fixed";
0083                 regulator-name = "pp900_s3";
0084 
0085                 /* EC turns on w/ pp900_s3_en; always on for AP */
0086                 regulator-always-on;
0087                 regulator-boot-on;
0088                 regulator-min-microvolt = <900000>;
0089                 regulator-max-microvolt = <900000>;
0090 
0091                 vin-supply = <&pp1800>;
0092         };
0093 
0094         /* EC turns on pp1800_s3_en */
0095         pp1800_s3: pp1800 {
0096         };
0097 
0098         /* pp3300 children, sorted by name */
0099         pp2800_cam: pp2800-avdd {
0100                 compatible = "regulator-fixed";
0101                 regulator-name = "pp2800_avdd";
0102                 pinctrl-names = "default";
0103                 pinctrl-0 = <&pp2800_cam_en>;
0104 
0105                 enable-active-high;
0106                 gpio = <&gpio2 24 GPIO_ACTIVE_HIGH>;
0107                 startup-delay-us = <100>;
0108                 vin-supply = <&pp3300>;
0109         };
0110 
0111         /* EC turns on pp3300_s0_en */
0112         pp3300_s0: pp3300 {
0113         };
0114 
0115         /* EC turns on pp3300_s3_en */
0116         pp3300_s3: pp3300 {
0117         };
0118 
0119         /*
0120          * See b/66922012
0121          *
0122          * This is a hack to make sure the Bluetooth part of the QCA6174A
0123          * is reset at boot by toggling BT_EN. At boot BT_EN is first set
0124          * to low when the bt_3v3 regulator is registered (in disabled
0125          * state). The fake regulator is configured as a supply of the
0126          * wlan_3v3 regulator below. When wlan_3v3 is enabled early in
0127          * the boot process it also enables its supply regulator bt_3v3,
0128          * which changes BT_EN to high.
0129          */
0130         bt_3v3: bt-3v3 {
0131                 compatible = "regulator-fixed";
0132                 regulator-name = "bt_3v3";
0133                 pinctrl-names = "default";
0134                 pinctrl-0 = <&bt_en_1v8_l>;
0135 
0136                 enable-active-high;
0137                 gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
0138                 vin-supply = <&pp3300_s3>;
0139         };
0140 
0141         wlan_3v3: wlan-3v3 {
0142                 compatible = "regulator-fixed";
0143                 regulator-name = "wlan_3v3";
0144                 pinctrl-names = "default";
0145                 pinctrl-0 = <&wlan_pd_1v8_l>;
0146 
0147                 /*
0148                  * The WL_EN pin is driven low when the regulator is
0149                  * registered, and transitions to high when the PCIe bus
0150                  * is powered up.
0151                  */
0152                 enable-active-high;
0153                 gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>;
0154 
0155                 /*
0156                  * Require minimum 10ms from power-on (e.g., PD#) to init PCIe.
0157                  * TODO (b/64444991): how long to assert PD#?
0158                  */
0159                 regulator-enable-ramp-delay = <10000>;
0160                 /* See bt_3v3 hack above */
0161                 vin-supply = <&bt_3v3>;
0162         };
0163 
0164         backlight: backlight {
0165                 compatible = "pwm-backlight";
0166                 enable-gpios = <&gpio4 21 GPIO_ACTIVE_HIGH>;
0167                 pinctrl-names = "default";
0168                 pinctrl-0 = <&bl_en>;
0169                 pwms = <&pwm1 0 1000000 0>;
0170                 pwm-delay-us = <10000>;
0171         };
0172 
0173         dmic: dmic {
0174                 compatible = "dmic-codec";
0175                 dmicen-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
0176                 pinctrl-names = "default";
0177                 pinctrl-0 = <&dmic_en>;
0178                 wakeup-delay-ms = <250>;
0179         };
0180 
0181         gpio_keys: gpio-keys {
0182                 compatible = "gpio-keys";
0183                 pinctrl-names = "default";
0184                 pinctrl-0 = <&pen_eject_odl>;
0185 
0186                 switch-pen-insert {
0187                         label = "Pen Insert";
0188                         /* Insert = low, eject = high */
0189                         gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
0190                         linux,code = <SW_PEN_INSERTED>;
0191                         linux,input-type = <EV_SW>;
0192                         wakeup-source;
0193                 };
0194         };
0195 };
0196 
0197 /* pp900_s0 aliases */
0198 pp900_ddrpll_ap: &pp900_s0 {
0199 };
0200 pp900_pcie: &pp900_s0 {
0201 };
0202 pp900_usb: &pp900_s0 {
0203 };
0204 
0205 /* pp900_s3 aliases */
0206 pp900_emmcpll: &pp900_s3 {
0207 };
0208 
0209 /* EC turns on; alias for pp1800_s0 */
0210 pp1800_pcie: &pp1800_s0 {
0211 };
0212 
0213 /* On scarlet PPVAR(big_cpu, lit_cpu, gpu) need to adjust voltage ranges */
0214 &ppvar_bigcpu {
0215         ctrl-voltage-range = <800074 1299226>;
0216         regulator-min-microvolt = <800074>;
0217         regulator-max-microvolt = <1299226>;
0218 };
0219 
0220 &ppvar_bigcpu_pwm {
0221         /* On scarlet ppvar big cpu use pwm3 */
0222         pwms = <&pwm3 0 3337 0>;
0223         regulator-min-microvolt = <800074>;
0224         regulator-max-microvolt = <1299226>;
0225 };
0226 
0227 &ppvar_litcpu {
0228         ctrl-voltage-range = <802122 1199620>;
0229         regulator-min-microvolt = <802122>;
0230         regulator-max-microvolt = <1199620>;
0231 };
0232 
0233 &ppvar_litcpu_pwm {
0234         regulator-min-microvolt = <802122>;
0235         regulator-max-microvolt = <1199620>;
0236 };
0237 
0238 &ppvar_gpu {
0239         ctrl-voltage-range = <799600 1099600>;
0240         regulator-min-microvolt = <799600>;
0241         regulator-max-microvolt = <1099600>;
0242 };
0243 
0244 &ppvar_gpu_pwm {
0245         regulator-min-microvolt = <799600>;
0246         regulator-max-microvolt = <1099600>;
0247 };
0248 
0249 &ppvar_sd_card_io {
0250         states = <1800000 0x0>, <3300000 0x1>;
0251         regulator-max-microvolt = <3300000>;
0252 };
0253 
0254 &pp3000_sd_slot {
0255         vin-supply = <&pp3300>;
0256 };
0257 
0258 ap_i2c_dig: &i2c2 {
0259         status = "okay";
0260 
0261         clock-frequency = <400000>;
0262 
0263         /* These are relatively safe rise/fall times. */
0264         i2c-scl-falling-time-ns = <50>;
0265         i2c-scl-rising-time-ns = <300>;
0266 
0267         digitizer: digitizer@9 {
0268                 compatible = "hid-over-i2c";
0269                 reg = <0x9>;
0270                 interrupt-parent = <&gpio1>;
0271                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
0272                 hid-descr-addr = <0x1>;
0273                 pinctrl-names = "default";
0274                 pinctrl-0 = <&pen_int_odl &pen_reset_l>;
0275         };
0276 };
0277 
0278 &ap_i2c_ts {
0279         touchscreen: touchscreen@10 {
0280                 compatible = "elan,ekth3500";
0281                 reg = <0x10>;
0282                 interrupt-parent = <&gpio1>;
0283                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
0284                 pinctrl-names = "default";
0285                 pinctrl-0 = <&touch_int_l &touch_reset_l>;
0286                 reset-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
0287         };
0288 };
0289 
0290 camera: &i2c7 {
0291         status = "okay";
0292 
0293         clock-frequency = <400000>;
0294 
0295         /* These are relatively safe rise/fall times; TODO: measure */
0296         i2c-scl-falling-time-ns = <50>;
0297         i2c-scl-rising-time-ns = <300>;
0298 
0299         /* 24M mclk is shared between world and user cameras */
0300         pinctrl-0 = <&i2c7_xfer &test_clkout1>;
0301 
0302         /* Rear-facing camera */
0303         wcam: camera@36 {
0304                 compatible = "ovti,ov5695";
0305                 reg = <0x36>;
0306                 pinctrl-names = "default";
0307                 pinctrl-0 = <&wcam_rst>;
0308 
0309                 clocks = <&cru SCLK_TESTCLKOUT1>;
0310                 clock-names = "xvclk";
0311 
0312                 avdd-supply = <&pp2800_cam>;
0313                 dvdd-supply = <&pp1250_cam>;
0314                 dovdd-supply = <&pp1800_s0>;
0315                 reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
0316 
0317                 port {
0318                         wcam_out: endpoint {
0319                                 remote-endpoint = <&mipi_in_wcam>;
0320                                 data-lanes = <1 2>;
0321                         };
0322                 };
0323         };
0324 
0325         /* Front-facing camera */
0326         ucam: camera@3c {
0327                 compatible = "ovti,ov2685";
0328                 reg = <0x3c>;
0329                 pinctrl-names = "default";
0330                 pinctrl-0 = <&ucam_rst>;
0331 
0332                 clocks = <&cru SCLK_TESTCLKOUT1>;
0333                 clock-names = "xvclk";
0334 
0335                 avdd-supply = <&pp2800_cam>;
0336                 dovdd-supply = <&pp1800_s0>;
0337                 dvdd-supply = <&pp1800_s0>;
0338                 reset-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
0339 
0340                 port {
0341                         ucam_out: endpoint {
0342                                 remote-endpoint = <&mipi_in_ucam>;
0343                                 data-lanes = <1>;
0344                         };
0345                 };
0346         };
0347 };
0348 
0349 &cdn_dp {
0350         extcon = <&usbc_extcon0>;
0351         phys = <&tcphy0_dp>;
0352 };
0353 
0354 &cpu_alert0 {
0355         temperature = <66000>;
0356 };
0357 
0358 &cpu_alert1 {
0359         temperature = <71000>;
0360 };
0361 
0362 &cros_ec {
0363         interrupt-parent = <&gpio1>;
0364         interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
0365 };
0366 
0367 &cru {
0368         assigned-clocks =
0369                 <&cru PLL_GPLL>, <&cru PLL_CPLL>,
0370                 <&cru PLL_NPLL>,
0371                 <&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>,
0372                 <&cru PCLK_PERIHP>,
0373                 <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
0374                 <&cru PCLK_PERILP0>, <&cru ACLK_CCI>,
0375                 <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>,
0376                 <&cru ACLK_VIO>,
0377                 <&cru ACLK_GIC_PRE>,
0378                 <&cru PCLK_DDR>,
0379                 <&cru ACLK_HDCP>,
0380                 <&cru ACLK_VDU>;
0381         assigned-clock-rates =
0382                 <600000000>, <1600000000>,
0383                 <1000000000>,
0384                 <150000000>, <75000000>,
0385                 <37500000>,
0386                 <100000000>, <100000000>,
0387                 <50000000>, <800000000>,
0388                 <100000000>, <50000000>,
0389                 <400000000>,
0390                 <200000000>,
0391                 <200000000>,
0392                 <400000000>,
0393                 <400000000>;
0394 };
0395 
0396 /* The center supply is fixed to .9V on scarlet */
0397 &dmc {
0398         center-supply = <&pp900_s0>;
0399 };
0400 
0401 /* We don't need .925 V for 928 MHz on scarlet */
0402 &dmc_opp_table {
0403         opp03 {
0404                 opp-microvolt = <900000>;
0405         };
0406 };
0407 
0408 &gpio0 {
0409         gpio-line-names = /* GPIO0 A 0-7 */
0410                           "CLK_32K_AP",
0411                           "EC_IN_RW_OD",
0412                           "SPK_PA_EN",
0413                           "WLAN_PERST_1V8_L",
0414                           "WLAN_PD_1V8_L",
0415                           "WLAN_RF_KILL_1V8_L",
0416                           "BIGCPU_DVS_PWM",
0417                           "SD_CD_L_JTAG_EN",
0418 
0419                           /* GPIO0 B 0-5 */
0420                           "BT_EN_BT_RF_KILL_1V8_L",
0421                           "PMUIO2_33_18_L_PP3300_S0_EN",
0422                           "TOUCH_RESET_L",
0423                           "AP_EC_WARM_RESET_REQ",
0424                           "PEN_RESET_L",
0425                           /*
0426                            * AP_FLASH_WP_L is crossystem ABI. Schematics call
0427                            * it AP_FLASH_WP_R_ODL.
0428                            */
0429                           "AP_FLASH_WP_L";
0430 };
0431 
0432 &gpio1 {
0433         gpio-line-names = /* GPIO1 A 0-7 */
0434                           "PEN_INT_ODL",
0435                           "PEN_EJECT_ODL",
0436                           "BT_HOST_WAKE_1V8_L",
0437                           "WLAN_HOST_WAKE_1V8_L",
0438                           "TOUCH_INT_ODL",
0439                           "AP_EC_S3_S0_L",
0440                           "AP_EC_OVERTEMP",
0441                           "AP_SPI_FLASH_MISO",
0442 
0443                           /* GPIO1 B 0-7 */
0444                           "AP_SPI_FLASH_MOSI_R",
0445                           "AP_SPI_FLASH_CLK_R",
0446                           "AP_SPI_FLASH_CS_L_R",
0447                           "SD_CARD_DET_ODL",
0448                           "",
0449                           "AP_EXPANSION_IO1",
0450                           "AP_EXPANSION_IO2",
0451                           "AP_I2C_DISP_SDA",
0452 
0453                           /* GPIO1 C 0-7 */
0454                           "AP_I2C_DISP_SCL",
0455                           "H1_INT_ODL",
0456                           "EC_AP_INT_ODL",
0457                           "LITCPU_DVS_PWM",
0458                           "AP_I2C_AUDIO_SDA",
0459                           "AP_I2C_AUDIO_SCL",
0460                           "AP_EXPANSION_IO3",
0461                           "HEADSET_INT_ODL",
0462 
0463                           /* GPIO1 D0 */
0464                           "AP_EXPANSION_IO4";
0465 };
0466 
0467 &gpio2 {
0468         gpio-line-names = /* GPIO2 A 0-7 */
0469                           "AP_I2C_PEN_SDA",
0470                           "AP_I2C_PEN_SCL",
0471                           "SD_IO_PWR_EN",
0472                           "UCAM_RST_L",
0473                           "PP1250_CAM_EN",
0474                           "WCAM_RST_L",
0475                           "AP_EXPANSION_IO5",
0476                           "AP_I2C_CAM_SDA",
0477 
0478                           /* GPIO2 B 0-7 */
0479                           "AP_I2C_CAM_SCL",
0480                           "AP_H1_SPI_MISO",
0481                           "AP_H1_SPI_MOSI",
0482                           "AP_H1_SPI_CLK",
0483                           "AP_H1_SPI_CS_L",
0484                           "",
0485                           "",
0486                           "",
0487 
0488                           /* GPIO2 C 0-7 */
0489                           "UART_EXPANSION_TX_AP_RX",
0490                           "UART_AP_TX_EXPANSION_RX",
0491                           "UART_EXPANSION_RTS_AP_CTS",
0492                           "UART_AP_RTS_EXPANSION_CTS",
0493                           "AP_SPI_EC_MISO",
0494                           "AP_SPI_EC_MOSI",
0495                           "AP_SPI_EC_CLK",
0496                           "AP_SPI_EC_CS_L",
0497 
0498                           /* GPIO2 D 0-4 */
0499                           "PP2800_CAM_EN",
0500                           "CLK_24M_CAM",
0501                           "WLAN_PCIE_CLKREQ_1V8_L",
0502                           "",
0503                           "SD_PWR_3000_1800_L";
0504 };
0505 
0506 &gpio3 {
0507         gpio-line-names = /* GPIO3 A 0-7 */
0508                           "",
0509                           "",
0510                           "",
0511                           "",
0512                           "",
0513                           "",
0514                           "",
0515                           "",
0516 
0517                           /* GPIO3 B 0-7 */
0518                           "",
0519                           "",
0520                           "",
0521                           "",
0522                           "",
0523                           "",
0524                           "",
0525                           "",
0526 
0527                           /* GPIO3 C 0-7 */
0528                           "",
0529                           "",
0530                           "",
0531                           "",
0532                           "",
0533                           "",
0534                           "",
0535                           "",
0536 
0537                           /* GPIO3 D 0-7 */
0538                           "I2S0_SCLK",
0539                           "I2S0_LRCK_RX",
0540                           "I2S0_LRCK_TX",
0541                           "I2S0_SDI_0",
0542                           "STRAP_LCDBIAS_L",
0543                           "STRAP_FEATURE_1",
0544                           "STRAP_FEATURE_2",
0545                           "I2S0_SDO_0";
0546 };
0547 
0548 &gpio4 {
0549         gpio-line-names = /* GPIO4 A 0-7 */
0550                           "I2S_MCLK",
0551                           "AP_I2C_EXPANSION_SDA",
0552                           "AP_I2C_EXPANSION_SCL",
0553                           "DMIC_EN",
0554                           "",
0555                           "",
0556                           "",
0557                           "",
0558 
0559                           /* GPIO4 B 0-7 */
0560                           "",
0561                           "",
0562                           "",
0563                           "",
0564                           "",
0565                           "",
0566                           "",
0567                           "",
0568 
0569                           /* GPIO4 C 0-7 */
0570                           "AP_I2C_TS_SDA",
0571                           "AP_I2C_TS_SCL",
0572                           "GPU_DVS_PWM",
0573                           "UART_DBG_TX_AP_RX",
0574                           "UART_AP_TX_DBG_RX",
0575                           "BL_EN",
0576                           "BL_PWM",
0577                           "",
0578 
0579                           /* GPIO4 D 0-5 */
0580                           "",
0581                           "DISPLAY_RST_L",
0582                           "",
0583                           "PPVARP_LCD_EN",
0584                           "PPVARN_LCD_EN",
0585                           "SD_SLOT_PWR_EN";
0586 };
0587 
0588 &i2c_tunnel {
0589         google,remote-bus = <0>;
0590 };
0591 
0592 &io_domains {
0593         bt656-supply = <&pp1800_s0>;            /* APIO2_VDD;  2a 2b */
0594         audio-supply = <&pp1800_s0>;            /* APIO5_VDD;  3d 4a */
0595         gpio1830-supply = <&pp1800_s0>;         /* APIO4_VDD;  4c 4d */
0596 };
0597 
0598 &isp0 {
0599         status = "okay";
0600 
0601         ports {
0602                 port@0 {
0603                         mipi_in_wcam: endpoint@0 {
0604                                 reg = <0>;
0605                                 remote-endpoint = <&wcam_out>;
0606                                 data-lanes = <1 2>;
0607                         };
0608 
0609                         mipi_in_ucam: endpoint@1 {
0610                                 reg = <1>;
0611                                 remote-endpoint = <&ucam_out>;
0612                                 data-lanes = <1>;
0613                         };
0614                 };
0615         };
0616 };
0617 
0618 &isp0_mmu {
0619         status = "okay";
0620 };
0621 
0622 &max98357a {
0623         sdmode-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
0624 };
0625 
0626 &mipi_dphy_rx0 {
0627         status = "okay";
0628 };
0629 
0630 &mipi_dsi {
0631         status = "okay";
0632         clock-master;
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                 /* 2 different panels are used, compatibles are in dts files */
0646                 reg = <0>;
0647                 backlight = <&backlight>;
0648                 enable-gpios = <&gpio4 25 GPIO_ACTIVE_HIGH>;
0649                 pinctrl-names = "default";
0650                 pinctrl-0 = <&display_rst_l>;
0651 
0652                 ports {
0653                         #address-cells = <1>;
0654                         #size-cells = <0>;
0655 
0656                         port@0 {
0657                                 reg = <0>;
0658 
0659                                 mipi_in_panel: endpoint {
0660                                         remote-endpoint = <&mipi_out_panel>;
0661                                 };
0662                         };
0663 
0664                         port@1 {
0665                                 reg = <1>;
0666 
0667                                 mipi1_in_panel: endpoint@1 {
0668                                         remote-endpoint = <&mipi1_out_panel>;
0669                                 };
0670                         };
0671                 };
0672         };
0673 };
0674 
0675 &mipi_dsi1 {
0676         status = "okay";
0677 
0678         ports {
0679                 mipi1_out: port@1 {
0680                         reg = <1>;
0681 
0682                         mipi1_out_panel: endpoint {
0683                                 remote-endpoint = <&mipi1_in_panel>;
0684                         };
0685                 };
0686         };
0687 };
0688 
0689 &pcie0 {
0690         ep-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
0691 
0692         /* PERST# asserted in S3 */
0693         pcie-reset-suspend = <1>;
0694 
0695         vpcie3v3-supply = <&wlan_3v3>;
0696         vpcie1v8-supply = <&pp1800_pcie>;
0697 };
0698 
0699 &sdmmc {
0700         cd-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
0701 };
0702 
0703 &sound {
0704         rockchip,codec = <&max98357a &dmic &codec &cdn_dp>;
0705 };
0706 
0707 &spi2 {
0708         status = "okay";
0709 
0710         cr50@0 {
0711                 compatible = "google,cr50";
0712                 reg = <0>;
0713                 interrupt-parent = <&gpio1>;
0714                 interrupts = <17 IRQ_TYPE_EDGE_RISING>;
0715                 pinctrl-names = "default";
0716                 pinctrl-0 = <&h1_int_od_l>;
0717                 spi-max-frequency = <800000>;
0718         };
0719 };
0720 
0721 &usb_host0_ohci {
0722         #address-cells = <1>;
0723         #size-cells = <0>;
0724 
0725         qca_bt: bluetooth@1 {
0726                 compatible = "usbcf3,e300", "usb4ca,301a";
0727                 reg = <1>;
0728                 pinctrl-names = "default";
0729                 pinctrl-0 = <&bt_host_wake_l>;
0730                 interrupt-parent = <&gpio1>;
0731                 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
0732                 interrupt-names = "wakeup";
0733         };
0734 };
0735 
0736 /* PINCTRL OVERRIDES */
0737 &ec_ap_int_l {
0738         rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>;
0739 };
0740 
0741 &ap_fw_wp {
0742         rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
0743 };
0744 
0745 &bl_en {
0746         rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
0747 };
0748 
0749 &bt_host_wake_l {
0750         rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
0751 };
0752 
0753 &ec_ap_int_l {
0754         rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>;
0755 };
0756 
0757 &headset_int_l {
0758         rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
0759 };
0760 
0761 &i2s0_8ch_bus {
0762         rockchip,pins =
0763                 <3 RK_PD0 1 &pcfg_pull_none_6ma>,
0764                 <3 RK_PD1 1 &pcfg_pull_none_6ma>,
0765                 <3 RK_PD2 1 &pcfg_pull_none_6ma>,
0766                 <3 RK_PD3 1 &pcfg_pull_none_6ma>,
0767                 <3 RK_PD7 1 &pcfg_pull_none_6ma>,
0768                 <4 RK_PA0 1 &pcfg_pull_none_6ma>;
0769 };
0770 
0771 /* there is no external pull up, so need to set this pin pull up */
0772 &sdmmc_cd_pin {
0773         rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>;
0774 };
0775 
0776 &sd_pwr_1800_sel {
0777         rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
0778 };
0779 
0780 &sdmode_en {
0781         rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_down>;
0782 };
0783 
0784 &touch_reset_l {
0785         rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
0786 };
0787 
0788 &touch_int_l {
0789         rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
0790 };
0791 
0792 &pinctrl {
0793         pinctrl-0 = <
0794                 &ap_pwroff      /* AP will auto-assert this when in S3 */
0795                 &clk_32k        /* This pin is always 32k on gru boards */
0796                 &wlan_rf_kill_1v8_l
0797         >;
0798 
0799         pcfg_pull_none_6ma: pcfg-pull-none-6ma {
0800                 bias-disable;
0801                 drive-strength = <6>;
0802         };
0803 
0804         camera {
0805                 pp1250_cam_en: pp1250-dvdd {
0806                         rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
0807                 };
0808 
0809                 pp2800_cam_en: pp2800-avdd {
0810                         rockchip,pins = <2 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
0811                 };
0812 
0813                 ucam_rst: ucam_rst {
0814                         rockchip,pins = <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
0815                 };
0816 
0817                 wcam_rst: wcam_rst {
0818                         rockchip,pins = <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
0819                 };
0820         };
0821 
0822         digitizer {
0823                 pen_int_odl: pen-int-odl {
0824                         rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
0825                 };
0826 
0827                 pen_reset_l: pen-reset-l {
0828                         rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
0829                 };
0830         };
0831 
0832         discrete-regulators {
0833                 display_rst_l: display-rst-l {
0834                         rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_down>;
0835                 };
0836 
0837                 ppvarp_lcd_en: ppvarp-lcd-en {
0838                         rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
0839                 };
0840 
0841                 ppvarn_lcd_en: ppvarn-lcd-en {
0842                         rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
0843                 };
0844         };
0845 
0846         dmic {
0847                 dmic_en: dmic-en {
0848                         rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
0849                 };
0850         };
0851 
0852         pen {
0853                 pen_eject_odl: pen-eject-odl {
0854                         rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
0855                 };
0856         };
0857 
0858         tpm {
0859                 h1_int_od_l: h1-int-od-l {
0860                         rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
0861                 };
0862         };
0863 };
0864 
0865 &wifi {
0866         bt_en_1v8_l: bt-en-1v8-l {
0867                 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
0868         };
0869 
0870         wlan_pd_1v8_l: wlan-pd-1v8-l {
0871                 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
0872         };
0873 
0874         /* Default pull-up, but just to be clear */
0875         wlan_rf_kill_1v8_l: wlan-rf-kill-1v8-l {
0876                 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
0877         };
0878 
0879         wifi_perst_l: wifi-perst-l {
0880                 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
0881         };
0882 
0883         wlan_host_wake_l: wlan-host-wake-l {
0884                 rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
0885         };
0886 };