1116f7cc4SDouglas Anderson// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2116f7cc4SDouglas Anderson/* 3116f7cc4SDouglas Anderson * Google Herobrine board device tree source 4116f7cc4SDouglas Anderson * 5116f7cc4SDouglas Anderson * Copyright 2022 Google LLC. 6116f7cc4SDouglas Anderson */ 7116f7cc4SDouglas Anderson 8116f7cc4SDouglas Anderson/dts-v1/; 9116f7cc4SDouglas Anderson 10116f7cc4SDouglas Anderson#include "sc7280-herobrine.dtsi" 11*dd165157SJudy Hsiao#include "sc7280-herobrine-audio-rt5682.dtsi" 12d42fae73SJimmy Chen#include "sc7280-herobrine-lte-sku.dtsi" 13116f7cc4SDouglas Anderson 14116f7cc4SDouglas Anderson/ { 15116f7cc4SDouglas Anderson model = "Google Herobrine (rev1+)"; 16116f7cc4SDouglas Anderson compatible = "google,herobrine", "qcom,sc7280"; 17116f7cc4SDouglas Anderson}; 18116f7cc4SDouglas Anderson 19533ca1c3SMatthias Kaehlcke/* 20533ca1c3SMatthias Kaehlcke * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES 21533ca1c3SMatthias Kaehlcke * 22533ca1c3SMatthias Kaehlcke * Sort order matches the order in the parent files (parents before children). 23533ca1c3SMatthias Kaehlcke */ 24533ca1c3SMatthias Kaehlcke 25533ca1c3SMatthias Kaehlcke&pp3300_codec { 26533ca1c3SMatthias Kaehlcke status = "okay"; 27533ca1c3SMatthias Kaehlcke}; 28533ca1c3SMatthias Kaehlcke 29533ca1c3SMatthias Kaehlcke&pp3300_fp_mcu { 30533ca1c3SMatthias Kaehlcke status = "okay"; 31533ca1c3SMatthias Kaehlcke}; 32533ca1c3SMatthias Kaehlcke 33533ca1c3SMatthias Kaehlcke&pp2850_vcm_wf_cam { 34533ca1c3SMatthias Kaehlcke status = "okay"; 35533ca1c3SMatthias Kaehlcke}; 36533ca1c3SMatthias Kaehlcke 37533ca1c3SMatthias Kaehlcke&pp2850_wf_cam { 38533ca1c3SMatthias Kaehlcke status = "okay"; 39533ca1c3SMatthias Kaehlcke}; 40533ca1c3SMatthias Kaehlcke 41533ca1c3SMatthias Kaehlcke&pp1800_wf_cam { 42533ca1c3SMatthias Kaehlcke status = "okay"; 43533ca1c3SMatthias Kaehlcke}; 44533ca1c3SMatthias Kaehlcke 45533ca1c3SMatthias Kaehlcke&pp1200_wf_cam { 46533ca1c3SMatthias Kaehlcke status = "okay"; 47533ca1c3SMatthias Kaehlcke}; 48533ca1c3SMatthias Kaehlcke 49116f7cc4SDouglas Anderson/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 50116f7cc4SDouglas Anderson 51116f7cc4SDouglas Anderson/* 52116f7cc4SDouglas Anderson * Although the trackpad is really part of the herobrine baseboard, we'll 53116f7cc4SDouglas Anderson * put the actual definition in the board device tree since different boards 54116f7cc4SDouglas Anderson * might hook up different trackpads (or no i2c trackpad at all in the case 55116f7cc4SDouglas Anderson * of tablets / detachables). 56116f7cc4SDouglas Anderson */ 57116f7cc4SDouglas Andersonap_tp_i2c: &i2c0 { 58116f7cc4SDouglas Anderson status = "okay"; 59116f7cc4SDouglas Anderson clock-frequency = <400000>; 60116f7cc4SDouglas Anderson 61116f7cc4SDouglas Anderson trackpad: trackpad@15 { 62116f7cc4SDouglas Anderson compatible = "elan,ekth3000"; 63116f7cc4SDouglas Anderson reg = <0x15>; 64116f7cc4SDouglas Anderson pinctrl-names = "default"; 65116f7cc4SDouglas Anderson pinctrl-0 = <&tp_int_odl>; 66116f7cc4SDouglas Anderson 67116f7cc4SDouglas Anderson interrupt-parent = <&tlmm>; 68116f7cc4SDouglas Anderson interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 69116f7cc4SDouglas Anderson 70116f7cc4SDouglas Anderson vcc-supply = <&pp3300_z1>; 71116f7cc4SDouglas Anderson 72116f7cc4SDouglas Anderson wakeup-source; 73116f7cc4SDouglas Anderson }; 74116f7cc4SDouglas Anderson}; 75116f7cc4SDouglas Anderson 76116f7cc4SDouglas Anderson/* 77116f7cc4SDouglas Anderson * The touchscreen connector might come off the Qcard, at least in the case of 78116f7cc4SDouglas Anderson * eDP. Like the trackpad, we'll put it in the board device tree file since 79116f7cc4SDouglas Anderson * different boards have different touchscreens. 80116f7cc4SDouglas Anderson */ 81116f7cc4SDouglas Andersonts_i2c: &i2c13 { 82116f7cc4SDouglas Anderson status = "okay"; 83116f7cc4SDouglas Anderson clock-frequency = <400000>; 84116f7cc4SDouglas Anderson 85116f7cc4SDouglas Anderson ap_ts: touchscreen@5c { 86116f7cc4SDouglas Anderson compatible = "hid-over-i2c"; 87116f7cc4SDouglas Anderson reg = <0x5c>; 88116f7cc4SDouglas Anderson pinctrl-names = "default"; 89116f7cc4SDouglas Anderson pinctrl-0 = <&ts_int_conn>, <&ts_rst_conn>; 90116f7cc4SDouglas Anderson 91116f7cc4SDouglas Anderson interrupt-parent = <&tlmm>; 92116f7cc4SDouglas Anderson interrupts = <55 IRQ_TYPE_LEVEL_LOW>; 93116f7cc4SDouglas Anderson 94116f7cc4SDouglas Anderson post-power-on-delay-ms = <500>; 95116f7cc4SDouglas Anderson hid-descr-addr = <0x0000>; 96116f7cc4SDouglas Anderson 97116f7cc4SDouglas Anderson vdd-supply = <&ts_avdd>; 98116f7cc4SDouglas Anderson }; 99116f7cc4SDouglas Anderson}; 100116f7cc4SDouglas Anderson 101366a0a19SDouglas Anderson&mdss_edp { 102366a0a19SDouglas Anderson status = "okay"; 103366a0a19SDouglas Anderson}; 104366a0a19SDouglas Anderson 105366a0a19SDouglas Anderson&mdss_edp_phy { 106366a0a19SDouglas Anderson status = "okay"; 107366a0a19SDouglas Anderson}; 108366a0a19SDouglas Anderson 109116f7cc4SDouglas Anderson/* For nvme */ 110116f7cc4SDouglas Anderson&pcie1 { 111116f7cc4SDouglas Anderson status = "okay"; 112116f7cc4SDouglas Anderson}; 113116f7cc4SDouglas Anderson 114116f7cc4SDouglas Anderson/* For nvme */ 115116f7cc4SDouglas Anderson&pcie1_phy { 116116f7cc4SDouglas Anderson status = "okay"; 117116f7cc4SDouglas Anderson}; 118116f7cc4SDouglas Anderson 119116f7cc4SDouglas Anderson/* For eMMC */ 120116f7cc4SDouglas Anderson&sdhc_1 { 121116f7cc4SDouglas Anderson status = "okay"; 122116f7cc4SDouglas Anderson}; 123116f7cc4SDouglas Anderson 124116f7cc4SDouglas Anderson/* For SD Card */ 125116f7cc4SDouglas Anderson&sdhc_2 { 126116f7cc4SDouglas Anderson status = "okay"; 127116f7cc4SDouglas Anderson}; 128116f7cc4SDouglas Anderson 129e5853953SDouglas Anderson/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */ 130e5853953SDouglas Anderson 131e5853953SDouglas Anderson/* 132e5853953SDouglas Anderson * This pin goes to the display panel but then doesn't actually do anything 133e5853953SDouglas Anderson * on the panel itself (it doesn't connect to the touchscreen controller). 134e5853953SDouglas Anderson * We'll set a pullup here just to park the line. 135e5853953SDouglas Anderson */ 136e5853953SDouglas Anderson&ts_rst_conn { 137e5853953SDouglas Anderson bias-pull-up; 138e5853953SDouglas Anderson}; 139e5853953SDouglas Anderson 140116f7cc4SDouglas Anderson/* PINCTRL - BOARD-SPECIFIC */ 141116f7cc4SDouglas Anderson 142116f7cc4SDouglas Anderson/* 143116f7cc4SDouglas Anderson * Methodology for gpio-line-names: 144116f7cc4SDouglas Anderson * - If a pin goes to herobrine board and is named it gets that name. 145116f7cc4SDouglas Anderson * - If a pin goes to herobrine board and is not named, it gets no name. 146116f7cc4SDouglas Anderson * - If a pin is totally internal to Qcard then it gets Qcard name. 147116f7cc4SDouglas Anderson * - If a pin is not hooked up on Qcard, it gets no name. 148116f7cc4SDouglas Anderson */ 149116f7cc4SDouglas Anderson 150116f7cc4SDouglas Anderson&pm8350c_gpios { 151116f7cc4SDouglas Anderson gpio-line-names = "FLASH_STROBE_1", /* 1 */ 152116f7cc4SDouglas Anderson "AP_SUSPEND", 153116f7cc4SDouglas Anderson "PM8008_1_RST_N", 154116f7cc4SDouglas Anderson "", 155116f7cc4SDouglas Anderson "", 156116f7cc4SDouglas Anderson "", 157116f7cc4SDouglas Anderson "PMIC_EDP_BL_EN", 158116f7cc4SDouglas Anderson "PMIC_EDP_BL_PWM", 159116f7cc4SDouglas Anderson ""; 160116f7cc4SDouglas Anderson}; 161116f7cc4SDouglas Anderson 162116f7cc4SDouglas Anderson&tlmm { 163116f7cc4SDouglas Anderson gpio-line-names = "AP_TP_I2C_SDA", /* 0 */ 164116f7cc4SDouglas Anderson "AP_TP_I2C_SCL", 165116f7cc4SDouglas Anderson "SSD_RST_L", 166116f7cc4SDouglas Anderson "PE_WAKE_ODL", 167116f7cc4SDouglas Anderson "AP_SAR_SDA", 168116f7cc4SDouglas Anderson "AP_SAR_SCL", 169116f7cc4SDouglas Anderson "PRB_SC_GPIO_6", 170116f7cc4SDouglas Anderson "TP_INT_ODL", 171116f7cc4SDouglas Anderson "HP_I2C_SDA", 172116f7cc4SDouglas Anderson "HP_I2C_SCL", 173116f7cc4SDouglas Anderson 174116f7cc4SDouglas Anderson "GNSS_L1_EN", /* 10 */ 175116f7cc4SDouglas Anderson "GNSS_L5_EN", 176116f7cc4SDouglas Anderson "SPI_AP_MOSI", 177116f7cc4SDouglas Anderson "SPI_AP_MISO", 178116f7cc4SDouglas Anderson "SPI_AP_CLK", 179116f7cc4SDouglas Anderson "SPI_AP_CS0_L", 180116f7cc4SDouglas Anderson /* 181116f7cc4SDouglas Anderson * AP_FLASH_WP is crossystem ABI. Schematics 182116f7cc4SDouglas Anderson * call it BIOS_FLASH_WP_OD. 183116f7cc4SDouglas Anderson */ 184116f7cc4SDouglas Anderson "AP_FLASH_WP", 185116f7cc4SDouglas Anderson "", 186116f7cc4SDouglas Anderson "AP_EC_INT_L", 187116f7cc4SDouglas Anderson "", 188116f7cc4SDouglas Anderson 189116f7cc4SDouglas Anderson "UF_CAM_RST_L", /* 20 */ 190116f7cc4SDouglas Anderson "WF_CAM_RST_L", 191116f7cc4SDouglas Anderson "UART_AP_TX_DBG_RX", 192116f7cc4SDouglas Anderson "UART_DBG_TX_AP_RX", 193116f7cc4SDouglas Anderson "", 194116f7cc4SDouglas Anderson "PM8008_IRQ_1", 195116f7cc4SDouglas Anderson "HOST2WLAN_SOL", 196116f7cc4SDouglas Anderson "WLAN2HOST_SOL", 197116f7cc4SDouglas Anderson "MOS_BT_UART_CTS", 198116f7cc4SDouglas Anderson "MOS_BT_UART_RFR", 199116f7cc4SDouglas Anderson 200116f7cc4SDouglas Anderson "MOS_BT_UART_TX", /* 30 */ 201116f7cc4SDouglas Anderson "MOS_BT_UART_RX", 202116f7cc4SDouglas Anderson "PRB_SC_GPIO_32", 203116f7cc4SDouglas Anderson "HUB_RST_L", 204116f7cc4SDouglas Anderson "", 205116f7cc4SDouglas Anderson "", 206116f7cc4SDouglas Anderson "AP_SPI_FP_MISO", 207116f7cc4SDouglas Anderson "AP_SPI_FP_MOSI", 208116f7cc4SDouglas Anderson "AP_SPI_FP_CLK", 209116f7cc4SDouglas Anderson "AP_SPI_FP_CS_L", 210116f7cc4SDouglas Anderson 211116f7cc4SDouglas Anderson "AP_EC_SPI_MISO", /* 40 */ 212116f7cc4SDouglas Anderson "AP_EC_SPI_MOSI", 213116f7cc4SDouglas Anderson "AP_EC_SPI_CLK", 214116f7cc4SDouglas Anderson "AP_EC_SPI_CS_L", 215116f7cc4SDouglas Anderson "LCM_RST_L", 216116f7cc4SDouglas Anderson "EARLY_EUD_N", 217116f7cc4SDouglas Anderson "", 218116f7cc4SDouglas Anderson "DP_HOT_PLUG_DET", 219116f7cc4SDouglas Anderson "IO_BRD_MLB_ID0", 220116f7cc4SDouglas Anderson "IO_BRD_MLB_ID1", 221116f7cc4SDouglas Anderson 222116f7cc4SDouglas Anderson "IO_BRD_MLB_ID2", /* 50 */ 223116f7cc4SDouglas Anderson "SSD_EN", 224116f7cc4SDouglas Anderson "TS_I2C_SDA_CONN", 225116f7cc4SDouglas Anderson "TS_I2C_CLK_CONN", 226116f7cc4SDouglas Anderson "TS_RST_CONN", 227116f7cc4SDouglas Anderson "TS_INT_CONN", 228116f7cc4SDouglas Anderson "AP_I2C_TPM_SDA", 229116f7cc4SDouglas Anderson "AP_I2C_TPM_SCL", 230116f7cc4SDouglas Anderson "PRB_SC_GPIO_58", 231116f7cc4SDouglas Anderson "PRB_SC_GPIO_59", 232116f7cc4SDouglas Anderson 233116f7cc4SDouglas Anderson "EDP_HOT_PLUG_DET_N", /* 60 */ 234116f7cc4SDouglas Anderson "FP_TO_AP_IRQ_L", 235116f7cc4SDouglas Anderson "", 236116f7cc4SDouglas Anderson "AMP_EN", 237116f7cc4SDouglas Anderson "CAM0_MCLK_GPIO_64", 238116f7cc4SDouglas Anderson "CAM1_MCLK_GPIO_65", 239116f7cc4SDouglas Anderson "WF_CAM_MCLK", 240116f7cc4SDouglas Anderson "PRB_SC_GPIO_67", 241116f7cc4SDouglas Anderson "FPMCU_BOOT0", 242116f7cc4SDouglas Anderson "UF_CAM_SDA", 243116f7cc4SDouglas Anderson 244116f7cc4SDouglas Anderson "UF_CAM_SCL", /* 70 */ 245116f7cc4SDouglas Anderson "", 246116f7cc4SDouglas Anderson "", 247116f7cc4SDouglas Anderson "WF_CAM_SDA", 248116f7cc4SDouglas Anderson "WF_CAM_SCL", 249116f7cc4SDouglas Anderson "", 250116f7cc4SDouglas Anderson "", 251116f7cc4SDouglas Anderson "EN_FP_RAILS", 252116f7cc4SDouglas Anderson "FP_RST_L", 253116f7cc4SDouglas Anderson "PCIE1_CLKREQ_ODL", 254116f7cc4SDouglas Anderson 255116f7cc4SDouglas Anderson "EN_PP3300_DX_EDP", /* 80 */ 256116f7cc4SDouglas Anderson "SC_GPIO_81", 257116f7cc4SDouglas Anderson "FORCED_USB_BOOT", 258116f7cc4SDouglas Anderson "WCD_RESET_N", 259116f7cc4SDouglas Anderson "MOS_WLAN_EN", 260116f7cc4SDouglas Anderson "MOS_BT_EN", 261116f7cc4SDouglas Anderson "MOS_SW_CTRL", 262116f7cc4SDouglas Anderson "MOS_PCIE0_RST", 263116f7cc4SDouglas Anderson "MOS_PCIE0_CLKREQ_N", 264116f7cc4SDouglas Anderson "MOS_PCIE0_WAKE_N", 265116f7cc4SDouglas Anderson 266116f7cc4SDouglas Anderson "MOS_LAA_AS_EN", /* 90 */ 267116f7cc4SDouglas Anderson "SD_CD_ODL", 268116f7cc4SDouglas Anderson "", 269116f7cc4SDouglas Anderson "", 270116f7cc4SDouglas Anderson "MOS_BT_WLAN_SLIMBUS_CLK", 271116f7cc4SDouglas Anderson "MOS_BT_WLAN_SLIMBUS_DAT0", 272116f7cc4SDouglas Anderson "HP_MCLK", 273116f7cc4SDouglas Anderson "HP_BCLK", 274116f7cc4SDouglas Anderson "HP_DOUT", 275116f7cc4SDouglas Anderson "HP_DIN", 276116f7cc4SDouglas Anderson 277116f7cc4SDouglas Anderson "HP_LRCLK", /* 100 */ 278116f7cc4SDouglas Anderson "HP_IRQ", 279116f7cc4SDouglas Anderson "", 280116f7cc4SDouglas Anderson "", 281116f7cc4SDouglas Anderson "GSC_AP_INT_ODL", 282116f7cc4SDouglas Anderson "EN_PP3300_CODEC", 283116f7cc4SDouglas Anderson "AMP_BCLK", 284116f7cc4SDouglas Anderson "AMP_DIN", 285116f7cc4SDouglas Anderson "AMP_LRCLK", 286116f7cc4SDouglas Anderson "UIM1_DATA_GPIO_109", 287116f7cc4SDouglas Anderson 288116f7cc4SDouglas Anderson "UIM1_CLK_GPIO_110", /* 110 */ 289116f7cc4SDouglas Anderson "UIM1_RESET_GPIO_111", 290116f7cc4SDouglas Anderson "PRB_SC_GPIO_112", 291116f7cc4SDouglas Anderson "UIM0_DATA", 292116f7cc4SDouglas Anderson "UIM0_CLK", 293116f7cc4SDouglas Anderson "UIM0_RST", 294116f7cc4SDouglas Anderson "UIM0_PRESENT_ODL", 295116f7cc4SDouglas Anderson "SDM_RFFE0_CLK", 296116f7cc4SDouglas Anderson "SDM_RFFE0_DATA", 297116f7cc4SDouglas Anderson "WF_CAM_EN", 298116f7cc4SDouglas Anderson 299116f7cc4SDouglas Anderson "FASTBOOT_SEL_0", /* 120 */ 300116f7cc4SDouglas Anderson "SC_GPIO_121", 301116f7cc4SDouglas Anderson "FASTBOOT_SEL_1", 302116f7cc4SDouglas Anderson "SC_GPIO_123", 303116f7cc4SDouglas Anderson "FASTBOOT_SEL_2", 304116f7cc4SDouglas Anderson "SM_RFFE4_CLK_GRFC_8", 305116f7cc4SDouglas Anderson "SM_RFFE4_DATA_GRFC_9", 306116f7cc4SDouglas Anderson "WLAN_COEX_UART1_RX", 307116f7cc4SDouglas Anderson "WLAN_COEX_UART1_TX", 308116f7cc4SDouglas Anderson "PRB_SC_GPIO_129", 309116f7cc4SDouglas Anderson 310116f7cc4SDouglas Anderson "LCM_ID0", /* 130 */ 311116f7cc4SDouglas Anderson "LCM_ID1", 312116f7cc4SDouglas Anderson "", 313116f7cc4SDouglas Anderson "SDR_QLINK_REQ", 314116f7cc4SDouglas Anderson "SDR_QLINK_EN", 315116f7cc4SDouglas Anderson "QLINK0_WMSS_RESET_N", 316116f7cc4SDouglas Anderson "SMR526_QLINK1_REQ", 317116f7cc4SDouglas Anderson "SMR526_QLINK1_EN", 318116f7cc4SDouglas Anderson "SMR526_QLINK1_WMSS_RESET_N", 319116f7cc4SDouglas Anderson "PRB_SC_GPIO_139", 320116f7cc4SDouglas Anderson 321116f7cc4SDouglas Anderson "SAR1_IRQ_ODL", /* 140 */ 322116f7cc4SDouglas Anderson "SAR0_IRQ_ODL", 323116f7cc4SDouglas Anderson "PRB_SC_GPIO_142", 324116f7cc4SDouglas Anderson "", 325116f7cc4SDouglas Anderson "WCD_SWR_TX_CLK", 326116f7cc4SDouglas Anderson "WCD_SWR_TX_DATA0", 327116f7cc4SDouglas Anderson "WCD_SWR_TX_DATA1", 328116f7cc4SDouglas Anderson "WCD_SWR_RX_CLK", 329116f7cc4SDouglas Anderson "WCD_SWR_RX_DATA0", 330116f7cc4SDouglas Anderson "WCD_SWR_RX_DATA1", 331116f7cc4SDouglas Anderson 332116f7cc4SDouglas Anderson "DMIC01_CLK", /* 150 */ 333116f7cc4SDouglas Anderson "DMIC01_DATA", 334116f7cc4SDouglas Anderson "DMIC23_CLK", 335116f7cc4SDouglas Anderson "DMIC23_DATA", 336116f7cc4SDouglas Anderson "", 337116f7cc4SDouglas Anderson "", 338116f7cc4SDouglas Anderson "EC_IN_RW_ODL", 339116f7cc4SDouglas Anderson "HUB_EN", 340116f7cc4SDouglas Anderson "WCD_SWR_TX_DATA2", 341116f7cc4SDouglas Anderson "", 342116f7cc4SDouglas Anderson 343116f7cc4SDouglas Anderson "", /* 160 */ 344116f7cc4SDouglas Anderson "", 345116f7cc4SDouglas Anderson "", 346116f7cc4SDouglas Anderson "", 347116f7cc4SDouglas Anderson "", 348116f7cc4SDouglas Anderson "", 349116f7cc4SDouglas Anderson "", 350116f7cc4SDouglas Anderson "", 351116f7cc4SDouglas Anderson "", 352116f7cc4SDouglas Anderson "", 353116f7cc4SDouglas Anderson 354116f7cc4SDouglas Anderson "", /* 170 */ 355116f7cc4SDouglas Anderson "MOS_BLE_UART_TX", 356116f7cc4SDouglas Anderson "MOS_BLE_UART_RX", 357116f7cc4SDouglas Anderson "", 358116f7cc4SDouglas Anderson ""; 359116f7cc4SDouglas Anderson}; 360