159415Sobrien// SPDX-License-Identifier: (GPL-2.0 OR MIT)
259243Sobrien/*
359243Sobrien * Copyright 2019 Google LLC
459243Sobrien */
559243Sobrien
659243Sobrien#include "mt8183-kukui.dtsi"
759243Sobrien#include "mt8183-kukui-audio-max98357a.dtsi"
859243Sobrien
959243Sobrien/ {
1059243Sobrien	ppvarn_lcd: ppvarn-lcd {
1159243Sobrien		compatible = "regulator-fixed";
1259243Sobrien		regulator-name = "ppvarn_lcd";
1359243Sobrien		pinctrl-names = "default";
1459243Sobrien		pinctrl-0 = <&ppvarn_lcd_en>;
1559243Sobrien
1659243Sobrien		enable-active-high;
1759243Sobrien
1859243Sobrien		gpio = <&pio 66 GPIO_ACTIVE_HIGH>;
1959243Sobrien	};
2059243Sobrien
2159243Sobrien	ppvarp_lcd: ppvarp-lcd {
2259243Sobrien		compatible = "regulator-fixed";
2359243Sobrien		regulator-name = "ppvarp_lcd";
2459243Sobrien		pinctrl-names = "default";
2559243Sobrien		pinctrl-0 = <&ppvarp_lcd_en>;
2659243Sobrien
2759243Sobrien		enable-active-high;
2859243Sobrien
2959243Sobrien		gpio = <&pio 166 GPIO_ACTIVE_HIGH>;
3059243Sobrien	};
3159243Sobrien
3259243Sobrien	pp1800_lcd: pp1800-lcd {
3359243Sobrien		compatible = "regulator-fixed";
3459243Sobrien		regulator-name = "pp1800_lcd";
3559243Sobrien		pinctrl-names = "default";
3659243Sobrien		pinctrl-0 = <&pp1800_lcd_en>;
3759243Sobrien
3859243Sobrien		enable-active-high;
3959415Sobrien
4059243Sobrien		gpio = <&pio 36 GPIO_ACTIVE_HIGH>;
4159243Sobrien	};
4259243Sobrien};
4359243Sobrien
4459243Sobrien&bluetooth {
4559243Sobrien	firmware-name = "nvm_00440302_i2s_eu.bin";
4659243Sobrien};
4759243Sobrien
4859243Sobrien&i2c0 {
4959243Sobrien	status = "okay";
5059243Sobrien
5159243Sobrien	touchscreen4: touchscreen@5d {
5259243Sobrien		compatible = "hid-over-i2c";
5359243Sobrien		reg = <0x5d>;
5459243Sobrien		pinctrl-names = "default";
5559243Sobrien		pinctrl-0 = <&open_touch>;
5659243Sobrien
5759243Sobrien		interrupts-extended = <&pio 155 IRQ_TYPE_EDGE_FALLING>;
5859243Sobrien
5959243Sobrien		post-power-on-delay-ms = <10>;
6059243Sobrien		hid-descr-addr = <0x0001>;
6159243Sobrien	};
6259243Sobrien};
6359243Sobrien
6459243Sobrien&mt6358_vcama2_reg {
6559243Sobrien	regulator-min-microvolt = <2800000>;
6659243Sobrien	regulator-max-microvolt = <2800000>;
6759243Sobrien};
6859243Sobrien
6959243Sobrien&i2c2 {
7059243Sobrien	pinctrl-names = "default";
7159243Sobrien	pinctrl-0 = <&i2c2_pins>;
7259243Sobrien	status = "okay";
7359243Sobrien	clock-frequency = <400000>;
7459243Sobrien	vbus-supply = <&mt6358_vcamio_reg>;
7559243Sobrien
7659243Sobrien	eeprom@58 {
7759243Sobrien		compatible = "atmel,24c32";
7859243Sobrien		reg = <0x58>;
7959243Sobrien		pagesize = <32>;
8059243Sobrien		vcc-supply = <&mt6358_vcama2_reg>;
8159243Sobrien	};
8259243Sobrien};
8359243Sobrien
8459243Sobrien&i2c4 {
8559243Sobrien	pinctrl-names = "default";
8659243Sobrien	pinctrl-0 = <&i2c4_pins>;
8759243Sobrien	status = "okay";
8859243Sobrien	clock-frequency = <400000>;
8959243Sobrien	vbus-supply = <&mt6358_vcn18_reg>;
9059243Sobrien
9159243Sobrien	eeprom@54 {
9259243Sobrien		compatible = "atmel,24c32";
9359243Sobrien		reg = <0x54>;
9459243Sobrien		pagesize = <32>;
9559243Sobrien		vcc-supply = <&mt6358_vcn18_reg>;
9659243Sobrien	};
9759243Sobrien};
9859243Sobrien
9959243Sobrien&pio {
10059243Sobrien	/* 192 lines */
10159243Sobrien	gpio-line-names =
10259243Sobrien		"SPI_AP_EC_CS_L",
10359243Sobrien		"SPI_AP_EC_MOSI",
10459243Sobrien		"SPI_AP_EC_CLK",
10559243Sobrien		"I2S3_DO",
10659243Sobrien		"USB_PD_INT_ODL",
10759243Sobrien		"",
10859243Sobrien		"",
10959243Sobrien		"",
11059243Sobrien		"",
11159243Sobrien		"IT6505_HPD_L",
11259243Sobrien		"I2S3_TDM_D3",
11359243Sobrien		"SOC_I2C6_1V8_SCL",
11459243Sobrien		"SOC_I2C6_1V8_SDA",
11559243Sobrien		"DPI_D0",
11659243Sobrien		"DPI_D1",
11759243Sobrien		"DPI_D2",
11859243Sobrien		"DPI_D3",
11959243Sobrien		"DPI_D4",
12059243Sobrien		"DPI_D5",
12159243Sobrien		"DPI_D6",
12259243Sobrien		"DPI_D7",
12359243Sobrien		"DPI_D8",
12459243Sobrien		"DPI_D9",
12559243Sobrien		"DPI_D10",
12659243Sobrien		"DPI_D11",
12759243Sobrien		"DPI_HSYNC",
12859243Sobrien		"DPI_VSYNC",
12959243Sobrien		"DPI_DE",
13059243Sobrien		"DPI_CK",
13159243Sobrien		"AP_MSDC1_CLK",
13259243Sobrien		"AP_MSDC1_DAT3",
13359243Sobrien		"AP_MSDC1_CMD",
13459243Sobrien		"AP_MSDC1_DAT0",
13559243Sobrien		"AP_MSDC1_DAT2",
13659243Sobrien		"AP_MSDC1_DAT1",
13759243Sobrien		"",
13859243Sobrien		"",
13959243Sobrien		"",
14059243Sobrien		"",
14159243Sobrien		"",
14259243Sobrien		"",
14359243Sobrien		"OTG_EN",
14459243Sobrien		"DRVBUS",
14559243Sobrien		"DISP_PWM",
14659243Sobrien		"DSI_TE",
14759243Sobrien		"LCM_RST_1V8",
14859243Sobrien		"AP_CTS_WIFI_RTS",
14959243Sobrien		"AP_RTS_WIFI_CTS",
15059243Sobrien		"SOC_I2C5_1V8_SCL",
15159243Sobrien		"SOC_I2C5_1V8_SDA",
15259243Sobrien		"SOC_I2C3_1V8_SCL",
15359243Sobrien		"SOC_I2C3_1V8_SDA",
15459243Sobrien		"",
15559243Sobrien		"",
15659243Sobrien		"",
15759243Sobrien		"",
15859243Sobrien		"",
15959243Sobrien		"",
16059243Sobrien		"",
16159243Sobrien		"",
16259243Sobrien		"",
16359243Sobrien		"",
16459243Sobrien		"",
16559243Sobrien		"",
16659243Sobrien		"",
16759243Sobrien		"",
16859243Sobrien		"",
16959243Sobrien		"",
17059243Sobrien		"",
17159243Sobrien		"",
17259243Sobrien		"",
17359243Sobrien		"",
17459243Sobrien		"",
17559243Sobrien		"",
17659243Sobrien		"",
17759243Sobrien		"",
17859243Sobrien		"",
17959243Sobrien		"",
18059243Sobrien		"",
18159243Sobrien		"",
18259243Sobrien		"",
18359243Sobrien		"SOC_I2C1_1V8_SDA",
18459415Sobrien		"SOC_I2C0_1V8_SDA",
18559243Sobrien		"SOC_I2C0_1V8_SCL",
18659243Sobrien		"SOC_I2C1_1V8_SCL",
18759243Sobrien		"AP_SPI_H1_MISO",
18859243Sobrien		"AP_SPI_H1_CS_L",
18959243Sobrien		"AP_SPI_H1_MOSI",
19059243Sobrien		"AP_SPI_H1_CLK",
19159243Sobrien		"I2S5_BCK",
19259243Sobrien		"I2S5_LRCK",
19359243Sobrien		"I2S5_DO",
19459243Sobrien		"BOOTBLOCK_EN_L",
19559243Sobrien		"MT8183_KPCOL0",
19659243Sobrien		"SPI_AP_EC_MISO",
19759243Sobrien		"UART_DBG_TX_AP_RX",
19859243Sobrien		"UART_AP_TX_DBG_RX",
19959243Sobrien		"I2S2_MCK",
20059243Sobrien		"I2S2_BCK",
20159243Sobrien		"CLK_5M_WCAM",
20259243Sobrien		"CLK_2M_UCAM",
20359243Sobrien		"I2S2_LRCK",
20459243Sobrien		"I2S2_DI",
20559243Sobrien		"SOC_I2C2_1V8_SCL",
20659243Sobrien		"SOC_I2C2_1V8_SDA",
20759243Sobrien		"SOC_I2C4_1V8_SCL",
20859243Sobrien		"SOC_I2C4_1V8_SDA",
20959243Sobrien		"",
21059243Sobrien		"SCL8",
21159243Sobrien		"SDA8",
21259243Sobrien		"FCAM_PWDN_L",
21359415Sobrien		"",
21459415Sobrien		"",
21559415Sobrien		"",
21659415Sobrien		"",
21759415Sobrien		"",
21859415Sobrien		"",
21959243Sobrien		"",
22059243Sobrien		"",
22159243Sobrien		"",
22259243Sobrien		"",
22359243Sobrien		"",
22459243Sobrien		"",
22559243Sobrien		"",
22659243Sobrien		"",
22759243Sobrien		"",
22859243Sobrien		"",
22959243Sobrien		"",
23059243Sobrien		"",
23159243Sobrien		"",
23259243Sobrien		"",
23359243Sobrien		"",
23459243Sobrien		"",
23559243Sobrien		"",
23659243Sobrien		"",
23759243Sobrien		"",
23859243Sobrien		"I2S_PMIC",
23959243Sobrien		"I2S_PMIC",
24059243Sobrien		"I2S_PMIC",
24159243Sobrien		"I2S_PMIC",
24259243Sobrien		"I2S_PMIC",
24359243Sobrien		"I2S_PMIC",
24459243Sobrien		"I2S_PMIC",
24559243Sobrien		"I2S_PMIC",
24659243Sobrien		"",
24759243Sobrien		"",
24859243Sobrien		"",
24959243Sobrien		"",
25059243Sobrien		"",
25159243Sobrien		"",
25259243Sobrien		/*
25359243Sobrien		 * AP_FLASH_WP_L is crossystem ABI. Rev1 schematics
25459243Sobrien		 * call it BIOS_FLASH_WP_R_L.
25559243Sobrien		 */
25659415Sobrien		"AP_FLASH_WP_L",
25759243Sobrien		"EC_AP_INT_ODL",
25859415Sobrien		"IT6505_INT_ODL",
25959415Sobrien		"H1_INT_OD_L",
26059243Sobrien		"",
26159243Sobrien		"",
26259243Sobrien		"",
26359243Sobrien		"",
26459243Sobrien		"",
26559243Sobrien		"",
26659243Sobrien		"",
26759243Sobrien		"AP_SPI_FLASH_MISO",
26859243Sobrien		"AP_SPI_FLASH_CS_L",
26959243Sobrien		"AP_SPI_FLASH_MOSI",
27059243Sobrien		"AP_SPI_FLASH_CLK",
27159243Sobrien		"DA7219_IRQ",
27259243Sobrien		"",
27359243Sobrien		"",
27459243Sobrien		"",
27559243Sobrien		"",
27659243Sobrien		"",
27759243Sobrien		"",
27859243Sobrien		"",
27959243Sobrien		"",
28059243Sobrien		"",
28159243Sobrien		"",
28259243Sobrien		"",
28359243Sobrien		"",
28459243Sobrien		"",
28559243Sobrien		"",
28659243Sobrien		"",
28759243Sobrien		"",
28859243Sobrien		"",
28959243Sobrien		"",
29059243Sobrien		"",
29159243Sobrien		"",
29259243Sobrien		"",
29359243Sobrien		"",
29459243Sobrien		"",
29559243Sobrien		"",
29659243Sobrien		"",
29759243Sobrien		"";
29859243Sobrien
29959243Sobrien	ppvarp_lcd_en: ppvarp-lcd-en {
30059243Sobrien		pins1 {
30159243Sobrien			pinmux = <PINMUX_GPIO66__FUNC_GPIO66>;
30259243Sobrien			output-low;
30359243Sobrien		};
30459243Sobrien	};
30559243Sobrien
30659243Sobrien	ppvarn_lcd_en: ppvarn-lcd-en {
30759243Sobrien		pins1 {
30859243Sobrien			pinmux = <PINMUX_GPIO166__FUNC_GPIO166>;
30959243Sobrien			output-low;
31059243Sobrien		};
31159243Sobrien	};
31259243Sobrien
31359243Sobrien	pp1800_lcd_en: pp1800-lcd-en {
31459243Sobrien		pins1 {
31559243Sobrien			pinmux = <PINMUX_GPIO36__FUNC_GPIO36>;
31659243Sobrien			output-low;
31759243Sobrien		};
31859243Sobrien	};
31959243Sobrien
32059243Sobrien	open_touch: open_touch {
32159243Sobrien		irq_pin {
32259243Sobrien			pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
32359243Sobrien			input-enable;
32459243Sobrien			bias-pull-up;
32559243Sobrien		};
32659243Sobrien
32759243Sobrien		rst_pin {
32859243Sobrien			pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
32959243Sobrien
33059243Sobrien			/*
33159243Sobrien			 * The pen driver doesn't currently support  driving
33259243Sobrien			 * this reset line.  By specifying output-high here
33359243Sobrien			 * we're relying on the fact that this pin has a default
33459243Sobrien			 * pulldown at boot (which makes sure the pen was in
33559243Sobrien			 * reset if it was powered) and then we set it high here
33659243Sobrien			 * to take it out of reset.  Better would be if the pen
33759243Sobrien			 * driver could control this and we could remove
33859243Sobrien			 * "output-high" here.
33959243Sobrien			 */
34059243Sobrien			output-high;
34159243Sobrien		};
34259243Sobrien	};
34359243Sobrien};
34459243Sobrien
34559243Sobrien&cros_ec {
34659243Sobrien	cbas {
34759243Sobrien		compatible = "google,cros-cbas";
34859243Sobrien	};
34959243Sobrien
35059243Sobrien	keyboard-controller {
35159243Sobrien		compatible = "google,cros-ec-keyb-switches";
35259243Sobrien	};
35359243Sobrien};
35459243Sobrien
35559243Sobrien&qca_wifi {
35659243Sobrien	qcom,ath10k-calibration-variant = "LE_Krane";
357};
358
359&sound {
360	compatible = "mediatek,mt8183_mt6358_ts3a227_max98357";
361};
362