// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Google Lazor board device tree source
 *
 * Copyright 2020 Google LLC.
 */

ap_ec_spi: &spi6 {};
ap_h1_spi: &spi0 {};

#include "sc7180-trogdor.dtsi"

&ap_sar_sensor {
	semtech,cs0-ground;
	semtech,combined-sensors = <3>;
	semtech,resolution = "fine";
	semtech,startup-sensor = <0>;
	semtech,proxraw-strength = <8>;
	semtech,avg-pos-strength = <64>;
};

/*
 * Lazor is stuffed with a 47k NTC as charger thermistor which currently is
 * not supported by the PM6150 ADC driver. Disable the charger thermal zone
 * to avoid using bogus temperature values.
 */
&charger_thermal {
	status = "disabled";
};

ap_ts_pen_1v8: &i2c4 {
	status = "okay";
	clock-frequency = <400000>;

	ap_ts: touchscreen@10 {
		compatible = "hid-over-i2c";
		reg = <0x10>;
		pinctrl-names = "default";
		pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;

		interrupt-parent = <&tlmm>;
		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;

		post-power-on-delay-ms = <20>;
		hid-descr-addr = <0x0001>;

		vdd-supply = <&pp3300_ts>;
	};
};

&panel {
	compatible = "boe,nv133fhm-n62";
};

&pm6150_adc {
	status = "disabled";

	/delete-node/ charger-thermistor@4f;
};

&pm6150_adc_tm {
	status = "disabled";

	/delete-node/ charger-thermistor@0;
};

&trackpad {
	interrupts = <58 IRQ_TYPE_EDGE_FALLING>;
};

&wifi {
	qcom,ath10k-calibration-variant = "GO_LAZOR";
};

/* PINCTRL - modifications to sc7180-trogdor.dtsi */

&trackpad_int_1v8_odl {
	pinmux {
		pins = "gpio58";
	};

	pinconf {
		pins = "gpio58";
	};
};

&ts_reset_l {
	pinconf {
		/* This pin is not connected on -rev0, pull up to park. */
		/delete-property/bias-disable;
		bias-pull-up;
	};
};

/* PINCTRL - board-specific pinctrl */

&tlmm {
	gpio-line-names = "ESIM_MISO",
			  "ESIM_MOSI",
			  "ESIM_CLK",
			  "ESIM_CS_L",
			  "",
			  "",
			  "AP_TP_I2C_SDA",
			  "AP_TP_I2C_SCL",
			  "TS_RESET_L",
			  "TS_INT_L",
			  "",
			  "EDP_BRIJ_IRQ",
			  "AP_EDP_BKLTEN",
			  "AP_RAM_ID2",
			  "",
			  "EDP_BRIJ_I2C_SDA",
			  "EDP_BRIJ_I2C_SCL",
			  "HUB_RST_L",
			  "",
			  "AP_RAM_ID1",
			  "AP_SKU_ID2",
			  "",
			  "",
			  "AMP_EN",
			  "P_SENSOR_INT_L",
			  "AP_SAR_SENSOR_SDA",
			  "AP_SAR_SENSOR_SCL",
			  "",
			  "HP_IRQ",
			  "AP_RAM_ID0",
			  "EN_PP3300_DX_EDP",
			  "AP_BRD_ID2",
			  "BRIJ_SUSPEND",
			  "AP_BRD_ID0",
			  "AP_H1_SPI_MISO",
			  "AP_H1_SPI_MOSI",
			  "AP_H1_SPI_CLK",
			  "AP_H1_SPI_CS_L",
			  "",
			  "",
			  "",
			  "",
			  "H1_AP_INT_ODL",
			  "",
			  "UART_AP_TX_DBG_RX",
			  "UART_DBG_TX_AP_RX",
			  "HP_I2C_SDA",
			  "HP_I2C_SCL",
			  "FORCED_USB_BOOT",
			  "",
			  "",
			  "AMP_DIN",
			  "",
			  "HP_BCLK",
			  "HP_LRCLK",
			  "HP_DOUT",
			  "HP_DIN",
			  "HP_MCLK",
			  "TRACKPAD_INT_1V8_ODL",
			  "AP_EC_SPI_MISO",
			  "AP_EC_SPI_MOSI",
			  "AP_EC_SPI_CLK",
			  "AP_EC_SPI_CS_L",
			  "AP_SPI_CLK",
			  "AP_SPI_MOSI",
			  "AP_SPI_MISO",
			  /*
			   * AP_FLASH_WP_L is crossystem ABI. Schematics
			   * call it BIOS_FLASH_WP_L.
			   */
			  "AP_FLASH_WP_L",
			  "DBG_SPI_HOLD_L",
			  "AP_SPI_CS0_L",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "UIM2_DATA",
			  "UIM2_CLK",
			  "UIM2_RST",
			  "UIM2_PRESENT",
			  "UIM1_DATA",
			  "UIM1_CLK",
			  "UIM1_RST",
			  "",
			  "EN_PP3300_CODEC",
			  "EN_PP3300_HUB",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "AP_SKU_ID1",
			  "AP_RST_REQ",
			  "",
			  "AP_BRD_ID1",
			  "AP_EC_INT_L",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "EDP_BRIJ_EN",
			  "AP_SKU_ID0",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "",
			  "AP_TS_PEN_I2C_SDA",
			  "AP_TS_PEN_I2C_SCL",
			  "DP_HOT_PLUG_DET",
			  "EC_IN_RW_ODL";
};
