// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung Exynos5433 TM2 board device tree source
 *
 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
 *
 * Common device tree source file for Samsung's TM2 and TM2E boards
 * which are based on Samsung Exynos5433 SoC.
 */

/dts-v1/;
#include "exynos5433.dtsi"
#include <dt-bindings/clock/samsung,s2mps11.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/sound/samsung-i2s.h>

/ {
	aliases {
		gsc0 = &gsc_0;
		gsc1 = &gsc_1;
		gsc2 = &gsc_2;
		pinctrl0 = &pinctrl_alive;
		pinctrl1 = &pinctrl_aud;
		pinctrl2 = &pinctrl_cpif;
		pinctrl3 = &pinctrl_ese;
		pinctrl4 = &pinctrl_finger;
		pinctrl5 = &pinctrl_fsys;
		pinctrl6 = &pinctrl_imem;
		pinctrl7 = &pinctrl_nfc;
		pinctrl8 = &pinctrl_peric;
		pinctrl9 = &pinctrl_touch;
		serial0 = &serial_0;
		serial1 = &serial_1;
		serial2 = &serial_2;
		serial3 = &serial_3;
		spi0 = &spi_0;
		spi1 = &spi_1;
		spi2 = &spi_2;
		spi3 = &spi_3;
		spi4 = &spi_4;
		mshc0 = &mshc_0;
		mshc2 = &mshc_2;
	};

	chosen {
		stdout-path = &serial_1;
	};

	memory@20000000 {
		device_type = "memory";
		reg = <0x0 0x20000000 0x0 0xc0000000>;
	};

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

		power-key {
			gpios = <&gpa2 7 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_POWER>;
			label = "power key";
			debounce-interval = <10>;
		};

		volume-up-key {
			gpios = <&gpa2 0 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
			label = "volume-up key";
			debounce-interval = <10>;
		};

		volume-down-key {
			gpios = <&gpa2 1 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEDOWN>;
			label = "volume-down key";
			debounce-interval = <10>;
		};

		homepage-key {
			gpios = <&gpa0 3 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_MENU>;
			label = "homepage key";
			debounce-interval = <10>;
		};
	};

	i2c_max98504: i2c-gpio-0 {
		compatible = "i2c-gpio";
		sda-gpios = <&gpd0 1 GPIO_ACTIVE_HIGH>;
		scl-gpios = <&gpd0 0 GPIO_ACTIVE_HIGH>;
		i2c-gpio,delay-us = <2>;
		#address-cells = <1>;
		#size-cells = <0>;

		max98504: amplifier@31 {
			compatible = "maxim,max98504";
			reg = <0x31>;
			maxim,rx-path = <1>;
			maxim,tx-path = <1>;
			maxim,tx-channel-mask = <3>;
			maxim,tx-channel-source = <2>;
		};
	};

	irda_regulator: irda-regulator {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpr3 3 GPIO_ACTIVE_HIGH>;
		regulator-name = "irda_regulator";
	};

	sound {
		compatible = "samsung,tm2-audio";
		audio-codec = <&wm5110>, <&hdmi>;
		i2s-controller = <&i2s0 0>, <&i2s1 0>;
		audio-amplifier = <&max98504>;
		mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>;
		model = "wm5110";
		samsung,audio-routing =
			/* Headphone */
			"HP", "HPOUT1L",
			"HP", "HPOUT1R",

			/* Speaker */
			"SPK", "SPKOUT",
			"SPKOUT", "HPOUT2L",
			"SPKOUT", "HPOUT2R",

			/* Receiver */
			"RCV", "HPOUT3L",
			"RCV", "HPOUT3R";
		status = "okay";
	};
};

&adc {
	vdd-supply = <&ldo3_reg>;
	status = "okay";

	thermistor-ap {
		compatible = "murata,ncp03wf104";
		pullup-uv = <1800000>;
		pullup-ohm = <100000>;
		pulldown-ohm = <0>;
		io-channels = <&adc 0>;
	};

	thermistor-battery {
		compatible = "murata,ncp03wf104";
		pullup-uv = <1800000>;
		pullup-ohm = <100000>;
		pulldown-ohm = <0>;
		io-channels = <&adc 1>;
		#thermal-sensor-cells = <0>;
	};

	thermistor-charger {
		compatible = "murata,ncp03wf104";
		pullup-uv = <1800000>;
		pullup-ohm = <100000>;
		pulldown-ohm = <0>;
		io-channels = <&adc 2>;
	};
};

&bus_g2d_400 {
	devfreq-events = <&ppmu_event0_d0_general>, <&ppmu_event0_d1_general>;
	vdd-supply = <&buck4_reg>;
	exynos,saturation-ratio = <10>;
	status = "okay";
};

&bus_g2d_266 {
	devfreq = <&bus_g2d_400>;
	status = "okay";
};

&bus_gscl {
	devfreq = <&bus_g2d_400>;
	status = "okay";
};

&bus_hevc {
	devfreq = <&bus_g2d_400>;
	status = "okay";
};

&bus_jpeg {
	devfreq = <&bus_g2d_400>;
	status = "okay";
};

&bus_mfc {
	devfreq = <&bus_g2d_400>;
	status = "okay";
};

&bus_mscl {
	devfreq = <&bus_g2d_400>;
	status = "okay";
};

&bus_noc0 {
	devfreq = <&bus_g2d_400>;
	status = "okay";
};

&bus_noc1 {
	devfreq = <&bus_g2d_400>;
	status = "okay";
};

&bus_noc2 {
	devfreq = <&bus_g2d_400>;
	status = "okay";
};

&cmu_aud {
	assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>,
		<&cmu_aud CLK_MOUT_SCLK_AUD_I2S>,
		<&cmu_aud CLK_MOUT_SCLK_AUD_PCM>,
		<&cmu_top CLK_MOUT_AUD_PLL>,
		<&cmu_top CLK_MOUT_AUD_PLL_USER_T>,
		<&cmu_top CLK_MOUT_SCLK_AUDIO0>,
		<&cmu_top CLK_MOUT_SCLK_AUDIO1>,
		<&cmu_top CLK_MOUT_SCLK_SPDIF>,

		<&cmu_aud CLK_DIV_AUD_CA5>,
		<&cmu_aud CLK_DIV_ACLK_AUD>,
		<&cmu_aud CLK_DIV_PCLK_DBG_AUD>,
		<&cmu_aud CLK_DIV_SCLK_AUD_I2S>,
		<&cmu_aud CLK_DIV_SCLK_AUD_PCM>,
		<&cmu_aud CLK_DIV_SCLK_AUD_SLIMBUS>,
		<&cmu_aud CLK_DIV_SCLK_AUD_UART>,
		<&cmu_top CLK_DIV_SCLK_AUDIO0>,
		<&cmu_top CLK_DIV_SCLK_AUDIO1>,
		<&cmu_top CLK_DIV_SCLK_PCM1>,
		<&cmu_top CLK_DIV_SCLK_I2S1>;

	assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>,
		<&cmu_aud CLK_MOUT_AUD_PLL_USER>,
		<&cmu_aud CLK_MOUT_AUD_PLL_USER>,
		<&cmu_top CLK_FOUT_AUD_PLL>,
		<&cmu_top CLK_MOUT_AUD_PLL>,
		<&cmu_top CLK_MOUT_AUD_PLL_USER_T>,
		<&cmu_top CLK_MOUT_AUD_PLL_USER_T>,
		<&cmu_top CLK_SCLK_AUDIO0>;

	assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>,
		<196608001>, <65536001>, <32768001>, <49152001>,
		<2048001>, <24576001>, <196608001>,
		<24576001>, <98304001>, <2048001>, <49152001>;
};

&cmu_fsys {
	assigned-clocks = <&cmu_top CLK_MOUT_SCLK_USBDRD30>,
		<&cmu_top CLK_MOUT_SCLK_USBHOST30>,
		<&cmu_fsys CLK_MOUT_SCLK_USBDRD30_USER>,
		<&cmu_fsys CLK_MOUT_SCLK_USBHOST30_USER>,
		<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER>,
		<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER>,
		<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER>,
		<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER>,
		<&cmu_top CLK_DIV_SCLK_USBDRD30>,
		<&cmu_top CLK_DIV_SCLK_USBHOST30>;
	assigned-clock-parents = <&cmu_top CLK_MOUT_BUS_PLL_USER>,
		<&cmu_top CLK_MOUT_BUS_PLL_USER>,
		<&cmu_top CLK_SCLK_USBDRD30_FSYS>,
		<&cmu_top CLK_SCLK_USBHOST30_FSYS>,
		<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY>,
		<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY>,
		<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY>,
		<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY>;
	assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>,
			       <66700000>, <66700000>;
};

&cmu_gscl {
	assigned-clocks = <&cmu_gscl CLK_MOUT_ACLK_GSCL_111_USER>,
			  <&cmu_gscl CLK_MOUT_ACLK_GSCL_333_USER>;
	assigned-clock-parents = <&cmu_top CLK_ACLK_GSCL_111>,
				 <&cmu_top CLK_ACLK_GSCL_333>;
};

&cmu_mfc {
	assigned-clocks = <&cmu_mfc CLK_MOUT_ACLK_MFC_400_USER>;
	assigned-clock-parents = <&cmu_top CLK_ACLK_MFC_400>;
};

&cmu_mif {
	assigned-clocks = <&cmu_mif CLK_MOUT_SCLK_DSD_A>, <&cmu_mif CLK_DIV_SCLK_DSD>;
	assigned-clock-parents = <&cmu_mif CLK_MOUT_MFC_PLL_DIV2>;
	assigned-clock-rates = <0>, <333000000>;
};

&cmu_mscl {
	assigned-clocks = <&cmu_mscl CLK_MOUT_ACLK_MSCL_400_USER>,
			  <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
			  <&cmu_mscl CLK_MOUT_SCLK_JPEG>,
			  <&cmu_top CLK_MOUT_SCLK_JPEG_A>;
	assigned-clock-parents = <&cmu_top CLK_ACLK_MSCL_400>,
				 <&cmu_top CLK_SCLK_JPEG_MSCL>,
				 <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
				 <&cmu_top CLK_MOUT_BUS_PLL_USER>;
};

&cmu_top {
	assigned-clocks = <&cmu_top CLK_FOUT_AUD_PLL>;
	assigned-clock-rates = <196608001>;
};

&cpu0 {
	cpu-supply = <&buck3_reg>;
};

&cpu4 {
	cpu-supply = <&buck2_reg>;
};

&decon {
	status = "okay";
};

&decon_tv {
	status = "okay";

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

		port@0 {
			reg = <0>;
			tv_to_hdmi: endpoint {
				remote-endpoint = <&hdmi_to_tv>;
			};
		};
	};
};

&dsi {
	status = "okay";
	vddcore-supply = <&ldo6_reg>;
	vddio-supply = <&ldo7_reg>;
	samsung,burst-clock-frequency = <512000000>;
	samsung,esc-clock-frequency = <16000000>;
	samsung,pll-clock-frequency = <24000000>;
	pinctrl-names = "default";
	pinctrl-0 = <&te_irq>;
};

&gpu {
	mali-supply = <&buck6_reg>;
	status = "okay";
};

&hdmi {
	hpd-gpios = <&gpa3 0 GPIO_ACTIVE_HIGH>;
	status = "okay";
	vdd-supply = <&ldo6_reg>;
	vdd_osc-supply = <&ldo7_reg>;
	vdd_pll-supply = <&ldo6_reg>;

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

		port@0 {
			reg = <0>;
			hdmi_to_tv: endpoint {
				remote-endpoint = <&tv_to_hdmi>;
			};
		};

		port@1 {
			reg = <1>;
			hdmi_to_mhl: endpoint {
				remote-endpoint = <&mhl_to_hdmi>;
			};
		};
	};
};

&hsi2c_0 {
	status = "okay";
	clock-frequency = <2500000>;

	pmic@66 {
		compatible = "samsung,s2mps13-pmic";
		interrupt-parent = <&gpa0>;
		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
		reg = <0x66>;
		samsung,s2mps11-wrstbi-ground;
		wakeup-source;

		s2mps13_osc: clocks {
			compatible = "samsung,s2mps13-clk";
			#clock-cells = <1>;
			clock-output-names = "s2mps13_ap", "s2mps13_cp",
				"s2mps13_bt";
		};

		regulators {
			ldo1_reg: LDO1 {
				regulator-name = "VDD_ALIVE_0.9V_AP";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <900000>;
				regulator-always-on;
			};

			ldo2_reg: LDO2 {
				regulator-name = "VDDQ_MMC2_2.8V_AP";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo3_reg: LDO3 {
				regulator-name = "VDD1_E_1.8V_AP";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};

			ldo4_reg: LDO4 {
				regulator-name = "VDD10_MIF_PLL_1.0V_AP";
				regulator-min-microvolt = <1300000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo5_reg: LDO5 {
				regulator-name = "VDD10_DPLL_1.0V_AP";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo6_reg: LDO6 {
				regulator-name = "VDD10_MIPI2L_1.0V_AP";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo7_reg: LDO7 {
				regulator-name = "VDD18_MIPI2L_1.8V_AP";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo8_reg: LDO8 {
				regulator-name = "VDD18_LLI_1.8V_AP";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo9_reg: LDO9 {
				regulator-name = "VDD18_ABB_ETC_1.8V_AP";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo10_reg: LDO10 {
				regulator-name = "VDD33_USB30_3.0V_AP";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo11_reg: LDO11 {
				regulator-name = "VDD_INT_M_1.0V_AP";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo12_reg: LDO12 {
				regulator-name = "VDD_KFC_M_1.1V_AP";
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
			};

			ldo13_reg: LDO13 {
				regulator-name = "VDD_G3D_M_0.95V_AP";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <950000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo14_reg: LDO14 {
				regulator-name = "VDDQ_M1_LDO_1.2V_AP";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo15_reg: LDO15 {
				regulator-name = "VDDQ_M2_LDO_1.2V_AP";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo16_reg: LDO16 {
				regulator-name = "VDDQ_EFUSE";
				regulator-min-microvolt = <1400000>;
				regulator-max-microvolt = <3400000>;
				regulator-always-on;
			};

			ldo17_reg: LDO17 {
				regulator-name = "V_TFLASH_2.8V_AP";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
			};

			ldo18_reg: LDO18 {
				regulator-name = "V_CODEC_1.8V_AP";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
			};

			ldo19_reg: LDO19 {
				regulator-name = "VDDA_1.8V_COMP";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};

			ldo20_reg: LDO20 {
				regulator-name = "VCC_2.8V_AP";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
			};

			ldo21_reg: LDO21 {
				regulator-name = "VT_CAM_1.8V";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
			};

			ldo22_reg: LDO22 {
				regulator-name = "CAM_IO_1.8V_AP";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
			};

			ldo23_reg: LDO23 {
				regulator-name = "CAM_SEN_CORE_1.05V_AP";
				regulator-min-microvolt = <1050000>;
				regulator-max-microvolt = <1050000>;
			};

			ldo24_reg: LDO24 {
				regulator-name = "VT_CAM_1.2V";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
			};

			ldo25_reg: LDO25 {
				regulator-name = "UNUSED_LDO25";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
			};

			ldo26_reg: LDO26 {
				regulator-name = "CAM_AF_2.8V_AP";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
			};

			ldo27_reg: LDO27 {
				regulator-name = "VCC_3.0V_LCD_AP";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;
			};

			ldo28_reg: LDO28 {
				regulator-name = "VCC_1.8V_LCD_AP";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
			};

			ldo29_reg: LDO29 {
				regulator-name = "VT_CAM_2.8V";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;
			};

			ldo30_reg: LDO30 {
				regulator-name = "TSP_AVDD_3.3V_AP";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
			};

			ldo31_reg: LDO31 {
				/*
				 * LDO31 differs from target to target,
				 * its definition is in the .dts
				 */
			};

			ldo32_reg: LDO32 {
				regulator-name = "VTOUCH_1.8V_AP";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
			};

			ldo33_reg: LDO33 {
				regulator-name = "VTOUCH_LED_3.3V";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <3300000>;
				regulator-ramp-delay = <12500>;
			};

			ldo34_reg: LDO34 {
				regulator-name = "VCC_1.8V_MHL_AP";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <2100000>;
			};

			ldo35_reg: LDO35 {
				regulator-name = "OIS_VM_2.8V";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <2800000>;
			};

			ldo36_reg: LDO36 {
				regulator-name = "VSIL_1.0V";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
			};

			ldo37_reg: LDO37 {
				regulator-name = "VF_1.8V";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
			};

			ldo38_reg: LDO38 {
				/*
				 * LDO38 differs from target to target,
				 * its definition is in the .dts
				 */
			};

			ldo39_reg: LDO39 {
				regulator-name = "V_HRM_1.8V";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
			};

			ldo40_reg: LDO40 {
				regulator-name = "V_HRM_3.3V";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
			};

			buck1_reg: BUCK1 {
				regulator-name = "VDD_MIF_0.9V_AP";
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			buck2_reg: BUCK2 {
				regulator-name = "VDD_EGL_1.0V_AP";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			buck3_reg: BUCK3 {
				regulator-name = "VDD_KFC_1.0V_AP";
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1200000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			buck4_reg: BUCK4 {
				regulator-name = "VDD_INT_0.95V_AP";
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			buck5_reg: BUCK5 {
				regulator-name = "VDD_DISP_CAM0_0.9V_AP";
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			buck6_reg: BUCK6 {
				regulator-name = "VDD_G3D_0.9V_AP";
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			buck7_reg: BUCK7 {
				regulator-name = "VDD_MEM1_1.2V_AP";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-always-on;
			};

			buck8_reg: BUCK8 {
				regulator-name = "VDD_LLDO_1.35V_AP";
				regulator-min-microvolt = <1350000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			buck9_reg: BUCK9 {
				regulator-name = "VDD_MLDO_2.0V_AP";
				regulator-min-microvolt = <1350000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			buck10_reg: BUCK10 {
				regulator-name = "vdd_mem2";
				regulator-min-microvolt = <550000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
			};
		};
	};
};

&hsi2c_4 {
	status = "okay";

	s3fwrn5: nfc@27 {
		compatible = "samsung,s3fwrn5-i2c";
		reg = <0x27>;
		interrupt-parent = <&gpa1>;
		interrupts = <3 IRQ_TYPE_EDGE_RISING>;
		en-gpios = <&gpf1 4 GPIO_ACTIVE_HIGH>;
		wake-gpios = <&gpj0 2 GPIO_ACTIVE_HIGH>;
	};
};

&hsi2c_5 {
	status = "okay";

	stmfts: touchscreen@49 {
		compatible = "st,stmfts";
		reg = <0x49>;
		interrupt-parent = <&gpa1>;
		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
		avdd-supply = <&ldo30_reg>;
		vdd-supply = <&ldo31_reg>;
	};
};

&hsi2c_7 {
	status = "okay";
	clock-frequency = <1000000>;

	bridge@39 {
		reg = <0x39>;
		compatible = "sil,sii8620";
		cvcc10-supply = <&ldo36_reg>;
		iovcc18-supply = <&ldo34_reg>;
		interrupt-parent = <&gpf0>;
		interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
		reset-gpios = <&gpv7 0 GPIO_ACTIVE_LOW>;
		clocks = <&pmu_system_controller 0>;
		clock-names = "xtal";

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

			port@0 {
				reg = <0>;
				mhl_to_hdmi: endpoint {
					remote-endpoint = <&hdmi_to_mhl>;
				};
			};

			port@1 {
				reg = <1>;
				mhl_to_musb_con: endpoint {
					remote-endpoint = <&musb_con_to_mhl>;
				};
			};
		};
	};
};

&hsi2c_8 {
	status = "okay";

	pmic@66 {
		compatible = "maxim,max77843";
		interrupt-parent = <&gpa1>;
		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
		reg = <0x66>;

		muic: extcon {
			compatible = "maxim,max77843-muic";

			musb_con: connector {
				compatible = "samsung,usb-connector-11pin",
					     "usb-b-connector";
				label = "micro-USB";
				type = "micro";

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

					port@0 {
						/*
						 * TODO: The DTS this is based on does not have
						 * port@0 which is a required property. The ports
						 * look incomplete and need fixing.
						 * Add a disabled port just to satisfy dtschema.
						 */
						reg = <0>;
						status = "disabled";
					};

					port@3 {
						reg = <3>;
						musb_con_to_mhl: endpoint {
							remote-endpoint = <&mhl_to_musb_con>;
						};
					};
				};
			};

			ports {
				port {
					muic_to_usb: endpoint {
						remote-endpoint = <&usb_to_muic>;
					};
				};
			};
		};

		regulators {
			compatible = "maxim,max77843-regulator";
			safeout1_reg: SAFEOUT1 {
				regulator-name = "SAFEOUT1";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <4950000>;
			};

			safeout2_reg: SAFEOUT2 {
				regulator-name = "SAFEOUT2";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <4950000>;
			};

			charger_reg: CHARGER {
				regulator-name = "CHARGER";
				regulator-min-microamp = <100000>;
				regulator-max-microamp = <3150000>;
			};
		};

		haptic: motor-driver {
			compatible = "maxim,max77843-haptic";
			haptic-supply = <&ldo38_reg>;
			pwms = <&pwm 0 33670 0>;
			pwm-names = "haptic";
		};
	};
};

&hsi2c_11 {
	status = "okay";
};

&i2s0 {
	status = "okay";
};

&i2s1 {
	assigned-clocks = <&i2s1 CLK_I2S_RCLK_SRC>;
	assigned-clock-parents = <&cmu_peric CLK_SCLK_I2S1>;
	status = "okay";
};

&mshc_0 {
	status = "okay";
	mmc-hs200-1_8v;
	mmc-hs400-1_8v;
	cap-mmc-highspeed;
	non-removable;
	card-detect-delay = <200>;
	samsung,dw-mshc-ciu-div = <3>;
	samsung,dw-mshc-sdr-timing = <0 4>;
	samsung,dw-mshc-ddr-timing = <0 2>;
	samsung,dw-mshc-hs400-timing = <0 3>;
	samsung,read-strobe-delay = <90>;
	fifo-depth = <0x80>;
	pinctrl-names = "default";
	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4
			&sd0_bus8 &sd0_rdqs>;
	bus-width = <8>;
	assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>;
	assigned-clock-rates = <800000000>;
};

&mshc_2 {
	status = "okay";
	cap-sd-highspeed;
	disable-wp;
	cd-gpios = <&gpa2 4 GPIO_ACTIVE_LOW>;
	card-detect-delay = <200>;
	samsung,dw-mshc-ciu-div = <3>;
	samsung,dw-mshc-sdr-timing = <0 4>;
	samsung,dw-mshc-ddr-timing = <0 2>;
	fifo-depth = <0x80>;
	pinctrl-names = "default";
	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>;
	bus-width = <4>;
};

&pcie {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pcie_bus &pcie_wlanen>;
	vdd10-supply = <&ldo6_reg>;
	vdd18-supply = <&ldo7_reg>;
	assigned-clocks = <&cmu_fsys CLK_MOUT_SCLK_PCIE_100_USER>,
			  <&cmu_top CLK_MOUT_SCLK_PCIE_100>;
	assigned-clock-parents = <&cmu_top CLK_SCLK_PCIE_100_FSYS>,
				 <&cmu_top CLK_MOUT_BUS_PLL_USER>;
	assigned-clock-rates = <0>, <100000000>;
	interrupt-map-mask = <0 0 0 0>;
	interrupt-map = <0 0 0 0 &gic GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
};

&pcie_phy {
	status = "okay";
};

&ppmu_d0_general {
	status = "okay";
	events {
		ppmu_event0_d0_general: ppmu-event0-d0-general {
			event-name = "ppmu-event0-d0-general";
		};
	};
};

&ppmu_d1_general {
	status = "okay";
	events {
		ppmu_event0_d1_general: ppmu-event0-d1-general {
		       event-name = "ppmu-event0-d1-general";
	       };
	};
};

&pinctrl_alive {
	pinctrl-names = "default";
	pinctrl-0 = <&initial_alive>;

	initial_alive: initial-state {
		PIN_IN(gpa0-0, DOWN, FAST_SR1);
		PIN_IN(gpa0-1, NONE, FAST_SR1);
		PIN_IN(gpa0-2, DOWN, FAST_SR1);
		PIN_IN(gpa0-3, NONE, FAST_SR1);
		PIN_IN(gpa0-4, NONE, FAST_SR1);
		PIN_IN(gpa0-5, DOWN, FAST_SR1);
		PIN_IN(gpa0-6, NONE, FAST_SR1);
		PIN_IN(gpa0-7, NONE, FAST_SR1);

		PIN_IN(gpa1-0, UP, FAST_SR1);
		PIN_IN(gpa1-1, UP, FAST_SR1);
		PIN_IN(gpa1-2, NONE, FAST_SR1);
		PIN_IN(gpa1-3, DOWN, FAST_SR1);
		PIN_IN(gpa1-4, DOWN, FAST_SR1);
		PIN_IN(gpa1-5, NONE, FAST_SR1);
		PIN_IN(gpa1-6, NONE, FAST_SR1);
		PIN_IN(gpa1-7, NONE, FAST_SR1);

		PIN_IN(gpa2-0, NONE, FAST_SR1);
		PIN_IN(gpa2-1, NONE, FAST_SR1);
		PIN_IN(gpa2-2, NONE, FAST_SR1);
		PIN_IN(gpa2-3, DOWN, FAST_SR1);
		PIN_IN(gpa2-4, NONE, FAST_SR1);
		PIN_IN(gpa2-5, DOWN, FAST_SR1);
		PIN_IN(gpa2-6, DOWN, FAST_SR1);
		PIN_IN(gpa2-7, NONE, FAST_SR1);

		PIN_IN(gpa3-0, DOWN, FAST_SR1);
		PIN_IN(gpa3-1, DOWN, FAST_SR1);
		PIN_IN(gpa3-2, NONE, FAST_SR1);
		PIN_IN(gpa3-3, DOWN, FAST_SR1);
		PIN_IN(gpa3-4, NONE, FAST_SR1);
		PIN_IN(gpa3-5, DOWN, FAST_SR1);
		PIN_IN(gpa3-6, DOWN, FAST_SR1);
		PIN_IN(gpa3-7, DOWN, FAST_SR1);

		PIN_IN(gpf1-0, NONE, FAST_SR1);
		PIN_IN(gpf1-1, NONE, FAST_SR1);
		PIN_IN(gpf1-2, DOWN, FAST_SR1);
		PIN_IN(gpf1-4, UP, FAST_SR1);
		PIN_OT(gpf1-5, NONE, FAST_SR1);
		PIN_IN(gpf1-6, DOWN, FAST_SR1);
		PIN_IN(gpf1-7, DOWN, FAST_SR1);

		PIN_IN(gpf2-0, DOWN, FAST_SR1);
		PIN_IN(gpf2-1, DOWN, FAST_SR1);
		PIN_IN(gpf2-2, DOWN, FAST_SR1);
		PIN_IN(gpf2-3, DOWN, FAST_SR1);

		PIN_IN(gpf3-0, DOWN, FAST_SR1);
		PIN_IN(gpf3-1, DOWN, FAST_SR1);
		PIN_IN(gpf3-2, NONE, FAST_SR1);
		PIN_IN(gpf3-3, DOWN, FAST_SR1);

		PIN_IN(gpf4-0, DOWN, FAST_SR1);
		PIN_IN(gpf4-1, DOWN, FAST_SR1);
		PIN_IN(gpf4-2, DOWN, FAST_SR1);
		PIN_IN(gpf4-3, DOWN, FAST_SR1);
		PIN_IN(gpf4-4, DOWN, FAST_SR1);
		PIN_IN(gpf4-5, DOWN, FAST_SR1);
		PIN_IN(gpf4-6, DOWN, FAST_SR1);
		PIN_IN(gpf4-7, DOWN, FAST_SR1);

		PIN_IN(gpf5-0, DOWN, FAST_SR1);
		PIN_IN(gpf5-1, DOWN, FAST_SR1);
		PIN_IN(gpf5-2, DOWN, FAST_SR1);
		PIN_IN(gpf5-3, DOWN, FAST_SR1);
		PIN_OT(gpf5-4, NONE, FAST_SR1);
		PIN_IN(gpf5-5, DOWN, FAST_SR1);
		PIN_IN(gpf5-6, DOWN, FAST_SR1);
		PIN_IN(gpf5-7, DOWN, FAST_SR1);
	};

	te_irq: te-irq-pins {
		samsung,pins = "gpf1-3";
		samsung,pin-function = <0xf>;
	};
};

&pinctrl_cpif {
	pinctrl-names = "default";
	pinctrl-0 = <&initial_cpif>;

	initial_cpif: initial-state {
		PIN_IN(gpv6-0, DOWN, FAST_SR1);
		PIN_IN(gpv6-1, DOWN, FAST_SR1);
	};
};

&pinctrl_ese {
	pinctrl-names = "default";
	pinctrl-0 = <&initial_ese>;

	pcie_wlanen: pcie-wlanen-pins {
		samsung,pins = "gpj2-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
	};

	initial_ese: initial-state {
		PIN_IN(gpj2-1, DOWN, FAST_SR1);
		PIN_IN(gpj2-2, DOWN, FAST_SR1);
	};
};

&pinctrl_fsys {
	pinctrl-names = "default";
	pinctrl-0 = <&initial_fsys>;

	initial_fsys: initial-state {
		PIN_IN(gpr3-0, NONE, FAST_SR1);
		PIN_IN(gpr3-1, DOWN, FAST_SR1);
		PIN_IN(gpr3-2, DOWN, FAST_SR1);
		PIN_IN(gpr3-3, DOWN, FAST_SR1);
		PIN_IN(gpr3-7, NONE, FAST_SR1);
	};
};

&pinctrl_imem {
	pinctrl-names = "default";
	pinctrl-0 = <&initial_imem>;

	initial_imem: initial-state {
		PIN_IN(gpf0-0, UP, FAST_SR1);
		PIN_IN(gpf0-1, UP, FAST_SR1);
		PIN_IN(gpf0-2, DOWN, FAST_SR1);
		PIN_IN(gpf0-3, UP, FAST_SR1);
		PIN_IN(gpf0-4, DOWN, FAST_SR1);
		PIN_IN(gpf0-5, NONE, FAST_SR1);
		PIN_IN(gpf0-6, DOWN, FAST_SR1);
		PIN_IN(gpf0-7, UP, FAST_SR1);
	};
};

&pinctrl_nfc {
	pinctrl-names = "default";
	pinctrl-0 = <&initial_nfc>;

	initial_nfc: initial-state {
		PIN_IN(gpj0-2, DOWN, FAST_SR1);
	};
};

&pinctrl_peric {
	pinctrl-names = "default";
	pinctrl-0 = <&initial_peric>;

	initial_peric: initial-state {
		PIN_IN(gpv7-0, DOWN, FAST_SR1);
		PIN_IN(gpv7-1, DOWN, FAST_SR1);
		PIN_IN(gpv7-2, NONE, FAST_SR1);
		PIN_IN(gpv7-3, DOWN, FAST_SR1);
		PIN_IN(gpv7-4, DOWN, FAST_SR1);
		PIN_IN(gpv7-5, DOWN, FAST_SR1);

		PIN_IN(gpb0-4, DOWN, FAST_SR1);

		PIN_IN(gpc0-2, DOWN, FAST_SR1);
		PIN_IN(gpc0-5, DOWN, FAST_SR1);
		PIN_IN(gpc0-7, DOWN, FAST_SR1);

		PIN_IN(gpc1-1, DOWN, FAST_SR1);

		PIN_IN(gpc3-4, NONE, FAST_SR1);
		PIN_IN(gpc3-5, NONE, FAST_SR1);
		PIN_IN(gpc3-6, NONE, FAST_SR1);
		PIN_IN(gpc3-7, NONE, FAST_SR1);

		PIN_OT(gpg0-0, NONE, FAST_SR1);
		PIN_F2(gpg0-1, DOWN, FAST_SR1);

		PIN_IN(gpd2-5, DOWN, FAST_SR1);

		PIN_IN(gpd4-0, NONE, FAST_SR1);
		PIN_IN(gpd4-1, DOWN, FAST_SR1);
		PIN_IN(gpd4-2, DOWN, FAST_SR1);
		PIN_IN(gpd4-3, DOWN, FAST_SR1);
		PIN_IN(gpd4-4, DOWN, FAST_SR1);

		PIN_IN(gpd6-3, DOWN, FAST_SR1);

		PIN_IN(gpd8-1, UP, FAST_SR1);

		PIN_IN(gpg1-0, DOWN, FAST_SR1);
		PIN_IN(gpg1-1, DOWN, FAST_SR1);
		PIN_IN(gpg1-2, DOWN, FAST_SR1);
		PIN_IN(gpg1-3, DOWN, FAST_SR1);
		PIN_IN(gpg1-4, DOWN, FAST_SR1);

		PIN_IN(gpg2-0, DOWN, FAST_SR1);
		PIN_IN(gpg2-1, DOWN, FAST_SR1);

		PIN_IN(gpg3-0, DOWN, FAST_SR1);
		PIN_IN(gpg3-1, DOWN, FAST_SR1);
		PIN_IN(gpg3-5, DOWN, FAST_SR1);
	};
};

&pinctrl_touch {
	pinctrl-names = "default";
	pinctrl-0 = <&initial_touch>;

	initial_touch: initial-state {
		PIN_IN(gpj1-2, DOWN, FAST_SR1);
	};
};

&pwm {
	pinctrl-0 = <&pwm0_out>;
	pinctrl-names = "default";
	status = "okay";
};

&mic {
	status = "okay";
};

&pmu_system_controller {
	assigned-clocks = <&pmu_system_controller 0>;
	assigned-clock-parents = <&xxti>;
};

&serial_1 {
	status = "okay";
};

&serial_3 {
	status = "okay";

	bluetooth {
		compatible = "brcm,bcm43438-bt";
		max-speed = <3000000>;
		shutdown-gpios = <&gpd4 0 GPIO_ACTIVE_HIGH>;
		device-wakeup-gpios = <&gpr3 7 GPIO_ACTIVE_HIGH>;
		host-wakeup-gpios = <&gpa2 2 GPIO_ACTIVE_HIGH>;
		clocks = <&s2mps13_osc S2MPS11_CLK_BT>;
		clock-names = "extclk";
	};
};

&spi_1 {
	cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
	status = "okay";

	wm5110: audio-codec@0 {
		compatible = "wlf,wm5110";
		reg = <0x0>;
		spi-max-frequency = <20000000>;
		interrupt-parent = <&gpa0>;
		interrupts = <4 IRQ_TYPE_NONE>;
		clocks = <&pmu_system_controller 0>,
			<&s2mps13_osc S2MPS11_CLK_BT>;
		clock-names = "mclk1", "mclk2";

		gpio-controller;
		#gpio-cells = <2>;

		wlf,micd-detect-debounce = <300>;
		wlf,micd-bias-start-time = <0x1>;
		wlf,micd-rate = <0x7>;
		wlf,micd-dbtime = <0x1>;
		wlf,micd-force-micbias;
		wlf,micd-configs = <0x0 1 0>;
		wlf,hpdet-channel = <1>;
		wlf,gpsw = <0x1>;
		wlf,inmode = <2 0 2 0>;

		wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>;
		wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>;

		/* core supplies */
		AVDD-supply = <&ldo18_reg>;
		DBVDD1-supply = <&ldo18_reg>;
		CPVDD-supply = <&ldo18_reg>;
		DBVDD2-supply = <&ldo18_reg>;
		DBVDD3-supply = <&ldo18_reg>;

		controller-data {
			samsung,spi-feedback-delay = <0>;
		};
	};
};

&spi_3 {
	status = "okay";
	no-cs-readback;

	irled@0 {
		compatible = "ir-spi-led";
		reg = <0x0>;
		spi-max-frequency = <5000000>;
		power-supply = <&irda_regulator>;
		duty-cycle = <60>;
		led-active-low;

		controller-data {
			samsung,spi-feedback-delay = <0>;
		};
	};
};

&timer {
	clock-frequency = <24000000>;
};

&tmu_atlas0 {
	vtmu-supply = <&ldo3_reg>;
	status = "okay";
};

&tmu_apollo {
	vtmu-supply = <&ldo3_reg>;
	status = "okay";
};

&tmu_g3d {
	vtmu-supply = <&ldo3_reg>;
	status = "okay";
};

&usbdrd30 {
	vdd33-supply = <&ldo10_reg>;
	vdd10-supply = <&ldo6_reg>;
	status = "okay";
};

&usbdrd_dwc3 {
	dr_mode = "otg";
};

&usbdrd30_phy {
	vbus-supply = <&safeout1_reg>;
	status = "okay";

	port {
		usb_to_muic: endpoint {
			remote-endpoint = <&muic_to_usb>;
		};
	};
};

&xxti {
	clock-frequency = <24000000>;
};
