mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 06:39:05 +00:00

On older revisions of evoker, the touchscreen was either non-functional or needed special hardware magic to get it talking properly. It's been decided that the proper way going forward is to use L3C to power some buffers on the QCard and then configure the touchscreens for 1.8V. Let's do that. Note that this is safe to do even on older revs even if it might not make the touchscreen work there (because they didn't have a properly stuffed QCard). As talked about in the patch ("arm64: dts: qcom: sc7280: On QCard, regulator L3C should be 1.8V") the L3C regulator didn't go anywhere at all on older revs. This patch relies on the patch ("HID: i2c-hid: goodix: Add mainboard-vddio-supply") in order to function properly. Without that patch this one won't do any harm but it won't actually accomplish its goal. Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20230206184744.7.I2d960ed7f2445db0cf3d227fde985fbd740f3c4d@changeid
327 lines
5.8 KiB
Plaintext
327 lines
5.8 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Google Evoker board device tree source
|
|
*
|
|
* Copyright 2022 Google LLC.
|
|
*/
|
|
|
|
#include "sc7280-herobrine.dtsi"
|
|
#include "sc7280-herobrine-audio-rt5682-3mic.dtsi"
|
|
|
|
/*
|
|
* ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES
|
|
*
|
|
* Sort order matches the order in the parent files (parents before children).
|
|
*/
|
|
|
|
&pp3300_codec {
|
|
status = "okay";
|
|
};
|
|
|
|
/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
|
|
|
|
ap_tp_i2c: &i2c0 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
trackpad: trackpad@15 {
|
|
compatible = "elan,ekth3000";
|
|
reg = <0x15>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&tp_int_odl>;
|
|
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
|
|
|
|
vcc-supply = <&pp3300_z1>;
|
|
|
|
wakeup-source;
|
|
};
|
|
};
|
|
|
|
ts_i2c: &i2c13 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
ap_ts: touchscreen@5d {
|
|
compatible = "goodix,gt7986u", "goodix,gt7375p";
|
|
reg = <0x5d>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&ts_int_conn>, <&ts_rst_conn>;
|
|
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <55 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
reset-gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
|
|
|
|
vdd-supply = <&ts_avdd>;
|
|
mainboard-vddio-supply = <&ts_avccio>;
|
|
};
|
|
};
|
|
|
|
&ap_sar_sensor_i2c {
|
|
status = "okay";
|
|
};
|
|
|
|
&ap_sar_sensor0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&ap_sar_sensor1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mdss_edp {
|
|
status = "okay";
|
|
};
|
|
|
|
&mdss_edp_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
/* For nvme */
|
|
&pcie1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* For nvme */
|
|
&pcie1_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&pwmleds {
|
|
status = "okay";
|
|
};
|
|
|
|
/* For eMMC */
|
|
&sdhc_1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */
|
|
|
|
&ts_rst_conn {
|
|
bias-disable;
|
|
};
|
|
|
|
/* PINCTRL - BOARD-SPECIFIC */
|
|
|
|
/*
|
|
* Methodology for gpio-line-names:
|
|
* - If a pin goes to herobrine board and is named it gets that name.
|
|
* - If a pin goes to herobrine board and is not named, it gets no name.
|
|
* - If a pin is totally internal to Qcard then it gets Qcard name.
|
|
* - If a pin is not hooked up on Qcard, it gets no name.
|
|
*/
|
|
|
|
&pm8350c_gpios {
|
|
gpio-line-names = "FLASH_STROBE_1", /* 1 */
|
|
"AP_SUSPEND",
|
|
"PM8008_1_RST_N",
|
|
"",
|
|
"",
|
|
"",
|
|
"PMIC_EDP_BL_EN",
|
|
"PMIC_EDP_BL_PWM",
|
|
"";
|
|
};
|
|
|
|
&tlmm {
|
|
gpio-line-names = "AP_TP_I2C_SDA", /* 0 */
|
|
"AP_TP_I2C_SCL",
|
|
"SSD_RST_L",
|
|
"PE_WAKE_ODL",
|
|
"AP_SAR_SDA",
|
|
"AP_SAR_SCL",
|
|
"PRB_SC_GPIO_6",
|
|
"TP_INT_ODL",
|
|
"HP_I2C_SDA",
|
|
"HP_I2C_SCL",
|
|
|
|
"GNSS_L1_EN", /* 10 */
|
|
"GNSS_L5_EN",
|
|
"SPI_AP_MOSI",
|
|
"SPI_AP_MISO",
|
|
"SPI_AP_CLK",
|
|
"SPI_AP_CS0_L",
|
|
/*
|
|
* AP_FLASH_WP is crossystem ABI. Schematics
|
|
* call it BIOS_FLASH_WP_OD.
|
|
*/
|
|
"AP_FLASH_WP",
|
|
"",
|
|
"AP_EC_INT_L",
|
|
"",
|
|
|
|
"UF_CAM_RST_L", /* 20 */
|
|
"WF_CAM_RST_L",
|
|
"UART_AP_TX_DBG_RX",
|
|
"UART_DBG_TX_AP_RX",
|
|
"",
|
|
"PM8008_IRQ_1",
|
|
"HOST2WLAN_SOL",
|
|
"WLAN2HOST_SOL",
|
|
"MOS_BT_UART_CTS",
|
|
"MOS_BT_UART_RFR",
|
|
|
|
"MOS_BT_UART_TX", /* 30 */
|
|
"MOS_BT_UART_RX",
|
|
"PRB_SC_GPIO_32",
|
|
"HUB_RST_L",
|
|
"",
|
|
"",
|
|
"AP_SPI_FP_MISO",
|
|
"AP_SPI_FP_MOSI",
|
|
"AP_SPI_FP_CLK",
|
|
"AP_SPI_FP_CS_L",
|
|
|
|
"AP_EC_SPI_MISO", /* 40 */
|
|
"AP_EC_SPI_MOSI",
|
|
"AP_EC_SPI_CLK",
|
|
"AP_EC_SPI_CS_L",
|
|
"LCM_RST_L",
|
|
"EARLY_EUD_N",
|
|
"",
|
|
"DP_HOT_PLUG_DET",
|
|
"IO_BRD_MLB_ID0",
|
|
"IO_BRD_MLB_ID1",
|
|
|
|
"IO_BRD_MLB_ID2", /* 50 */
|
|
"SSD_EN",
|
|
"TS_I2C_SDA_CONN",
|
|
"TS_I2C_CLK_CONN",
|
|
"TS_RST_CONN",
|
|
"TS_INT_CONN",
|
|
"AP_I2C_TPM_SDA",
|
|
"AP_I2C_TPM_SCL",
|
|
"PRB_SC_GPIO_58",
|
|
"PRB_SC_GPIO_59",
|
|
|
|
"EDP_HOT_PLUG_DET_N", /* 60 */
|
|
"FP_TO_AP_IRQ_L",
|
|
"",
|
|
"AMP_EN",
|
|
"CAM0_MCLK_GPIO_64",
|
|
"CAM1_MCLK_GPIO_65",
|
|
"WF_CAM_MCLK",
|
|
"PRB_SC_GPIO_67",
|
|
"FPMCU_BOOT0",
|
|
"UF_CAM_SDA",
|
|
|
|
"UF_CAM_SCL", /* 70 */
|
|
"",
|
|
"",
|
|
"WF_CAM_SDA",
|
|
"WF_CAM_SCL",
|
|
"",
|
|
"",
|
|
"EN_FP_RAILS",
|
|
"FP_RST_L",
|
|
"PCIE1_CLKREQ_ODL",
|
|
|
|
"EN_PP3300_DX_EDP", /* 80 */
|
|
"SC_GPIO_81",
|
|
"FORCED_USB_BOOT",
|
|
"WCD_RESET_N",
|
|
"MOS_WLAN_EN",
|
|
"MOS_BT_EN",
|
|
"MOS_SW_CTRL",
|
|
"MOS_PCIE0_RST",
|
|
"MOS_PCIE0_CLKREQ_N",
|
|
"MOS_PCIE0_WAKE_N",
|
|
|
|
"MOS_LAA_AS_EN", /* 90 */
|
|
"SD_CD_ODL",
|
|
"",
|
|
"",
|
|
"MOS_BT_WLAN_SLIMBUS_CLK",
|
|
"MOS_BT_WLAN_SLIMBUS_DAT0",
|
|
"HP_MCLK",
|
|
"HP_BCLK",
|
|
"HP_DOUT",
|
|
"HP_DIN",
|
|
|
|
"HP_LRCLK", /* 100 */
|
|
"HP_IRQ",
|
|
"",
|
|
"",
|
|
"GSC_AP_INT_ODL",
|
|
"EN_PP3300_CODEC",
|
|
"AMP_BCLK",
|
|
"AMP_DIN",
|
|
"AMP_LRCLK",
|
|
"UIM1_DATA_GPIO_109",
|
|
|
|
"UIM1_CLK_GPIO_110", /* 110 */
|
|
"UIM1_RESET_GPIO_111",
|
|
"PRB_SC_GPIO_112",
|
|
"UIM0_DATA",
|
|
"UIM0_CLK",
|
|
"UIM0_RST",
|
|
"UIM0_PRESENT_ODL",
|
|
"SDM_RFFE0_CLK",
|
|
"SDM_RFFE0_DATA",
|
|
"WF_CAM_EN",
|
|
|
|
"FASTBOOT_SEL_0", /* 120 */
|
|
"SC_GPIO_121",
|
|
"FASTBOOT_SEL_1",
|
|
"SC_GPIO_123",
|
|
"FASTBOOT_SEL_2",
|
|
"SM_RFFE4_CLK_GRFC_8",
|
|
"SM_RFFE4_DATA_GRFC_9",
|
|
"WLAN_COEX_UART1_RX",
|
|
"WLAN_COEX_UART1_TX",
|
|
"PRB_SC_GPIO_129",
|
|
|
|
"LCM_ID0", /* 130 */
|
|
"LCM_ID1",
|
|
"",
|
|
"SDR_QLINK_REQ",
|
|
"SDR_QLINK_EN",
|
|
"QLINK0_WMSS_RESET_N",
|
|
"SMR526_QLINK1_REQ",
|
|
"SMR526_QLINK1_EN",
|
|
"SMR526_QLINK1_WMSS_RESET_N",
|
|
"PRB_SC_GPIO_139",
|
|
|
|
"SAR1_IRQ_ODL", /* 140 */
|
|
"SAR0_IRQ_ODL",
|
|
"PRB_SC_GPIO_142",
|
|
"",
|
|
"WCD_SWR_TX_CLK",
|
|
"WCD_SWR_TX_DATA0",
|
|
"WCD_SWR_TX_DATA1",
|
|
"WCD_SWR_RX_CLK",
|
|
"WCD_SWR_RX_DATA0",
|
|
"WCD_SWR_RX_DATA1",
|
|
|
|
"DMIC01_CLK", /* 150 */
|
|
"DMIC01_DATA",
|
|
"DMIC23_CLK",
|
|
"DMIC23_DATA",
|
|
"",
|
|
"",
|
|
"EC_IN_RW_ODL",
|
|
"HUB_EN",
|
|
"WCD_SWR_TX_DATA2",
|
|
"",
|
|
|
|
"", /* 160 */
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
|
|
"", /* 170 */
|
|
"MOS_BLE_UART_TX",
|
|
"MOS_BLE_UART_RX",
|
|
"",
|
|
"";
|
|
};
|