#include "qcom-msm8974pro.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 Z2 Tablet";
	compatible = "sony,xperia-castor", "qcom,msm8974";

	aliases {
		serial0 = &blsp1_uart2;
	};

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

	gpio-keys {
		compatible = "gpio-keys";
		input-name = "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>;
		};
	};

	smd {
		rpm {
			rpm_requests {
				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;

						regulator-system-load = <154000>;
					};

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

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

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

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

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

		gpio = <&msmgpio 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>;
	};
};

&soc {
	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@f9864900 {
		status = "okay";

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

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

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

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

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

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

		i2c8_pins: i2c8 {
			mux {
				pins = "gpio47", "gpio48";
				function = "blsp_i2c8";

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

		i2c11_pins: i2c11 {
			mux {
				pins = "gpio83", "gpio84";
				function = "blsp_i2c11";

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

		lcd_backlight_en_pin_a: lcd-backlight-vddio {
			pins = "gpio69";
			drive-strength = <10>;
			output-low;
			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 = <6>;
				bias-disable;
			};

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

		sdhc3_pin_a: sdhc3-pin-active {
			clk {
				pins = "gpio40";
				function = "sdc3";

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

			cmd {
				pins = "gpio39";
				function = "sdc3";

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

			data {
				pins = "gpio35", "gpio36", "gpio37", "gpio38";
				function = "sdc3";

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

		ts_int_pin: synaptics {
			pin {
				pins = "gpio86";
				function = "gpio";

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

	i2c@f9964000 {
		status = "okay";

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

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

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

			interrupt-parent = <&msmgpio>;
			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 = <10>;

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

			rmi-f11@11 {
				reg = <0x11>;
				syna,f11-flip-x = <1>;
				syna,sensor-type = <1>;
			};
		};
	};

	i2c@f9967000 {
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <&i2c11_pins>;
		clock-frequency = <355000>;
		qcom,src-freq = <50000000>;

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

&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", "gpio5";
				function = "normal";

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

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

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

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

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

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

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

		};

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