1*d5b0e70fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*d5b0e70fSEmmanuel Vadot/* 3*d5b0e70fSEmmanuel Vadot * Google Villager board device tree source 4*d5b0e70fSEmmanuel Vadot * 5*d5b0e70fSEmmanuel Vadot * Copyright 2022 Google LLC. 6*d5b0e70fSEmmanuel Vadot */ 7*d5b0e70fSEmmanuel Vadot 8*d5b0e70fSEmmanuel Vadot/dts-v1/; 9*d5b0e70fSEmmanuel Vadot 10*d5b0e70fSEmmanuel Vadot#include "sc7280-herobrine.dtsi" 11*d5b0e70fSEmmanuel Vadot 12*d5b0e70fSEmmanuel Vadot/ { 13*d5b0e70fSEmmanuel Vadot model = "Google Villager (rev0+)"; 14*d5b0e70fSEmmanuel Vadot compatible = "google,villager", "qcom,sc7280"; 15*d5b0e70fSEmmanuel Vadot}; 16*d5b0e70fSEmmanuel Vadot 17*d5b0e70fSEmmanuel Vadot/* 18*d5b0e70fSEmmanuel Vadot * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES 19*d5b0e70fSEmmanuel Vadot * 20*d5b0e70fSEmmanuel Vadot * Sort order matches the order in the parent files (parents before children). 21*d5b0e70fSEmmanuel Vadot */ 22*d5b0e70fSEmmanuel Vadot 23*d5b0e70fSEmmanuel Vadot&pp3300_codec { 24*d5b0e70fSEmmanuel Vadot status = "okay"; 25*d5b0e70fSEmmanuel Vadot}; 26*d5b0e70fSEmmanuel Vadot 27*d5b0e70fSEmmanuel Vadot/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 28*d5b0e70fSEmmanuel Vadot 29*d5b0e70fSEmmanuel Vadotap_tp_i2c: &i2c0 { 30*d5b0e70fSEmmanuel Vadot status = "okay"; 31*d5b0e70fSEmmanuel Vadot clock-frequency = <400000>; 32*d5b0e70fSEmmanuel Vadot 33*d5b0e70fSEmmanuel Vadot trackpad: trackpad@2c { 34*d5b0e70fSEmmanuel Vadot compatible = "hid-over-i2c"; 35*d5b0e70fSEmmanuel Vadot reg = <0x2c>; 36*d5b0e70fSEmmanuel Vadot pinctrl-names = "default"; 37*d5b0e70fSEmmanuel Vadot pinctrl-0 = <&tp_int_odl>; 38*d5b0e70fSEmmanuel Vadot 39*d5b0e70fSEmmanuel Vadot interrupt-parent = <&tlmm>; 40*d5b0e70fSEmmanuel Vadot interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 41*d5b0e70fSEmmanuel Vadot 42*d5b0e70fSEmmanuel Vadot hid-descr-addr = <0x20>; 43*d5b0e70fSEmmanuel Vadot vcc-supply = <&pp3300_z1>; 44*d5b0e70fSEmmanuel Vadot 45*d5b0e70fSEmmanuel Vadot wakeup-source; 46*d5b0e70fSEmmanuel Vadot }; 47*d5b0e70fSEmmanuel Vadot}; 48*d5b0e70fSEmmanuel Vadot 49*d5b0e70fSEmmanuel Vadot&ap_sar_sensor_i2c { 50*d5b0e70fSEmmanuel Vadot status = "okay"; 51*d5b0e70fSEmmanuel Vadot}; 52*d5b0e70fSEmmanuel Vadot 53*d5b0e70fSEmmanuel Vadot&ap_sar_sensor0 { 54*d5b0e70fSEmmanuel Vadot status = "okay"; 55*d5b0e70fSEmmanuel Vadot}; 56*d5b0e70fSEmmanuel Vadot 57*d5b0e70fSEmmanuel Vadot&ap_sar_sensor1 { 58*d5b0e70fSEmmanuel Vadot status = "okay"; 59*d5b0e70fSEmmanuel Vadot}; 60*d5b0e70fSEmmanuel Vadot 61*d5b0e70fSEmmanuel Vadot&mdss_edp { 62*d5b0e70fSEmmanuel Vadot status = "okay"; 63*d5b0e70fSEmmanuel Vadot}; 64*d5b0e70fSEmmanuel Vadot 65*d5b0e70fSEmmanuel Vadot&mdss_edp_phy { 66*d5b0e70fSEmmanuel Vadot status = "okay"; 67*d5b0e70fSEmmanuel Vadot}; 68*d5b0e70fSEmmanuel Vadot 69*d5b0e70fSEmmanuel Vadot/* For nvme */ 70*d5b0e70fSEmmanuel Vadot&pcie1 { 71*d5b0e70fSEmmanuel Vadot status = "okay"; 72*d5b0e70fSEmmanuel Vadot}; 73*d5b0e70fSEmmanuel Vadot 74*d5b0e70fSEmmanuel Vadot/* For nvme */ 75*d5b0e70fSEmmanuel Vadot&pcie1_phy { 76*d5b0e70fSEmmanuel Vadot status = "okay"; 77*d5b0e70fSEmmanuel Vadot}; 78*d5b0e70fSEmmanuel Vadot 79*d5b0e70fSEmmanuel Vadot/* For eMMC */ 80*d5b0e70fSEmmanuel Vadot&sdhc_1 { 81*d5b0e70fSEmmanuel Vadot status = "okay"; 82*d5b0e70fSEmmanuel Vadot}; 83*d5b0e70fSEmmanuel Vadot 84*d5b0e70fSEmmanuel Vadot/* PINCTRL - BOARD-SPECIFIC */ 85*d5b0e70fSEmmanuel Vadot 86*d5b0e70fSEmmanuel Vadot/* 87*d5b0e70fSEmmanuel Vadot * Methodology for gpio-line-names: 88*d5b0e70fSEmmanuel Vadot * - If a pin goes to herobrine board and is named it gets that name. 89*d5b0e70fSEmmanuel Vadot * - If a pin goes to herobrine board and is not named, it gets no name. 90*d5b0e70fSEmmanuel Vadot * - If a pin is totally internal to Qcard then it gets Qcard name. 91*d5b0e70fSEmmanuel Vadot * - If a pin is not hooked up on Qcard, it gets no name. 92*d5b0e70fSEmmanuel Vadot */ 93*d5b0e70fSEmmanuel Vadot 94*d5b0e70fSEmmanuel Vadot&pm8350c_gpios { 95*d5b0e70fSEmmanuel Vadot gpio-line-names = "FLASH_STROBE_1", /* 1 */ 96*d5b0e70fSEmmanuel Vadot "AP_SUSPEND", 97*d5b0e70fSEmmanuel Vadot "PM8008_1_RST_N", 98*d5b0e70fSEmmanuel Vadot "", 99*d5b0e70fSEmmanuel Vadot "", 100*d5b0e70fSEmmanuel Vadot "", 101*d5b0e70fSEmmanuel Vadot "PMIC_EDP_BL_EN", 102*d5b0e70fSEmmanuel Vadot "PMIC_EDP_BL_PWM", 103*d5b0e70fSEmmanuel Vadot ""; 104*d5b0e70fSEmmanuel Vadot}; 105*d5b0e70fSEmmanuel Vadot 106*d5b0e70fSEmmanuel Vadot&tlmm { 107*d5b0e70fSEmmanuel Vadot gpio-line-names = "AP_TP_I2C_SDA", /* 0 */ 108*d5b0e70fSEmmanuel Vadot "AP_TP_I2C_SCL", 109*d5b0e70fSEmmanuel Vadot "SSD_RST_L", 110*d5b0e70fSEmmanuel Vadot "PE_WAKE_ODL", 111*d5b0e70fSEmmanuel Vadot "AP_SAR_SDA", 112*d5b0e70fSEmmanuel Vadot "AP_SAR_SCL", 113*d5b0e70fSEmmanuel Vadot "PRB_SC_GPIO_6", 114*d5b0e70fSEmmanuel Vadot "TP_INT_ODL", 115*d5b0e70fSEmmanuel Vadot "HP_I2C_SDA", 116*d5b0e70fSEmmanuel Vadot "HP_I2C_SCL", 117*d5b0e70fSEmmanuel Vadot 118*d5b0e70fSEmmanuel Vadot "GNSS_L1_EN", /* 10 */ 119*d5b0e70fSEmmanuel Vadot "GNSS_L5_EN", 120*d5b0e70fSEmmanuel Vadot "SPI_AP_MOSI", 121*d5b0e70fSEmmanuel Vadot "SPI_AP_MISO", 122*d5b0e70fSEmmanuel Vadot "SPI_AP_CLK", 123*d5b0e70fSEmmanuel Vadot "SPI_AP_CS0_L", 124*d5b0e70fSEmmanuel Vadot /* 125*d5b0e70fSEmmanuel Vadot * AP_FLASH_WP is crossystem ABI. Schematics 126*d5b0e70fSEmmanuel Vadot * call it BIOS_FLASH_WP_OD. 127*d5b0e70fSEmmanuel Vadot */ 128*d5b0e70fSEmmanuel Vadot "AP_FLASH_WP", 129*d5b0e70fSEmmanuel Vadot "", 130*d5b0e70fSEmmanuel Vadot "AP_EC_INT_L", 131*d5b0e70fSEmmanuel Vadot "", 132*d5b0e70fSEmmanuel Vadot 133*d5b0e70fSEmmanuel Vadot "UF_CAM_RST_L", /* 20 */ 134*d5b0e70fSEmmanuel Vadot "WF_CAM_RST_L", 135*d5b0e70fSEmmanuel Vadot "UART_AP_TX_DBG_RX", 136*d5b0e70fSEmmanuel Vadot "UART_DBG_TX_AP_RX", 137*d5b0e70fSEmmanuel Vadot "", 138*d5b0e70fSEmmanuel Vadot "PM8008_IRQ_1", 139*d5b0e70fSEmmanuel Vadot "HOST2WLAN_SOL", 140*d5b0e70fSEmmanuel Vadot "WLAN2HOST_SOL", 141*d5b0e70fSEmmanuel Vadot "MOS_BT_UART_CTS", 142*d5b0e70fSEmmanuel Vadot "MOS_BT_UART_RFR", 143*d5b0e70fSEmmanuel Vadot 144*d5b0e70fSEmmanuel Vadot "MOS_BT_UART_TX", /* 30 */ 145*d5b0e70fSEmmanuel Vadot "MOS_BT_UART_RX", 146*d5b0e70fSEmmanuel Vadot "PRB_SC_GPIO_32", 147*d5b0e70fSEmmanuel Vadot "HUB_RST_L", 148*d5b0e70fSEmmanuel Vadot "", 149*d5b0e70fSEmmanuel Vadot "", 150*d5b0e70fSEmmanuel Vadot "AP_SPI_FP_MISO", 151*d5b0e70fSEmmanuel Vadot "AP_SPI_FP_MOSI", 152*d5b0e70fSEmmanuel Vadot "AP_SPI_FP_CLK", 153*d5b0e70fSEmmanuel Vadot "AP_SPI_FP_CS_L", 154*d5b0e70fSEmmanuel Vadot 155*d5b0e70fSEmmanuel Vadot "AP_EC_SPI_MISO", /* 40 */ 156*d5b0e70fSEmmanuel Vadot "AP_EC_SPI_MOSI", 157*d5b0e70fSEmmanuel Vadot "AP_EC_SPI_CLK", 158*d5b0e70fSEmmanuel Vadot "AP_EC_SPI_CS_L", 159*d5b0e70fSEmmanuel Vadot "LCM_RST_L", 160*d5b0e70fSEmmanuel Vadot "EARLY_EUD_N", 161*d5b0e70fSEmmanuel Vadot "", 162*d5b0e70fSEmmanuel Vadot "DP_HOT_PLUG_DET", 163*d5b0e70fSEmmanuel Vadot "IO_BRD_MLB_ID0", 164*d5b0e70fSEmmanuel Vadot "IO_BRD_MLB_ID1", 165*d5b0e70fSEmmanuel Vadot 166*d5b0e70fSEmmanuel Vadot "IO_BRD_MLB_ID2", /* 50 */ 167*d5b0e70fSEmmanuel Vadot "SSD_EN", 168*d5b0e70fSEmmanuel Vadot "TS_I2C_SDA_CONN", 169*d5b0e70fSEmmanuel Vadot "TS_I2C_CLK_CONN", 170*d5b0e70fSEmmanuel Vadot "TS_RST_CONN", 171*d5b0e70fSEmmanuel Vadot "TS_INT_CONN", 172*d5b0e70fSEmmanuel Vadot "AP_I2C_TPM_SDA", 173*d5b0e70fSEmmanuel Vadot "AP_I2C_TPM_SCL", 174*d5b0e70fSEmmanuel Vadot "PRB_SC_GPIO_58", 175*d5b0e70fSEmmanuel Vadot "PRB_SC_GPIO_59", 176*d5b0e70fSEmmanuel Vadot 177*d5b0e70fSEmmanuel Vadot "EDP_HOT_PLUG_DET_N", /* 60 */ 178*d5b0e70fSEmmanuel Vadot "FP_TO_AP_IRQ_L", 179*d5b0e70fSEmmanuel Vadot "", 180*d5b0e70fSEmmanuel Vadot "AMP_EN", 181*d5b0e70fSEmmanuel Vadot "CAM0_MCLK_GPIO_64", 182*d5b0e70fSEmmanuel Vadot "CAM1_MCLK_GPIO_65", 183*d5b0e70fSEmmanuel Vadot "WF_CAM_MCLK", 184*d5b0e70fSEmmanuel Vadot "PRB_SC_GPIO_67", 185*d5b0e70fSEmmanuel Vadot "FPMCU_BOOT0", 186*d5b0e70fSEmmanuel Vadot "UF_CAM_SDA", 187*d5b0e70fSEmmanuel Vadot 188*d5b0e70fSEmmanuel Vadot "UF_CAM_SCL", /* 70 */ 189*d5b0e70fSEmmanuel Vadot "", 190*d5b0e70fSEmmanuel Vadot "", 191*d5b0e70fSEmmanuel Vadot "WF_CAM_SDA", 192*d5b0e70fSEmmanuel Vadot "WF_CAM_SCL", 193*d5b0e70fSEmmanuel Vadot "", 194*d5b0e70fSEmmanuel Vadot "", 195*d5b0e70fSEmmanuel Vadot "EN_FP_RAILS", 196*d5b0e70fSEmmanuel Vadot "FP_RST_L", 197*d5b0e70fSEmmanuel Vadot "PCIE1_CLKREQ_ODL", 198*d5b0e70fSEmmanuel Vadot 199*d5b0e70fSEmmanuel Vadot "EN_PP3300_DX_EDP", /* 80 */ 200*d5b0e70fSEmmanuel Vadot "SC_GPIO_81", 201*d5b0e70fSEmmanuel Vadot "FORCED_USB_BOOT", 202*d5b0e70fSEmmanuel Vadot "WCD_RESET_N", 203*d5b0e70fSEmmanuel Vadot "MOS_WLAN_EN", 204*d5b0e70fSEmmanuel Vadot "MOS_BT_EN", 205*d5b0e70fSEmmanuel Vadot "MOS_SW_CTRL", 206*d5b0e70fSEmmanuel Vadot "MOS_PCIE0_RST", 207*d5b0e70fSEmmanuel Vadot "MOS_PCIE0_CLKREQ_N", 208*d5b0e70fSEmmanuel Vadot "MOS_PCIE0_WAKE_N", 209*d5b0e70fSEmmanuel Vadot 210*d5b0e70fSEmmanuel Vadot "MOS_LAA_AS_EN", /* 90 */ 211*d5b0e70fSEmmanuel Vadot "SD_CD_ODL", 212*d5b0e70fSEmmanuel Vadot "", 213*d5b0e70fSEmmanuel Vadot "", 214*d5b0e70fSEmmanuel Vadot "MOS_BT_WLAN_SLIMBUS_CLK", 215*d5b0e70fSEmmanuel Vadot "MOS_BT_WLAN_SLIMBUS_DAT0", 216*d5b0e70fSEmmanuel Vadot "HP_MCLK", 217*d5b0e70fSEmmanuel Vadot "HP_BCLK", 218*d5b0e70fSEmmanuel Vadot "HP_DOUT", 219*d5b0e70fSEmmanuel Vadot "HP_DIN", 220*d5b0e70fSEmmanuel Vadot 221*d5b0e70fSEmmanuel Vadot "HP_LRCLK", /* 100 */ 222*d5b0e70fSEmmanuel Vadot "HP_IRQ", 223*d5b0e70fSEmmanuel Vadot "", 224*d5b0e70fSEmmanuel Vadot "", 225*d5b0e70fSEmmanuel Vadot "GSC_AP_INT_ODL", 226*d5b0e70fSEmmanuel Vadot "EN_PP3300_CODEC", 227*d5b0e70fSEmmanuel Vadot "AMP_BCLK", 228*d5b0e70fSEmmanuel Vadot "AMP_DIN", 229*d5b0e70fSEmmanuel Vadot "AMP_LRCLK", 230*d5b0e70fSEmmanuel Vadot "UIM1_DATA_GPIO_109", 231*d5b0e70fSEmmanuel Vadot 232*d5b0e70fSEmmanuel Vadot "UIM1_CLK_GPIO_110", /* 110 */ 233*d5b0e70fSEmmanuel Vadot "UIM1_RESET_GPIO_111", 234*d5b0e70fSEmmanuel Vadot "PRB_SC_GPIO_112", 235*d5b0e70fSEmmanuel Vadot "UIM0_DATA", 236*d5b0e70fSEmmanuel Vadot "UIM0_CLK", 237*d5b0e70fSEmmanuel Vadot "UIM0_RST", 238*d5b0e70fSEmmanuel Vadot "UIM0_PRESENT_ODL", 239*d5b0e70fSEmmanuel Vadot "SDM_RFFE0_CLK", 240*d5b0e70fSEmmanuel Vadot "SDM_RFFE0_DATA", 241*d5b0e70fSEmmanuel Vadot "WF_CAM_EN", 242*d5b0e70fSEmmanuel Vadot 243*d5b0e70fSEmmanuel Vadot "FASTBOOT_SEL_0", /* 120 */ 244*d5b0e70fSEmmanuel Vadot "SC_GPIO_121", 245*d5b0e70fSEmmanuel Vadot "FASTBOOT_SEL_1", 246*d5b0e70fSEmmanuel Vadot "SC_GPIO_123", 247*d5b0e70fSEmmanuel Vadot "FASTBOOT_SEL_2", 248*d5b0e70fSEmmanuel Vadot "SM_RFFE4_CLK_GRFC_8", 249*d5b0e70fSEmmanuel Vadot "SM_RFFE4_DATA_GRFC_9", 250*d5b0e70fSEmmanuel Vadot "WLAN_COEX_UART1_RX", 251*d5b0e70fSEmmanuel Vadot "WLAN_COEX_UART1_TX", 252*d5b0e70fSEmmanuel Vadot "PRB_SC_GPIO_129", 253*d5b0e70fSEmmanuel Vadot 254*d5b0e70fSEmmanuel Vadot "LCM_ID0", /* 130 */ 255*d5b0e70fSEmmanuel Vadot "LCM_ID1", 256*d5b0e70fSEmmanuel Vadot "", 257*d5b0e70fSEmmanuel Vadot "SDR_QLINK_REQ", 258*d5b0e70fSEmmanuel Vadot "SDR_QLINK_EN", 259*d5b0e70fSEmmanuel Vadot "QLINK0_WMSS_RESET_N", 260*d5b0e70fSEmmanuel Vadot "SMR526_QLINK1_REQ", 261*d5b0e70fSEmmanuel Vadot "SMR526_QLINK1_EN", 262*d5b0e70fSEmmanuel Vadot "SMR526_QLINK1_WMSS_RESET_N", 263*d5b0e70fSEmmanuel Vadot "PRB_SC_GPIO_139", 264*d5b0e70fSEmmanuel Vadot 265*d5b0e70fSEmmanuel Vadot "SAR1_IRQ_ODL", /* 140 */ 266*d5b0e70fSEmmanuel Vadot "SAR0_IRQ_ODL", 267*d5b0e70fSEmmanuel Vadot "PRB_SC_GPIO_142", 268*d5b0e70fSEmmanuel Vadot "", 269*d5b0e70fSEmmanuel Vadot "WCD_SWR_TX_CLK", 270*d5b0e70fSEmmanuel Vadot "WCD_SWR_TX_DATA0", 271*d5b0e70fSEmmanuel Vadot "WCD_SWR_TX_DATA1", 272*d5b0e70fSEmmanuel Vadot "WCD_SWR_RX_CLK", 273*d5b0e70fSEmmanuel Vadot "WCD_SWR_RX_DATA0", 274*d5b0e70fSEmmanuel Vadot "WCD_SWR_RX_DATA1", 275*d5b0e70fSEmmanuel Vadot 276*d5b0e70fSEmmanuel Vadot "DMIC01_CLK", /* 150 */ 277*d5b0e70fSEmmanuel Vadot "DMIC01_DATA", 278*d5b0e70fSEmmanuel Vadot "DMIC23_CLK", 279*d5b0e70fSEmmanuel Vadot "DMIC23_DATA", 280*d5b0e70fSEmmanuel Vadot "", 281*d5b0e70fSEmmanuel Vadot "", 282*d5b0e70fSEmmanuel Vadot "EC_IN_RW_ODL", 283*d5b0e70fSEmmanuel Vadot "HUB_EN", 284*d5b0e70fSEmmanuel Vadot "WCD_SWR_TX_DATA2", 285*d5b0e70fSEmmanuel Vadot "", 286*d5b0e70fSEmmanuel Vadot 287*d5b0e70fSEmmanuel Vadot "", /* 160 */ 288*d5b0e70fSEmmanuel Vadot "", 289*d5b0e70fSEmmanuel Vadot "", 290*d5b0e70fSEmmanuel Vadot "", 291*d5b0e70fSEmmanuel Vadot "", 292*d5b0e70fSEmmanuel Vadot "", 293*d5b0e70fSEmmanuel Vadot "", 294*d5b0e70fSEmmanuel Vadot "", 295*d5b0e70fSEmmanuel Vadot "", 296*d5b0e70fSEmmanuel Vadot "", 297*d5b0e70fSEmmanuel Vadot 298*d5b0e70fSEmmanuel Vadot "", /* 170 */ 299*d5b0e70fSEmmanuel Vadot "MOS_BLE_UART_TX", 300*d5b0e70fSEmmanuel Vadot "MOS_BLE_UART_RX", 301*d5b0e70fSEmmanuel Vadot "", 302*d5b0e70fSEmmanuel Vadot "", 303*d5b0e70fSEmmanuel Vadot ""; 304*d5b0e70fSEmmanuel Vadot}; 305