// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974pro.dtsi"
#include "pm8841.dtsi"
#include "pm8941.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>

/ {
	model = "OnePlus One";
	compatible = "oneplus,bacon", "qcom,msm8974pro", "qcom,msm8974";
	chassis-type = "handset";
	qcom,msm-id = <194 0x10000>;
	qcom,board-id = <8 0>;

	aliases {
		serial0 = &blsp1_uart2;
	};

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

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

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

		key-volume-down {
			label = "Volume Down";
			gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEDOWN>;
			wakeup-source;
			debounce-interval = <15>;
		};

		key-volume-up {
			label = "Volume Up";
			gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
			wakeup-source;
			debounce-interval = <15>;
		};

		event-hall-sensor {
			label = "Hall Effect Sensor";
			gpios = <&tlmm 68 GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_SW>;
			linux,code = <SW_LID>;
			linux,can-disable;
			debounce-interval = <150>;
		};
	};

	vreg_boost: vreg-boost {
		compatible = "regulator-fixed";

		regulator-name = "vreg-boost";
		regulator-min-microvolt = <3150000>;
		regulator-max-microvolt = <3150000>;

		regulator-always-on;
		regulator-boot-on;

		gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>;
		enable-active-high;

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

	vreg_vph_pwr: vreg-vph-pwr {
		compatible = "regulator-fixed";
		regulator-name = "vph-pwr";

		regulator-min-microvolt = <3600000>;
		regulator-max-microvolt = <3600000>;

		regulator-always-on;
	};
};

&blsp1_i2c1 {
	status = "okay";

	fuel-gauge@55 {
		compatible = "ti,bq27541";
		reg = <0x55>;
		power-supplies = <&bq24196_charger>;
	};
};

&blsp1_i2c2 {
	status = "okay";

	rmi4-i2c-dev@20 {
		compatible = "syna,rmi4-i2c";
		reg = <0x20>;

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

		interrupts-extended = <&tlmm 61 IRQ_TYPE_EDGE_FALLING>;
		vdd-supply = <&pm8941_l22>;
		vio-supply = <&pm8941_lvs3>;

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

		#address-cells = <1>;
		#size-cells = <0>;

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

		rmi4-f12@12 {
			reg = <0x12>;
			syna,sensor-type = <1>;
			/*
			 * Touchscreen size is 2040x1080, y-values between
			 * 1920-2040 are used for touchkey (menu, home & back).
			 * For now clip it off so we don't get touch events
			 * outside of the display area.
			 */
			syna,clip-y-high = <1920>;
		};
	};

	led-controller@36 {
		compatible = "ti,lm3630a";
		reg = <0x36>;

		#address-cells = <1>;
		#size-cells = <0>;

		led@0 {
			reg = <0>;
			led-sources = <0 1>;
			label = "lcd-backlight";
			default-brightness = <80>;
		};
	};

	led-controller@68 {
		compatible = "si-en,sn3193";
		reg = <0x68>;

		shutdown-gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;

		#address-cells = <1>;
		#size-cells = <0>;

		led@1 {
			reg = <1>;
			label = "red:status";
			led-max-microamp = <17500>;
		};

		led@2 {
			reg = <2>;
			label = "green:status";
			led-max-microamp = <17500>;
		};

		led@3 {
			reg = <3>;
			label = "blue:status";
			led-max-microamp = <17500>;
		};
	};
};

&blsp1_i2c6 {
	status = "okay";

	bq24196_charger: charger@6b {
		compatible = "ti,bq24196";
		reg = <0x6b>;
		interrupts-extended = <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
		omit-battery-class;
	};
};

&blsp1_uart2 {
	status = "okay";
};

&gcc {
	compatible = "qcom,gcc-msm8974pro-ac";
};

&pm8941_coincell {
	qcom,rset-ohms = <800>;
	qcom,vset-millivolts = <3200>;

	status = "okay";
};

&pm8941_gpios {
	gpio_keys_default: gpio-keys-active-state {
		pins = "gpio2", "gpio5";
		function = "normal";
		input-enable;
		bias-disable;
		power-source = <PM8941_GPIO_S3>;
	};
};

&pm8941_vib {
	status = "okay";
};

&pronto {
	vddmx-supply = <&pm8841_s1>;
	vddcx-supply = <&pm8841_s2>;
	vddpx-supply = <&pm8941_s3>;

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

	status = "okay";

	iris {
		vddxo-supply = <&pm8941_l6>;
		vddrfa-supply = <&pm8941_l11>;
		vddpa-supply = <&pm8941_l19>;
		vdddig-supply = <&pm8941_s3>;
	};

	smd-edge {
		qcom,remote-pid = <4>;
		label = "pronto";

		wcnss {
			status = "okay";
		};
	};
};

&remoteproc_adsp {
	cx-supply = <&pm8841_s2>;

	status = "okay";
};

&rpm_requests {
	regulators-0 {
		compatible = "qcom,rpm-pm8841-regulators";

		pm8841_s1: s1 {
			regulator-min-microvolt = <675000>;
			regulator-max-microvolt = <1050000>;
		};

		pm8841_s2: s2 {
			regulator-min-microvolt = <875000>;
			regulator-max-microvolt = <1050000>;
			regulator-always-on;
		};

		pm8841_s3: s3 {
			regulator-min-microvolt = <1050000>;
			regulator-max-microvolt = <1050000>;
		};
	};

	regulators-1 {
		compatible = "qcom,rpm-pm8941-regulators";

		vdd_l1_l3-supply = <&pm8941_s1>;
		vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
		vdd_l4_l11-supply = <&pm8941_s1>;
		vdd_l5_l7-supply = <&pm8941_s2>;
		vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
		vdd_l8_l16_l18_l19-supply = <&vreg_vph_pwr>;
		vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
		vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
		vdd_l21-supply = <&vreg_boost>;

		pm8941_s1: s1 {
			regulator-min-microvolt = <1300000>;
			regulator-max-microvolt = <1300000>;

			regulator-always-on;
			regulator-boot-on;
		};

		pm8941_s2: s2 {
			regulator-min-microvolt = <2150000>;
			regulator-max-microvolt = <2150000>;

			regulator-boot-on;
		};

		pm8941_s3: s3 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-system-load = <154000>;

			regulator-always-on;
			regulator-boot-on;
			regulator-allow-set-load;
		};

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

			regulator-always-on;
			regulator-boot-on;
		};

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

		pm8941_l3: l3 {
			regulator-min-microvolt = <1225000>;
			regulator-max-microvolt = <1225000>;
		};

		pm8941_l4: l4 {
			regulator-min-microvolt = <1225000>;
			regulator-max-microvolt = <1225000>;
		};

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

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

			regulator-boot-on;
		};

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

			regulator-boot-on;
		};

		pm8941_l8: l8 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		pm8941_l9: l9 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
		};

		pm8941_l10: l10 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
		};

		pm8941_l11: l11 {
			regulator-min-microvolt = <1225000>;
			regulator-max-microvolt = <1350000>;
		};

		pm8941_l12: l12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;

			regulator-always-on;
			regulator-boot-on;
			regulator-allow-set-load;
		};

		pm8941_l13: l13 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;

			regulator-boot-on;
		};

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

		pm8941_l15: l15 {
			regulator-min-microvolt = <2050000>;
			regulator-max-microvolt = <2050000>;
		};

		pm8941_l16: l16 {
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <2700000>;
		};

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

		pm8941_l18: l18 {
			regulator-min-microvolt = <2850000>;
			regulator-max-microvolt = <2850000>;
		};

		pm8941_l19: l19 {
			regulator-min-microvolt = <2900000>;
			regulator-max-microvolt = <3350000>;
		};

		pm8941_l20: l20 {
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;

			regulator-system-load = <200000>;
			regulator-allow-set-load;
			regulator-boot-on;
		};

		pm8941_l21: l21 {
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;

			regulator-boot-on;
		};

		pm8941_l22: l22 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
			regulator-allow-set-load;
		};

		pm8941_l23: l23 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
		};

		pm8941_l24: l24 {
			regulator-min-microvolt = <3075000>;
			regulator-max-microvolt = <3075000>;

			regulator-boot-on;
		};

		pm8941_lvs3: lvs3 {};
	};
};

&sdhc_1 {
	vmmc-supply = <&pm8941_l20>;
	vqmmc-supply = <&pm8941_s3>;

	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&sdc1_on>;
	pinctrl-1 = <&sdc1_off>;

	status = "okay";
};

&smbb {
	status = "okay";
};

&tlmm {
	gpio_hall_sensor_default: gpio-hall-sensor-default-state {
		pins = "gpio68";
		function = "gpio";
		drive-strength = <8>;
		bias-pull-up;
	};

	sdc1_on: sdc1-on-state {
		clk-pins {
			pins = "sdc1_clk";
			drive-strength = <4>;
			bias-disable;
		};

		cmd-data-pins {
			pins = "sdc1_cmd", "sdc1_data";
			drive-strength = <4>;
			bias-pull-up;
		};
	};

	touch_default_state: touch-default-state {
		int-pins {
			pins = "gpio61";
			function = "gpio";
			drive-strength = <2>;
			bias-disable;
		};

		reset-pins {
			pins = "gpio60";
			function = "gpio";
			drive-strength = <2>;
			bias-pull-up;
		};
	};

	wcnss_pin_a: wcnss-pin-active-state {
		wlan-pins {
			pins = "gpio36", "gpio37", "gpio38", "gpio39", "gpio40";
			function = "wlan";
			drive-strength = <6>;
			bias-pull-down;
		};

		bt-pins {
			pins = "gpio35", "gpio43", "gpio44";
			function = "bt";
			drive-strength = <2>;
			bias-pull-down;
		};
	};
};

&usb {
	phys = <&usb_hs1_phy>;
	phy-select = <&tcsr 0xb000 0>;
	extcon = <&smbb>, <&usb_id>;
	vbus-supply = <&chg_otg>;

	hnp-disable;
	srp-disable;
	adp-disable;

	status = "okay";
};

&usb_hs1_phy {
	status = "okay";

	v1p8-supply = <&pm8941_l6>;
	v3p3-supply = <&pm8941_l24>;

	extcon = <&smbb>;
	qcom,init-seq = /bits/ 8 <0x1 0x64>;
};
