// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974pro.dtsi"
#include "qcom-pm8841.dtsi"
#include "qcom-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_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>;
};

&remoteproc_mss {
	cx-supply = <&pm8841_s2>;
	mss-supply = <&pm8841_s3>;
	mx-supply = <&pm8841_s1>;
	pll-supply = <&pm8941_l12>;
};

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

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