linux/arch/arm64/boot/dts/qcom/msm8916-motorola-harpia.dts

// SPDX-License-Identifier: GPL-2.0-only

/dts-v1/;

#include "msm8916-motorola-common.dtsi"

/ {
	model = "Motorola Moto G4 Play";
	compatible = "motorola,harpia", "qcom,msm8916";
	chassis-type = "handset";
};

&blsp_i2c1 {
	status = "okay";

	battery@36 {
		compatible = "maxim,max17050";
		reg = <0x36>;

		interrupts-extended = <&tlmm 62 IRQ_TYPE_EDGE_FALLING>;

		pinctrl-0 = <&battery_alert_default>;
		pinctrl-names = "default";

		maxim,rsns-microohm = <10000>;
		maxim,over-heat-temp = <600>;
		maxim,cold-temp = <(-200)>;
		maxim,dead-volt = <3200>;
		maxim,over-volt = <4500>;
	};

	/* charger@6b */
};

&blsp_i2c4 {
	status = "okay";

	accelerometer@19 {
		compatible = "bosch,bma253";
		reg = <0x19>;

		interrupts-extended = <&tlmm 115 IRQ_TYPE_EDGE_RISING>,
				      <&tlmm 119 IRQ_TYPE_EDGE_RISING>;

		vdd-supply = <&pm8916_l17>;
		vddio-supply = <&pm8916_l6>;

		mount-matrix = "1",  "0", "0",
			       "0", "-1", "0",
			       "0",  "0", "1";

		pinctrl-0 = <&accel_int_default>;
		pinctrl-names = "default";
	};

	/* proximity@49 */
};

&pm8916_codec {
	qcom,micbias-lvl = <2800>;
	qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
	qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
	qcom,micbias1-ext-cap;
};

&pm8916_rpm_regulators {
	pm8916_l17: l17 {
		regulator-min-microvolt = <2850000>;
		regulator-max-microvolt = <2850000>;
	};
};

&sdhc_2 {
	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
	pinctrl-names = "default", "sleep";

	cd-gpios = <&tlmm 118 GPIO_ACTIVE_LOW>;
};

&sound {
	audio-routing =
		"AMIC1", "MIC BIAS External1",
		"AMIC2", "MIC BIAS Internal2",
		"AMIC3", "MIC BIAS External1";

	pinctrl-0 = <&cdc_pdm_default &headset_switch_supply_en
		     &headset_switch_in>;
	pinctrl-1 = <&cdc_pdm_sleep &headset_switch_supply_en
		     &headset_switch_in>;
	pinctrl-names = "default", "sleep";
};

&touchscreen {
	interrupts-extended = <&tlmm 13 IRQ_TYPE_EDGE_FALLING>;

	vdd-supply = <&pm8916_l16>;

	pinctrl-0 = <&ts_int_default>;
	pinctrl-names = "default";
};

&tlmm {
	accel_int_default: accel-int-default-state {
		pins = "gpio115", "gpio119";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	battery_alert_default: battery-alert-default-state {
		pins = "gpio62";
		function = "gpio";
		drive-strength = <2>;
		bias-pull-up;
	};

	headset_switch_in: headset-switch-in-state {
		pins = "gpio112";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	headset_switch_supply_en: headset-switch-supply-en-state {
		pins = "gpio111";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-high;
	};

	sdc2_cd_default: sdc2-cd-default-state {
		pins = "gpio118";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	ts_int_default: ts-int-default-state {
		pins = "gpio13";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};
};