// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2019 Stephan Gerhold
 */

/dts-v1/;

#include "msm8916-pm8916.dtsi"
#include "msm8916-modem-qdsp6.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>

/*
 * NOTE: The original firmware from Samsung can only boot ARM32 kernels.
 * Unfortunately, the firmware is signed and cannot be replaced easily.
 * There seems to be no way to boot ARM64 kernels on this device at the moment,
 * even though the hardware would support it.
 *
 * However, it is possible to use this device tree by compiling an ARM32 kernel
 * instead. For clarity and build testing this device tree is maintained next
 * to the other MSM8916 device trees. However, it is actually used through
 *   arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dts
 */

/ {
	model = "Samsung Galaxy S4 Mini Value Edition";
	compatible = "samsung,serranove", "qcom,msm8916";
	chassis-type = "handset";

	aliases {
		mmc0 = &sdhc_1; /* eMMC */
		mmc1 = &sdhc_2; /* SD card */
		serial0 = &blsp_uart2;
	};

	chosen {
		stdout-path = "serial0";
	};

	reserved-memory {
		/* Additional memory used by Samsung firmware modifications */
		tz-apps@85500000 {
			reg = <0x0 0x85500000 0x0 0xb00000>;
			no-map;
		};
	};

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

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

		label = "GPIO Buttons";

		button-volume-up {
			label = "Volume Up";
			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
		};

		button-home {
			label = "Home";
			gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_HOMEPAGE>;
		};
	};

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

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

		label = "GPIO Hall Effect Sensor";

		event-hall-sensor {
			label = "Hall Effect Sensor";
			gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_SW>;
			linux,code = <SW_LID>;
			linux,can-disable;
		};
	};

	reg_vdd_tsp: regulator-vdd-tsp {
		compatible = "regulator-fixed";
		regulator-name = "vdd_tsp";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
		enable-active-high;

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

	reg_touch_key: regulator-touch-key {
		compatible = "regulator-fixed";
		regulator-name = "touch_key";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;

		gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
		enable-active-high;

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

	reg_key_led: regulator-key-led {
		compatible = "regulator-fixed";
		regulator-name = "key_led";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&tlmm 60 GPIO_ACTIVE_HIGH>;
		enable-active-high;

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

	i2c-muic {
		compatible = "i2c-gpio";
		sda-gpios = <&tlmm 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
		scl-gpios = <&tlmm 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;

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

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

		muic: extcon@14 {
			compatible = "siliconmitus,sm5504-muic";
			reg = <0x14>;

			interrupt-parent = <&tlmm>;
			interrupts = <12 IRQ_TYPE_EDGE_FALLING>;

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

			usb_con: connector {
				compatible = "usb-b-connector";
				label = "micro-USB";
				type = "micro";
			};
		};
	};

	i2c-tkey {
		compatible = "i2c-gpio";
		sda-gpios = <&tlmm 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
		scl-gpios = <&tlmm 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;

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

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

		touchkey@20 {
			compatible = "coreriver,tc360-touchkey";
			reg = <0x20>;

			interrupt-parent = <&tlmm>;
			interrupts = <98 IRQ_TYPE_EDGE_FALLING>;

			vcc-supply = <&reg_touch_key>;
			vdd-supply = <&reg_key_led>;
			vddio-supply = <&pm8916_l6>;

			linux,keycodes = <KEY_APPSELECT KEY_BACK>;

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

	i2c-nfc {
		compatible = "i2c-gpio";
		sda-gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
		scl-gpios = <&tlmm 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;

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

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

		nfc@2b {
			compatible = "nxp,pn547", "nxp,nxp-nci-i2c";
			reg = <0x2b>;

			interrupt-parent = <&tlmm>;
			interrupts = <21 IRQ_TYPE_EDGE_RISING>;

			enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
			firmware-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>;

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

	battery: battery {
		compatible = "simple-battery";
		precharge-current-microamp = <450000>;
		constant-charge-current-max-microamp = <1000000>;
		charge-term-current-microamp = <150000>;
		precharge-upper-limit-microvolt = <3500000>;
		constant-charge-voltage-max-microvolt = <4350000>;
	};
};

&blsp_i2c2 {
	status = "okay";

	imu@6b {
		compatible = "st,lsm6ds3";
		reg = <0x6b>;

		interrupt-parent = <&tlmm>;
		interrupts = <115 IRQ_TYPE_EDGE_RISING>;

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

	magnetometer@2e {
		compatible = "yamaha,yas537";
		reg = <0x2e>;

		mount-matrix = "0",  "1",  "0",
			       "1",  "0",  "0",
			       "0",  "0", "-1";
	};
};

&blsp_i2c4 {
	status = "okay";

	fuel-gauge@35 {
		compatible = "richtek,rt5033-battery";
		reg = <0x35>;

		interrupt-parent = <&tlmm>;
		interrupts = <121 IRQ_TYPE_EDGE_FALLING>;

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

		power-supplies = <&rt5033_charger>;
	};
};

&blsp_i2c5 {
	status = "okay";

	touchscreen@20 {
		compatible = "zinitix,bt541";
		reg = <0x20>;

		interrupt-parent = <&tlmm>;
		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;

		touchscreen-size-x = <540>;
		touchscreen-size-y = <960>;

		vdd-supply = <&reg_vdd_tsp>;
		vddo-supply = <&pm8916_l6>;

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

&blsp_i2c6 {
	status = "okay";

	pmic@34 {
		compatible = "richtek,rt5033";
		reg = <0x34>;

		interrupt-parent = <&tlmm>;
		interrupts = <62 IRQ_TYPE_EDGE_FALLING>;

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

		regulators {
			rt5033_reg_safe_ldo: SAFE_LDO {
				regulator-min-microvolt = <4900000>;
				regulator-max-microvolt = <4900000>;
				regulator-always-on;
			};
			rt5033_reg_ldo: LDO {
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
			};
			rt5033_reg_buck: BUCK {
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
			};
		};

		rt5033_charger: charger {
			compatible = "richtek,rt5033-charger";
			monitored-battery = <&battery>;
			richtek,usb-connector = <&usb_con>;
		};
	};
};

&blsp_uart2 {
	status = "okay";
};

&mpss_mem {
	reg = <0x0 0x86800000 0x0 0x5a00000>;
};

&pm8916_resin {
	status = "okay";
	linux,code = <KEY_VOLUMEDOWN>;
};

&pm8916_vib {
	status = "okay";
};

&sdhc_1 {
	status = "okay";
};

&sdhc_2 {
	status = "okay";
	non-removable;

	/*
	 * FIXME: Disable UHS-I modes since tuning fails with:
	 *
	 * sdhci_msm 7864900.sdhci: mmc1: No tuning point found
	 * mmc1: tuning execution failed: -5
	 * mmc1: error -5 whilst initialising SD card
	 *
	 * This is the quirk used on downstream, which suggests this is
	 * a hardware limitation. However, probing a card using DDR50 works
	 * (without tuning), so maybe only tuning is broken?
	 */
	no-1-8-v;
};

&sound {
	audio-routing =
		"AMIC1", "MIC BIAS External1",
		"AMIC2", "MIC BIAS Internal2",
		"AMIC3", "MIC BIAS External1";
};

&usb {
	status = "okay";
	extcon = <&muic>, <&muic>;
};

&usb_hs_phy {
	extcon = <&muic>;
};

&venus {
	status = "okay";
};

&venus_mem {
	status = "okay";
};

&wcnss {
	status = "okay";
};

&wcnss_iris {
	compatible = "qcom,wcn3660b";
};

&wcnss_mem {
	status = "okay";
};

&tlmm {
	fg_alert_default: fg-alert-default-state {
		pins = "gpio121";
		function = "gpio";

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

	gpio_keys_default: gpio-keys-default-state {
		pins = "gpio107", "gpio109";
		function = "gpio";

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

	gpio_hall_sensor_default: gpio-hall-sensor-default-state {
		pins = "gpio52";
		function = "gpio";

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

	imu_irq_default: imu-irq-default-state {
		pins = "gpio115";
		function = "gpio";

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

	muic_i2c_default: muic-i2c-default-state {
		pins = "gpio105", "gpio106";
		function = "gpio";

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

	muic_irq_default: muic-irq-default-state {
		pins = "gpio12";
		function = "gpio";

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

	nfc_default: nfc-default-state {
		nfc-pins {
			pins = "gpio20", "gpio49";
			function = "gpio";

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

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

	nfc_i2c_default: nfc-i2c-default-state {
		pins = "gpio0", "gpio1";
		function = "gpio";

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

	pmic_int_default: pmic-int-default-state {
		pins = "gpio62";
		function = "gpio";

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

	tkey_default: tkey-default-state {
		pins = "gpio98";
		function = "gpio";

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

	tkey_en_default: tkey-en-default-state {
		pins = "gpio86";
		function = "gpio";

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

	tkey_i2c_default: tkey-i2c-default-state {
		pins = "gpio16", "gpio17";
		function = "gpio";

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

	tkey_led_en_default: tkey-led-en-default-state {
		pins = "gpio60";
		function = "gpio";

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

	tsp_en_default: tsp-en-default-state {
		pins = "gpio73";
		function = "gpio";

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

	tsp_irq_default: tsp-irq-default-state {
		pins = "gpio13";
		function = "gpio";

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