1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Google Veyron Jaq Rev 1+ board device tree source 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright 2015 Google, Inc 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun/dts-v1/; 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun#include "rk3288-veyron-chromebook.dtsi" 11*4882a593Smuzhiyun#include "cros-ec-sbs.dtsi" 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun/ { 14*4882a593Smuzhiyun model = "Google Jaq"; 15*4882a593Smuzhiyun compatible = "google,veyron-jaq-rev5", "google,veyron-jaq-rev4", 16*4882a593Smuzhiyun "google,veyron-jaq-rev3", "google,veyron-jaq-rev2", 17*4882a593Smuzhiyun "google,veyron-jaq-rev1", "google,veyron-jaq", 18*4882a593Smuzhiyun "google,veyron", "rockchip,rk3288"; 19*4882a593Smuzhiyun}; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun&backlight { 22*4882a593Smuzhiyun /* Jaq panel PWM must be >= 3%, so start non-zero brightness at 8 */ 23*4882a593Smuzhiyun brightness-levels = <0 8 255>; 24*4882a593Smuzhiyun num-interpolated-steps = <247>; 25*4882a593Smuzhiyun}; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun&rk808 { 28*4882a593Smuzhiyun pinctrl-names = "default"; 29*4882a593Smuzhiyun pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>; 30*4882a593Smuzhiyun dvs-gpios = <&gpio7 RK_PB4 GPIO_ACTIVE_HIGH>, 31*4882a593Smuzhiyun <&gpio7 RK_PB7 GPIO_ACTIVE_HIGH>; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun regulators { 34*4882a593Smuzhiyun mic_vcc: LDO_REG2 { 35*4882a593Smuzhiyun regulator-name = "mic_vcc"; 36*4882a593Smuzhiyun regulator-always-on; 37*4882a593Smuzhiyun regulator-boot-on; 38*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 39*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 40*4882a593Smuzhiyun regulator-state-mem { 41*4882a593Smuzhiyun regulator-off-in-suspend; 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun }; 45*4882a593Smuzhiyun}; 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun&sdio0 { 48*4882a593Smuzhiyun #address-cells = <1>; 49*4882a593Smuzhiyun #size-cells = <0>; 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun btmrvl: btmrvl@2 { 52*4882a593Smuzhiyun compatible = "marvell,sd8897-bt"; 53*4882a593Smuzhiyun reg = <2>; 54*4882a593Smuzhiyun interrupt-parent = <&gpio4>; 55*4882a593Smuzhiyun interrupts = <RK_PD7 IRQ_TYPE_LEVEL_LOW>; 56*4882a593Smuzhiyun marvell,wakeup-pin = /bits/ 16 <13>; 57*4882a593Smuzhiyun pinctrl-names = "default"; 58*4882a593Smuzhiyun pinctrl-0 = <&bt_host_wake_l>; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun}; 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun&sdmmc { 63*4882a593Smuzhiyun disable-wp; 64*4882a593Smuzhiyun pinctrl-names = "default"; 65*4882a593Smuzhiyun pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd_disabled &sdmmc_cd_pin 66*4882a593Smuzhiyun &sdmmc_bus4>; 67*4882a593Smuzhiyun}; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun&vcc_5v { 70*4882a593Smuzhiyun enable-active-high; 71*4882a593Smuzhiyun gpio = <&gpio7 RK_PC5 GPIO_ACTIVE_HIGH>; 72*4882a593Smuzhiyun pinctrl-names = "default"; 73*4882a593Smuzhiyun pinctrl-0 = <&drv_5v>; 74*4882a593Smuzhiyun}; 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun&vcc50_hdmi { 77*4882a593Smuzhiyun enable-active-high; 78*4882a593Smuzhiyun gpio = <&gpio5 RK_PC3 GPIO_ACTIVE_HIGH>; 79*4882a593Smuzhiyun pinctrl-names = "default"; 80*4882a593Smuzhiyun pinctrl-0 = <&vcc50_hdmi_en>; 81*4882a593Smuzhiyun}; 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun&gpio0 { 84*4882a593Smuzhiyun gpio-line-names = "PMIC_SLEEP_AP", 85*4882a593Smuzhiyun "DDRIO_PWROFF", 86*4882a593Smuzhiyun "DDRIO_RETEN", 87*4882a593Smuzhiyun "TS3A227E_INT_L", 88*4882a593Smuzhiyun "PMIC_INT_L", 89*4882a593Smuzhiyun "PWR_KEY_L", 90*4882a593Smuzhiyun "AP_LID_INT_L", 91*4882a593Smuzhiyun "EC_IN_RW", 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun "AC_PRESENT_AP", 94*4882a593Smuzhiyun /* 95*4882a593Smuzhiyun * RECOVERY_SW_L is Chrome OS ABI. Schematics call 96*4882a593Smuzhiyun * it REC_MODE_L. 97*4882a593Smuzhiyun */ 98*4882a593Smuzhiyun "RECOVERY_SW_L", 99*4882a593Smuzhiyun "OTP_OUT", 100*4882a593Smuzhiyun "HOST1_PWR_EN", 101*4882a593Smuzhiyun "USBOTG_PWREN_H", 102*4882a593Smuzhiyun "AP_WARM_RESET_H", 103*4882a593Smuzhiyun "nFALUT2", 104*4882a593Smuzhiyun "I2C0_SDA_PMIC", 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun "I2C0_SCL_PMIC", 107*4882a593Smuzhiyun "SUSPEND_L", 108*4882a593Smuzhiyun "USB_INT"; 109*4882a593Smuzhiyun}; 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun&gpio2 { 112*4882a593Smuzhiyun gpio-line-names = "CONFIG0", 113*4882a593Smuzhiyun "CONFIG1", 114*4882a593Smuzhiyun "CONFIG2", 115*4882a593Smuzhiyun "", 116*4882a593Smuzhiyun "", 117*4882a593Smuzhiyun "", 118*4882a593Smuzhiyun "", 119*4882a593Smuzhiyun "CONFIG3", 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun "", 122*4882a593Smuzhiyun "EMMC_RST_L", 123*4882a593Smuzhiyun "", 124*4882a593Smuzhiyun "", 125*4882a593Smuzhiyun "BL_PWR_EN", 126*4882a593Smuzhiyun "AVDD_1V8_DISP_EN"; 127*4882a593Smuzhiyun}; 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun&gpio3 { 130*4882a593Smuzhiyun gpio-line-names = "FLASH0_D0", 131*4882a593Smuzhiyun "FLASH0_D1", 132*4882a593Smuzhiyun "FLASH0_D2", 133*4882a593Smuzhiyun "FLASH0_D3", 134*4882a593Smuzhiyun "FLASH0_D4", 135*4882a593Smuzhiyun "FLASH0_D5", 136*4882a593Smuzhiyun "FLASH0_D6", 137*4882a593Smuzhiyun "FLASH0_D7", 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun "", 140*4882a593Smuzhiyun "", 141*4882a593Smuzhiyun "", 142*4882a593Smuzhiyun "", 143*4882a593Smuzhiyun "", 144*4882a593Smuzhiyun "", 145*4882a593Smuzhiyun "", 146*4882a593Smuzhiyun "", 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun "FLASH0_CS2/EMMC_CMD", 149*4882a593Smuzhiyun "", 150*4882a593Smuzhiyun "FLASH0_DQS/EMMC_CLKO"; 151*4882a593Smuzhiyun}; 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun&gpio4 { 154*4882a593Smuzhiyun gpio-line-names = "", 155*4882a593Smuzhiyun "", 156*4882a593Smuzhiyun "", 157*4882a593Smuzhiyun "", 158*4882a593Smuzhiyun "", 159*4882a593Smuzhiyun "", 160*4882a593Smuzhiyun "", 161*4882a593Smuzhiyun "", 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun "", 164*4882a593Smuzhiyun "", 165*4882a593Smuzhiyun "", 166*4882a593Smuzhiyun "", 167*4882a593Smuzhiyun "", 168*4882a593Smuzhiyun "", 169*4882a593Smuzhiyun "", 170*4882a593Smuzhiyun "", 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun "UART0_RXD", 173*4882a593Smuzhiyun "UART0_TXD", 174*4882a593Smuzhiyun "UART0_CTS", 175*4882a593Smuzhiyun "UART0_RTS", 176*4882a593Smuzhiyun "SDIO0_D0", 177*4882a593Smuzhiyun "SDIO0_D1", 178*4882a593Smuzhiyun "SDIO0_D2", 179*4882a593Smuzhiyun "SDIO0_D3", 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun "SDIO0_CMD", 182*4882a593Smuzhiyun "SDIO0_CLK", 183*4882a593Smuzhiyun "BT_DEV_WAKE", /* Maybe missing from mighty? */ 184*4882a593Smuzhiyun "", 185*4882a593Smuzhiyun "WIFI_ENABLE_H", 186*4882a593Smuzhiyun "BT_ENABLE_L", 187*4882a593Smuzhiyun "WIFI_HOST_WAKE", 188*4882a593Smuzhiyun "BT_HOST_WAKE"; 189*4882a593Smuzhiyun}; 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun&gpio5 { 192*4882a593Smuzhiyun gpio-line-names = "", 193*4882a593Smuzhiyun "", 194*4882a593Smuzhiyun "", 195*4882a593Smuzhiyun "", 196*4882a593Smuzhiyun "", 197*4882a593Smuzhiyun "", 198*4882a593Smuzhiyun "", 199*4882a593Smuzhiyun "", 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun "", 202*4882a593Smuzhiyun "", 203*4882a593Smuzhiyun "", 204*4882a593Smuzhiyun "", 205*4882a593Smuzhiyun "SPI0_CLK", 206*4882a593Smuzhiyun "SPI0_CS0", 207*4882a593Smuzhiyun "SPI0_TXD", 208*4882a593Smuzhiyun "SPI0_RXD", 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun "", 211*4882a593Smuzhiyun "", 212*4882a593Smuzhiyun "", 213*4882a593Smuzhiyun "VCC50_HDMI_EN"; 214*4882a593Smuzhiyun}; 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun&gpio6 { 217*4882a593Smuzhiyun gpio-line-names = "I2S0_SCLK", 218*4882a593Smuzhiyun "I2S0_LRCK_RX", 219*4882a593Smuzhiyun "I2S0_LRCK_TX", 220*4882a593Smuzhiyun "I2S0_SDI", 221*4882a593Smuzhiyun "I2S0_SDO0", 222*4882a593Smuzhiyun "HP_DET_H", 223*4882a593Smuzhiyun "ALS_INT", 224*4882a593Smuzhiyun "INT_CODEC", 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun "I2S0_CLK", 227*4882a593Smuzhiyun "I2C2_SDA", 228*4882a593Smuzhiyun "I2C2_SCL", 229*4882a593Smuzhiyun "MICDET", 230*4882a593Smuzhiyun "", 231*4882a593Smuzhiyun "", 232*4882a593Smuzhiyun "", 233*4882a593Smuzhiyun "", 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun "SDMMC_D0", 236*4882a593Smuzhiyun "SDMMC_D1", 237*4882a593Smuzhiyun "SDMMC_D2", 238*4882a593Smuzhiyun "SDMMC_D3", 239*4882a593Smuzhiyun "SDMMC_CLK", 240*4882a593Smuzhiyun "SDMMC_CMD"; 241*4882a593Smuzhiyun}; 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun&gpio7 { 244*4882a593Smuzhiyun gpio-line-names = "LCDC_BL", 245*4882a593Smuzhiyun "PWM_LOG", 246*4882a593Smuzhiyun "BL_EN", 247*4882a593Smuzhiyun "TRACKPAD_INT", 248*4882a593Smuzhiyun "TPM_INT_H", 249*4882a593Smuzhiyun "SDMMC_DET_L", 250*4882a593Smuzhiyun /* 251*4882a593Smuzhiyun * AP_FLASH_WP_L is Chrome OS ABI. Schematics call 252*4882a593Smuzhiyun * it FW_WP_AP. 253*4882a593Smuzhiyun */ 254*4882a593Smuzhiyun "AP_FLASH_WP_L", 255*4882a593Smuzhiyun "EC_INT", 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun "CPU_NMI", 258*4882a593Smuzhiyun "DVSOK", 259*4882a593Smuzhiyun "SDMMC_WP", /* mighty only */ 260*4882a593Smuzhiyun "EDP_HPD", 261*4882a593Smuzhiyun "DVS1", 262*4882a593Smuzhiyun "nFALUT1", /* nFAULT1 on jaq */ 263*4882a593Smuzhiyun "LCD_EN", 264*4882a593Smuzhiyun "DVS2", 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun "VCC5V_GOOD_H", 267*4882a593Smuzhiyun "I2C4_SDA_TP", 268*4882a593Smuzhiyun "I2C4_SCL_TP", 269*4882a593Smuzhiyun "I2C5_SDA_HDMI", 270*4882a593Smuzhiyun "I2C5_SCL_HDMI", 271*4882a593Smuzhiyun "5V_DRV", 272*4882a593Smuzhiyun "UART2_RXD", 273*4882a593Smuzhiyun "UART2_TXD"; 274*4882a593Smuzhiyun}; 275*4882a593Smuzhiyun 276*4882a593Smuzhiyun&gpio8 { 277*4882a593Smuzhiyun gpio-line-names = "RAM_ID0", 278*4882a593Smuzhiyun "RAM_ID1", 279*4882a593Smuzhiyun "RAM_ID2", 280*4882a593Smuzhiyun "RAM_ID3", 281*4882a593Smuzhiyun "I2C1_SDA_TPM", 282*4882a593Smuzhiyun "I2C1_SCL_TPM", 283*4882a593Smuzhiyun "SPI2_CLK", 284*4882a593Smuzhiyun "SPI2_CS0", 285*4882a593Smuzhiyun 286*4882a593Smuzhiyun "SPI2_RXD", 287*4882a593Smuzhiyun "SPI2_TXD"; 288*4882a593Smuzhiyun}; 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun&pinctrl { 291*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 292*4882a593Smuzhiyun pinctrl-0 = < 293*4882a593Smuzhiyun /* Common for sleep and wake, but no owners */ 294*4882a593Smuzhiyun &ddr0_retention 295*4882a593Smuzhiyun &ddrio_pwroff 296*4882a593Smuzhiyun &global_pwroff 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun /* Wake only */ 299*4882a593Smuzhiyun &suspend_l_wake 300*4882a593Smuzhiyun &bt_dev_wake_awake 301*4882a593Smuzhiyun >; 302*4882a593Smuzhiyun pinctrl-1 = < 303*4882a593Smuzhiyun /* Common for sleep and wake, but no owners */ 304*4882a593Smuzhiyun &ddr0_retention 305*4882a593Smuzhiyun &ddrio_pwroff 306*4882a593Smuzhiyun &global_pwroff 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun /* Sleep only */ 309*4882a593Smuzhiyun &suspend_l_sleep 310*4882a593Smuzhiyun &bt_dev_wake_sleep 311*4882a593Smuzhiyun >; 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun buck-5v { 314*4882a593Smuzhiyun drv_5v: drv-5v { 315*4882a593Smuzhiyun rockchip,pins = <7 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 316*4882a593Smuzhiyun }; 317*4882a593Smuzhiyun }; 318*4882a593Smuzhiyun 319*4882a593Smuzhiyun hdmi { 320*4882a593Smuzhiyun vcc50_hdmi_en: vcc50-hdmi-en { 321*4882a593Smuzhiyun rockchip,pins = <5 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 322*4882a593Smuzhiyun }; 323*4882a593Smuzhiyun }; 324*4882a593Smuzhiyun 325*4882a593Smuzhiyun pmic { 326*4882a593Smuzhiyun dvs_1: dvs-1 { 327*4882a593Smuzhiyun rockchip,pins = <7 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>; 328*4882a593Smuzhiyun }; 329*4882a593Smuzhiyun 330*4882a593Smuzhiyun dvs_2: dvs-2 { 331*4882a593Smuzhiyun rockchip,pins = <7 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>; 332*4882a593Smuzhiyun }; 333*4882a593Smuzhiyun }; 334*4882a593Smuzhiyun}; 335