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

/dts-v1/;

#include "msm8916-pm8916.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
	model = "Alcatel OneTouch Idol 3 (4.7)";
	compatible = "alcatel,idol347", "qcom,msm8916";

	aliases {
		serial0 = &blsp1_uart2;
	};

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

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

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

		label = "GPIO Buttons";

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

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

&blsp1_uart2 {
	status = "okay";
};

&blsp_i2c4 {
	status = "okay";

	touchscreen@26 {
		compatible = "mstar,msg2638";
		reg = <0x26>;
		interrupt-parent = <&msmgpio>;
		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
		reset-gpios = <&msmgpio 100 GPIO_ACTIVE_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&ts_int_reset_default>;
		vdd-supply = <&pm8916_l17>;
		vddio-supply = <&pm8916_l5>;
		touchscreen-size-x = <2048>;
		touchscreen-size-y = <2048>;
	};
};

&blsp_i2c5 {
	status = "okay";

	magnetometer@c {
		compatible = "asahi-kasei,ak09911";
		reg = <0x0c>;
		vdd-supply = <&pm8916_l17>;
		vid-supply = <&pm8916_l6>;
		reset-gpios = <&msmgpio 8 GPIO_ACTIVE_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&mag_reset_default>;
		mount-matrix = "0", "1", "0",
			       "-1", "0", "0",
			       "0", "0", "1";
	};

	accelerometer@f {
		compatible = "kionix,kxtj21009";
		reg = <0x0f>;
		vdd-supply = <&pm8916_l17>;
		vddio-supply = <&pm8916_l6>;
		interrupt-parent = <&msmgpio>;
		interrupts = <31 IRQ_TYPE_EDGE_RISING>;
		pinctrl-names = "default";
		pinctrl-0 = <&accel_int_default>;
		mount-matrix = "-1", "0", "0",
			       "0", "1", "0",
			       "0", "0", "-1";
	};

	proximity@48 {
		compatible = "sensortek,stk3310";
		reg = <0x48>;
		interrupt-parent = <&msmgpio>;
		interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
		pinctrl-names = "default";
		pinctrl-0 = <&proximity_int_default>;
	};

	gyroscope@68 {
		compatible = "bosch,bmg160";
		reg = <0x68>;
		vdd-supply = <&pm8916_l17>;
		vddio-supply = <&pm8916_l6>;
		interrupt-parent = <&msmgpio>;
		interrupts = <97 IRQ_TYPE_EDGE_RISING>,
			     <98 IRQ_TYPE_EDGE_RISING>;
		pinctrl-names = "default";
		pinctrl-0 = <&gyro_int_default>;
	};
};

&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 &sdc2_cd_on>;
	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;

	cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
};

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

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

&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 = <2850000>;
		regulator-max-microvolt = <2900000>;
	};

	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 = <3300000>;
	};

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

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

&msmgpio {
	accel_int_default: accel-int-default {
		pins = "gpio31";
		function = "gpio";

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

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

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

	gyro_int_default: gyro-int-default {
		pins = "gpio97", "gpio98";
		function = "gpio";

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

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

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

	proximity_int_default: proximity-int-default {
		pins = "gpio12";
		function = "gpio";

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

	ts_int_reset_default: ts-int-reset-default {
		pins = "gpio13", "gpio100";
		function = "gpio";

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

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

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