162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Google Herobrine board device tree source 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright 2022 Google LLC. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/dts-v1/; 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#include "sc7280-herobrine.dtsi" 1162306a36Sopenharmony_ci#include "sc7280-herobrine-audio-rt5682.dtsi" 1262306a36Sopenharmony_ci#include "sc7280-herobrine-lte-sku.dtsi" 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/ { 1562306a36Sopenharmony_ci model = "Google Herobrine (rev1+)"; 1662306a36Sopenharmony_ci compatible = "google,herobrine", "qcom,sc7280"; 1762306a36Sopenharmony_ci}; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci/* 2062306a36Sopenharmony_ci * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES 2162306a36Sopenharmony_ci * 2262306a36Sopenharmony_ci * Sort order matches the order in the parent files (parents before children). 2362306a36Sopenharmony_ci */ 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci&pp3300_codec { 2662306a36Sopenharmony_ci status = "okay"; 2762306a36Sopenharmony_ci}; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci&pp3300_fp_mcu { 3062306a36Sopenharmony_ci status = "okay"; 3162306a36Sopenharmony_ci}; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci&pp2850_vcm_wf_cam { 3462306a36Sopenharmony_ci status = "okay"; 3562306a36Sopenharmony_ci}; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci&pp2850_wf_cam { 3862306a36Sopenharmony_ci status = "okay"; 3962306a36Sopenharmony_ci}; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci&pp1800_wf_cam { 4262306a36Sopenharmony_ci status = "okay"; 4362306a36Sopenharmony_ci}; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci&pp1200_wf_cam { 4662306a36Sopenharmony_ci status = "okay"; 4762306a36Sopenharmony_ci}; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci/* 5262306a36Sopenharmony_ci * Although the trackpad is really part of the herobrine baseboard, we'll 5362306a36Sopenharmony_ci * put the actual definition in the board device tree since different boards 5462306a36Sopenharmony_ci * might hook up different trackpads (or no i2c trackpad at all in the case 5562306a36Sopenharmony_ci * of tablets / detachables). 5662306a36Sopenharmony_ci */ 5762306a36Sopenharmony_ciap_tp_i2c: &i2c0 { 5862306a36Sopenharmony_ci status = "okay"; 5962306a36Sopenharmony_ci clock-frequency = <400000>; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci trackpad: trackpad@15 { 6262306a36Sopenharmony_ci compatible = "elan,ekth3000"; 6362306a36Sopenharmony_ci reg = <0x15>; 6462306a36Sopenharmony_ci pinctrl-names = "default"; 6562306a36Sopenharmony_ci pinctrl-0 = <&tp_int_odl>; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 6862306a36Sopenharmony_ci interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci vcc-supply = <&pp3300_z1>; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci wakeup-source; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci}; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci/* 7762306a36Sopenharmony_ci * The touchscreen connector might come off the Qcard, at least in the case of 7862306a36Sopenharmony_ci * eDP. Like the trackpad, we'll put it in the board device tree file since 7962306a36Sopenharmony_ci * different boards have different touchscreens. 8062306a36Sopenharmony_ci */ 8162306a36Sopenharmony_cits_i2c: &i2c13 { 8262306a36Sopenharmony_ci status = "okay"; 8362306a36Sopenharmony_ci clock-frequency = <400000>; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci ap_ts: touchscreen@5c { 8662306a36Sopenharmony_ci compatible = "hid-over-i2c"; 8762306a36Sopenharmony_ci reg = <0x5c>; 8862306a36Sopenharmony_ci pinctrl-names = "default"; 8962306a36Sopenharmony_ci pinctrl-0 = <&ts_int_conn>, <&ts_rst_conn>; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 9262306a36Sopenharmony_ci interrupts = <55 IRQ_TYPE_LEVEL_LOW>; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci post-power-on-delay-ms = <500>; 9562306a36Sopenharmony_ci hid-descr-addr = <0x0000>; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci vdd-supply = <&ts_avdd>; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci}; 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci&mdss_edp { 10262306a36Sopenharmony_ci status = "okay"; 10362306a36Sopenharmony_ci}; 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci&mdss_edp_phy { 10662306a36Sopenharmony_ci status = "okay"; 10762306a36Sopenharmony_ci}; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci/* For nvme */ 11062306a36Sopenharmony_ci&pcie1 { 11162306a36Sopenharmony_ci status = "okay"; 11262306a36Sopenharmony_ci}; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci/* For nvme */ 11562306a36Sopenharmony_ci&pcie1_phy { 11662306a36Sopenharmony_ci status = "okay"; 11762306a36Sopenharmony_ci}; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci/* For eMMC */ 12062306a36Sopenharmony_ci&sdhc_1 { 12162306a36Sopenharmony_ci status = "okay"; 12262306a36Sopenharmony_ci}; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci/* For SD Card */ 12562306a36Sopenharmony_ci&sdhc_2 { 12662306a36Sopenharmony_ci status = "okay"; 12762306a36Sopenharmony_ci}; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */ 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci/* 13262306a36Sopenharmony_ci * This pin goes to the display panel but then doesn't actually do anything 13362306a36Sopenharmony_ci * on the panel itself (it doesn't connect to the touchscreen controller). 13462306a36Sopenharmony_ci * We'll set a pullup here just to park the line. 13562306a36Sopenharmony_ci */ 13662306a36Sopenharmony_ci&ts_rst_conn { 13762306a36Sopenharmony_ci bias-pull-up; 13862306a36Sopenharmony_ci}; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci/* PINCTRL - BOARD-SPECIFIC */ 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci/* 14362306a36Sopenharmony_ci * Methodology for gpio-line-names: 14462306a36Sopenharmony_ci * - If a pin goes to herobrine board and is named it gets that name. 14562306a36Sopenharmony_ci * - If a pin goes to herobrine board and is not named, it gets no name. 14662306a36Sopenharmony_ci * - If a pin is totally internal to Qcard then it gets Qcard name. 14762306a36Sopenharmony_ci * - If a pin is not hooked up on Qcard, it gets no name. 14862306a36Sopenharmony_ci */ 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci&pm8350c_gpios { 15162306a36Sopenharmony_ci gpio-line-names = "FLASH_STROBE_1", /* 1 */ 15262306a36Sopenharmony_ci "AP_SUSPEND", 15362306a36Sopenharmony_ci "PM8008_1_RST_N", 15462306a36Sopenharmony_ci "", 15562306a36Sopenharmony_ci "", 15662306a36Sopenharmony_ci "", 15762306a36Sopenharmony_ci "PMIC_EDP_BL_EN", 15862306a36Sopenharmony_ci "PMIC_EDP_BL_PWM", 15962306a36Sopenharmony_ci ""; 16062306a36Sopenharmony_ci}; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci&tlmm { 16362306a36Sopenharmony_ci gpio-line-names = "AP_TP_I2C_SDA", /* 0 */ 16462306a36Sopenharmony_ci "AP_TP_I2C_SCL", 16562306a36Sopenharmony_ci "SSD_RST_L", 16662306a36Sopenharmony_ci "PE_WAKE_ODL", 16762306a36Sopenharmony_ci "AP_SAR_SDA", 16862306a36Sopenharmony_ci "AP_SAR_SCL", 16962306a36Sopenharmony_ci "PRB_SC_GPIO_6", 17062306a36Sopenharmony_ci "TP_INT_ODL", 17162306a36Sopenharmony_ci "HP_I2C_SDA", 17262306a36Sopenharmony_ci "HP_I2C_SCL", 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci "GNSS_L1_EN", /* 10 */ 17562306a36Sopenharmony_ci "GNSS_L5_EN", 17662306a36Sopenharmony_ci "SPI_AP_MOSI", 17762306a36Sopenharmony_ci "SPI_AP_MISO", 17862306a36Sopenharmony_ci "SPI_AP_CLK", 17962306a36Sopenharmony_ci "SPI_AP_CS0_L", 18062306a36Sopenharmony_ci /* 18162306a36Sopenharmony_ci * AP_FLASH_WP is crossystem ABI. Schematics 18262306a36Sopenharmony_ci * call it BIOS_FLASH_WP_OD. 18362306a36Sopenharmony_ci */ 18462306a36Sopenharmony_ci "AP_FLASH_WP", 18562306a36Sopenharmony_ci "", 18662306a36Sopenharmony_ci "AP_EC_INT_L", 18762306a36Sopenharmony_ci "", 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci "UF_CAM_RST_L", /* 20 */ 19062306a36Sopenharmony_ci "WF_CAM_RST_L", 19162306a36Sopenharmony_ci "UART_AP_TX_DBG_RX", 19262306a36Sopenharmony_ci "UART_DBG_TX_AP_RX", 19362306a36Sopenharmony_ci "", 19462306a36Sopenharmony_ci "PM8008_IRQ_1", 19562306a36Sopenharmony_ci "HOST2WLAN_SOL", 19662306a36Sopenharmony_ci "WLAN2HOST_SOL", 19762306a36Sopenharmony_ci "MOS_BT_UART_CTS", 19862306a36Sopenharmony_ci "MOS_BT_UART_RFR", 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci "MOS_BT_UART_TX", /* 30 */ 20162306a36Sopenharmony_ci "MOS_BT_UART_RX", 20262306a36Sopenharmony_ci "PRB_SC_GPIO_32", 20362306a36Sopenharmony_ci "HUB_RST_L", 20462306a36Sopenharmony_ci "", 20562306a36Sopenharmony_ci "", 20662306a36Sopenharmony_ci "AP_SPI_FP_MISO", 20762306a36Sopenharmony_ci "AP_SPI_FP_MOSI", 20862306a36Sopenharmony_ci "AP_SPI_FP_CLK", 20962306a36Sopenharmony_ci "AP_SPI_FP_CS_L", 21062306a36Sopenharmony_ci 21162306a36Sopenharmony_ci "AP_EC_SPI_MISO", /* 40 */ 21262306a36Sopenharmony_ci "AP_EC_SPI_MOSI", 21362306a36Sopenharmony_ci "AP_EC_SPI_CLK", 21462306a36Sopenharmony_ci "AP_EC_SPI_CS_L", 21562306a36Sopenharmony_ci "LCM_RST_L", 21662306a36Sopenharmony_ci "EARLY_EUD_N", 21762306a36Sopenharmony_ci "", 21862306a36Sopenharmony_ci "DP_HOT_PLUG_DET", 21962306a36Sopenharmony_ci "IO_BRD_MLB_ID0", 22062306a36Sopenharmony_ci "IO_BRD_MLB_ID1", 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ci "IO_BRD_MLB_ID2", /* 50 */ 22362306a36Sopenharmony_ci "SSD_EN", 22462306a36Sopenharmony_ci "TS_I2C_SDA_CONN", 22562306a36Sopenharmony_ci "TS_I2C_CLK_CONN", 22662306a36Sopenharmony_ci "TS_RST_CONN", 22762306a36Sopenharmony_ci "TS_INT_CONN", 22862306a36Sopenharmony_ci "AP_I2C_TPM_SDA", 22962306a36Sopenharmony_ci "AP_I2C_TPM_SCL", 23062306a36Sopenharmony_ci "PRB_SC_GPIO_58", 23162306a36Sopenharmony_ci "PRB_SC_GPIO_59", 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci "EDP_HOT_PLUG_DET_N", /* 60 */ 23462306a36Sopenharmony_ci "FP_TO_AP_IRQ_L", 23562306a36Sopenharmony_ci "", 23662306a36Sopenharmony_ci "AMP_EN", 23762306a36Sopenharmony_ci "CAM0_MCLK_GPIO_64", 23862306a36Sopenharmony_ci "CAM1_MCLK_GPIO_65", 23962306a36Sopenharmony_ci "WF_CAM_MCLK", 24062306a36Sopenharmony_ci "PRB_SC_GPIO_67", 24162306a36Sopenharmony_ci "FPMCU_BOOT0", 24262306a36Sopenharmony_ci "UF_CAM_SDA", 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci "UF_CAM_SCL", /* 70 */ 24562306a36Sopenharmony_ci "", 24662306a36Sopenharmony_ci "", 24762306a36Sopenharmony_ci "WF_CAM_SDA", 24862306a36Sopenharmony_ci "WF_CAM_SCL", 24962306a36Sopenharmony_ci "", 25062306a36Sopenharmony_ci "", 25162306a36Sopenharmony_ci "EN_FP_RAILS", 25262306a36Sopenharmony_ci "FP_RST_L", 25362306a36Sopenharmony_ci "PCIE1_CLKREQ_ODL", 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci "EN_PP3300_DX_EDP", /* 80 */ 25662306a36Sopenharmony_ci "SC_GPIO_81", 25762306a36Sopenharmony_ci "FORCED_USB_BOOT", 25862306a36Sopenharmony_ci "WCD_RESET_N", 25962306a36Sopenharmony_ci "MOS_WLAN_EN", 26062306a36Sopenharmony_ci "MOS_BT_EN", 26162306a36Sopenharmony_ci "MOS_SW_CTRL", 26262306a36Sopenharmony_ci "MOS_PCIE0_RST", 26362306a36Sopenharmony_ci "MOS_PCIE0_CLKREQ_N", 26462306a36Sopenharmony_ci "MOS_PCIE0_WAKE_N", 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci "MOS_LAA_AS_EN", /* 90 */ 26762306a36Sopenharmony_ci "SD_CD_ODL", 26862306a36Sopenharmony_ci "", 26962306a36Sopenharmony_ci "", 27062306a36Sopenharmony_ci "MOS_BT_WLAN_SLIMBUS_CLK", 27162306a36Sopenharmony_ci "MOS_BT_WLAN_SLIMBUS_DAT0", 27262306a36Sopenharmony_ci "HP_MCLK", 27362306a36Sopenharmony_ci "HP_BCLK", 27462306a36Sopenharmony_ci "HP_DOUT", 27562306a36Sopenharmony_ci "HP_DIN", 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci "HP_LRCLK", /* 100 */ 27862306a36Sopenharmony_ci "HP_IRQ", 27962306a36Sopenharmony_ci "", 28062306a36Sopenharmony_ci "", 28162306a36Sopenharmony_ci "GSC_AP_INT_ODL", 28262306a36Sopenharmony_ci "EN_PP3300_CODEC", 28362306a36Sopenharmony_ci "AMP_BCLK", 28462306a36Sopenharmony_ci "AMP_DIN", 28562306a36Sopenharmony_ci "AMP_LRCLK", 28662306a36Sopenharmony_ci "UIM1_DATA_GPIO_109", 28762306a36Sopenharmony_ci 28862306a36Sopenharmony_ci "UIM1_CLK_GPIO_110", /* 110 */ 28962306a36Sopenharmony_ci "UIM1_RESET_GPIO_111", 29062306a36Sopenharmony_ci "PRB_SC_GPIO_112", 29162306a36Sopenharmony_ci "UIM0_DATA", 29262306a36Sopenharmony_ci "UIM0_CLK", 29362306a36Sopenharmony_ci "UIM0_RST", 29462306a36Sopenharmony_ci "UIM0_PRESENT_ODL", 29562306a36Sopenharmony_ci "SDM_RFFE0_CLK", 29662306a36Sopenharmony_ci "SDM_RFFE0_DATA", 29762306a36Sopenharmony_ci "WF_CAM_EN", 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci "FASTBOOT_SEL_0", /* 120 */ 30062306a36Sopenharmony_ci "SC_GPIO_121", 30162306a36Sopenharmony_ci "FASTBOOT_SEL_1", 30262306a36Sopenharmony_ci "SC_GPIO_123", 30362306a36Sopenharmony_ci "FASTBOOT_SEL_2", 30462306a36Sopenharmony_ci "SM_RFFE4_CLK_GRFC_8", 30562306a36Sopenharmony_ci "SM_RFFE4_DATA_GRFC_9", 30662306a36Sopenharmony_ci "WLAN_COEX_UART1_RX", 30762306a36Sopenharmony_ci "WLAN_COEX_UART1_TX", 30862306a36Sopenharmony_ci "PRB_SC_GPIO_129", 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci "LCM_ID0", /* 130 */ 31162306a36Sopenharmony_ci "LCM_ID1", 31262306a36Sopenharmony_ci "", 31362306a36Sopenharmony_ci "SDR_QLINK_REQ", 31462306a36Sopenharmony_ci "SDR_QLINK_EN", 31562306a36Sopenharmony_ci "QLINK0_WMSS_RESET_N", 31662306a36Sopenharmony_ci "SMR526_QLINK1_REQ", 31762306a36Sopenharmony_ci "SMR526_QLINK1_EN", 31862306a36Sopenharmony_ci "SMR526_QLINK1_WMSS_RESET_N", 31962306a36Sopenharmony_ci "PRB_SC_GPIO_139", 32062306a36Sopenharmony_ci 32162306a36Sopenharmony_ci "SAR1_IRQ_ODL", /* 140 */ 32262306a36Sopenharmony_ci "SAR0_IRQ_ODL", 32362306a36Sopenharmony_ci "PRB_SC_GPIO_142", 32462306a36Sopenharmony_ci "", 32562306a36Sopenharmony_ci "WCD_SWR_TX_CLK", 32662306a36Sopenharmony_ci "WCD_SWR_TX_DATA0", 32762306a36Sopenharmony_ci "WCD_SWR_TX_DATA1", 32862306a36Sopenharmony_ci "WCD_SWR_RX_CLK", 32962306a36Sopenharmony_ci "WCD_SWR_RX_DATA0", 33062306a36Sopenharmony_ci "WCD_SWR_RX_DATA1", 33162306a36Sopenharmony_ci 33262306a36Sopenharmony_ci "DMIC01_CLK", /* 150 */ 33362306a36Sopenharmony_ci "DMIC01_DATA", 33462306a36Sopenharmony_ci "DMIC23_CLK", 33562306a36Sopenharmony_ci "DMIC23_DATA", 33662306a36Sopenharmony_ci "", 33762306a36Sopenharmony_ci "", 33862306a36Sopenharmony_ci "EC_IN_RW_ODL", 33962306a36Sopenharmony_ci "HUB_EN", 34062306a36Sopenharmony_ci "WCD_SWR_TX_DATA2", 34162306a36Sopenharmony_ci "", 34262306a36Sopenharmony_ci 34362306a36Sopenharmony_ci "", /* 160 */ 34462306a36Sopenharmony_ci "", 34562306a36Sopenharmony_ci "", 34662306a36Sopenharmony_ci "", 34762306a36Sopenharmony_ci "", 34862306a36Sopenharmony_ci "", 34962306a36Sopenharmony_ci "", 35062306a36Sopenharmony_ci "", 35162306a36Sopenharmony_ci "", 35262306a36Sopenharmony_ci "", 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci "", /* 170 */ 35562306a36Sopenharmony_ci "MOS_BLE_UART_TX", 35662306a36Sopenharmony_ci "MOS_BLE_UART_RX", 35762306a36Sopenharmony_ci "", 35862306a36Sopenharmony_ci ""; 35962306a36Sopenharmony_ci}; 360