// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2021 Stephan Gerhold
 */

/dts-v1/;

#include "msm8916-pm8916.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/sound/apq8016-lpass.h>

/*
 * Note: The original firmware from Huawei can only boot 32-bit kernels.
 * To boot this device tree using arm64 it is necessary to flash 64-bit TZ/HYP
 * firmware (e.g. taken from the DragonBoard 410c).
 * See https://wiki.postmarketos.org/wiki/Huawei_Ascend_G7_(huawei-g7)
 * for suggested installation instructions.
 */

/ {
	model = "Huawei Ascend G7";
	compatible = "huawei,g7", "qcom,msm8916";
	chassis-type = "handset";

	aliases {
		serial0 = &blsp1_uart2;
	};

	chosen {
		stdout-path = "serial0";
	};

	gpio-keys {
		compatible = "gpio-keys";

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

		label = "GPIO Buttons";

		button-volume-up {
			label = "Volume Up";
			gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
		};
	};

	leds {
		compatible = "gpio-leds";

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

		led-0 {
			gpios = <&msmgpio 8 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_RED>;
			default-state = "off";
			function = LED_FUNCTION_INDICATOR;
		};

		led-1 {
			gpios = <&msmgpio 9 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_GREEN>;
			default-state = "off";
			function = LED_FUNCTION_INDICATOR;
		};

		led-2 {
			gpios = <&msmgpio 10 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_BLUE>;
			default-state = "off";
			function = LED_FUNCTION_INDICATOR;
		};
	};

	usb_id: usb-id {
		compatible = "linux,extcon-usb-gpio";
		id-gpio = <&msmgpio 117 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&usb_id_default>;
	};
};

&blsp_i2c2 {
	status = "okay";

	magnetometer@c {
		compatible = "asahi-kasei,ak09911";
		reg = <0x0c>;

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

		reset-gpios = <&msmgpio 36 GPIO_ACTIVE_LOW>;

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

	accelerometer@1e {
		compatible = "kionix,kx023-1025";
		reg = <0x1e>;

		interrupt-parent = <&msmgpio>;
		interrupts = <115 IRQ_TYPE_EDGE_RISING>;

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

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

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

	proximity@39 {
		compatible = "avago,apds9930";
		reg = <0x39>;

		interrupt-parent = <&msmgpio>;
		interrupts = <113 IRQ_TYPE_EDGE_FALLING>;

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

		led-max-microamp = <100000>;
		amstaos,proximity-diodes = <1>;

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

	regulator@3e {
		compatible = "ti,tps65132";
		reg = <0x3e>;

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

		reg_lcd_pos: outp {
			regulator-name = "outp";
			regulator-min-microvolt = <5400000>;
			regulator-max-microvolt = <5400000>;
			enable-gpios = <&msmgpio 97 GPIO_ACTIVE_HIGH>;
			regulator-active-discharge = <1>;
		};

		reg_lcd_neg: outn {
			regulator-name = "outn";
			regulator-min-microvolt = <5400000>;
			regulator-max-microvolt = <5400000>;
			enable-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
			regulator-active-discharge = <1>;
		};
	};
};

&blsp_i2c5 {
	status = "okay";

	rmi4@70 {
		compatible = "syna,rmi4-i2c";
		reg = <0x70>;
		#address-cells = <1>;
		#size-cells = <0>;

		interrupt-parent = <&msmgpio>;
		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;

		vdd-supply = <&pm8916_l17>;
		vio-supply = <&pm8916_l16>;

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

		syna,startup-delay-ms = <100>;

		rmi4-f01@1 {
			reg = <0x1>;
			syna,nosleep-mode = <1>; /* Allow sleeping */
		};

		rmi4-f11@11 {
			reg = <0x11>;
			syna,sensor-type = <1>; /* Touchscreen */
		};
	};
};

&blsp_i2c6 {
	status = "okay";

	nfc@28 {
		compatible = "nxp,pn547", "nxp,nxp-nci-i2c";
		reg = <0x28>;

		interrupt-parent = <&msmgpio>;
		interrupts = <21 IRQ_TYPE_EDGE_RISING>;

		enable-gpios = <&msmgpio 20 GPIO_ACTIVE_HIGH>;
		firmware-gpios = <&msmgpio 2 GPIO_ACTIVE_HIGH>;

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

&blsp1_uart2 {
	status = "okay";
};

&lpass {
	status = "okay";
};

&pm8916_resin {
	status = "okay";
	linux,code = <KEY_VOLUMEDOWN>;
};

&pm8916_vib {
	status = "okay";
};

&pronto {
	status = "okay";
};

&sdhc_1 {
	status = "okay";

	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
	pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
};

&sdhc_2 {
	status = "okay";

	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdhc2_cd_default>;
	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdhc2_cd_default>;

	/*
	 * The Huawei device tree sets cd-gpios = <&msmgpio 38 GPIO_ACTIVE_HIGH>.
	 * However, gpio38 does not change its state when inserting/removing the
	 * SD card, it's just low all the time. The Huawei kernel seems to use
	 * polling for SD card detection instead.
	 *
	 * However, looking closer at the GPIO debug output it turns out that
	 * gpio56 switches its state when inserting/removing the SD card.
	 * It behaves just like gpio38 normally does. Usually GPIO56 is used as
	 * "UIM2_PRESENT", i.e. to check if a second SIM card is inserted.
	 * Maybe Huawei decided to replace the second SIM card slot with the
	 * SD card slot and forgot to re-route to gpio38.
	 */
	cd-gpios = <&msmgpio 56 GPIO_ACTIVE_LOW>;
};

&sound {
	status = "okay";

	model = "msm8916";
	audio-routing =
		"AMIC1", "MIC BIAS External1",
		"AMIC2", "MIC BIAS External2",
		"AMIC3", "MIC BIAS External1";

	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&cdc_pdm_lines_act>;
	pinctrl-1 = <&cdc_pdm_lines_sus>;

	primary-dai-link {
		link-name = "WCD";
		cpu {
			sound-dai = <&lpass MI2S_PRIMARY>;
		};
		codec {
			sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
		};
	};

	tertiary-dai-link {
		link-name = "WCD-Capture";
		cpu {
			sound-dai = <&lpass MI2S_TERTIARY>;
		};
		codec {
			sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
		};
	};
};

&usb {
	status = "okay";
	extcon = <&usb_id>, <&usb_id>;
};

&usb_hs_phy {
	extcon = <&usb_id>;
};

&wcd_codec {
	qcom,micbias-lvl = <2800>;
	qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
	qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
	qcom,hphl-jack-type-normally-open;
};

&smd_rpm_regulators {
	vdd_l1_l2_l3-supply = <&pm8916_s3>;
	vdd_l4_l5_l6-supply = <&pm8916_s4>;
	vdd_l7-supply = <&pm8916_s4>;

	s3 {
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1300000>;
	};

	s4 {
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <2100000>;
	};

	l1 {
		regulator-min-microvolt = <1225000>;
		regulator-max-microvolt = <1225000>;
	};

	l2 {
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;
	};

	l4 {
		regulator-min-microvolt = <2050000>;
		regulator-max-microvolt = <2050000>;
	};

	l5 {
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	l6 {
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	l7 {
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	l8 {
		regulator-min-microvolt = <2950000>;
		regulator-max-microvolt = <2950000>;
	};

	l9 {
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	l10 {
		regulator-min-microvolt = <2700000>;
		regulator-max-microvolt = <2800000>;
	};

	l11 {
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <2950000>;
		regulator-allow-set-load;
		regulator-system-load = <200000>;
	};

	l12 {
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <2950000>;
	};

	l13 {
		regulator-min-microvolt = <3075000>;
		regulator-max-microvolt = <3075000>;
	};

	l14 {
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;
	};

	l15 {
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;
	};

	l16 {
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	l17 {
		regulator-min-microvolt = <2850000>;
		regulator-max-microvolt = <2850000>;
	};

	l18 {
		regulator-min-microvolt = <2700000>;
		regulator-max-microvolt = <2700000>;
	};
};

&msmgpio {
	accel_irq_default: accel-irq-default-state {
		pins = "gpio115";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};

	gpio_keys_default: gpio-keys-default-state {
		pins = "gpio107";
		function = "gpio";

		drive-strength = <2>;
		bias-pull-up;
	};

	gpio_leds_default: gpio-leds-default-state {
		pins = "gpio8", "gpio9", "gpio10";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};

	nfc_default: nfc-default-state {
		pins = "gpio2", "gpio20", "gpio21";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};

	mag_reset_default: mag-reset-default-state {
		pins = "gpio36";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};

	prox_irq_default: prox-irq-default-state {
		pins = "gpio113";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};

	reg_lcd_en_default: reg-lcd-en-default-state {
		pins = "gpio32", "gpio97";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};

	sdhc2_cd_default: sdhc2-cd-default-state {
		pins = "gpio56";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};

	ts_irq_default: ts-irq-default-state {
		pins = "gpio13";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};

	usb_id_default: usb-id-default-state {
		pins = "gpio117";
		function = "gpio";

		drive-strength = <8>;
		bias-pull-up;
	};
};
