108260782SDouglas Anderson// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
208260782SDouglas Anderson/*
308260782SDouglas Anderson * Google Pompom board device tree source
408260782SDouglas Anderson *
508260782SDouglas Anderson * Copyright 2020 Google LLC.
608260782SDouglas Anderson */
708260782SDouglas Anderson
808260782SDouglas Anderson#include "sc7180.dtsi"
908260782SDouglas Anderson
1008260782SDouglas Andersonap_ec_spi: &spi6 {};
1108260782SDouglas Andersonap_h1_spi: &spi0 {};
1208260782SDouglas Anderson
1308260782SDouglas Anderson#include "sc7180-trogdor.dtsi"
1408260782SDouglas Anderson
1508260782SDouglas Anderson/ {
1608260782SDouglas Anderson	thermal-zones {
1708260782SDouglas Anderson		5v-choke-thermal {
1808260782SDouglas Anderson			polling-delay-passive = <0>;
1908260782SDouglas Anderson			polling-delay = <250>;
2008260782SDouglas Anderson
2108260782SDouglas Anderson			thermal-sensors = <&pm6150_adc_tm 1>;
2208260782SDouglas Anderson
2308260782SDouglas Anderson			trips {
2408260782SDouglas Anderson				5v-choke-crit {
2508260782SDouglas Anderson					temperature = <125000>;
2608260782SDouglas Anderson					hysteresis = <1000>;
2708260782SDouglas Anderson					type = "critical";
2808260782SDouglas Anderson				};
2908260782SDouglas Anderson			};
3008260782SDouglas Anderson		};
3108260782SDouglas Anderson	};
3208260782SDouglas Anderson};
3308260782SDouglas Anderson
3408260782SDouglas Anderson&alc5682 {
3508260782SDouglas Anderson	realtek,dmic-clk-driving-high = "true";
3608260782SDouglas Anderson};
3708260782SDouglas Anderson
3808260782SDouglas Anderson&cpu6_alert0 {
3908260782SDouglas Anderson	temperature = <60000>;
4008260782SDouglas Anderson};
4108260782SDouglas Anderson
4208260782SDouglas Anderson&cpu6_alert1 {
4308260782SDouglas Anderson	temperature = <65000>;
4408260782SDouglas Anderson};
4508260782SDouglas Anderson
4608260782SDouglas Anderson&cpu6_thermal {
47*82ea7d41SDouglas Anderson	sustainable-power = <1124>;
4808260782SDouglas Anderson};
4908260782SDouglas Anderson
5008260782SDouglas Anderson&cpu7_alert0 {
5108260782SDouglas Anderson	temperature = <60000>;
5208260782SDouglas Anderson};
5308260782SDouglas Anderson
5408260782SDouglas Anderson&cpu7_alert1 {
5508260782SDouglas Anderson	temperature = <65000>;
5608260782SDouglas Anderson};
5708260782SDouglas Anderson
5808260782SDouglas Anderson&cpu7_thermal {
59*82ea7d41SDouglas Anderson	sustainable-power = <1124>;
6008260782SDouglas Anderson};
6108260782SDouglas Anderson
6208260782SDouglas Anderson&cpu8_alert0 {
6308260782SDouglas Anderson	temperature = <60000>;
6408260782SDouglas Anderson};
6508260782SDouglas Anderson
6608260782SDouglas Anderson&cpu8_alert1 {
6708260782SDouglas Anderson	temperature = <65000>;
6808260782SDouglas Anderson};
6908260782SDouglas Anderson
7008260782SDouglas Anderson&cpu8_thermal {
71*82ea7d41SDouglas Anderson	sustainable-power = <1124>;
7208260782SDouglas Anderson};
7308260782SDouglas Anderson
7408260782SDouglas Anderson&cpu9_alert0 {
7508260782SDouglas Anderson	temperature = <60000>;
7608260782SDouglas Anderson};
7708260782SDouglas Anderson
7808260782SDouglas Anderson&cpu9_alert1 {
7908260782SDouglas Anderson	temperature = <65000>;
8008260782SDouglas Anderson};
8108260782SDouglas Anderson
8208260782SDouglas Anderson&cpu9_thermal {
83*82ea7d41SDouglas Anderson	sustainable-power = <1124>;
8408260782SDouglas Anderson};
8508260782SDouglas Anderson
8608260782SDouglas Anderson&gpio_keys {
8708260782SDouglas Anderson	status = "okay";
8808260782SDouglas Anderson};
8908260782SDouglas Anderson
9008260782SDouglas Andersonap_ts_pen_1v8: &i2c4 {
9108260782SDouglas Anderson	status = "okay";
9208260782SDouglas Anderson	clock-frequency = <400000>;
9308260782SDouglas Anderson
9408260782SDouglas Anderson	ap_ts: touchscreen@10 {
9508260782SDouglas Anderson		compatible = "hid-over-i2c";
9608260782SDouglas Anderson		reg = <0x10>;
9708260782SDouglas Anderson		pinctrl-names = "default";
9808260782SDouglas Anderson		pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
9908260782SDouglas Anderson
10008260782SDouglas Anderson		interrupt-parent = <&tlmm>;
10108260782SDouglas Anderson		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
10208260782SDouglas Anderson
10308260782SDouglas Anderson		post-power-on-delay-ms = <20>;
10408260782SDouglas Anderson		hid-descr-addr = <0x0001>;
10508260782SDouglas Anderson
10608260782SDouglas Anderson		vdd-supply = <&pp3300_ts>;
10708260782SDouglas Anderson	};
10808260782SDouglas Anderson};
10908260782SDouglas Anderson
110ad6fc143SMatthias Kaehlcke&keyboard_controller {
111ad6fc143SMatthias Kaehlcke	function-row-physmap = <
112ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x00, 0x02, 0)	/* T1 */
113ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x03, 0x02, 0)	/* T2 */
114ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x02, 0x02, 0)	/* T3 */
115ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x01, 0x02, 0)	/* T4 */
116ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x03, 0x04, 0)	/* T5 */
117ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x02, 0x04, 0)	/* T6 */
118ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x01, 0x04, 0)	/* T7 */
119ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x02, 0x09, 0)	/* T8 */
120ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x01, 0x09, 0)	/* T9 */
121ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x00, 0x04, 0)	/* T10 */
122ad6fc143SMatthias Kaehlcke	>;
123ad6fc143SMatthias Kaehlcke	linux,keymap = <
124ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x00, 0x02, KEY_BACK)
125ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
126ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
127ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x01, 0x02, KEY_SCALE)
128ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
129ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
130ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
131ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x02, 0x09, KEY_MUTE)
132ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
133ad6fc143SMatthias Kaehlcke		MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
134ad6fc143SMatthias Kaehlcke
135ad6fc143SMatthias Kaehlcke		CROS_STD_MAIN_KEYMAP
136ad6fc143SMatthias Kaehlcke	>;
137ad6fc143SMatthias Kaehlcke};
138ad6fc143SMatthias Kaehlcke
13908260782SDouglas Anderson&panel {
14008260782SDouglas Anderson	compatible = "kingdisplay,kd116n21-30nv-a010";
14108260782SDouglas Anderson};
14208260782SDouglas Anderson
14308260782SDouglas Anderson&pen_insert {
14408260782SDouglas Anderson	/* Insert = high, eject = low */
14508260782SDouglas Anderson	gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
14608260782SDouglas Anderson};
14708260782SDouglas Anderson
14808260782SDouglas Anderson&pm6150_adc {
14908260782SDouglas Anderson	5v-choke-thermistor@4e {
15008260782SDouglas Anderson		reg = <ADC5_AMUX_THM2_100K_PU>;
15108260782SDouglas Anderson		qcom,ratiometric;
15208260782SDouglas Anderson		qcom,hw-settle-time = <200>;
15308260782SDouglas Anderson	};
15408260782SDouglas Anderson};
15508260782SDouglas Anderson
15608260782SDouglas Anderson&pm6150_adc_tm {
15708260782SDouglas Anderson	status = "okay";
15808260782SDouglas Anderson
15908260782SDouglas Anderson	5v-choke-thermistor@1 {
16008260782SDouglas Anderson		reg = <1>;
16108260782SDouglas Anderson		io-channels = <&pm6150_adc ADC5_AMUX_THM2_100K_PU>;
16208260782SDouglas Anderson		qcom,ratiometric;
16308260782SDouglas Anderson		qcom,hw-settle-time-us = <200>;
16408260782SDouglas Anderson	};
16508260782SDouglas Anderson};
16608260782SDouglas Anderson
16708260782SDouglas Anderson&sdhc_2 {
16808260782SDouglas Anderson	status = "okay";
16908260782SDouglas Anderson};
17008260782SDouglas Anderson
171108ec20bSDouglas Anderson&sound {
172108ec20bSDouglas Anderson	model = "sc7180-rt5682-max98357a-2mic";
173108ec20bSDouglas Anderson	pinctrl-names = "default";
174108ec20bSDouglas Anderson	pinctrl-0 = <&dmic_sel>;
175108ec20bSDouglas Anderson	dmic-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
176108ec20bSDouglas Anderson};
177108ec20bSDouglas Anderson
17808260782SDouglas Anderson&usb_c1 {
17908260782SDouglas Anderson	status = "disabled";
18008260782SDouglas Anderson};
18108260782SDouglas Anderson
18208260782SDouglas Anderson&wifi {
18308260782SDouglas Anderson	qcom,ath10k-calibration-variant = "GO_POMPOM";
18408260782SDouglas Anderson};
18508260782SDouglas Anderson
18608260782SDouglas Anderson/* PINCTRL - board-specific pinctrl */
18708260782SDouglas Anderson
18808260782SDouglas Anderson&tlmm {
18908260782SDouglas Anderson	gpio-line-names = "TP_INT_ODL",
19008260782SDouglas Anderson			  "AP_RAM_ID0",
19108260782SDouglas Anderson			  "AP_SKU_ID2",
19208260782SDouglas Anderson			  "AP_RAM_ID1",
19308260782SDouglas Anderson			  "",
19408260782SDouglas Anderson			  "AP_RAM_ID2",
19508260782SDouglas Anderson			  "AP_TP_I2C_SDA",
19608260782SDouglas Anderson			  "AP_TP_I2C_SCL",
19708260782SDouglas Anderson			  "TS_RESET_L",
19808260782SDouglas Anderson			  "TS_INT_L",
19908260782SDouglas Anderson			  "",
20008260782SDouglas Anderson			  "EDP_BRIJ_IRQ",
20108260782SDouglas Anderson			  "AP_EDP_BKLTEN",
20208260782SDouglas Anderson			  "",
20308260782SDouglas Anderson			  "",
20408260782SDouglas Anderson			  "EDP_BRIJ_I2C_SDA",
20508260782SDouglas Anderson			  "EDP_BRIJ_I2C_SCL",
20608260782SDouglas Anderson			  "HUB_RST_L",
20708260782SDouglas Anderson			  "",
20808260782SDouglas Anderson			  "",
20908260782SDouglas Anderson			  "",
21008260782SDouglas Anderson			  "",
21108260782SDouglas Anderson			  "",
21208260782SDouglas Anderson			  "AMP_EN",
21308260782SDouglas Anderson			  "P_SENSOR_INT_L",
21408260782SDouglas Anderson			  "AP_SAR_SENSOR_SDA",
21508260782SDouglas Anderson			  "AP_SAR_SENSOR_SCL",
21608260782SDouglas Anderson			  "",
21708260782SDouglas Anderson			  "HP_IRQ",
21808260782SDouglas Anderson			  "",
21908260782SDouglas Anderson			  "EN_PP3300_DX_EDP",
22008260782SDouglas Anderson			  "AP_BRD_ID2",
22108260782SDouglas Anderson			  "BRIJ_SUSPEND",
22208260782SDouglas Anderson			  "AP_BRD_ID0",
22308260782SDouglas Anderson			  "AP_H1_SPI_MISO",
22408260782SDouglas Anderson			  "AP_H1_SPI_MOSI",
22508260782SDouglas Anderson			  "AP_H1_SPI_CLK",
22608260782SDouglas Anderson			  "AP_H1_SPI_CS_L",
22708260782SDouglas Anderson			  "",
22808260782SDouglas Anderson			  "",
22908260782SDouglas Anderson			  "",
23008260782SDouglas Anderson			  "",
23108260782SDouglas Anderson			  "H1_AP_INT_ODL",
23208260782SDouglas Anderson			  "",
23308260782SDouglas Anderson			  "UART_AP_TX_DBG_RX",
23408260782SDouglas Anderson			  "UART_DBG_TX_AP_RX",
23508260782SDouglas Anderson			  "HP_I2C_SDA",
23608260782SDouglas Anderson			  "HP_I2C_SCL",
23708260782SDouglas Anderson			  "FORCED_USB_BOOT",
23808260782SDouglas Anderson			  "AMP_BCLK",
23908260782SDouglas Anderson			  "AMP_LRCLK",
24008260782SDouglas Anderson			  "AMP_DIN",
24108260782SDouglas Anderson			  "PEN_PDCT_L",
24208260782SDouglas Anderson			  "HP_BCLK",
24308260782SDouglas Anderson			  "HP_LRCLK",
24408260782SDouglas Anderson			  "HP_DOUT",
24508260782SDouglas Anderson			  "HP_DIN",
24608260782SDouglas Anderson			  "HP_MCLK",
24708260782SDouglas Anderson			  "AP_SKU_ID0",
24808260782SDouglas Anderson			  "AP_EC_SPI_MISO",
24908260782SDouglas Anderson			  "AP_EC_SPI_MOSI",
25008260782SDouglas Anderson			  "AP_EC_SPI_CLK",
25108260782SDouglas Anderson			  "AP_EC_SPI_CS_L",
25208260782SDouglas Anderson			  "AP_SPI_CLK",
25308260782SDouglas Anderson			  "AP_SPI_MOSI",
25408260782SDouglas Anderson			  "AP_SPI_MISO",
25508260782SDouglas Anderson			  /*
25608260782SDouglas Anderson			   * AP_FLASH_WP_L is crossystem ABI. Schematics
25708260782SDouglas Anderson			   * call it BIOS_FLASH_WP_L.
25808260782SDouglas Anderson			   */
25908260782SDouglas Anderson			  "AP_FLASH_WP_L",
26008260782SDouglas Anderson			  "",
26108260782SDouglas Anderson			  "AP_SPI_CS0_L",
26208260782SDouglas Anderson			  "SD_CD_ODL",
26308260782SDouglas Anderson			  "",
26408260782SDouglas Anderson			  "",
26508260782SDouglas Anderson			  "",
26608260782SDouglas Anderson			  "",
26708260782SDouglas Anderson			  "",
26808260782SDouglas Anderson			  "UIM2_DATA",
26908260782SDouglas Anderson			  "UIM2_CLK",
27008260782SDouglas Anderson			  "UIM2_RST",
27108260782SDouglas Anderson			  "UIM2_PRESENT",
27208260782SDouglas Anderson			  "UIM1_DATA",
27308260782SDouglas Anderson			  "UIM1_CLK",
27408260782SDouglas Anderson			  "UIM1_RST",
27508260782SDouglas Anderson			  "",
27608260782SDouglas Anderson			  "EN_PP3300_CODEC",
27708260782SDouglas Anderson			  "EN_PP3300_HUB",
27808260782SDouglas Anderson			  "",
27908260782SDouglas Anderson			  "DMIC_SEL",
28008260782SDouglas Anderson			  "",
28108260782SDouglas Anderson			  "",
28208260782SDouglas Anderson			  "",
28308260782SDouglas Anderson			  "AP_SKU_ID1",
28408260782SDouglas Anderson			  "AP_RST_REQ",
28508260782SDouglas Anderson			  "",
28608260782SDouglas Anderson			  "AP_BRD_ID1",
28708260782SDouglas Anderson			  "AP_EC_INT_R_L",
28808260782SDouglas Anderson			  "",
28908260782SDouglas Anderson			  "",
29008260782SDouglas Anderson			  "",
29108260782SDouglas Anderson			  "",
29208260782SDouglas Anderson			  "",
29308260782SDouglas Anderson			  "",
29408260782SDouglas Anderson			  "",
29508260782SDouglas Anderson			  "",
29608260782SDouglas Anderson			  "",
29708260782SDouglas Anderson			  "EDP_BRIJ_EN",
29808260782SDouglas Anderson			  "",
29908260782SDouglas Anderson			  "",
30008260782SDouglas Anderson			  "",
30108260782SDouglas Anderson			  "",
30208260782SDouglas Anderson			  "",
30308260782SDouglas Anderson			  "",
30408260782SDouglas Anderson			  "",
30508260782SDouglas Anderson			  "",
30608260782SDouglas Anderson			  "",
30708260782SDouglas Anderson			  "",
30808260782SDouglas Anderson			  "AP_TS_PEN_I2C_SDA",
30908260782SDouglas Anderson			  "AP_TS_PEN_I2C_SCL",
31008260782SDouglas Anderson			  "DP_HOT_PLUG_DET",
31108260782SDouglas Anderson			  "EC_IN_RW_ODL";
31208260782SDouglas Anderson
31308260782SDouglas Anderson	dmic_sel: dmic-sel {
31408260782SDouglas Anderson		pinmux {
31508260782SDouglas Anderson			pins = "gpio86";
31608260782SDouglas Anderson			function = "gpio";
31708260782SDouglas Anderson		};
31808260782SDouglas Anderson
31908260782SDouglas Anderson		pinconf {
32008260782SDouglas Anderson			pins = "gpio86";
32108260782SDouglas Anderson			bias-pull-down;
32208260782SDouglas Anderson		};
32308260782SDouglas Anderson	};
32408260782SDouglas Anderson};
325