15fe8b1c8SDouglas Anderson// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
25fe8b1c8SDouglas Anderson/*
35fe8b1c8SDouglas Anderson * Google Kingoftown board device tree source
45fe8b1c8SDouglas Anderson *
55fe8b1c8SDouglas Anderson * Copyright 2021 Google LLC.
65fe8b1c8SDouglas Anderson */
75fe8b1c8SDouglas Anderson
85fe8b1c8SDouglas Anderson/dts-v1/;
95fe8b1c8SDouglas Anderson
105fe8b1c8SDouglas Anderson#include "sc7180-trogdor.dtsi"
115fe8b1c8SDouglas Anderson#include "sc7180-trogdor-parade-ps8640.dtsi"
125fe8b1c8SDouglas Anderson#include <arm/cros-ec-keyboard.dtsi>
135fe8b1c8SDouglas Anderson#include "sc7180-trogdor-lte-sku.dtsi"
14*8ff1aabaSDouglas Anderson#include "sc7180-trogdor-rt5682s-sku.dtsi"
155fe8b1c8SDouglas Anderson
165fe8b1c8SDouglas Anderson/ {
175fe8b1c8SDouglas Anderson	model = "Google Kingoftown";
185fe8b1c8SDouglas Anderson	compatible = "google,kingoftown", "qcom,sc7180";
195fe8b1c8SDouglas Anderson};
205fe8b1c8SDouglas Anderson
215fe8b1c8SDouglas Anderson&ap_tp_i2c {
225fe8b1c8SDouglas Anderson	status = "okay";
235fe8b1c8SDouglas Anderson};
245fe8b1c8SDouglas Anderson
255fe8b1c8SDouglas Andersonap_ts_pen_1v8: &i2c4 {
265fe8b1c8SDouglas Anderson	status = "okay";
275fe8b1c8SDouglas Anderson	clock-frequency = <400000>;
285fe8b1c8SDouglas Anderson
295fe8b1c8SDouglas Anderson	ap_ts: touchscreen@10 {
305fe8b1c8SDouglas Anderson		compatible = "elan,ekth3500";
315fe8b1c8SDouglas Anderson		reg = <0x10>;
325fe8b1c8SDouglas Anderson		pinctrl-names = "default";
335fe8b1c8SDouglas Anderson		pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
345fe8b1c8SDouglas Anderson
355fe8b1c8SDouglas Anderson		interrupt-parent = <&tlmm>;
365fe8b1c8SDouglas Anderson		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
375fe8b1c8SDouglas Anderson
385fe8b1c8SDouglas Anderson		vcc33-supply = <&pp3300_ts>;
395fe8b1c8SDouglas Anderson
405fe8b1c8SDouglas Anderson		reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
415fe8b1c8SDouglas Anderson	};
425fe8b1c8SDouglas Anderson};
435fe8b1c8SDouglas Anderson
445fe8b1c8SDouglas Anderson&keyboard_controller {
455fe8b1c8SDouglas Anderson	function-row-physmap = <
465fe8b1c8SDouglas Anderson		MATRIX_KEY(0x00, 0x02, 0)       /* T1 */
475fe8b1c8SDouglas Anderson		MATRIX_KEY(0x03, 0x02, 0)       /* T2 */
485fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x02, 0)       /* T3 */
495fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x02, 0)       /* T4 */
505fe8b1c8SDouglas Anderson		MATRIX_KEY(0x03, 0x04, 0)       /* T5 */
515fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x04, 0)       /* T6 */
525fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x04, 0)       /* T7 */
535fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x09, 0)       /* T8 */
545fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x09, 0)       /* T9 */
555fe8b1c8SDouglas Anderson		MATRIX_KEY(0x00, 0x04, 0)       /* T10 */
565fe8b1c8SDouglas Anderson	>;
575fe8b1c8SDouglas Anderson	linux,keymap = <
585fe8b1c8SDouglas Anderson		MATRIX_KEY(0x00, 0x02, KEY_BACK)
595fe8b1c8SDouglas Anderson		MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
605fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
615fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x02, KEY_SCALE)
625fe8b1c8SDouglas Anderson		MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
635fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
645fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
655fe8b1c8SDouglas Anderson		MATRIX_KEY(0x02, 0x09, KEY_MUTE)
665fe8b1c8SDouglas Anderson		MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
675fe8b1c8SDouglas Anderson		MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
685fe8b1c8SDouglas Anderson
695fe8b1c8SDouglas Anderson		CROS_STD_MAIN_KEYMAP
705fe8b1c8SDouglas Anderson	>;
715fe8b1c8SDouglas Anderson};
725fe8b1c8SDouglas Anderson
735fe8b1c8SDouglas Anderson&panel {
745fe8b1c8SDouglas Anderson	compatible = "edp-panel";
755fe8b1c8SDouglas Anderson};
765fe8b1c8SDouglas Anderson
775fe8b1c8SDouglas Anderson&pp3300_dx_edp {
785fe8b1c8SDouglas Anderson	gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
795fe8b1c8SDouglas Anderson};
805fe8b1c8SDouglas Anderson
815fe8b1c8SDouglas Anderson&wifi {
825fe8b1c8SDouglas Anderson	qcom,ath10k-calibration-variant = "GO_KINGOFTOWN";
835fe8b1c8SDouglas Anderson};
845fe8b1c8SDouglas Anderson
855fe8b1c8SDouglas Anderson/* PINCTRL - modifications to sc7180-trogdor.dtsi */
865fe8b1c8SDouglas Anderson
875fe8b1c8SDouglas Anderson&en_pp3300_dx_edp {
885fe8b1c8SDouglas Anderson	pins = "gpio67";
895fe8b1c8SDouglas Anderson};
905fe8b1c8SDouglas Anderson
915fe8b1c8SDouglas Anderson/* PINCTRL - board-specific pinctrl */
925fe8b1c8SDouglas Anderson
935fe8b1c8SDouglas Anderson&tlmm {
945fe8b1c8SDouglas Anderson	gpio-line-names = "TP_INT_L",		/* 0 */
955fe8b1c8SDouglas Anderson			  "AP_RAM_ID0",
965fe8b1c8SDouglas Anderson			  "AP_SKU_ID2",
975fe8b1c8SDouglas Anderson			  "AP_RAM_ID1",
985fe8b1c8SDouglas Anderson			  "",
995fe8b1c8SDouglas Anderson			  "AP_RAM_ID2",
1005fe8b1c8SDouglas Anderson			  "AP_TP_I2C_SDA",
1015fe8b1c8SDouglas Anderson			  "AP_TP_I2C_SCL",
1025fe8b1c8SDouglas Anderson			  "TS_RESET_L",
1035fe8b1c8SDouglas Anderson			  "TS_INT_L",
1045fe8b1c8SDouglas Anderson			  "",			/* 10 */
1055fe8b1c8SDouglas Anderson			  "EDP_BRIJ_IRQ",
1065fe8b1c8SDouglas Anderson			  "AP_EDP_BKLTEN",
1075fe8b1c8SDouglas Anderson			  "",
1085fe8b1c8SDouglas Anderson			  "",
1095fe8b1c8SDouglas Anderson			  "EDP_BRIJ_I2C_SDA",
1105fe8b1c8SDouglas Anderson			  "EDP_BRIJ_I2C_SCL",
1115fe8b1c8SDouglas Anderson			  "HUB_RST_L",
1125fe8b1c8SDouglas Anderson			  "",
1135fe8b1c8SDouglas Anderson			  "",
1145fe8b1c8SDouglas Anderson			  "",			/* 20 */
1155fe8b1c8SDouglas Anderson			  "",
1165fe8b1c8SDouglas Anderson			  "",
1175fe8b1c8SDouglas Anderson			  "AMP_EN",
1185fe8b1c8SDouglas Anderson			  "",
1195fe8b1c8SDouglas Anderson			  "",
1205fe8b1c8SDouglas Anderson			  "",
1215fe8b1c8SDouglas Anderson			  "",
1225fe8b1c8SDouglas Anderson			  "HP_IRQ",
1235fe8b1c8SDouglas Anderson			  "",
1245fe8b1c8SDouglas Anderson			  "",			/* 30 */
1255fe8b1c8SDouglas Anderson			  "AP_BRD_ID2",
1265fe8b1c8SDouglas Anderson			  "BRIJ_SUSPEND",
1275fe8b1c8SDouglas Anderson			  "AP_BRD_ID0",
1285fe8b1c8SDouglas Anderson			  "AP_H1_SPI_MISO",
1295fe8b1c8SDouglas Anderson			  "AP_H1_SPI_MOSI",
1305fe8b1c8SDouglas Anderson			  "AP_H1_SPI_CLK",
1315fe8b1c8SDouglas Anderson			  "AP_H1_SPI_CS_L",
1325fe8b1c8SDouglas Anderson			  "BT_UART_CTS",
1335fe8b1c8SDouglas Anderson			  "BT_UART_RTS",
1345fe8b1c8SDouglas Anderson			  "BT_UART_TXD",	/* 40 */
1355fe8b1c8SDouglas Anderson			  "BT_UART_RXD",
1365fe8b1c8SDouglas Anderson			  "H1_AP_INT_ODL",
1375fe8b1c8SDouglas Anderson			  "",
1385fe8b1c8SDouglas Anderson			  "UART_AP_TX_DBG_RX",
1395fe8b1c8SDouglas Anderson			  "UART_DBG_TX_AP_RX",
1405fe8b1c8SDouglas Anderson			  "HP_I2C_SDA",
1415fe8b1c8SDouglas Anderson			  "HP_I2C_SCL",
1425fe8b1c8SDouglas Anderson			  "FORCED_USB_BOOT",
1435fe8b1c8SDouglas Anderson			  "AMP_BCLK",
1445fe8b1c8SDouglas Anderson			  "AMP_LRCLK",		/* 50 */
1455fe8b1c8SDouglas Anderson			  "AMP_DIN",
1465fe8b1c8SDouglas Anderson			  "",
1475fe8b1c8SDouglas Anderson			  "HP_BCLK",
1485fe8b1c8SDouglas Anderson			  "HP_LRCLK",
1495fe8b1c8SDouglas Anderson			  "HP_DOUT",
1505fe8b1c8SDouglas Anderson			  "HP_DIN",
1515fe8b1c8SDouglas Anderson			  "HP_MCLK",
1525fe8b1c8SDouglas Anderson			  "AP_SKU_ID0",
1535fe8b1c8SDouglas Anderson			  "AP_EC_SPI_MISO",
1545fe8b1c8SDouglas Anderson			  "AP_EC_SPI_MOSI",	/* 60 */
1555fe8b1c8SDouglas Anderson			  "AP_EC_SPI_CLK",
1565fe8b1c8SDouglas Anderson			  "AP_EC_SPI_CS_L",
1575fe8b1c8SDouglas Anderson			  "AP_SPI_CLK",
1585fe8b1c8SDouglas Anderson			  "AP_SPI_MOSI",
1595fe8b1c8SDouglas Anderson			  "AP_SPI_MISO",
1605fe8b1c8SDouglas Anderson			  /*
1615fe8b1c8SDouglas Anderson			   * AP_FLASH_WP_L is crossystem ABI. Schematics
1625fe8b1c8SDouglas Anderson			   * call it BIOS_FLASH_WP_L.
1635fe8b1c8SDouglas Anderson			   */
1645fe8b1c8SDouglas Anderson			  "AP_FLASH_WP_L",
1655fe8b1c8SDouglas Anderson			  "EN_PP3300_DX_EDP",
1665fe8b1c8SDouglas Anderson			  "AP_SPI_CS0_L",
1675fe8b1c8SDouglas Anderson			  "",
1685fe8b1c8SDouglas Anderson			  "",			/* 70 */
1695fe8b1c8SDouglas Anderson			  "",
1705fe8b1c8SDouglas Anderson			  "",
1715fe8b1c8SDouglas Anderson			  "",
1725fe8b1c8SDouglas Anderson			  "EN_FP_RAILS",
1735fe8b1c8SDouglas Anderson			  "UIM2_DATA",
1745fe8b1c8SDouglas Anderson			  "UIM2_CLK",
1755fe8b1c8SDouglas Anderson			  "UIM2_RST",
1765fe8b1c8SDouglas Anderson			  "UIM2_PRESENT_L",
1775fe8b1c8SDouglas Anderson			  "UIM1_DATA",
1785fe8b1c8SDouglas Anderson			  "UIM1_CLK",		/* 80 */
1795fe8b1c8SDouglas Anderson			  "UIM1_RST",
1805fe8b1c8SDouglas Anderson			  "",
1815fe8b1c8SDouglas Anderson			  "CODEC_PWR_EN",
1825fe8b1c8SDouglas Anderson			  "HUB_EN",
1835fe8b1c8SDouglas Anderson			  "",
1845fe8b1c8SDouglas Anderson			  "",
1855fe8b1c8SDouglas Anderson			  "",
1865fe8b1c8SDouglas Anderson			  "",
1875fe8b1c8SDouglas Anderson			  "",
1885fe8b1c8SDouglas Anderson			  "AP_SKU_ID1",		/* 90 */
1895fe8b1c8SDouglas Anderson			  "AP_RST_REQ",
1905fe8b1c8SDouglas Anderson			  "",
1915fe8b1c8SDouglas Anderson			  "AP_BRD_ID1",
1925fe8b1c8SDouglas Anderson			  "AP_EC_INT_L",
1935fe8b1c8SDouglas Anderson			  "",
1945fe8b1c8SDouglas Anderson			  "",
1955fe8b1c8SDouglas Anderson			  "",
1965fe8b1c8SDouglas Anderson			  "",
1975fe8b1c8SDouglas Anderson			  "",
1985fe8b1c8SDouglas Anderson			  "",			/* 100 */
1995fe8b1c8SDouglas Anderson			  "",
2005fe8b1c8SDouglas Anderson			  "",
2015fe8b1c8SDouglas Anderson			  "",
2025fe8b1c8SDouglas Anderson			  "EDP_BRIJ_EN",
2035fe8b1c8SDouglas Anderson			  "",
2045fe8b1c8SDouglas Anderson			  "",
2055fe8b1c8SDouglas Anderson			  "",
2065fe8b1c8SDouglas Anderson			  "",
2075fe8b1c8SDouglas Anderson			  "",
2085fe8b1c8SDouglas Anderson			  "",			/* 110 */
2095fe8b1c8SDouglas Anderson			  "",
2105fe8b1c8SDouglas Anderson			  "",
2115fe8b1c8SDouglas Anderson			  "",
2125fe8b1c8SDouglas Anderson			  "",
2135fe8b1c8SDouglas Anderson			  "AP_TS_PEN_I2C_SDA",
2145fe8b1c8SDouglas Anderson			  "AP_TS_PEN_I2C_SCL",
2155fe8b1c8SDouglas Anderson			  "DP_HOT_PLUG_DET",
2165fe8b1c8SDouglas Anderson			  "EC_IN_RW_ODL";
2175fe8b1c8SDouglas Anderson};
218