162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Google Homestar board device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright 2021 Google LLC.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/* This file must be included after sc7180-trogdor.dtsi */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/ {
1162306a36Sopenharmony_ci	/* BOARD-SPECIFIC TOP LEVEL NODES */
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	max98360a_1: amplifier-1 {
1462306a36Sopenharmony_ci		compatible = "maxim,max98360a";
1562306a36Sopenharmony_ci		#sound-dai-cells = <0>;
1662306a36Sopenharmony_ci	};
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	max98360a_2: amplifier-2 {
1962306a36Sopenharmony_ci		compatible = "maxim,max98360a";
2062306a36Sopenharmony_ci		#sound-dai-cells = <0>;
2162306a36Sopenharmony_ci	};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	max98360a_3: amplifier-3 {
2462306a36Sopenharmony_ci		compatible = "maxim,max98360a";
2562306a36Sopenharmony_ci		#sound-dai-cells = <0>;
2662306a36Sopenharmony_ci	};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	pp3300_touch: pp3300-touch-regulator {
2962306a36Sopenharmony_ci		compatible = "regulator-fixed";
3062306a36Sopenharmony_ci		regulator-name = "pp3300_touch";
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
3362306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci		gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>;
3662306a36Sopenharmony_ci		enable-active-high;
3762306a36Sopenharmony_ci		pinctrl-names = "default";
3862306a36Sopenharmony_ci		pinctrl-0 = <&en_pp3300_touch>;
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		vin-supply = <&pp3300_a>;
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	thermal-zones {
4462306a36Sopenharmony_ci		skin_temp_thermal: skin-temp-thermal {
4562306a36Sopenharmony_ci			polling-delay-passive = <250>;
4662306a36Sopenharmony_ci			polling-delay = <0>;
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci			thermal-sensors = <&pm6150_adc_tm 1>;
4962306a36Sopenharmony_ci			sustainable-power = <965>;
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci			trips {
5262306a36Sopenharmony_ci				skin_temp_alert0: trip-point0 {
5362306a36Sopenharmony_ci					temperature = <55000>;
5462306a36Sopenharmony_ci					hysteresis = <1000>;
5562306a36Sopenharmony_ci					type = "passive";
5662306a36Sopenharmony_ci				};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci				skin_temp_alert1: trip-point1 {
5962306a36Sopenharmony_ci					temperature = <58000>;
6062306a36Sopenharmony_ci					hysteresis = <1000>;
6162306a36Sopenharmony_ci					type = "passive";
6262306a36Sopenharmony_ci				};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci				skin-temp-crit {
6562306a36Sopenharmony_ci					temperature = <73000>;
6662306a36Sopenharmony_ci					hysteresis = <1000>;
6762306a36Sopenharmony_ci					type = "critical";
6862306a36Sopenharmony_ci				};
6962306a36Sopenharmony_ci			};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci			cooling-maps {
7262306a36Sopenharmony_ci				map0 {
7362306a36Sopenharmony_ci					trip = <&skin_temp_alert0>;
7462306a36Sopenharmony_ci					cooling-device = <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
7562306a36Sopenharmony_ci							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
7662306a36Sopenharmony_ci				};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci				map1 {
7962306a36Sopenharmony_ci					trip = <&skin_temp_alert1>;
8062306a36Sopenharmony_ci					cooling-device = <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
8162306a36Sopenharmony_ci							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
8262306a36Sopenharmony_ci				};
8362306a36Sopenharmony_ci			};
8462306a36Sopenharmony_ci		};
8562306a36Sopenharmony_ci	};
8662306a36Sopenharmony_ci};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci/*
8962306a36Sopenharmony_ci * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES
9062306a36Sopenharmony_ci *
9162306a36Sopenharmony_ci * Sort order matches the order in the parent files (parents before children).
9262306a36Sopenharmony_ci */
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci&pp3300_dx_edp {
9562306a36Sopenharmony_ci	/*
9662306a36Sopenharmony_ci	 * The atna33xc20 really likes to be power cycled to keep it from
9762306a36Sopenharmony_ci	 * getting in a bad state. This is the reason that the touchscreen
9862306a36Sopenharmony_ci	 * rail and eDP rails are separate from each other on homestar (but
9962306a36Sopenharmony_ci	 * not other trogdor devices) Make sure it starts "off" at bootup.
10062306a36Sopenharmony_ci	 */
10162306a36Sopenharmony_ci	/delete-property/ regulator-boot-on;
10262306a36Sopenharmony_ci};
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ciap_ts_pen_1v8: &i2c4 {
10762306a36Sopenharmony_ci	status = "okay";
10862306a36Sopenharmony_ci	clock-frequency = <400000>;
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci	ap_ts: touchscreen@14 {
11162306a36Sopenharmony_ci		compatible = "goodix,gt7375p";
11262306a36Sopenharmony_ci		reg = <0x14>;
11362306a36Sopenharmony_ci		pinctrl-names = "default";
11462306a36Sopenharmony_ci		pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci		interrupt-parent = <&tlmm>;
11762306a36Sopenharmony_ci		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci		reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci		vdd-supply = <&pp3300_touch>;
12262306a36Sopenharmony_ci	};
12362306a36Sopenharmony_ci};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci/* Panel controls backlight over aux channel */
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci&backlight {
12862306a36Sopenharmony_ci	status = "disabled";
12962306a36Sopenharmony_ci};
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci&camcc {
13262306a36Sopenharmony_ci	status = "okay";
13362306a36Sopenharmony_ci};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci&cros_ec {
13662306a36Sopenharmony_ci	keyboard-controller {
13762306a36Sopenharmony_ci		compatible = "google,cros-ec-keyb-switches";
13862306a36Sopenharmony_ci	};
13962306a36Sopenharmony_ci};
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci&panel {
14262306a36Sopenharmony_ci	compatible = "samsung,atna33xc20";
14362306a36Sopenharmony_ci	enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
14462306a36Sopenharmony_ci	/delete-property/ backlight;
14562306a36Sopenharmony_ci};
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci&pm6150_adc {
14862306a36Sopenharmony_ci	channel@4d {
14962306a36Sopenharmony_ci		reg = <ADC5_AMUX_THM1_100K_PU>;
15062306a36Sopenharmony_ci		qcom,ratiometric;
15162306a36Sopenharmony_ci		qcom,hw-settle-time = <200>;
15262306a36Sopenharmony_ci		label = "skin_therm";
15362306a36Sopenharmony_ci	};
15462306a36Sopenharmony_ci};
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci&pm6150_adc_tm {
15762306a36Sopenharmony_ci	status = "okay";
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci	skin-temp-thermistor@1 {
16062306a36Sopenharmony_ci		reg = <1>;
16162306a36Sopenharmony_ci		io-channels = <&pm6150_adc ADC5_AMUX_THM1_100K_PU>;
16262306a36Sopenharmony_ci		qcom,ratiometric;
16362306a36Sopenharmony_ci		qcom,hw-settle-time-us = <200>;
16462306a36Sopenharmony_ci	};
16562306a36Sopenharmony_ci};
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci&pp1800_uf_cam {
16862306a36Sopenharmony_ci	status = "okay";
16962306a36Sopenharmony_ci};
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci&pp1800_wf_cam {
17262306a36Sopenharmony_ci	status = "okay";
17362306a36Sopenharmony_ci};
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci&pp2800_uf_cam {
17662306a36Sopenharmony_ci	status = "okay";
17762306a36Sopenharmony_ci};
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ci&pp2800_wf_cam {
18062306a36Sopenharmony_ci	status = "okay";
18162306a36Sopenharmony_ci};
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci&pp3300_dx_edp {
18462306a36Sopenharmony_ci	gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
18562306a36Sopenharmony_ci};
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci&secondary_mi2s {
18862306a36Sopenharmony_ci	qcom,playback-sd-lines = <0 1>;
18962306a36Sopenharmony_ci};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci&sound_multimedia1_codec {
19262306a36Sopenharmony_ci	sound-dai = <&max98360a>, <&max98360a_1>, <&max98360a_2>, <&max98360a_3> ;
19362306a36Sopenharmony_ci};
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci&wifi {
19662306a36Sopenharmony_ci	qcom,ath10k-calibration-variant = "GO_HOMESTAR";
19762306a36Sopenharmony_ci};
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci/* PINCTRL - modifications to sc7180-trogdor.dtsi */
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci&en_pp3300_dx_edp {
20262306a36Sopenharmony_ci	pins = "gpio67";
20362306a36Sopenharmony_ci};
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ci&sec_mi2s_active {
20662306a36Sopenharmony_ci	pins = "gpio49", "gpio50", "gpio51", "gpio52";
20762306a36Sopenharmony_ci};
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci&ts_reset_l {
21062306a36Sopenharmony_ci	/*
21162306a36Sopenharmony_ci	 * We want reset state by default and it will be up to the
21262306a36Sopenharmony_ci	 * driver to disable this when it's ready.
21362306a36Sopenharmony_ci	 */
21462306a36Sopenharmony_ci	output-low;
21562306a36Sopenharmony_ci};
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci/* PINCTRL - board-specific pinctrl */
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ci&tlmm {
22062306a36Sopenharmony_ci	gpio-line-names = "HUB_RST_L",
22162306a36Sopenharmony_ci			  "AP_RAM_ID0",
22262306a36Sopenharmony_ci			  "AP_SKU_ID2",
22362306a36Sopenharmony_ci			  "AP_RAM_ID1",
22462306a36Sopenharmony_ci			  "",
22562306a36Sopenharmony_ci			  "AP_RAM_ID2",
22662306a36Sopenharmony_ci			  "UF_CAM_EN",
22762306a36Sopenharmony_ci			  "WF_CAM_EN",
22862306a36Sopenharmony_ci			  "TS_RESET_L",
22962306a36Sopenharmony_ci			  "TS_INT_L",
23062306a36Sopenharmony_ci			  "",
23162306a36Sopenharmony_ci			  "EDP_BRIJ_IRQ",
23262306a36Sopenharmony_ci			  "AP_EDP_BKLTEN",
23362306a36Sopenharmony_ci			  "UF_CAM_MCLK",
23462306a36Sopenharmony_ci			  "WF_CAM_CLK",
23562306a36Sopenharmony_ci			  "EDP_BRIJ_I2C_SDA",
23662306a36Sopenharmony_ci			  "EDP_BRIJ_I2C_SCL",
23762306a36Sopenharmony_ci			  "UF_CAM_SDA",
23862306a36Sopenharmony_ci			  "UF_CAM_SCL",
23962306a36Sopenharmony_ci			  "WF_CAM_SDA",
24062306a36Sopenharmony_ci			  "WF_CAM_SCL",
24162306a36Sopenharmony_ci			  "AVEE_LCD_EN",
24262306a36Sopenharmony_ci			  "",
24362306a36Sopenharmony_ci			  "AMP_EN",
24462306a36Sopenharmony_ci			  "AMP_EN2",
24562306a36Sopenharmony_ci			  "AP_SAR_SENSOR_SDA",
24662306a36Sopenharmony_ci			  "AP_SAR_SENSOR_SCL",
24762306a36Sopenharmony_ci			  "SEL_LCM",
24862306a36Sopenharmony_ci			  "HP_IRQ",
24962306a36Sopenharmony_ci			  "WF_CAM_RST_L",
25062306a36Sopenharmony_ci			  "UF_CAM_RST_L",
25162306a36Sopenharmony_ci			  "AP_BRD_ID2",
25262306a36Sopenharmony_ci			  "BRIJ_SUSPEND",
25362306a36Sopenharmony_ci			  "AP_BRD_ID0",
25462306a36Sopenharmony_ci			  "AP_H1_SPI_MISO",
25562306a36Sopenharmony_ci			  "AP_H1_SPI_MOSI",
25662306a36Sopenharmony_ci			  "AP_H1_SPI_CLK",
25762306a36Sopenharmony_ci			  "AP_H1_SPI_CS_L",
25862306a36Sopenharmony_ci			  "BT_UART_CTS",
25962306a36Sopenharmony_ci			  "BT_UART_RTS",
26062306a36Sopenharmony_ci			  "BT_UART_TXD",
26162306a36Sopenharmony_ci			  "BT_UART_RXD",
26262306a36Sopenharmony_ci			  "H1_AP_INT_ODL",
26362306a36Sopenharmony_ci			  "",
26462306a36Sopenharmony_ci			  "UART_AP_TX_DBG_RX",
26562306a36Sopenharmony_ci			  "UART_DBG_TX_AP_RX",
26662306a36Sopenharmony_ci			  "HP_I2C_SDA",
26762306a36Sopenharmony_ci			  "HP_I2C_SCL",
26862306a36Sopenharmony_ci			  "FORCED_USB_BOOT",
26962306a36Sopenharmony_ci			  "AMP_BCLK",
27062306a36Sopenharmony_ci			  "AMP_LRCLK",
27162306a36Sopenharmony_ci			  "AMP_DIN",
27262306a36Sopenharmony_ci			  "AMP_DIN_2",
27362306a36Sopenharmony_ci			  "HP_BCLK",
27462306a36Sopenharmony_ci			  "HP_LRCLK",
27562306a36Sopenharmony_ci			  "HP_DOUT",
27662306a36Sopenharmony_ci			  "HP_DIN",
27762306a36Sopenharmony_ci			  "HP_MCLK",
27862306a36Sopenharmony_ci			  "AP_SKU_ID0",
27962306a36Sopenharmony_ci			  "AP_EC_SPI_MISO",
28062306a36Sopenharmony_ci			  "AP_EC_SPI_MOSI",
28162306a36Sopenharmony_ci			  "AP_EC_SPI_CLK",
28262306a36Sopenharmony_ci			  "AP_EC_SPI_CS_L",
28362306a36Sopenharmony_ci			  "AP_SPI_CLK",
28462306a36Sopenharmony_ci			  "AP_SPI_MOSI",
28562306a36Sopenharmony_ci			  "AP_SPI_MISO",
28662306a36Sopenharmony_ci			  /*
28762306a36Sopenharmony_ci			   * AP_FLASH_WP_L is crossystem ABI. Schematics
28862306a36Sopenharmony_ci			   * call it BIOS_FLASH_WP_L.
28962306a36Sopenharmony_ci			   */
29062306a36Sopenharmony_ci			  "AP_FLASH_WP_L",
29162306a36Sopenharmony_ci			  "EN_PP3300_DX_EDP",
29262306a36Sopenharmony_ci			  "AP_SPI_CS0_L",
29362306a36Sopenharmony_ci			  "SD_CD_ODL",
29462306a36Sopenharmony_ci			  "",
29562306a36Sopenharmony_ci			  "",
29662306a36Sopenharmony_ci			  "",
29762306a36Sopenharmony_ci			  "WLAN_SW_CTRL",
29862306a36Sopenharmony_ci			  "",
29962306a36Sopenharmony_ci			  "REPORT_E",
30062306a36Sopenharmony_ci			  "VDD_RESET_1.8V",
30162306a36Sopenharmony_ci			  "ID0",
30262306a36Sopenharmony_ci			  "",
30362306a36Sopenharmony_ci			  "ID1",
30462306a36Sopenharmony_ci			  "AVDD_LCD_EN",
30562306a36Sopenharmony_ci			  "MIPI_1.8V_EN",
30662306a36Sopenharmony_ci			  "",
30762306a36Sopenharmony_ci			  "CODEC_PWR_EN",
30862306a36Sopenharmony_ci			  "HUB_EN",
30962306a36Sopenharmony_ci			  "",
31062306a36Sopenharmony_ci			  "PP1800_MIPI_SW_EN",
31162306a36Sopenharmony_ci			  "EN_PP3300_TOUCH",
31262306a36Sopenharmony_ci			  "",
31362306a36Sopenharmony_ci			  "",
31462306a36Sopenharmony_ci			  "AP_SKU_ID1",
31562306a36Sopenharmony_ci			  "AP_RST_REQ",
31662306a36Sopenharmony_ci			  "",
31762306a36Sopenharmony_ci			  "AP_BRD_ID1",
31862306a36Sopenharmony_ci			  "AP_EC_INT_L",
31962306a36Sopenharmony_ci			  "SDM_GRFC_3",
32062306a36Sopenharmony_ci			  "",
32162306a36Sopenharmony_ci			  "",
32262306a36Sopenharmony_ci			  "BOOT_CONFIG_4",
32362306a36Sopenharmony_ci			  "BOOT_CONFIG_2",
32462306a36Sopenharmony_ci			  "",
32562306a36Sopenharmony_ci			  "",
32662306a36Sopenharmony_ci			  "",
32762306a36Sopenharmony_ci			  "",
32862306a36Sopenharmony_ci			  "EDP_BRIJ_EN",
32962306a36Sopenharmony_ci			  "",
33062306a36Sopenharmony_ci			  "",
33162306a36Sopenharmony_ci			  "BOOT_CONFIG_3",
33262306a36Sopenharmony_ci			  "WCI2_LTE_COEX_TXD",
33362306a36Sopenharmony_ci			  "WCI2_LTE_COEX_RXD",
33462306a36Sopenharmony_ci			  "",
33562306a36Sopenharmony_ci			  "",
33662306a36Sopenharmony_ci			  "",
33762306a36Sopenharmony_ci			  "",
33862306a36Sopenharmony_ci			  "FORCED_USB_BOOT_POL",
33962306a36Sopenharmony_ci			  "AP_TS_PEN_I2C_SDA",
34062306a36Sopenharmony_ci			  "AP_TS_PEN_I2C_SCL",
34162306a36Sopenharmony_ci			  "DP_HOT_PLUG_DET",
34262306a36Sopenharmony_ci			  "EC_IN_RW_ODL";
34362306a36Sopenharmony_ci
34462306a36Sopenharmony_ci	en_pp3300_touch: en-pp3300-touch-state {
34562306a36Sopenharmony_ci		pins = "gpio87";
34662306a36Sopenharmony_ci		function = "gpio";
34762306a36Sopenharmony_ci		drive-strength = <2>;
34862306a36Sopenharmony_ci		bias-disable;
34962306a36Sopenharmony_ci	};
35062306a36Sopenharmony_ci};
351