#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 = "ok";

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

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

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

	sdhci@f9864900 {
		status = "ok";

		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 = "ok";

		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 = "ok";

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

	usb@f9a55000 {
		status = "ok";

		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 = "ok";

				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 = "ok";

		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 = "ok";
		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 = "ok";
			qcom,rset-ohms = <2100>;
			qcom,vset-millivolts = <3000>;
		};
	};
};
