162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * sc7280 CRD 3+ 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-wcd9385.dtsi" 1262306a36Sopenharmony_ci#include "sc7280-herobrine-lte-sku.dtsi" 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/ { 1562306a36Sopenharmony_ci model = "Qualcomm Technologies, Inc. sc7280 CRD platform (rev5+)"; 1662306a36Sopenharmony_ci compatible = "google,zoglin", "google,hoglin", "qcom,sc7280"; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci /* FIXED REGULATORS */ 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci /* 2162306a36Sopenharmony_ci * On most herobrine boards PPVAR_SYS directly provides VREG_EDP_BL. 2262306a36Sopenharmony_ci * However, on CRD there's an extra regulator in the way. Since this 2362306a36Sopenharmony_ci * is expected to be uncommon, we'll leave the "vreg_edp_bl" label 2462306a36Sopenharmony_ci * in the baseboard herobrine.dtsi point at "ppvar_sys" and then 2562306a36Sopenharmony_ci * make a "_crd" specific version here. 2662306a36Sopenharmony_ci */ 2762306a36Sopenharmony_ci vreg_edp_bl_crd: vreg-edp-bl-crd-regulator { 2862306a36Sopenharmony_ci compatible = "regulator-fixed"; 2962306a36Sopenharmony_ci regulator-name = "vreg_edp_bl_crd"; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci gpio = <&pm8350c_gpios 6 GPIO_ACTIVE_HIGH>; 3262306a36Sopenharmony_ci enable-active-high; 3362306a36Sopenharmony_ci pinctrl-names = "default"; 3462306a36Sopenharmony_ci pinctrl-0 = <&edp_bl_reg_en>; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci vin-supply = <&ppvar_sys>; 3762306a36Sopenharmony_ci }; 3862306a36Sopenharmony_ci}; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci&apps_rsc { 4362306a36Sopenharmony_ci regulators-2 { 4462306a36Sopenharmony_ci compatible = "qcom,pmg1110-rpmh-regulators"; 4562306a36Sopenharmony_ci qcom,pmic-id = "k"; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci vreg_s1k_1p0: smps1 { 4862306a36Sopenharmony_ci regulator-min-microvolt = <1010000>; 4962306a36Sopenharmony_ci regulator-max-microvolt = <1170000>; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci }; 5262306a36Sopenharmony_ci}; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciap_tp_i2c: &i2c0 { 5562306a36Sopenharmony_ci status = "okay"; 5662306a36Sopenharmony_ci clock-frequency = <400000>; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci trackpad: trackpad@15 { 5962306a36Sopenharmony_ci compatible = "hid-over-i2c"; 6062306a36Sopenharmony_ci reg = <0x15>; 6162306a36Sopenharmony_ci pinctrl-names = "default"; 6262306a36Sopenharmony_ci pinctrl-0 = <&tp_int_odl>; 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 6562306a36Sopenharmony_ci interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci post-power-on-delay-ms = <20>; 6862306a36Sopenharmony_ci hid-descr-addr = <0x0001>; 6962306a36Sopenharmony_ci vdd-supply = <&pp3300_z1>; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci wakeup-source; 7262306a36Sopenharmony_ci }; 7362306a36Sopenharmony_ci}; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci&ap_sar_sensor_i2c { 7662306a36Sopenharmony_ci status = "okay"; 7762306a36Sopenharmony_ci}; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci&ap_sar_sensor0 { 8062306a36Sopenharmony_ci status = "okay"; 8162306a36Sopenharmony_ci}; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci&ap_sar_sensor1 { 8462306a36Sopenharmony_ci status = "okay"; 8562306a36Sopenharmony_ci}; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciap_ts_pen_1v8: &i2c13 { 8862306a36Sopenharmony_ci status = "okay"; 8962306a36Sopenharmony_ci clock-frequency = <400000>; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci ap_ts: touchscreen@5c { 9262306a36Sopenharmony_ci compatible = "hid-over-i2c"; 9362306a36Sopenharmony_ci reg = <0x5c>; 9462306a36Sopenharmony_ci pinctrl-names = "default"; 9562306a36Sopenharmony_ci pinctrl-0 = <&ts_int_conn>, <&ts_rst_conn>; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 9862306a36Sopenharmony_ci interrupts = <55 IRQ_TYPE_LEVEL_LOW>; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci post-power-on-delay-ms = <500>; 10162306a36Sopenharmony_ci hid-descr-addr = <0x0000>; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci vdd-supply = <&pp3300_left_in_mlb>; 10462306a36Sopenharmony_ci }; 10562306a36Sopenharmony_ci}; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci&mdss_edp { 10862306a36Sopenharmony_ci status = "okay"; 10962306a36Sopenharmony_ci}; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci&mdss_edp_phy { 11262306a36Sopenharmony_ci status = "okay"; 11362306a36Sopenharmony_ci}; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci/* For nvme */ 11662306a36Sopenharmony_ci&pcie1 { 11762306a36Sopenharmony_ci status = "okay"; 11862306a36Sopenharmony_ci}; 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci/* For nvme */ 12162306a36Sopenharmony_ci&pcie1_phy { 12262306a36Sopenharmony_ci status = "okay"; 12362306a36Sopenharmony_ci}; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci&pm8350c_pwm_backlight { 12662306a36Sopenharmony_ci power-supply = <&vreg_edp_bl_crd>; 12762306a36Sopenharmony_ci}; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci/* For eMMC */ 13062306a36Sopenharmony_ci&sdhc_1 { 13162306a36Sopenharmony_ci status = "okay"; 13262306a36Sopenharmony_ci}; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci/* For SD Card */ 13562306a36Sopenharmony_ci&sdhc_2 { 13662306a36Sopenharmony_ci status = "okay"; 13762306a36Sopenharmony_ci}; 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */ 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci/* 14262306a36Sopenharmony_ci * This pin goes to the display panel but then doesn't actually do anything 14362306a36Sopenharmony_ci * on the panel itself (it doesn't connect to the touchscreen controller). 14462306a36Sopenharmony_ci * We'll set a pullup here just to park the line. 14562306a36Sopenharmony_ci */ 14662306a36Sopenharmony_ci&ts_rst_conn { 14762306a36Sopenharmony_ci bias-pull-up; 14862306a36Sopenharmony_ci}; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci/* PINCTRL - BOARD-SPECIFIC */ 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci/* 15362306a36Sopenharmony_ci * Methodology for gpio-line-names: 15462306a36Sopenharmony_ci * - If a pin goes to CRD board and is named it gets that name. 15562306a36Sopenharmony_ci * - If a pin goes to CRD board and is not named, it gets no name. 15662306a36Sopenharmony_ci * - If a pin is totally internal to Qcard then it gets Qcard name. 15762306a36Sopenharmony_ci * - If a pin is not hooked up on Qcard, it gets no name. 15862306a36Sopenharmony_ci */ 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci&pm8350c_gpios { 16162306a36Sopenharmony_ci gpio-line-names = "FLASH_STROBE_1", /* 1 */ 16262306a36Sopenharmony_ci "AP_SUSPEND", 16362306a36Sopenharmony_ci "PM8008_1_RST_N", 16462306a36Sopenharmony_ci "", 16562306a36Sopenharmony_ci "", 16662306a36Sopenharmony_ci "EDP_BL_REG_EN", 16762306a36Sopenharmony_ci "PMIC_EDP_BL_EN", 16862306a36Sopenharmony_ci "PMIC_EDP_BL_PWM", 16962306a36Sopenharmony_ci ""; 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci edp_bl_reg_en: edp-bl-reg-en-state { 17262306a36Sopenharmony_ci pins = "gpio6"; 17362306a36Sopenharmony_ci function = "normal"; 17462306a36Sopenharmony_ci bias-disable; 17562306a36Sopenharmony_ci qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci}; 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci&tlmm { 18062306a36Sopenharmony_ci gpio-line-names = "AP_TP_I2C_SDA", /* 0 */ 18162306a36Sopenharmony_ci "AP_TP_I2C_SCL", 18262306a36Sopenharmony_ci "PCIE1_RESET_N", 18362306a36Sopenharmony_ci "PCIE1_WAKE_N", 18462306a36Sopenharmony_ci "APPS_I2C_SDA", 18562306a36Sopenharmony_ci "APPS_I2C_SCL", 18662306a36Sopenharmony_ci "", 18762306a36Sopenharmony_ci "TPAD_INT_N", 18862306a36Sopenharmony_ci "", 18962306a36Sopenharmony_ci "", 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci "GNSS_L1_EN", /* 10 */ 19262306a36Sopenharmony_ci "GNSS_L5_EN", 19362306a36Sopenharmony_ci "QSPI_DATA_0", 19462306a36Sopenharmony_ci "QSPI_DATA_1", 19562306a36Sopenharmony_ci "QSPI_CLK", 19662306a36Sopenharmony_ci "QSPI_CS_N_1", 19762306a36Sopenharmony_ci /* 19862306a36Sopenharmony_ci * AP_FLASH_WP is crossystem ABI. Schematics call it 19962306a36Sopenharmony_ci * BIOS_FLASH_WP_L (the '_L' suffix is misleading, the 20062306a36Sopenharmony_ci * signal is active high). 20162306a36Sopenharmony_ci */ 20262306a36Sopenharmony_ci "AP_FLASH_WP", 20362306a36Sopenharmony_ci "", 20462306a36Sopenharmony_ci "AP_EC_INT_N", 20562306a36Sopenharmony_ci "", 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci "CAM0_RST_N", /* 20 */ 20862306a36Sopenharmony_ci "CAM1_RST_N", 20962306a36Sopenharmony_ci "SM_DBG_UART_TX", 21062306a36Sopenharmony_ci "SM_DBG_UART_RX", 21162306a36Sopenharmony_ci "", 21262306a36Sopenharmony_ci "PM8008_IRQ_1", 21362306a36Sopenharmony_ci "HOST2WLAN_SOL", 21462306a36Sopenharmony_ci "WLAN2HOST_SOL", 21562306a36Sopenharmony_ci "MOS_BT_UART_CTS", 21662306a36Sopenharmony_ci "MOS_BT_UART_RFR", 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci "MOS_BT_UART_TX", /* 30 */ 21962306a36Sopenharmony_ci "MOS_BT_UART_RX", 22062306a36Sopenharmony_ci "", 22162306a36Sopenharmony_ci "HUB_RST", 22262306a36Sopenharmony_ci "", 22362306a36Sopenharmony_ci "", 22462306a36Sopenharmony_ci "", 22562306a36Sopenharmony_ci "", 22662306a36Sopenharmony_ci "", 22762306a36Sopenharmony_ci "", 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci "EC_SPI_MISO_GPIO40", /* 40 */ 23062306a36Sopenharmony_ci "EC_SPI_MOSI_GPIO41", 23162306a36Sopenharmony_ci "EC_SPI_CLK_GPIO42", 23262306a36Sopenharmony_ci "EC_SPI_CS_GPIO43", 23362306a36Sopenharmony_ci "", 23462306a36Sopenharmony_ci "EARLY_EUD_EN", 23562306a36Sopenharmony_ci "", 23662306a36Sopenharmony_ci "DP_HOT_PLUG_DETECT", 23762306a36Sopenharmony_ci "AP_BRD_ID_0", 23862306a36Sopenharmony_ci "AP_BRD_ID_1", 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci "AP_BRD_ID_2", /* 50 */ 24162306a36Sopenharmony_ci "NVME_PWR_REG_EN", 24262306a36Sopenharmony_ci "TS_I2C_SDA_CONN", 24362306a36Sopenharmony_ci "TS_I2C_CLK_CONN", 24462306a36Sopenharmony_ci "TS_RST_CONN", 24562306a36Sopenharmony_ci "TS_INT_CONN", 24662306a36Sopenharmony_ci "AP_I2C_TPM_SDA", 24762306a36Sopenharmony_ci "AP_I2C_TPM_SCL", 24862306a36Sopenharmony_ci "", 24962306a36Sopenharmony_ci "", 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci "EDP_HOT_PLUG_DET_N", /* 60 */ 25262306a36Sopenharmony_ci "", 25362306a36Sopenharmony_ci "", 25462306a36Sopenharmony_ci "AMP_EN", 25562306a36Sopenharmony_ci "CAM0_MCLK_GPIO_64", 25662306a36Sopenharmony_ci "CAM1_MCLK_GPIO_65", 25762306a36Sopenharmony_ci "", 25862306a36Sopenharmony_ci "", 25962306a36Sopenharmony_ci "", 26062306a36Sopenharmony_ci "CCI_I2C_SDA0", 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ci "CCI_I2C_SCL0", /* 70 */ 26362306a36Sopenharmony_ci "", 26462306a36Sopenharmony_ci "", 26562306a36Sopenharmony_ci "", 26662306a36Sopenharmony_ci "", 26762306a36Sopenharmony_ci "", 26862306a36Sopenharmony_ci "", 26962306a36Sopenharmony_ci "", 27062306a36Sopenharmony_ci "", 27162306a36Sopenharmony_ci "PCIE1_CLK_REQ_N", 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci "EN_PP3300_DX_EDP", /* 80 */ 27462306a36Sopenharmony_ci "US_EURO_HS_SEL", 27562306a36Sopenharmony_ci "FORCED_USB_BOOT", 27662306a36Sopenharmony_ci "WCD_RESET_N", 27762306a36Sopenharmony_ci "MOS_WLAN_EN", 27862306a36Sopenharmony_ci "MOS_BT_EN", 27962306a36Sopenharmony_ci "MOS_SW_CTRL", 28062306a36Sopenharmony_ci "MOS_PCIE0_RST", 28162306a36Sopenharmony_ci "MOS_PCIE0_CLKREQ_N", 28262306a36Sopenharmony_ci "MOS_PCIE0_WAKE_N", 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci "MOS_LAA_AS_EN", /* 90 */ 28562306a36Sopenharmony_ci "SD_CARD_DET_CONN", 28662306a36Sopenharmony_ci "", 28762306a36Sopenharmony_ci "", 28862306a36Sopenharmony_ci "MOS_BT_WLAN_SLIMBUS_CLK", 28962306a36Sopenharmony_ci "MOS_BT_WLAN_SLIMBUS_DAT0", 29062306a36Sopenharmony_ci "", 29162306a36Sopenharmony_ci "", 29262306a36Sopenharmony_ci "", 29362306a36Sopenharmony_ci "", 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ci "", /* 100 */ 29662306a36Sopenharmony_ci "", 29762306a36Sopenharmony_ci "", 29862306a36Sopenharmony_ci "", 29962306a36Sopenharmony_ci "H1_AP_INT_N", 30062306a36Sopenharmony_ci "", 30162306a36Sopenharmony_ci "AMP_BCLK", 30262306a36Sopenharmony_ci "AMP_DIN", 30362306a36Sopenharmony_ci "AMP_LRCLK", 30462306a36Sopenharmony_ci "UIM1_DATA_GPIO_109", 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ci "UIM1_CLK_GPIO_110", /* 110 */ 30762306a36Sopenharmony_ci "UIM1_RESET_GPIO_111", 30862306a36Sopenharmony_ci "", 30962306a36Sopenharmony_ci "UIM1_DATA", 31062306a36Sopenharmony_ci "UIM1_CLK", 31162306a36Sopenharmony_ci "UIM1_RESET", 31262306a36Sopenharmony_ci "UIM1_PRESENT", 31362306a36Sopenharmony_ci "SDM_RFFE0_CLK", 31462306a36Sopenharmony_ci "SDM_RFFE0_DATA", 31562306a36Sopenharmony_ci "", 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci "SDM_RFFE1_DATA", /* 120 */ 31862306a36Sopenharmony_ci "SC_GPIO_121", 31962306a36Sopenharmony_ci "FASTBOOT_SEL_1", 32062306a36Sopenharmony_ci "SC_GPIO_123", 32162306a36Sopenharmony_ci "FASTBOOT_SEL_2", 32262306a36Sopenharmony_ci "SM_RFFE4_CLK_GRFC_8", 32362306a36Sopenharmony_ci "SM_RFFE4_DATA_GRFC_9", 32462306a36Sopenharmony_ci "WLAN_COEX_UART1_RX", 32562306a36Sopenharmony_ci "WLAN_COEX_UART1_TX", 32662306a36Sopenharmony_ci "", 32762306a36Sopenharmony_ci 32862306a36Sopenharmony_ci "", /* 130 */ 32962306a36Sopenharmony_ci "", 33062306a36Sopenharmony_ci "", 33162306a36Sopenharmony_ci "SDR_QLINK_REQ", 33262306a36Sopenharmony_ci "SDR_QLINK_EN", 33362306a36Sopenharmony_ci "QLINK0_WMSS_RESET_N", 33462306a36Sopenharmony_ci "SMR526_QLINK1_REQ", 33562306a36Sopenharmony_ci "SMR526_QLINK1_EN", 33662306a36Sopenharmony_ci "SMR526_QLINK1_WMSS_RESET_N", 33762306a36Sopenharmony_ci "", 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ci "SAR1_INT_N", /* 140 */ 34062306a36Sopenharmony_ci "SAR0_INT_N", 34162306a36Sopenharmony_ci "", 34262306a36Sopenharmony_ci "", 34362306a36Sopenharmony_ci "WCD_SWR_TX_CLK", 34462306a36Sopenharmony_ci "WCD_SWR_TX_DATA0", 34562306a36Sopenharmony_ci "WCD_SWR_TX_DATA1", 34662306a36Sopenharmony_ci "WCD_SWR_RX_CLK", 34762306a36Sopenharmony_ci "WCD_SWR_RX_DATA0", 34862306a36Sopenharmony_ci "WCD_SWR_RX_DATA1", 34962306a36Sopenharmony_ci 35062306a36Sopenharmony_ci "DMIC01_CLK", /* 150 */ 35162306a36Sopenharmony_ci "DMIC01_DATA", 35262306a36Sopenharmony_ci "DMIC23_CLK", 35362306a36Sopenharmony_ci "DMIC23_DATA", 35462306a36Sopenharmony_ci "", 35562306a36Sopenharmony_ci "", 35662306a36Sopenharmony_ci "EC_IN_RW_N", 35762306a36Sopenharmony_ci "EN_PP3300_HUB", 35862306a36Sopenharmony_ci "WCD_SWR_TX_DATA2", 35962306a36Sopenharmony_ci "", 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ci "", /* 160 */ 36262306a36Sopenharmony_ci "", 36362306a36Sopenharmony_ci "", 36462306a36Sopenharmony_ci "", 36562306a36Sopenharmony_ci "", 36662306a36Sopenharmony_ci "", 36762306a36Sopenharmony_ci "", 36862306a36Sopenharmony_ci "", 36962306a36Sopenharmony_ci "", 37062306a36Sopenharmony_ci "", 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_ci "", /* 170 */ 37362306a36Sopenharmony_ci "MOS_BLE_UART_TX", 37462306a36Sopenharmony_ci "MOS_BLE_UART_RX", 37562306a36Sopenharmony_ci "", 37662306a36Sopenharmony_ci ""; 37762306a36Sopenharmony_ci}; 378