162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Google Quackingstick board device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright 2021 Google LLC.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/dts-v1/;
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#include "sc7180-trogdor.dtsi"
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/* This board only has 1 USB Type-C port. */
1362306a36Sopenharmony_ci/delete-node/ &usb_c1;
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci/ {
1662306a36Sopenharmony_ci	ppvar_lcd: ppvar-lcd-regulator {
1762306a36Sopenharmony_ci		compatible = "regulator-fixed";
1862306a36Sopenharmony_ci		regulator-name = "ppvar_lcd";
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci		gpio = <&tlmm 88 GPIO_ACTIVE_HIGH>;
2162306a36Sopenharmony_ci		enable-active-high;
2262306a36Sopenharmony_ci		pinctrl-names = "default";
2362306a36Sopenharmony_ci		pinctrl-0 = <&ppvar_lcd_en>;
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci		vin-supply = <&pp5000_a>;
2662306a36Sopenharmony_ci	};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	v1p8_disp: v1p8-disp-regulator {
2962306a36Sopenharmony_ci		compatible = "regulator-fixed";
3062306a36Sopenharmony_ci		regulator-name = "v1p8_disp";
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci		gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
3362306a36Sopenharmony_ci		enable-active-high;
3462306a36Sopenharmony_ci		pinctrl-names = "default";
3562306a36Sopenharmony_ci		pinctrl-0 = <&pp1800_disp_on>;
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci		vin-supply = <&pp3300_a>;
3862306a36Sopenharmony_ci	};
3962306a36Sopenharmony_ci};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci&backlight {
4262306a36Sopenharmony_ci	pwms = <&cros_ec_pwm 0>;
4362306a36Sopenharmony_ci};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci&camcc {
4662306a36Sopenharmony_ci	status = "okay";
4762306a36Sopenharmony_ci};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci&cros_ec {
5062306a36Sopenharmony_ci	keyboard-controller {
5162306a36Sopenharmony_ci		compatible = "google,cros-ec-keyb-switches";
5262306a36Sopenharmony_ci	};
5362306a36Sopenharmony_ci};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci&gpio_keys {
5662306a36Sopenharmony_ci	status = "okay";
5762306a36Sopenharmony_ci};
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci&i2c4 {
6062306a36Sopenharmony_ci	status = "okay";
6162306a36Sopenharmony_ci	clock-frequency = <400000>;
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci	ap_ts: touchscreen@10 {
6462306a36Sopenharmony_ci		compatible = "hid-over-i2c";
6562306a36Sopenharmony_ci		reg = <0x10>;
6662306a36Sopenharmony_ci		pinctrl-names = "default";
6762306a36Sopenharmony_ci		pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci		interrupt-parent = <&tlmm>;
7062306a36Sopenharmony_ci		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci		post-power-on-delay-ms = <20>;
7362306a36Sopenharmony_ci		hid-descr-addr = <0x0001>;
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci		vdd-supply = <&pp3300_ts>;
7662306a36Sopenharmony_ci	};
7762306a36Sopenharmony_ci};
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci&mdss_dsi0 {
8062306a36Sopenharmony_ci	panel: panel@0 {
8162306a36Sopenharmony_ci		/* Compatible will be filled in per-board */
8262306a36Sopenharmony_ci		reg = <0>;
8362306a36Sopenharmony_ci		enable-gpios = <&tlmm 87 GPIO_ACTIVE_HIGH>;
8462306a36Sopenharmony_ci		pinctrl-names = "default";
8562306a36Sopenharmony_ci		pinctrl-0 = <&lcd_rst>;
8662306a36Sopenharmony_ci		avdd-supply = <&ppvar_lcd>;
8762306a36Sopenharmony_ci		pp1800-supply = <&v1p8_disp>;
8862306a36Sopenharmony_ci		pp3300-supply = <&pp3300_dx_edp>;
8962306a36Sopenharmony_ci		backlight = <&backlight>;
9062306a36Sopenharmony_ci		rotation = <270>;
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci		port {
9362306a36Sopenharmony_ci			panel_in: endpoint {
9462306a36Sopenharmony_ci				remote-endpoint = <&mdss_dsi0_out>;
9562306a36Sopenharmony_ci			};
9662306a36Sopenharmony_ci		};
9762306a36Sopenharmony_ci	};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci	ports {
10062306a36Sopenharmony_ci		port@1 {
10162306a36Sopenharmony_ci			endpoint {
10262306a36Sopenharmony_ci				remote-endpoint = <&panel_in>;
10362306a36Sopenharmony_ci				data-lanes = <0 1 2 3>;
10462306a36Sopenharmony_ci			};
10562306a36Sopenharmony_ci		};
10662306a36Sopenharmony_ci	};
10762306a36Sopenharmony_ci};
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci&sdhc_2 {
11062306a36Sopenharmony_ci	status = "okay";
11162306a36Sopenharmony_ci};
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci&pp1800_uf_cam {
11462306a36Sopenharmony_ci	status = "okay";
11562306a36Sopenharmony_ci};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci&pp1800_wf_cam {
11862306a36Sopenharmony_ci	status = "okay";
11962306a36Sopenharmony_ci};
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci&pp2800_uf_cam {
12262306a36Sopenharmony_ci	status = "okay";
12362306a36Sopenharmony_ci};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci&pp2800_wf_cam {
12662306a36Sopenharmony_ci	status = "okay";
12762306a36Sopenharmony_ci};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci/*
13062306a36Sopenharmony_ci * No eDP on this board but it's logically the same signal so just give it
13162306a36Sopenharmony_ci * a new name and assign the proper GPIO.
13262306a36Sopenharmony_ci */
13362306a36Sopenharmony_cipp3300_disp_on: &pp3300_dx_edp {
13462306a36Sopenharmony_ci	gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
13562306a36Sopenharmony_ci};
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci/* PINCTRL - modifications to sc7180-trogdor.dtsi */
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci/*
14062306a36Sopenharmony_ci * No eDP on this board but it's logically the same signal so just give it
14162306a36Sopenharmony_ci * a new name and assign the proper GPIO.
14262306a36Sopenharmony_ci */
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_citp_en: &en_pp3300_dx_edp {
14562306a36Sopenharmony_ci	pins = "gpio67";
14662306a36Sopenharmony_ci};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci/* PINCTRL - board-specific pinctrl */
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci&tlmm {
15162306a36Sopenharmony_ci	gpio-line-names = "HUB_RST_L",
15262306a36Sopenharmony_ci			  "AP_RAM_ID0",
15362306a36Sopenharmony_ci			  "AP_SKU_ID2",
15462306a36Sopenharmony_ci			  "AP_RAM_ID1",
15562306a36Sopenharmony_ci			  "",
15662306a36Sopenharmony_ci			  "AP_RAM_ID2",
15762306a36Sopenharmony_ci			  "UF_CAM_EN",
15862306a36Sopenharmony_ci			  "WF_CAM_EN",
15962306a36Sopenharmony_ci			  "TS_RESET_L",
16062306a36Sopenharmony_ci			  "TS_INT_L",
16162306a36Sopenharmony_ci			  "",
16262306a36Sopenharmony_ci			  "",
16362306a36Sopenharmony_ci			  "AP_EDP_BKLTEN",
16462306a36Sopenharmony_ci			  "UF_CAM_MCLK",
16562306a36Sopenharmony_ci			  "WF_CAM_CLK",
16662306a36Sopenharmony_ci			  "EDP_BRIJ_I2C_SDA",
16762306a36Sopenharmony_ci			  "EDP_BRIJ_I2C_SCL",
16862306a36Sopenharmony_ci			  "UF_CAM_SDA",
16962306a36Sopenharmony_ci			  "UF_CAM_SCL",
17062306a36Sopenharmony_ci			  "WF_CAM_SDA",
17162306a36Sopenharmony_ci			  "WF_CAM_SCL",
17262306a36Sopenharmony_ci			  "",
17362306a36Sopenharmony_ci			  "",
17462306a36Sopenharmony_ci			  "AMP_EN",
17562306a36Sopenharmony_ci			  "P_SENSOR_INT_L",
17662306a36Sopenharmony_ci			  "AP_SAR_SENSOR_SDA",
17762306a36Sopenharmony_ci			  "AP_SAR_SENSOR_SCL",
17862306a36Sopenharmony_ci			  "",
17962306a36Sopenharmony_ci			  "HP_IRQ",
18062306a36Sopenharmony_ci			  "WF_CAM_RST_L",
18162306a36Sopenharmony_ci			  "UF_CAM_RST_L",
18262306a36Sopenharmony_ci			  "AP_BRD_ID2",
18362306a36Sopenharmony_ci			  "",
18462306a36Sopenharmony_ci			  "AP_BRD_ID0",
18562306a36Sopenharmony_ci			  "AP_H1_SPI_MISO",
18662306a36Sopenharmony_ci			  "AP_H1_SPI_MOSI",
18762306a36Sopenharmony_ci			  "AP_H1_SPI_CLK",
18862306a36Sopenharmony_ci			  "AP_H1_SPI_CS_L",
18962306a36Sopenharmony_ci			  "",
19062306a36Sopenharmony_ci			  "",
19162306a36Sopenharmony_ci			  "",
19262306a36Sopenharmony_ci			  "",
19362306a36Sopenharmony_ci			  "H1_AP_INT_ODL",
19462306a36Sopenharmony_ci			  "",
19562306a36Sopenharmony_ci			  "UART_AP_TX_DBG_RX",
19662306a36Sopenharmony_ci			  "UART_DBG_TX_AP_RX",
19762306a36Sopenharmony_ci			  "HP_I2C_SDA",
19862306a36Sopenharmony_ci			  "HP_I2C_SCL",
19962306a36Sopenharmony_ci			  "FORCED_USB_BOOT",
20062306a36Sopenharmony_ci			  "",
20162306a36Sopenharmony_ci			  "",
20262306a36Sopenharmony_ci			  "AMP_DIN",
20362306a36Sopenharmony_ci			  "PEN_DET_ODL",
20462306a36Sopenharmony_ci			  "HP_BCLK",
20562306a36Sopenharmony_ci			  "HP_LRCLK",
20662306a36Sopenharmony_ci			  "HP_DOUT",
20762306a36Sopenharmony_ci			  "HP_DIN",
20862306a36Sopenharmony_ci			  "HP_MCLK",
20962306a36Sopenharmony_ci			  "AP_SKU_ID0",
21062306a36Sopenharmony_ci			  "AP_EC_SPI_MISO",
21162306a36Sopenharmony_ci			  "AP_EC_SPI_MOSI",
21262306a36Sopenharmony_ci			  "AP_EC_SPI_CLK",
21362306a36Sopenharmony_ci			  "AP_EC_SPI_CS_L",
21462306a36Sopenharmony_ci			  "AP_SPI_CLK",
21562306a36Sopenharmony_ci			  "AP_SPI_MOSI",
21662306a36Sopenharmony_ci			  "AP_SPI_MISO",
21762306a36Sopenharmony_ci			  /*
21862306a36Sopenharmony_ci			   * AP_FLASH_WP_L is crossystem ABI. Schematics
21962306a36Sopenharmony_ci			   * call it BIOS_FLASH_WP_L.
22062306a36Sopenharmony_ci			   */
22162306a36Sopenharmony_ci			  "AP_FLASH_WP_L",
22262306a36Sopenharmony_ci			  "EN_PP3300_DX_EDP",
22362306a36Sopenharmony_ci			  "AP_SPI_CS0_L",
22462306a36Sopenharmony_ci			  "SD_CD_ODL",
22562306a36Sopenharmony_ci			  "",
22662306a36Sopenharmony_ci			  "",
22762306a36Sopenharmony_ci			  "",
22862306a36Sopenharmony_ci			  "",
22962306a36Sopenharmony_ci			  "",
23062306a36Sopenharmony_ci			  "UIM2_DATA",
23162306a36Sopenharmony_ci			  "UIM2_CLK",
23262306a36Sopenharmony_ci			  "UIM2_RST",
23362306a36Sopenharmony_ci			  "UIM2_PRESENT_L",
23462306a36Sopenharmony_ci			  "UIM1_DATA",
23562306a36Sopenharmony_ci			  "UIM1_CLK",
23662306a36Sopenharmony_ci			  "UIM1_RST",
23762306a36Sopenharmony_ci			  "",
23862306a36Sopenharmony_ci			  "CODEC_PWR_EN",
23962306a36Sopenharmony_ci			  "HUB_EN",
24062306a36Sopenharmony_ci			  "",
24162306a36Sopenharmony_ci			  "PP1800_DISP_ON",
24262306a36Sopenharmony_ci			  "LCD_RST",
24362306a36Sopenharmony_ci			  "PPVAR_LCD_EN",
24462306a36Sopenharmony_ci			  "",
24562306a36Sopenharmony_ci			  "AP_SKU_ID1",
24662306a36Sopenharmony_ci			  "AP_RST_REQ",
24762306a36Sopenharmony_ci			  "",
24862306a36Sopenharmony_ci			  "AP_BRD_ID1",
24962306a36Sopenharmony_ci			  "AP_EC_INT_L",
25062306a36Sopenharmony_ci			  "",
25162306a36Sopenharmony_ci			  "",
25262306a36Sopenharmony_ci			  "",
25362306a36Sopenharmony_ci			  "",
25462306a36Sopenharmony_ci			  "",
25562306a36Sopenharmony_ci			  "",
25662306a36Sopenharmony_ci			  "",
25762306a36Sopenharmony_ci			  "",
25862306a36Sopenharmony_ci			  "",
25962306a36Sopenharmony_ci			  "",
26062306a36Sopenharmony_ci			  "",
26162306a36Sopenharmony_ci			  "",
26262306a36Sopenharmony_ci			  "",
26362306a36Sopenharmony_ci			  "",
26462306a36Sopenharmony_ci			  "",
26562306a36Sopenharmony_ci			  "",
26662306a36Sopenharmony_ci			  "",
26762306a36Sopenharmony_ci			  "",
26862306a36Sopenharmony_ci			  "",
26962306a36Sopenharmony_ci			  "",
27062306a36Sopenharmony_ci			  "AP_TS_I2C_SDA",
27162306a36Sopenharmony_ci			  "AP_TS_I2C_SCL",
27262306a36Sopenharmony_ci			  "DP_HOT_PLUG_DET",
27362306a36Sopenharmony_ci			  "EC_IN_RW_ODL";
27462306a36Sopenharmony_ci
27562306a36Sopenharmony_ci	lcd_rst: lcd-rst-state {
27662306a36Sopenharmony_ci		pins = "gpio87";
27762306a36Sopenharmony_ci		function = "gpio";
27862306a36Sopenharmony_ci		drive-strength = <2>;
27962306a36Sopenharmony_ci		bias-disable;
28062306a36Sopenharmony_ci	};
28162306a36Sopenharmony_ci
28262306a36Sopenharmony_ci	ppvar_lcd_en: ppvar-lcd-en-state {
28362306a36Sopenharmony_ci		pins = "gpio88";
28462306a36Sopenharmony_ci		function = "gpio";
28562306a36Sopenharmony_ci		drive-strength = <2>;
28662306a36Sopenharmony_ci		bias-disable;
28762306a36Sopenharmony_ci	};
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci	pp1800_disp_on: pp1800-disp-on-state {
29062306a36Sopenharmony_ci		pins = "gpio86";
29162306a36Sopenharmony_ci		function = "gpio";
29262306a36Sopenharmony_ci		drive-strength = <2>;
29362306a36Sopenharmony_ci		bias-disable;
29462306a36Sopenharmony_ci	};
29562306a36Sopenharmony_ci};
296