#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;
		serial1 = &blsp2_uart7;
	};

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

	serial@f995d000 {
		status = "ok";

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

		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 = <&msmgpio 95 GPIO_ACTIVE_HIGH>;
			device-wakeup-gpios = <&msmgpio 96 GPIO_ACTIVE_HIGH>;
			shutdown-gpios = <&pm8941_gpios 16 GPIO_ACTIVE_HIGH>;
		};
	};

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

		blsp2_uart7_pin_a: blsp2-uart7-pin-active {
			tx {
				pins = "gpio41";
				function = "blsp_uart7";

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

			rx {
				pins = "gpio42";
				function = "blsp_uart7";

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

			cts {
				pins = "gpio43";
				function = "blsp_uart7";

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

			rts {
				pins = "gpio44";
				function = "blsp_uart7";

				drive-strength = <2>;
				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;
			};
		};

		bt_host_wake_pin: bt-host-wake {
			pins = "gpio95";
			function = "gpio";

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

		bt_dev_wake_pin: bt-dev-wake {
			pins = "gpio96";
			function = "gpio";

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

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

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

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