162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2020 Google LLC
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include "mt8183-kukui.dtsi"
762306a36Sopenharmony_ci#include <dt-bindings/input/gpio-keys.h>
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/ {
1062306a36Sopenharmony_ci	ppvarn_lcd: ppvarn-lcd {
1162306a36Sopenharmony_ci		compatible = "regulator-fixed";
1262306a36Sopenharmony_ci		regulator-name = "ppvarn_lcd";
1362306a36Sopenharmony_ci		pinctrl-names = "default";
1462306a36Sopenharmony_ci		pinctrl-0 = <&ppvarn_lcd_en>;
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci		enable-active-high;
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci		gpio = <&pio 66 GPIO_ACTIVE_HIGH>;
1962306a36Sopenharmony_ci	};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	ppvarp_lcd: ppvarp-lcd {
2262306a36Sopenharmony_ci		compatible = "regulator-fixed";
2362306a36Sopenharmony_ci		regulator-name = "ppvarp_lcd";
2462306a36Sopenharmony_ci		pinctrl-names = "default";
2562306a36Sopenharmony_ci		pinctrl-0 = <&ppvarp_lcd_en>;
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci		enable-active-high;
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci		gpio = <&pio 166 GPIO_ACTIVE_HIGH>;
3062306a36Sopenharmony_ci	};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	pp1800_lcd: pp1800-lcd {
3362306a36Sopenharmony_ci		compatible = "regulator-fixed";
3462306a36Sopenharmony_ci		regulator-name = "pp1800_lcd";
3562306a36Sopenharmony_ci		pinctrl-names = "default";
3662306a36Sopenharmony_ci		pinctrl-0 = <&pp1800_lcd_en>;
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci		enable-active-high;
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		gpio = <&pio 36 GPIO_ACTIVE_HIGH>;
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	gpio-keys {
4462306a36Sopenharmony_ci		compatible = "gpio-keys";
4562306a36Sopenharmony_ci		pinctrl-names = "default";
4662306a36Sopenharmony_ci		pinctrl-0 = <&pen_eject>;
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci		switch-pen-insert {
4962306a36Sopenharmony_ci			label = "Pen Insert";
5062306a36Sopenharmony_ci			/* Insert = low, eject = high */
5162306a36Sopenharmony_ci			gpios = <&pio 6 GPIO_ACTIVE_LOW>;
5262306a36Sopenharmony_ci			linux,code = <SW_PEN_INSERTED>;
5362306a36Sopenharmony_ci			linux,input-type = <EV_SW>;
5462306a36Sopenharmony_ci			wakeup-event-action = <EV_ACT_DEASSERTED>;
5562306a36Sopenharmony_ci			wakeup-source;
5662306a36Sopenharmony_ci		};
5762306a36Sopenharmony_ci	};
5862306a36Sopenharmony_ci};
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci&bluetooth {
6162306a36Sopenharmony_ci	firmware-name = "nvm_00440302_i2s_eu.bin";
6262306a36Sopenharmony_ci};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci&i2c0 {
6562306a36Sopenharmony_ci	status = "okay";
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	touchscreen: touchscreen@10 {
6862306a36Sopenharmony_ci		compatible = "hid-over-i2c";
6962306a36Sopenharmony_ci		reg = <0x10>;
7062306a36Sopenharmony_ci		pinctrl-names = "default";
7162306a36Sopenharmony_ci		pinctrl-0 = <&open_touch>;
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci		interrupt-parent = <&pio>;
7462306a36Sopenharmony_ci		interrupts = <155 IRQ_TYPE_EDGE_FALLING>;
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci		post-power-on-delay-ms = <10>;
7762306a36Sopenharmony_ci		hid-descr-addr = <0x0001>;
7862306a36Sopenharmony_ci	};
7962306a36Sopenharmony_ci};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci&mt6358_vcama2_reg {
8262306a36Sopenharmony_ci	regulator-min-microvolt = <2800000>;
8362306a36Sopenharmony_ci	regulator-max-microvolt = <2800000>;
8462306a36Sopenharmony_ci};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci&i2c2 {
8762306a36Sopenharmony_ci	pinctrl-names = "default";
8862306a36Sopenharmony_ci	pinctrl-0 = <&i2c2_pins>;
8962306a36Sopenharmony_ci	status = "okay";
9062306a36Sopenharmony_ci	clock-frequency = <400000>;
9162306a36Sopenharmony_ci	vbus-supply = <&mt6358_vcamio_reg>;
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci	eeprom@58 {
9462306a36Sopenharmony_ci		compatible = "atmel,24c32";
9562306a36Sopenharmony_ci		reg = <0x58>;
9662306a36Sopenharmony_ci		pagesize = <32>;
9762306a36Sopenharmony_ci		vcc-supply = <&mt6358_vcama2_reg>;
9862306a36Sopenharmony_ci	};
9962306a36Sopenharmony_ci};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci&i2c4 {
10262306a36Sopenharmony_ci	pinctrl-names = "default";
10362306a36Sopenharmony_ci	pinctrl-0 = <&i2c4_pins>;
10462306a36Sopenharmony_ci	status = "okay";
10562306a36Sopenharmony_ci	clock-frequency = <400000>;
10662306a36Sopenharmony_ci	vbus-supply = <&mt6358_vcn18_reg>;
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci	eeprom@54 {
10962306a36Sopenharmony_ci		compatible = "atmel,24c32";
11062306a36Sopenharmony_ci		reg = <0x54>;
11162306a36Sopenharmony_ci		pagesize = <32>;
11262306a36Sopenharmony_ci		vcc-supply = <&mt6358_vcn18_reg>;
11362306a36Sopenharmony_ci	};
11462306a36Sopenharmony_ci};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci&mipi_tx0 {
11762306a36Sopenharmony_ci	drive-strength-microamp = <5800>;
11862306a36Sopenharmony_ci};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci&pio {
12162306a36Sopenharmony_ci	/* 192 lines */
12262306a36Sopenharmony_ci	gpio-line-names =
12362306a36Sopenharmony_ci		"SPI_AP_EC_CS_L",
12462306a36Sopenharmony_ci		"SPI_AP_EC_MOSI",
12562306a36Sopenharmony_ci		"SPI_AP_EC_CLK",
12662306a36Sopenharmony_ci		"I2S3_DO",
12762306a36Sopenharmony_ci		"USB_PD_INT_ODL",
12862306a36Sopenharmony_ci		"",
12962306a36Sopenharmony_ci		"",
13062306a36Sopenharmony_ci		"",
13162306a36Sopenharmony_ci		"",
13262306a36Sopenharmony_ci		"IT6505_HPD_L",
13362306a36Sopenharmony_ci		"I2S3_TDM_D3",
13462306a36Sopenharmony_ci		"SOC_I2C6_1V8_SCL",
13562306a36Sopenharmony_ci		"SOC_I2C6_1V8_SDA",
13662306a36Sopenharmony_ci		"DPI_D0",
13762306a36Sopenharmony_ci		"DPI_D1",
13862306a36Sopenharmony_ci		"DPI_D2",
13962306a36Sopenharmony_ci		"DPI_D3",
14062306a36Sopenharmony_ci		"DPI_D4",
14162306a36Sopenharmony_ci		"DPI_D5",
14262306a36Sopenharmony_ci		"DPI_D6",
14362306a36Sopenharmony_ci		"DPI_D7",
14462306a36Sopenharmony_ci		"DPI_D8",
14562306a36Sopenharmony_ci		"DPI_D9",
14662306a36Sopenharmony_ci		"DPI_D10",
14762306a36Sopenharmony_ci		"DPI_D11",
14862306a36Sopenharmony_ci		"DPI_HSYNC",
14962306a36Sopenharmony_ci		"DPI_VSYNC",
15062306a36Sopenharmony_ci		"DPI_DE",
15162306a36Sopenharmony_ci		"DPI_CK",
15262306a36Sopenharmony_ci		"AP_MSDC1_CLK",
15362306a36Sopenharmony_ci		"AP_MSDC1_DAT3",
15462306a36Sopenharmony_ci		"AP_MSDC1_CMD",
15562306a36Sopenharmony_ci		"AP_MSDC1_DAT0",
15662306a36Sopenharmony_ci		"AP_MSDC1_DAT2",
15762306a36Sopenharmony_ci		"AP_MSDC1_DAT1",
15862306a36Sopenharmony_ci		"",
15962306a36Sopenharmony_ci		"",
16062306a36Sopenharmony_ci		"",
16162306a36Sopenharmony_ci		"",
16262306a36Sopenharmony_ci		"",
16362306a36Sopenharmony_ci		"",
16462306a36Sopenharmony_ci		"OTG_EN",
16562306a36Sopenharmony_ci		"DRVBUS",
16662306a36Sopenharmony_ci		"DISP_PWM",
16762306a36Sopenharmony_ci		"DSI_TE",
16862306a36Sopenharmony_ci		"LCM_RST_1V8",
16962306a36Sopenharmony_ci		"AP_CTS_WIFI_RTS",
17062306a36Sopenharmony_ci		"AP_RTS_WIFI_CTS",
17162306a36Sopenharmony_ci		"SOC_I2C5_1V8_SCL",
17262306a36Sopenharmony_ci		"SOC_I2C5_1V8_SDA",
17362306a36Sopenharmony_ci		"SOC_I2C3_1V8_SCL",
17462306a36Sopenharmony_ci		"SOC_I2C3_1V8_SDA",
17562306a36Sopenharmony_ci		"",
17662306a36Sopenharmony_ci		"",
17762306a36Sopenharmony_ci		"",
17862306a36Sopenharmony_ci		"",
17962306a36Sopenharmony_ci		"",
18062306a36Sopenharmony_ci		"",
18162306a36Sopenharmony_ci		"",
18262306a36Sopenharmony_ci		"",
18362306a36Sopenharmony_ci		"",
18462306a36Sopenharmony_ci		"",
18562306a36Sopenharmony_ci		"",
18662306a36Sopenharmony_ci		"",
18762306a36Sopenharmony_ci		"",
18862306a36Sopenharmony_ci		"",
18962306a36Sopenharmony_ci		"",
19062306a36Sopenharmony_ci		"",
19162306a36Sopenharmony_ci		"",
19262306a36Sopenharmony_ci		"",
19362306a36Sopenharmony_ci		"",
19462306a36Sopenharmony_ci		"",
19562306a36Sopenharmony_ci		"",
19662306a36Sopenharmony_ci		"",
19762306a36Sopenharmony_ci		"",
19862306a36Sopenharmony_ci		"",
19962306a36Sopenharmony_ci		"",
20062306a36Sopenharmony_ci		"",
20162306a36Sopenharmony_ci		"",
20262306a36Sopenharmony_ci		"",
20362306a36Sopenharmony_ci		"",
20462306a36Sopenharmony_ci		"SOC_I2C1_1V8_SDA",
20562306a36Sopenharmony_ci		"SOC_I2C0_1V8_SDA",
20662306a36Sopenharmony_ci		"SOC_I2C0_1V8_SCL",
20762306a36Sopenharmony_ci		"SOC_I2C1_1V8_SCL",
20862306a36Sopenharmony_ci		"AP_SPI_H1_MISO",
20962306a36Sopenharmony_ci		"AP_SPI_H1_CS_L",
21062306a36Sopenharmony_ci		"AP_SPI_H1_MOSI",
21162306a36Sopenharmony_ci		"AP_SPI_H1_CLK",
21262306a36Sopenharmony_ci		"I2S5_BCK",
21362306a36Sopenharmony_ci		"I2S5_LRCK",
21462306a36Sopenharmony_ci		"I2S5_DO",
21562306a36Sopenharmony_ci		"BOOTBLOCK_EN_L",
21662306a36Sopenharmony_ci		"MT8183_KPCOL0",
21762306a36Sopenharmony_ci		"SPI_AP_EC_MISO",
21862306a36Sopenharmony_ci		"UART_DBG_TX_AP_RX",
21962306a36Sopenharmony_ci		"UART_AP_TX_DBG_RX",
22062306a36Sopenharmony_ci		"I2S2_MCK",
22162306a36Sopenharmony_ci		"I2S2_BCK",
22262306a36Sopenharmony_ci		"CLK_5M_WCAM",
22362306a36Sopenharmony_ci		"CLK_2M_UCAM",
22462306a36Sopenharmony_ci		"I2S2_LRCK",
22562306a36Sopenharmony_ci		"I2S2_DI",
22662306a36Sopenharmony_ci		"SOC_I2C2_1V8_SCL",
22762306a36Sopenharmony_ci		"SOC_I2C2_1V8_SDA",
22862306a36Sopenharmony_ci		"SOC_I2C4_1V8_SCL",
22962306a36Sopenharmony_ci		"SOC_I2C4_1V8_SDA",
23062306a36Sopenharmony_ci		"",
23162306a36Sopenharmony_ci		"SCL8",
23262306a36Sopenharmony_ci		"SDA8",
23362306a36Sopenharmony_ci		"FCAM_PWDN_L",
23462306a36Sopenharmony_ci		"",
23562306a36Sopenharmony_ci		"",
23662306a36Sopenharmony_ci		"",
23762306a36Sopenharmony_ci		"",
23862306a36Sopenharmony_ci		"",
23962306a36Sopenharmony_ci		"",
24062306a36Sopenharmony_ci		"",
24162306a36Sopenharmony_ci		"",
24262306a36Sopenharmony_ci		"",
24362306a36Sopenharmony_ci		"",
24462306a36Sopenharmony_ci		"",
24562306a36Sopenharmony_ci		"",
24662306a36Sopenharmony_ci		"",
24762306a36Sopenharmony_ci		"",
24862306a36Sopenharmony_ci		"",
24962306a36Sopenharmony_ci		"",
25062306a36Sopenharmony_ci		"",
25162306a36Sopenharmony_ci		"",
25262306a36Sopenharmony_ci		"",
25362306a36Sopenharmony_ci		"",
25462306a36Sopenharmony_ci		"",
25562306a36Sopenharmony_ci		"",
25662306a36Sopenharmony_ci		"",
25762306a36Sopenharmony_ci		"",
25862306a36Sopenharmony_ci		"",
25962306a36Sopenharmony_ci		"I2S_PMIC",
26062306a36Sopenharmony_ci		"I2S_PMIC",
26162306a36Sopenharmony_ci		"I2S_PMIC",
26262306a36Sopenharmony_ci		"I2S_PMIC",
26362306a36Sopenharmony_ci		"I2S_PMIC",
26462306a36Sopenharmony_ci		"I2S_PMIC",
26562306a36Sopenharmony_ci		"I2S_PMIC",
26662306a36Sopenharmony_ci		"I2S_PMIC",
26762306a36Sopenharmony_ci		"",
26862306a36Sopenharmony_ci		"",
26962306a36Sopenharmony_ci		"",
27062306a36Sopenharmony_ci		"",
27162306a36Sopenharmony_ci		"",
27262306a36Sopenharmony_ci		"",
27362306a36Sopenharmony_ci		/*
27462306a36Sopenharmony_ci		 * AP_FLASH_WP_L is crossystem ABI. Rev1 schematics
27562306a36Sopenharmony_ci		 * call it BIOS_FLASH_WP_R_L.
27662306a36Sopenharmony_ci		 */
27762306a36Sopenharmony_ci		"AP_FLASH_WP_L",
27862306a36Sopenharmony_ci		"EC_AP_INT_ODL",
27962306a36Sopenharmony_ci		"IT6505_INT_ODL",
28062306a36Sopenharmony_ci		"H1_INT_OD_L",
28162306a36Sopenharmony_ci		"",
28262306a36Sopenharmony_ci		"",
28362306a36Sopenharmony_ci		"",
28462306a36Sopenharmony_ci		"",
28562306a36Sopenharmony_ci		"",
28662306a36Sopenharmony_ci		"",
28762306a36Sopenharmony_ci		"",
28862306a36Sopenharmony_ci		"AP_SPI_FLASH_MISO",
28962306a36Sopenharmony_ci		"AP_SPI_FLASH_CS_L",
29062306a36Sopenharmony_ci		"AP_SPI_FLASH_MOSI",
29162306a36Sopenharmony_ci		"AP_SPI_FLASH_CLK",
29262306a36Sopenharmony_ci		"DA7219_IRQ",
29362306a36Sopenharmony_ci		"",
29462306a36Sopenharmony_ci		"",
29562306a36Sopenharmony_ci		"",
29662306a36Sopenharmony_ci		"",
29762306a36Sopenharmony_ci		"",
29862306a36Sopenharmony_ci		"",
29962306a36Sopenharmony_ci		"",
30062306a36Sopenharmony_ci		"",
30162306a36Sopenharmony_ci		"",
30262306a36Sopenharmony_ci		"",
30362306a36Sopenharmony_ci		"",
30462306a36Sopenharmony_ci		"",
30562306a36Sopenharmony_ci		"",
30662306a36Sopenharmony_ci		"",
30762306a36Sopenharmony_ci		"",
30862306a36Sopenharmony_ci		"",
30962306a36Sopenharmony_ci		"",
31062306a36Sopenharmony_ci		"",
31162306a36Sopenharmony_ci		"",
31262306a36Sopenharmony_ci		"",
31362306a36Sopenharmony_ci		"",
31462306a36Sopenharmony_ci		"",
31562306a36Sopenharmony_ci		"",
31662306a36Sopenharmony_ci		"",
31762306a36Sopenharmony_ci		"",
31862306a36Sopenharmony_ci		"";
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ci	ppvarp_lcd_en: ppvarp-lcd-en {
32162306a36Sopenharmony_ci		pins1 {
32262306a36Sopenharmony_ci			pinmux = <PINMUX_GPIO66__FUNC_GPIO66>;
32362306a36Sopenharmony_ci			output-low;
32462306a36Sopenharmony_ci		};
32562306a36Sopenharmony_ci	};
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ci	ppvarn_lcd_en: ppvarn-lcd-en {
32862306a36Sopenharmony_ci		pins1 {
32962306a36Sopenharmony_ci			pinmux = <PINMUX_GPIO166__FUNC_GPIO166>;
33062306a36Sopenharmony_ci			output-low;
33162306a36Sopenharmony_ci		};
33262306a36Sopenharmony_ci	};
33362306a36Sopenharmony_ci
33462306a36Sopenharmony_ci	pp1800_lcd_en: pp1800-lcd-en {
33562306a36Sopenharmony_ci		pins1 {
33662306a36Sopenharmony_ci			pinmux = <PINMUX_GPIO36__FUNC_GPIO36>;
33762306a36Sopenharmony_ci			output-low;
33862306a36Sopenharmony_ci		};
33962306a36Sopenharmony_ci	};
34062306a36Sopenharmony_ci
34162306a36Sopenharmony_ci	open_touch: open_touch {
34262306a36Sopenharmony_ci		irq_pin {
34362306a36Sopenharmony_ci			pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
34462306a36Sopenharmony_ci			input-enable;
34562306a36Sopenharmony_ci			bias-pull-up;
34662306a36Sopenharmony_ci		};
34762306a36Sopenharmony_ci
34862306a36Sopenharmony_ci		rst_pin {
34962306a36Sopenharmony_ci			pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_ci			/*
35262306a36Sopenharmony_ci			 * The pen driver doesn't currently support  driving
35362306a36Sopenharmony_ci			 * this reset line.  By specifying output-high here
35462306a36Sopenharmony_ci			 * we're relying on the fact that this pin has a default
35562306a36Sopenharmony_ci			 * pulldown at boot (which makes sure the pen was in
35662306a36Sopenharmony_ci			 * reset if it was powered) and then we set it high here
35762306a36Sopenharmony_ci			 * to take it out of reset.  Better would be if the pen
35862306a36Sopenharmony_ci			 * driver could control this and we could remove
35962306a36Sopenharmony_ci			 * "output-high" here.
36062306a36Sopenharmony_ci			 */
36162306a36Sopenharmony_ci			output-high;
36262306a36Sopenharmony_ci		};
36362306a36Sopenharmony_ci	};
36462306a36Sopenharmony_ci
36562306a36Sopenharmony_ci	pen_eject: peneject {
36662306a36Sopenharmony_ci		pen_eject {
36762306a36Sopenharmony_ci			pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
36862306a36Sopenharmony_ci			input-enable;
36962306a36Sopenharmony_ci			/* External pull-up. */
37062306a36Sopenharmony_ci			bias-disable;
37162306a36Sopenharmony_ci		};
37262306a36Sopenharmony_ci	};
37362306a36Sopenharmony_ci};
37462306a36Sopenharmony_ci
37562306a36Sopenharmony_ci&cros_ec {
37662306a36Sopenharmony_ci	cbas {
37762306a36Sopenharmony_ci		compatible = "google,cros-cbas";
37862306a36Sopenharmony_ci	};
37962306a36Sopenharmony_ci
38062306a36Sopenharmony_ci	keyboard-controller {
38162306a36Sopenharmony_ci		compatible = "google,cros-ec-keyb-switches";
38262306a36Sopenharmony_ci	};
38362306a36Sopenharmony_ci};
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ci&qca_wifi {
38662306a36Sopenharmony_ci	qcom,ath10k-calibration-variant = "GO_KAKADU";
38762306a36Sopenharmony_ci};
38862306a36Sopenharmony_ci
38962306a36Sopenharmony_ci&panel {
39062306a36Sopenharmony_ci	status = "okay";
39162306a36Sopenharmony_ci	compatible = "boe,tv105wum-nw0";
39262306a36Sopenharmony_ci};
393