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

/ {
	model = "Sony Xperia Z1";
	compatible = "sony,xperia-honami", "qcom,msm8974";

	aliases {
		serial0 = &blsp1_uart2;
	};

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

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

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

		volume-down {
			label = "volume_down";
			gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
			linux,input-type = <1>;
			linux,code = <KEY_VOLUMEDOWN>;
		};

		camera-snapshot {
			label = "camera_snapshot";
			gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
			linux,input-type = <1>;
			linux,code = <KEY_CAMERA>;
		};

		camera-focus {
			label = "camera_focus";
			gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
			linux,input-type = <1>;
			linux,code = <KEY_CAMERA_FOCUS>;
		};

		volume-up {
			label = "volume_up";
			gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
			linux,input-type = <1>;
			linux,code = <KEY_VOLUMEUP>;
		};
	};

	memory@0 {
		reg = <0 0x40000000>, <0x40000000 0x40000000>;
		device_type = "memory";
	};

	smd {
		rpm {
			rpm_requests {
				pm8841-regulators {
					s1 {
						regulator-min-microvolt = <675000>;
						regulator-max-microvolt = <1050000>;
					};

					s2 {
						regulator-min-microvolt = <500000>;
						regulator-max-microvolt = <1050000>;
					};

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

					s4 {
						regulator-min-microvolt = <500000>;
						regulator-max-microvolt = <1050000>;
					};
				};

				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_l9_l10_l17_l22-supply = <&vreg_boost>;
					vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
					vdd_l21-supply = <&vreg_boost>;

					s1 {
						regulator-min-microvolt = <1300000>;
						regulator-max-microvolt = <1300000>;
						regulator-always-on;
						regulator-boot-on;
					};

					s2 {
						regulator-min-microvolt = <2150000>;
						regulator-max-microvolt = <2150000>;
						regulator-boot-on;
					};

					s3 {
						regulator-min-microvolt = <1800000>;
						regulator-max-microvolt = <1800000>;
						regulator-always-on;
						regulator-boot-on;
					};

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

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

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

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

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

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

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

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

						regulator-boot-on;
					};

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

						regulator-boot-on;
					};

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

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

					l11 {
						regulator-min-microvolt = <1300000>;
						regulator-max-microvolt = <1350000>;
					};

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

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

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

						regulator-boot-on;
					};

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

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

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

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

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

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

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

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

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

						regulator-boot-on;
					};

					l22 {
						regulator-min-microvolt = <3000000>;
						regulator-max-microvolt = <3000000>;
					};

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

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

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

&soc {
	usb@f9a55000 {
		status = "okay";

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

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

		ulpi {
			phy@a {
				status = "okay";

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

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

	sdhci@f9824900 {
		status = "okay";

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

		bus-width = <8>;
		non-removable;

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

	sdhci@f98a4900 {
		status = "okay";

		bus-width = <4>;

		vmmc-supply = <&pm8941_l21>;
		vqmmc-supply = <&pm8941_l13>;

		cd-gpios = <&msmgpio 62 GPIO_ACTIVE_LOW>;

		pinctrl-names = "default";
		pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
	};

	serial@f991e000 {
		status = "okay";

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

	i2c@f9924000 {
		status = "okay";

		clock-frequency = <355000>;
		qcom,src-freq = <50000000>;

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

		synaptics@2c {
			compatible = "syna,rmi4-i2c";
			reg = <0x2c>;

			interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>;

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

			vdd-supply = <&pm8941_l22>;
			vio-supply = <&pm8941_lvs3>;

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

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

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

			rmi4-f11@11 {
				reg = <0x11>;
				touchscreen-inverted-x;
				syna,sensor-type = <1>;
			};
		};
	};

	pinctrl@fd510000 {
		blsp1_uart2_pin_a: blsp1-uart2-pin-active {
			rx {
				pins = "gpio5";
				function = "blsp_uart2";

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

			tx {
				pins = "gpio4";
				function = "blsp_uart2";

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

		i2c2_pins: i2c2 {
			mux {
				pins = "gpio6", "gpio7";
				function = "blsp_i2c2";

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

		sdhc1_pin_a: sdhc1-pin-active {
			clk {
				pins = "sdc1_clk";
				drive-strength = <16>;
				bias-disable;
			};

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

		sdhc2_cd_pin_a: sdhc2-cd-pin-active {
			pins = "gpio62";
			function = "gpio";

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

		sdhc2_pin_a: sdhc2-pin-active {
			clk {
				pins = "sdc2_clk";
				drive-strength = <10>;
				bias-disable;
			};

			cmd-data {
				pins = "sdc2_cmd", "sdc2_data";
				drive-strength = <6>;
				bias-pull-up;
			};
		};

		ts_int_pin: touch-int {
			pin {
				pins = "gpio61";
				function = "gpio";

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

	dma-controller@f9944000 {
		qcom,controlled-remotely;
	};
};

&spmi_bus {
	pm8941@0 {
		charger@1000 {
			qcom,fast-charge-safe-current = <1500000>;
			qcom,fast-charge-current-limit = <1500000>;
			qcom,dc-current-limit = <1800000>;
			qcom,fast-charge-safe-voltage = <4400000>;
			qcom,fast-charge-high-threshold-voltage = <4350000>;
			qcom,fast-charge-low-threshold-voltage = <3400000>;
			qcom,auto-recharge-threshold-voltage = <4200000>;
			qcom,minimum-input-voltage = <4300000>;
		};

		gpios@c000 {
			gpio_keys_pin_a: gpio-keys-active {
				pins = "gpio2", "gpio3", "gpio4", "gpio5";
				function = "normal";

				bias-pull-up;
				power-source = <PM8941_GPIO_S3>;
			};
		};

		coincell@2800 {
			status = "okay";
			qcom,rset-ohms = <2100>;
			qcom,vset-millivolts = <3000>;
		};
	};

	pm8941@1 {
		wled@d800 {
			status = "okay";

			qcom,cs-out;
			qcom,current-limit = <20>;
			qcom,current-boost-limit = <805>;
			qcom,switching-freq = <1600>;
			qcom,ovp = <29>;
			qcom,num-strings = <2>;
		};
	};
};
