xref: /openbmc/linux/arch/arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dts (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1*5fe8b1c8SDouglas Anderson// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*5fe8b1c8SDouglas Anderson/*
3*5fe8b1c8SDouglas Anderson * Google Kingoftown board device tree source
4*5fe8b1c8SDouglas Anderson *
5*5fe8b1c8SDouglas Anderson * Copyright 2021 Google LLC.
6*5fe8b1c8SDouglas Anderson */
7*5fe8b1c8SDouglas Anderson
8*5fe8b1c8SDouglas Anderson/dts-v1/;
9*5fe8b1c8SDouglas Anderson
10*5fe8b1c8SDouglas Anderson#include "sc7180-trogdor.dtsi"
11*5fe8b1c8SDouglas Anderson#include "sc7180-trogdor-parade-ps8640.dtsi"
12*5fe8b1c8SDouglas Anderson#include <arm/cros-ec-keyboard.dtsi>
13*5fe8b1c8SDouglas Anderson#include "sc7180-trogdor-lte-sku.dtsi"
14*5fe8b1c8SDouglas Anderson
15*5fe8b1c8SDouglas Anderson/ {
16*5fe8b1c8SDouglas Anderson	model = "Google Kingoftown";
17*5fe8b1c8SDouglas Anderson	compatible = "google,kingoftown", "qcom,sc7180";
18*5fe8b1c8SDouglas Anderson};
19*5fe8b1c8SDouglas Anderson
20*5fe8b1c8SDouglas Anderson&alc5682 {
21*5fe8b1c8SDouglas Anderson	compatible = "realtek,rt5682s";
22*5fe8b1c8SDouglas Anderson	/delete-property/ VBAT-supply;
23*5fe8b1c8SDouglas Anderson	realtek,dmic1-clk-pin = <2>;
24*5fe8b1c8SDouglas Anderson	realtek,dmic-clk-rate-hz = <2048000>;
25*5fe8b1c8SDouglas Anderson};
26*5fe8b1c8SDouglas Anderson
27*5fe8b1c8SDouglas Anderson&ap_tp_i2c {
28*5fe8b1c8SDouglas Anderson	status = "okay";
29*5fe8b1c8SDouglas Anderson};
30*5fe8b1c8SDouglas Anderson
31*5fe8b1c8SDouglas Andersonap_ts_pen_1v8: &i2c4 {
32*5fe8b1c8SDouglas Anderson	status = "okay";
33*5fe8b1c8SDouglas Anderson	clock-frequency = <400000>;
34*5fe8b1c8SDouglas Anderson
35*5fe8b1c8SDouglas Anderson	ap_ts: touchscreen@10 {
36*5fe8b1c8SDouglas Anderson		compatible = "elan,ekth3500";
37*5fe8b1c8SDouglas Anderson		reg = <0x10>;
38*5fe8b1c8SDouglas Anderson		pinctrl-names = "default";
39*5fe8b1c8SDouglas Anderson		pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
40*5fe8b1c8SDouglas Anderson
41*5fe8b1c8SDouglas Anderson		interrupt-parent = <&tlmm>;
42*5fe8b1c8SDouglas Anderson		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
43*5fe8b1c8SDouglas Anderson
44*5fe8b1c8SDouglas Anderson		vcc33-supply = <&pp3300_ts>;
45*5fe8b1c8SDouglas Anderson
46*5fe8b1c8SDouglas Anderson		reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
47*5fe8b1c8SDouglas Anderson	};
48*5fe8b1c8SDouglas Anderson};
49*5fe8b1c8SDouglas Anderson
50*5fe8b1c8SDouglas Anderson&keyboard_controller {
51*5fe8b1c8SDouglas Anderson	function-row-physmap = <
52*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x00, 0x02, 0)       /* T1 */
53*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x03, 0x02, 0)       /* T2 */
54*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x02, 0)       /* T3 */
55*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x02, 0)       /* T4 */
56*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x03, 0x04, 0)       /* T5 */
57*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x04, 0)       /* T6 */
58*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x04, 0)       /* T7 */
59*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x09, 0)       /* T8 */
60*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x09, 0)       /* T9 */
61*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x00, 0x04, 0)       /* T10 */
62*5fe8b1c8SDouglas Anderson	>;
63*5fe8b1c8SDouglas Anderson	linux,keymap = <
64*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x00, 0x02, KEY_BACK)
65*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
66*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
67*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x02, KEY_SCALE)
68*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
69*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
70*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
71*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x09, KEY_MUTE)
72*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
73*5fe8b1c8SDouglas Anderson		MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
74*5fe8b1c8SDouglas Anderson
75*5fe8b1c8SDouglas Anderson		CROS_STD_MAIN_KEYMAP
76*5fe8b1c8SDouglas Anderson	>;
77*5fe8b1c8SDouglas Anderson};
78*5fe8b1c8SDouglas Anderson
79*5fe8b1c8SDouglas Anderson&panel {
80*5fe8b1c8SDouglas Anderson	compatible = "edp-panel";
81*5fe8b1c8SDouglas Anderson};
82*5fe8b1c8SDouglas Anderson
83*5fe8b1c8SDouglas Anderson&pp3300_dx_edp {
84*5fe8b1c8SDouglas Anderson	gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
85*5fe8b1c8SDouglas Anderson};
86*5fe8b1c8SDouglas Anderson
87*5fe8b1c8SDouglas Anderson&sound {
88*5fe8b1c8SDouglas Anderson	compatible = "google,sc7180-trogdor";
89*5fe8b1c8SDouglas Anderson	model = "sc7180-rt5682s-max98357a-1mic";
90*5fe8b1c8SDouglas Anderson};
91*5fe8b1c8SDouglas Anderson
92*5fe8b1c8SDouglas Anderson&wifi {
93*5fe8b1c8SDouglas Anderson	qcom,ath10k-calibration-variant = "GO_KINGOFTOWN";
94*5fe8b1c8SDouglas Anderson};
95*5fe8b1c8SDouglas Anderson
96*5fe8b1c8SDouglas Anderson/* PINCTRL - modifications to sc7180-trogdor.dtsi */
97*5fe8b1c8SDouglas Anderson
98*5fe8b1c8SDouglas Anderson&en_pp3300_dx_edp {
99*5fe8b1c8SDouglas Anderson	pins = "gpio67";
100*5fe8b1c8SDouglas Anderson};
101*5fe8b1c8SDouglas Anderson
102*5fe8b1c8SDouglas Anderson/* PINCTRL - board-specific pinctrl */
103*5fe8b1c8SDouglas Anderson
104*5fe8b1c8SDouglas Anderson&tlmm {
105*5fe8b1c8SDouglas Anderson	gpio-line-names = "TP_INT_L",		/* 0 */
106*5fe8b1c8SDouglas Anderson			  "AP_RAM_ID0",
107*5fe8b1c8SDouglas Anderson			  "AP_SKU_ID2",
108*5fe8b1c8SDouglas Anderson			  "AP_RAM_ID1",
109*5fe8b1c8SDouglas Anderson			  "",
110*5fe8b1c8SDouglas Anderson			  "AP_RAM_ID2",
111*5fe8b1c8SDouglas Anderson			  "AP_TP_I2C_SDA",
112*5fe8b1c8SDouglas Anderson			  "AP_TP_I2C_SCL",
113*5fe8b1c8SDouglas Anderson			  "TS_RESET_L",
114*5fe8b1c8SDouglas Anderson			  "TS_INT_L",
115*5fe8b1c8SDouglas Anderson			  "",			/* 10 */
116*5fe8b1c8SDouglas Anderson			  "EDP_BRIJ_IRQ",
117*5fe8b1c8SDouglas Anderson			  "AP_EDP_BKLTEN",
118*5fe8b1c8SDouglas Anderson			  "",
119*5fe8b1c8SDouglas Anderson			  "",
120*5fe8b1c8SDouglas Anderson			  "EDP_BRIJ_I2C_SDA",
121*5fe8b1c8SDouglas Anderson			  "EDP_BRIJ_I2C_SCL",
122*5fe8b1c8SDouglas Anderson			  "HUB_RST_L",
123*5fe8b1c8SDouglas Anderson			  "",
124*5fe8b1c8SDouglas Anderson			  "",
125*5fe8b1c8SDouglas Anderson			  "",			/* 20 */
126*5fe8b1c8SDouglas Anderson			  "",
127*5fe8b1c8SDouglas Anderson			  "",
128*5fe8b1c8SDouglas Anderson			  "AMP_EN",
129*5fe8b1c8SDouglas Anderson			  "",
130*5fe8b1c8SDouglas Anderson			  "",
131*5fe8b1c8SDouglas Anderson			  "",
132*5fe8b1c8SDouglas Anderson			  "",
133*5fe8b1c8SDouglas Anderson			  "HP_IRQ",
134*5fe8b1c8SDouglas Anderson			  "",
135*5fe8b1c8SDouglas Anderson			  "",			/* 30 */
136*5fe8b1c8SDouglas Anderson			  "AP_BRD_ID2",
137*5fe8b1c8SDouglas Anderson			  "BRIJ_SUSPEND",
138*5fe8b1c8SDouglas Anderson			  "AP_BRD_ID0",
139*5fe8b1c8SDouglas Anderson			  "AP_H1_SPI_MISO",
140*5fe8b1c8SDouglas Anderson			  "AP_H1_SPI_MOSI",
141*5fe8b1c8SDouglas Anderson			  "AP_H1_SPI_CLK",
142*5fe8b1c8SDouglas Anderson			  "AP_H1_SPI_CS_L",
143*5fe8b1c8SDouglas Anderson			  "BT_UART_CTS",
144*5fe8b1c8SDouglas Anderson			  "BT_UART_RTS",
145*5fe8b1c8SDouglas Anderson			  "BT_UART_TXD",	/* 40 */
146*5fe8b1c8SDouglas Anderson			  "BT_UART_RXD",
147*5fe8b1c8SDouglas Anderson			  "H1_AP_INT_ODL",
148*5fe8b1c8SDouglas Anderson			  "",
149*5fe8b1c8SDouglas Anderson			  "UART_AP_TX_DBG_RX",
150*5fe8b1c8SDouglas Anderson			  "UART_DBG_TX_AP_RX",
151*5fe8b1c8SDouglas Anderson			  "HP_I2C_SDA",
152*5fe8b1c8SDouglas Anderson			  "HP_I2C_SCL",
153*5fe8b1c8SDouglas Anderson			  "FORCED_USB_BOOT",
154*5fe8b1c8SDouglas Anderson			  "AMP_BCLK",
155*5fe8b1c8SDouglas Anderson			  "AMP_LRCLK",		/* 50 */
156*5fe8b1c8SDouglas Anderson			  "AMP_DIN",
157*5fe8b1c8SDouglas Anderson			  "",
158*5fe8b1c8SDouglas Anderson			  "HP_BCLK",
159*5fe8b1c8SDouglas Anderson			  "HP_LRCLK",
160*5fe8b1c8SDouglas Anderson			  "HP_DOUT",
161*5fe8b1c8SDouglas Anderson			  "HP_DIN",
162*5fe8b1c8SDouglas Anderson			  "HP_MCLK",
163*5fe8b1c8SDouglas Anderson			  "AP_SKU_ID0",
164*5fe8b1c8SDouglas Anderson			  "AP_EC_SPI_MISO",
165*5fe8b1c8SDouglas Anderson			  "AP_EC_SPI_MOSI",	/* 60 */
166*5fe8b1c8SDouglas Anderson			  "AP_EC_SPI_CLK",
167*5fe8b1c8SDouglas Anderson			  "AP_EC_SPI_CS_L",
168*5fe8b1c8SDouglas Anderson			  "AP_SPI_CLK",
169*5fe8b1c8SDouglas Anderson			  "AP_SPI_MOSI",
170*5fe8b1c8SDouglas Anderson			  "AP_SPI_MISO",
171*5fe8b1c8SDouglas Anderson			  /*
172*5fe8b1c8SDouglas Anderson			   * AP_FLASH_WP_L is crossystem ABI. Schematics
173*5fe8b1c8SDouglas Anderson			   * call it BIOS_FLASH_WP_L.
174*5fe8b1c8SDouglas Anderson			   */
175*5fe8b1c8SDouglas Anderson			  "AP_FLASH_WP_L",
176*5fe8b1c8SDouglas Anderson			  "EN_PP3300_DX_EDP",
177*5fe8b1c8SDouglas Anderson			  "AP_SPI_CS0_L",
178*5fe8b1c8SDouglas Anderson			  "",
179*5fe8b1c8SDouglas Anderson			  "",			/* 70 */
180*5fe8b1c8SDouglas Anderson			  "",
181*5fe8b1c8SDouglas Anderson			  "",
182*5fe8b1c8SDouglas Anderson			  "",
183*5fe8b1c8SDouglas Anderson			  "EN_FP_RAILS",
184*5fe8b1c8SDouglas Anderson			  "UIM2_DATA",
185*5fe8b1c8SDouglas Anderson			  "UIM2_CLK",
186*5fe8b1c8SDouglas Anderson			  "UIM2_RST",
187*5fe8b1c8SDouglas Anderson			  "UIM2_PRESENT_L",
188*5fe8b1c8SDouglas Anderson			  "UIM1_DATA",
189*5fe8b1c8SDouglas Anderson			  "UIM1_CLK",		/* 80 */
190*5fe8b1c8SDouglas Anderson			  "UIM1_RST",
191*5fe8b1c8SDouglas Anderson			  "",
192*5fe8b1c8SDouglas Anderson			  "CODEC_PWR_EN",
193*5fe8b1c8SDouglas Anderson			  "HUB_EN",
194*5fe8b1c8SDouglas Anderson			  "",
195*5fe8b1c8SDouglas Anderson			  "",
196*5fe8b1c8SDouglas Anderson			  "",
197*5fe8b1c8SDouglas Anderson			  "",
198*5fe8b1c8SDouglas Anderson			  "",
199*5fe8b1c8SDouglas Anderson			  "AP_SKU_ID1",		/* 90 */
200*5fe8b1c8SDouglas Anderson			  "AP_RST_REQ",
201*5fe8b1c8SDouglas Anderson			  "",
202*5fe8b1c8SDouglas Anderson			  "AP_BRD_ID1",
203*5fe8b1c8SDouglas Anderson			  "AP_EC_INT_L",
204*5fe8b1c8SDouglas Anderson			  "",
205*5fe8b1c8SDouglas Anderson			  "",
206*5fe8b1c8SDouglas Anderson			  "",
207*5fe8b1c8SDouglas Anderson			  "",
208*5fe8b1c8SDouglas Anderson			  "",
209*5fe8b1c8SDouglas Anderson			  "",			/* 100 */
210*5fe8b1c8SDouglas Anderson			  "",
211*5fe8b1c8SDouglas Anderson			  "",
212*5fe8b1c8SDouglas Anderson			  "",
213*5fe8b1c8SDouglas Anderson			  "EDP_BRIJ_EN",
214*5fe8b1c8SDouglas Anderson			  "",
215*5fe8b1c8SDouglas Anderson			  "",
216*5fe8b1c8SDouglas Anderson			  "",
217*5fe8b1c8SDouglas Anderson			  "",
218*5fe8b1c8SDouglas Anderson			  "",
219*5fe8b1c8SDouglas Anderson			  "",			/* 110 */
220*5fe8b1c8SDouglas Anderson			  "",
221*5fe8b1c8SDouglas Anderson			  "",
222*5fe8b1c8SDouglas Anderson			  "",
223*5fe8b1c8SDouglas Anderson			  "",
224*5fe8b1c8SDouglas Anderson			  "AP_TS_PEN_I2C_SDA",
225*5fe8b1c8SDouglas Anderson			  "AP_TS_PEN_I2C_SCL",
226*5fe8b1c8SDouglas Anderson			  "DP_HOT_PLUG_DET",
227*5fe8b1c8SDouglas Anderson			  "EC_IN_RW_ODL";
228*5fe8b1c8SDouglas Anderson};
229