// 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/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>

/ {
	model = "Sony Xperia Z2 Tablet";
	compatible = "sony,xperia-castor", "qcom,msm8974pro", "qcom,msm8974";
	chassis-type = "tablet";

	aliases {
		serial0 = &blsp1_uart2;
		serial1 = &blsp2_uart1;
	};

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

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

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

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

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

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

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

	vreg_bl_vddio: lcd-backlight-vddio {
		compatible = "regulator-fixed";
		regulator-name = "vreg_bl_vddio";
		regulator-min-microvolt = <3150000>;
		regulator-max-microvolt = <3150000>;

		gpio = <&tlmm 69 0>;
		enable-active-high;

		vin-supply = <&pm8941_s3>;
		startup-delay-us = <70000>;

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

	vreg_vsp: lcd-dcdc-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vreg_vsp";
		regulator-min-microvolt = <5600000>;
		regulator-max-microvolt = <5600000>;

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

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

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

	vreg_wlan: wlan-regulator {
		compatible = "regulator-fixed";

		regulator-name = "wl-reg";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

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

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

&blsp1_uart2 {
	status = "okay";
};

&blsp2_i2c2 {
	status = "okay";
	clock-frequency = <355000>;

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

		interrupt-parent = <&tlmm>;
		interrupts = <86 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 = <100>;

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

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

&blsp2_i2c5 {
	status = "okay";
	clock-frequency = <355000>;

	lp8566_wled: backlight@2c {
		compatible = "ti,lp8556";
		reg = <0x2c>;
		power-supply = <&vreg_bl_vddio>;

		bl-name = "backlight";
		dev-ctrl = /bits/ 8 <0x05>;
		init-brt = /bits/ 8 <0x3f>;

		rom-a0h {
			rom-addr = /bits/ 8 <0xa0>;
			rom-val = /bits/ 8 <0xff>;
		};
		rom-a1h {
			rom-addr = /bits/ 8 <0xa1>;
			rom-val = /bits/ 8 <0x3f>;
		};
		rom-a2h {
			rom-addr = /bits/ 8 <0xa2>;
			rom-val = /bits/ 8 <0x20>;
		};
		rom-a3h {
			rom-addr = /bits/ 8 <0xa3>;
			rom-val = /bits/ 8 <0x5e>;
		};
		rom-a4h {
			rom-addr = /bits/ 8 <0xa4>;
			rom-val = /bits/ 8 <0x02>;
		};
		rom-a5h {
			rom-addr = /bits/ 8 <0xa5>;
			rom-val = /bits/ 8 <0x04>;
		};
		rom-a6h {
			rom-addr = /bits/ 8 <0xa6>;
			rom-val = /bits/ 8 <0x80>;
		};
		rom-a7h {
			rom-addr = /bits/ 8 <0xa7>;
			rom-val = /bits/ 8 <0xf7>;
		};
		rom-a9h {
			rom-addr = /bits/ 8 <0xa9>;
			rom-val = /bits/ 8 <0x80>;
		};
		rom-aah {
			rom-addr = /bits/ 8 <0xaa>;
			rom-val = /bits/ 8 <0x0f>;
		};
		rom-aeh {
			rom-addr = /bits/ 8 <0xae>;
			rom-val = /bits/ 8 <0x0f>;
		};
	};
};

&blsp2_uart1 {
	status = "okay";

	bluetooth {
		compatible = "brcm,bcm43438-bt";
		max-speed = <3000000>;

		pinctrl-names = "default";
		pinctrl-0 = <&bt_host_wake_pin>, <&bt_dev_wake_pin>, <&bt_reg_on_pin>;

		host-wakeup-gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
		device-wakeup-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
		shutdown-gpios = <&pm8941_gpios 16 GPIO_ACTIVE_HIGH>;
	};
};

&pm8941_coincell {
	status = "okay";

	qcom,rset-ohms = <2100>;
	qcom,vset-millivolts = <3000>;
};

&pm8941_gpios {
	gpio_keys_pin_a: gpio-keys-active-state {
		pins = "gpio2", "gpio5";
		function = "normal";

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

	bt_reg_on_pin: bt-reg-on-state {
		pins = "gpio16";
		function = "normal";

		output-low;
		power-source = <PM8941_GPIO_S3>;
	};

	wlan_sleep_clk_pin: wl-sleep-clk-state {
		pins = "gpio17";
		function = "func2";

		output-high;
		power-source = <PM8941_GPIO_S3>;
	};

	wlan_regulator_pin: wl-reg-active-state {
		pins = "gpio18";
		function = "normal";

		bias-disable;
		power-source = <PM8941_GPIO_S3>;
	};

	lcd_dcdc_en_pin_a: lcd-dcdc-en-active-state {
		pins = "gpio20";
		function = "normal";

		bias-disable;
		power-source = <PM8941_GPIO_S3>;
		input-disable;
		output-low;
	};

};

&pm8941_lpg {
	status = "okay";

	qcom,power-source = <1>;

	multi-led {
		color = <LED_COLOR_ID_RGB>;
		function = LED_FUNCTION_STATUS;

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

		led@5 {
			reg = <5>;
			color = <LED_COLOR_ID_BLUE>;
		};

		led@6 {
			reg = <6>;
			color = <LED_COLOR_ID_GREEN>;
		};

		led@7 {
			reg = <7>;
			color = <LED_COLOR_ID_RED>;
		};
	};
};

&remoteproc_adsp {
	cx-supply = <&pm8841_s2>;
	status = "okay";
};

&remoteproc_mss {
	cx-supply = <&pm8841_s2>;
	mss-supply = <&pm8841_s3>;
	mx-supply = <&pm8841_s1>;
	pll-supply = <&pm8941_l12>;
	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 = <500000>;
			regulator-max-microvolt = <1050000>;
		};

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

		pm8841_s4: s4 {
			regulator-min-microvolt = <500000>;
			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_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;
		};

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

		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 = <1200000>;
			regulator-max-microvolt = <1200000>;
		};

		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_l11: l11 {
			regulator-min-microvolt = <1300000>;
			regulator-max-microvolt = <1350000>;
		};

		pm8941_l12: l12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on;
			regulator-boot-on;
		};

		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 = <2700000>;
			regulator-max-microvolt = <2700000>;
		};

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

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

		pm8941_l20: l20 {
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;
			regulator-system-load = <500000>;
			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>;
		};

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

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

		pm8941_lvs3: lvs3 {};
	};
};

&sdhc_1 {
	status = "okay";

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

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

&sdhc_2 {
	status = "okay";

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

	cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;

	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&sdc2_on>;
	pinctrl-1 = <&sdc2_off>;
};

&sdhc_3 {
	status = "okay";

	max-frequency = <100000000>;
	vmmc-supply = <&vreg_wlan>;
	non-removable;

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

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

	bcrmf@1 {
		compatible = "brcm,bcm4339-fmac", "brcm,bcm4329-fmac";
		reg = <1>;

		brcm,drive-strength = <10>;

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

&smbb {
	qcom,fast-charge-safe-current = <1500000>;
	qcom,fast-charge-current-limit = <1500000>;
	qcom,dc-current-limit = <1800000>;
	usb-charge-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>;

	status = "okay";
};

&tlmm {
	lcd_backlight_en_pin_a: lcd-backlight-vddio-state {
		pins = "gpio69";
		function = "gpio";
		drive-strength = <10>;
		output-low;
		bias-disable;
	};

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

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

	sdc2_on: sdc2-on-state {
		clk-pins {
			pins = "sdc2_clk";
			drive-strength = <6>;
			bias-disable;
		};

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

		cd-pins {
			pins = "gpio62";
			function = "gpio";
			drive-strength = <2>;
			bias-disable;
		};
	};

	sdc3_on: sdc3-on-state {
		clk-pins {
			pins = "gpio40";
			function = "sdc3";
			drive-strength = <10>;
			bias-disable;
		};

		cmd-pins {
			pins = "gpio39";
			function = "sdc3";
			drive-strength = <10>;
			bias-pull-up;
		};

		data-pins {
			pins = "gpio35", "gpio36", "gpio37", "gpio38";
			function = "sdc3";
			drive-strength = <10>;
			bias-pull-up;
		};
	};

	ts_int_pin: ts-int-pin-state {
		pins = "gpio86";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	bt_host_wake_pin: bt-host-wake-state {
		pins = "gpio95";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	bt_dev_wake_pin: bt-dev-wake-state {
		pins = "gpio96";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};
};

&usb {
	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;
};

&usb_hs1_phy {
	status = "okay";

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

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