/*
 * 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.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

/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>

/ {
	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";
		gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
			 &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
		i2c-gpio,delay-us = <2>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "okay";

		max98504: max98504@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>;
		i2s-controller = <&i2s0>;
		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>;
	assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>;
};

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

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

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

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

		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_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";

	sii8620@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";

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

&hsi2c_8 {
	status = "okay";

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

		muic: max77843-muic {
			compatible = "maxim,max77843-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: max77843-haptic {
			compatible = "maxim,max77843-haptic";
			haptic-supply = <&ldo38_reg>;
			pwms = <&pwm 0 33670 0>;
			pwm-names = "haptic";
		};
	};
};

&hsi2c_11 {
	status = "okay";
};

&i2s0 {
	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_HIGH>;
	cd-inverted;
	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>;
};

&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(INPUT, gpa0-0, DOWN, FAST_SR1);
		PIN(INPUT, gpa0-1, NONE, FAST_SR1);
		PIN(INPUT, gpa0-2, DOWN, FAST_SR1);
		PIN(INPUT, gpa0-3, NONE, FAST_SR1);
		PIN(INPUT, gpa0-4, NONE, FAST_SR1);
		PIN(INPUT, gpa0-5, DOWN, FAST_SR1);
		PIN(INPUT, gpa0-6, NONE, FAST_SR1);
		PIN(INPUT, gpa0-7, NONE, FAST_SR1);

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

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

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

		PIN(INPUT, gpf1-0, NONE, FAST_SR1);
		PIN(INPUT, gpf1-1, NONE, FAST_SR1);
		PIN(INPUT, gpf1-2, DOWN, FAST_SR1);
		PIN(INPUT, gpf1-4, UP, FAST_SR1);
		PIN(OUTPUT, gpf1-5, NONE, FAST_SR1);
		PIN(INPUT, gpf1-6, DOWN, FAST_SR1);
		PIN(INPUT, gpf1-7, DOWN, FAST_SR1);

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

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

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

		PIN(INPUT, gpf5-0, DOWN, FAST_SR1);
		PIN(INPUT, gpf5-1, DOWN, FAST_SR1);
		PIN(INPUT, gpf5-2, DOWN, FAST_SR1);
		PIN(INPUT, gpf5-3, DOWN, FAST_SR1);
		PIN(OUTPUT, gpf5-4, NONE, FAST_SR1);
		PIN(INPUT, gpf5-5, DOWN, FAST_SR1);
		PIN(INPUT, gpf5-6, DOWN, FAST_SR1);
		PIN(INPUT, gpf5-7, DOWN, FAST_SR1);
	};

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

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

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

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

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

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

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

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

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

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

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

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

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

		PIN(INPUT, gpb0-4, DOWN, FAST_SR1);

		PIN(INPUT, gpc0-2, DOWN, FAST_SR1);
		PIN(INPUT, gpc0-5, DOWN, FAST_SR1);
		PIN(INPUT, gpc0-7, DOWN, FAST_SR1);

		PIN(INPUT, gpc1-1, DOWN, FAST_SR1);

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

		PIN(OUTPUT, gpg0-0, NONE, FAST_SR1);
		PIN(2, gpg0-1, DOWN, FAST_SR1);

		PIN(INPUT, gpd2-5, DOWN, FAST_SR1);

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

		PIN(INPUT, gpd6-3, DOWN, FAST_SR1);

		PIN(INPUT, gpd8-1, UP, FAST_SR1);

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

		PIN(INPUT, gpg2-0, DOWN, FAST_SR1);
		PIN(INPUT, gpg2-1, DOWN, FAST_SR1);

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

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

	initial_touch: initial-state {
		PIN(INPUT, 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";
};

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

	wm5110: wm5110-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";
	extcon = <&muic>;
};

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

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