// SPDX-License-Identifier: BSD-3-Clause
/*
 * sc7280 CRD board device tree source
 *
 * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
 */

/dts-v1/;

#include "sc7280-idp.dtsi"
#include "sc7280-idp-ec-h1.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. sc7280 CRD platform (rev3 - 4)";
	compatible = "qcom,sc7280-crd",
		     "google,hoglin-rev3", "google,hoglin-rev4",
		     "google,piglin-rev3", "google,piglin-rev4",
		     "qcom,sc7280";

	aliases {
		serial0 = &uart5;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};
};

&apps_rsc {
	regulators-2 {
		compatible = "qcom,pmg1110-rpmh-regulators";
		qcom,pmic-id = "k";

		vreg_s1k_1p0: smps1 {
			regulator-min-microvolt = <1010000>;
			regulator-max-microvolt = <1170000>;
		};
	};
};

ap_tp_i2c: &i2c0 {
	status = "okay";
	clock-frequency = <400000>;

	trackpad: trackpad@15 {
		compatible = "hid-over-i2c";
		reg = <0x15>;
		pinctrl-names = "default";
		pinctrl-0 = <&tp_int_odl>;

		interrupt-parent = <&tlmm>;
		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;

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

		wakeup-source;
	};
};

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

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

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

		post-power-on-delay-ms = <500>;
		hid-descr-addr = <0x0000>;

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

&nvme_3v3_regulator {
	gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
};

&nvme_pwren {
	pins = "gpio51";
};

&sound {
	audio-routing =
		"IN1_HPHL", "HPHL_OUT",
		"IN2_HPHR", "HPHR_OUT",
		"AMIC1", "MIC BIAS1",
		"AMIC2", "MIC BIAS2",
		"VA DMIC0", "MIC BIAS1",
		"VA DMIC1", "MIC BIAS1",
		"VA DMIC2", "MIC BIAS3",
		"VA DMIC3", "MIC BIAS3",
		"TX SWR_ADC0", "ADC1_OUTPUT",
		"TX SWR_ADC1", "ADC2_OUTPUT",
		"TX SWR_ADC2", "ADC3_OUTPUT",
		"TX SWR_DMIC0", "DMIC1_OUTPUT",
		"TX SWR_DMIC1", "DMIC2_OUTPUT",
		"TX SWR_DMIC2", "DMIC3_OUTPUT",
		"TX SWR_DMIC3", "DMIC4_OUTPUT",
		"TX SWR_DMIC4", "DMIC5_OUTPUT",
		"TX SWR_DMIC5", "DMIC6_OUTPUT",
		"TX SWR_DMIC6", "DMIC7_OUTPUT",
		"TX SWR_DMIC7", "DMIC8_OUTPUT";
};

&wcd9385 {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&wcd_reset_n>, <&us_euro_hs_sel>;
	pinctrl-1 = <&wcd_reset_n_sleep>, <&us_euro_hs_sel>;
	us-euro-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>;
};

&tlmm {
	tp_int_odl: tp-int-odl-state {
		pins = "gpio7";
		function = "gpio";
		bias-disable;
	};

	ts_int_l: ts-int-l-state {
		pins = "gpio55";
		function = "gpio";
		bias-pull-up;
	};

	ts_reset_l: ts-reset-l-state {
		pins = "gpio54";
		function = "gpio";
		bias-disable;
	};

	us_euro_hs_sel: us-euro-hs-sel-state {
		pins = "gpio81";
		function = "gpio";
		bias-pull-down;
		drive-strength = <2>;
	};
};