code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Hardkernel's Exynos4412 based ODROID-X board device tree source
 *
 * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com>
 *
 * Device tree source file for Hardkernel's ODROID-X board which is based
 * on Samsung's Exynos4412 SoC.
 */

/dts-v1/;
#include <dt-bindings/leds/common.h>
#include "exynos4412-odroid-common.dtsi"

/ {
	model = "Hardkernel ODROID-X board based on Exynos4412";
	compatible = "hardkernel,odroid-x", "samsung,exynos4412", "samsung,exynos4";

	aliases {
		ethernet = &ethernet;
	};

	memory@40000000 {
		device_type = "memory";
		reg = <0x40000000 0x3FF00000>;
	};

	leds {
		compatible = "gpio-leds";
		led1 {
			function = LED_FUNCTION_HEARTBEAT;
			color = <LED_COLOR_ID_BLUE>;
			gpios = <&gpc1 0 GPIO_ACTIVE_LOW>;
			default-state = "on";
			linux,default-trigger = "heartbeat";
		};
		led2 {
			label = "led2:mmc0";
			function = LED_FUNCTION_DISK_ACTIVITY;
			gpios = <&gpc1 2 GPIO_ACTIVE_LOW>;
			default-state = "on";
			linux,default-trigger = "mmc0";
		};
	};

	regulator-1 {
		compatible = "regulator-fixed";
		regulator-name = "p3v3_en";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpa1 1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-always-on;
	};
};

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

/* VDDQ for MSHC (eMMC card) */
&buck8_reg {
	regulator-name = "BUCK8_VDDQ_MMC4_2.8V";
	regulator-min-microvolt = <2800000>;
	regulator-max-microvolt = <2800000>;
};

&ehci {
	#address-cells = <1>;
	#size-cells = <0>;
	phys = <&exynos_usbphy 2>;
	phy-names = "hsic0";

	hub@2 {
		compatible = "usb424,3503";
		reg = <2>;
		#address-cells = <1>;
		#size-cells = <0>;

		hub@1 {
			compatible = "usb424,9514";
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;

			ethernet: ethernet@1 {
				compatible = "usb424,ec00";
				reg = <1>;
				/* Filled in by a bootloader */
				local-mac-address = [00 00 00 00 00 00];
			};
		};
	};
};

&gpio_keys {
	pinctrl-0 = <&gpio_power_key &gpio_home_key>;

	home-key {
		gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
		linux,code = <KEY_HOME>;
		label = "home key";
		debounce-interval = <10>;
		wakeup-source;
	};
};

&hsotg {
	dr_mode = "peripheral";
};

&mshc_0 {
	vqmmc-supply = <&buck8_reg>;
};

&pinctrl_1 {
	gpio_home_key: home-key-pins {
		samsung,pins = "gpx2-2";
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};
};

&serial_2 {
	status = "okay";
};

&serial_3 {
	status = "okay";
};

&sound {
	model = "Odroid-X";
	samsung,audio-widgets =
		"Headphone", "Headphone Jack",
		"Microphone", "Mic Jack",
		"Microphone", "DMIC";
	samsung,audio-routing =
		"Headphone Jack", "HPL",
		"Headphone Jack", "HPR",
		"IN1", "Mic Jack",
		"Mic Jack", "MICBIAS";
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Hardkernel's Exynos4412 based ODROID-X2 board device tree source
 *
 * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com>
 *
 * Device tree source file for Hardkernel's ODROID-X2 board which is based
 * on Samsung's Exynos4412 SoC.
 */

#include "exynos4412-odroidx.dts"
#include "exynos4412-prime.dtsi"

/ {
	model = "Hardkernel ODROID-X2 board based on Exynos4412";
	compatible = "hardkernel,odroid-x2", "samsung,exynos4412", "samsung,exynos4";

	memory@40000000 {
		device_type = "memory";
		reg = <0x40000000 0x7FF00000>;
	};
};

repo_name: angery/linux


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Insignal's Exynos4412 based Origen board device tree source
 *
 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Device tree source file for Insignal's Origen board which is based on
 * Samsung's Exynos4412 SoC.
 */

/dts-v1/;
#include "exynos4412.dtsi"
#include <dt-bindings/clock/samsung,s2mps11.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "exynos-mfc-reserved-memory.dtsi"

/ {
	model = "Insignal Origen evaluation board based on Exynos4412";
	compatible = "insignal,origen4412", "samsung,exynos4412", "samsung,exynos4";

	memory@40000000 {
		device_type = "memory";
		reg = <0x40000000 0x40000000>;
	};

	chosen {
		stdout-path = "serial2:115200n8";
	};

	firmware@203f000 {
		compatible = "samsung,secure-firmware";
		reg = <0x0203F000 0x1000>;
	};

	mmc_reg: regulator-0 {
		compatible = "regulator-fixed";
		regulator-name = "VMEM_VDD_2.8V";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;
		gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	display-timings {
		native-mode = <&timing0>;
		timing0: timing {
			clock-frequency = <47500000>;
			hactive = <1024>;
			vactive = <600>;
			hfront-porch = <64>;
			hback-porch = <16>;
			hsync-len = <48>;
			vback-porch = <64>;
			vfront-porch = <16>;
			vsync-len = <3>;
		};
	};

	fixed-rate-clocks {
		xxti {
			compatible = "samsung,clock-xxti";
			clock-frequency = <0>;
		};

		xusbxti {
			compatible = "samsung,clock-xusbxti";
			clock-frequency = <24000000>;
		};
	};
};

&cpu0 {
	cpu0-supply = <&buck2_reg>;
};

&cpu_thermal {
	cooling-maps {
		cooling_map0: map0 {
			/* Corresponds to 800MHz at freq_table */
			cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
					 <&cpu2 7 7>, <&cpu3 7 7>;
		};
		cooling_map1: map1 {
			/* Corresponds to 200MHz at freq_table */
			cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
					 <&cpu2 13 13>, <&cpu3 13 13>;
		};
	};
};

&exynos_usbphy {
	status = "okay";
};

&ehci {
	samsung,vbus-gpio = <&gpx3 5 GPIO_ACTIVE_HIGH>;
	status = "okay";
	phys = <&exynos_usbphy 2>, <&exynos_usbphy 3>;
	phy-names = "hsic0", "hsic1";
};

&fimd {
	pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
	pinctrl-names = "default";
	status = "okay";
};

&i2c_0 {
	#address-cells = <1>;
	#size-cells = <0>;
	samsung,i2c-sda-delay = <100>;
	samsung,i2c-max-bus-freq = <20000>;
	pinctrl-0 = <&i2c0_bus>;
	pinctrl-names = "default";
	status = "okay";

	pmic@66 {
		compatible = "samsung,s5m8767-pmic";
		reg = <0x66>;

		s5m8767,pmic-buck-default-dvs-idx = <3>;

		s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>,
						 <&gpx2 4 GPIO_ACTIVE_HIGH>,
						 <&gpx2 5 GPIO_ACTIVE_HIGH>;

		s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
						<&gpm3 6 GPIO_ACTIVE_HIGH>,
						<&gpm3 7 GPIO_ACTIVE_HIGH>;

		s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>,
						 <1200000>, <1200000>,
						 <1200000>, <1200000>,
						 <1200000>, <1200000>;

		s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
						 <1100000>, <1100000>,
						 <1100000>, <1100000>,
						 <1100000>, <1100000>;

		s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
						 <1200000>, <1200000>,
						 <1200000>, <1200000>,
						 <1200000>, <1200000>;
		wakeup-source;

		s5m8767_osc: clocks {
			compatible = "samsung,s5m8767-clk";
			#clock-cells = <1>;
			clock-output-names = "s5m8767_ap", "s5m8767_cp",
					     "s5m8767_bt";
		};

		regulators {
			ldo1_reg: LDO1 {
				regulator-name = "VDD_ALIVE";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1100000>;
				regulator-always-on;
				regulator-boot-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo2_reg: LDO2 {
				regulator-name = "VDDQ_M12";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo3_reg: LDO3 {
				regulator-name = "VDDIOAP_18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo4_reg: LDO4 {
				regulator-name = "VDDQ_PRE";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo5_reg: LDO5 {
				regulator-name = "VDD18_2M";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo6_reg: LDO6 {
				regulator-name = "VDD10_MPLL";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo7_reg: LDO7 {
				regulator-name = "VDD10_XPLL";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo8_reg: LDO8 {
				regulator-name = "VDD10_MIPI";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo9_reg: LDO9 {
				regulator-name = "VDD33_LCD";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo10_reg: LDO10 {
				regulator-name = "VDD18_MIPI";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo11_reg: LDO11 {
				regulator-name = "VDD18_ABB1";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo12_reg: LDO12 {
				regulator-name = "VDD33_UOTG";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo13_reg: LDO13 {
				regulator-name = "VDDIOPERI_18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo14_reg: LDO14 {
				regulator-name = "VDD18_ABB02";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo15_reg: LDO15 {
				regulator-name = "VDD10_USH";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo16_reg: LDO16 {
				regulator-name = "VDD18_HSIC";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo17_reg: LDO17 {
				regulator-name = "VDDIOAP_MMC012_28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo18_reg: LDO18 {
				regulator-name = "VDDIOPERI_28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo19_reg: LDO19 {
				regulator-name = "DVDD25";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo20_reg: LDO20 {
				regulator-name = "VDD28_CAM";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo21_reg: LDO21 {
				regulator-name = "VDD28_AF";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo22_reg: LDO22 {
				regulator-name = "VDDA28_2M";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo23_reg: LDO23 {
				regulator-name = "VDD28_TF";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo24_reg: LDO24 {
				regulator-name = "VDD33_A31";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo25_reg: LDO25 {
				regulator-name = "VDD18_CAM";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo26_reg: LDO26 {
				regulator-name = "VDD18_A31";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo27_reg: LDO27 {
				regulator-name = "GPS_1V8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			ldo28_reg: LDO28 {
				regulator-name = "DVDD12";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-always-on;
				op_mode = <1>; /* Normal Mode */
			};

			buck1_reg: BUCK1 {
				regulator-name = "VDD_MIF";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1100000>;
				regulator-always-on;
				regulator-boot-on;
				op_mode = <1>; /* Normal Mode */
			};

			buck2_reg: BUCK2 {
				regulator-name = "VDD_ARM";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
				regulator-boot-on;
				op_mode = <1>; /* Normal Mode */
			};

			buck3_reg: BUCK3 {
				regulator-name = "VDD_INT";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1200000>;
				regulator-always-on;
				regulator-boot-on;
				op_mode = <1>; /* Normal Mode */
			};

			buck4_reg: BUCK4 {
				regulator-name = "VDD_G3D";
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
				regulator-boot-on;
				op_mode = <1>; /* Normal Mode */
			};

			buck5_reg: BUCK5 {
				regulator-name = "VDD_M12";
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
				regulator-boot-on;
				op_mode = <1>; /* Normal Mode */
			};

			buck6_reg: BUCK6 {
				regulator-name = "VDD12_5M";
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
				regulator-boot-on;
				op_mode = <1>; /* Normal Mode */
			};

			buck9_reg: BUCK9 {
				regulator-name = "VDDF28_EMMC";
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <3000000>;
				regulator-always-on;
				regulator-boot-on;
				op_mode = <1>; /* Normal Mode */
			};
		};
	};
};

&keypad {
	samsung,keypad-num-rows = <3>;
	samsung,keypad-num-columns = <2>;
	linux,keypad-no-autorepeat;
	wakeup-source;
	pinctrl-0 = <&keypad_rows &keypad_cols>;
	pinctrl-names = "default";
	status = "okay";

	key-home {
		keypad,row = <0>;
		keypad,column = <0>;
		linux,code = <KEY_HOME>;
	};

	key-down {
		keypad,row = <0>;
		keypad,column = <1>;
		linux,code = <KEY_DOWN>;
	};

	key-up {
		keypad,row = <1>;
		keypad,column = <0>;
		linux,code = <KEY_UP>;
	};

	key-menu {
		keypad,row = <1>;
		keypad,column = <1>;
		linux,code = <KEY_MENU>;
	};

	key-back {
		keypad,row = <2>;
		keypad,column = <0>;
		linux,code = <KEY_BACK>;
	};

	key-enter {
		keypad,row = <2>;
		keypad,column = <1>;
		linux,code = <KEY_ENTER>;
	};
};

&mshc_0 {
	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
	pinctrl-names = "default";
	status = "okay";

	broken-cd;
	card-detect-delay = <200>;
	samsung,dw-mshc-ciu-div = <3>;
	samsung,dw-mshc-sdr-timing = <2 3>;
	samsung,dw-mshc-ddr-timing = <1 2>;
	bus-width = <8>;
	cap-mmc-highspeed;
};

&pinctrl_1 {
	keypad_rows: keypad-rows-pins {
		samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	keypad_cols: keypad-cols-pins {
		samsung,pins = "gpx1-0", "gpx1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};
};

&rtc {
	status = "okay";
	clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>;
	clock-names = "rtc", "rtc_src";
};

&sdhci_2 {
	bus-width = <4>;
	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
	pinctrl-names = "default";
	vmmc-supply = <&mmc_reg>;
	status = "okay";
};

&serial_0 {
	status = "okay";
};

&serial_1 {
	status = "okay";
};

&serial_2 {
	status = "okay";
};

&serial_3 {
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung's Galaxy Note 10.1 - N801x (wifi only version)
 *
 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 */

/dts-v1/;
#include "exynos4412-p4note.dtsi"

/ {
	model = "Samsung Galaxy Note 10.1 (GT-N8010/N8013) based on Exynos4412";
	compatible = "samsung,n8010", "samsung,p4note", "samsung,exynos4412", "samsung,exynos4";
	chassis-type = "tablet";

	/* this is the base variant without any kind of modem */
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung's Exynos4412 based p4note device family base DT.
 * Based on exynos4412-midas.dtsi.
 *
 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 */

/dts-v1/;
#include "exynos4412.dtsi"
#include "exynos4412-ppmu-common.dtsi"

#include <dt-bindings/clock/maxim,max77686.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/power/summit,smb347-charger.h>
#include "exynos-pinctrl.h"

/ {
	compatible = "samsung,p4note", "samsung,exynos4412", "samsung,exynos4";

	memory@40000000 {
		device_type = "memory";
		reg = <0x40000000 0x80000000>;
	};

	chosen {
		stdout-path = &serial_2;
	};

	firmware@204f000 {
		compatible = "samsung,secure-firmware";
		reg = <0x0204F000 0x1000>;
	};

	fixed-rate-clocks {
		xxti {
			compatible = "samsung,clock-xxti";
			clock-frequency = <0>;
		};

		xusbxti {
			compatible = "samsung,clock-xusbxti";
			clock-frequency = <24000000>;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&gpio_keys>;

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

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

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

	voltage-regulator-1 {
		compatible = "regulator-fixed";
		regulator-name = "TSP_LDO1";
		pinctrl-names = "default";
		pinctrl-0 = <&tsp_reg_gpio_1>;
		gpios = <&gpm4 5 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-always-on;
	};

	voltage-regulator-2 {
		compatible = "regulator-fixed";
		regulator-name = "TSP_LDO2";
		pinctrl-names = "default";
		pinctrl-0 = <&tsp_reg_gpio_2>;
		gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-always-on;
	};

	voltage-regulator-3 {
		compatible = "regulator-fixed";
		regulator-name = "TSP_LDO3";
		pinctrl-names = "default";
		pinctrl-0 = <&tsp_reg_gpio_3>;
		gpios = <&gpb 7 GPIO_ACTIVE_HIGH>;
		startup-delay-us = <20000>;
		enable-active-high;
		regulator-always-on;
	};

	panel_vdd: voltage-regulator-4 {
		compatible = "regulator-fixed";
		regulator-name = "LCD_ENABLE";
		pinctrl-names = "default";
		pinctrl-0 = <&lcd_enable>;
		gpios = <&gpc0 1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-boot-on;
	};

	wlan_pwrseq: sdhci3-pwrseq {
		compatible = "mmc-pwrseq-simple";
		reset-gpios = <&gpm3 5 GPIO_ACTIVE_LOW>;
		pinctrl-0 = <&wifi_reset>;
		pinctrl-names = "default";
		clocks = <&max77686 MAX77686_CLK_PMIC>;
		clock-names = "ext_clock";
	};

	battery_cell: battery-cell {
		compatible = "simple-battery";
		device-chemistry = "lithium-ion";
		constant-charge-current-max-microamp = <2200000>;
		precharge-current-microamp = <250000>;
		charge-term-current-microamp = <250000>;
		constant-charge-voltage-max-microvolt = <4200000>;

		power-supplies = <&power_supply>;
	};

	i2c-gpio-1 {
		compatible = "i2c-gpio";
		sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		i2c-gpio,delay-us = <2>;
		#address-cells = <1>;
		#size-cells = <0>;

		magnetometer@c {
			compatible = "asahi-kasei,ak8975";
			reg = <0x0c>;
			pinctrl-0 = <&ak8975_irq>;
			pinctrl-names = "default";
			interrupt-parent = <&gpm4>;
			interrupts = <7 IRQ_TYPE_EDGE_RISING>;
		};
	};

	i2c-gpio-2 {
		compatible = "i2c-gpio";
		sda-gpios = <&gpy0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		scl-gpios = <&gpy0 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		i2c-gpio,delay-us = <2>;
		#address-cells = <1>;
		#size-cells = <0>;

		fuel-gauge@36 {
			compatible = "maxim,max17042";
			reg = <0x36>;
			pinctrl-0 = <&fuel_alert_irq>;
			pinctrl-names = "default";
			interrupt-parent = <&gpx2>;
			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
			maxim,rsns-microohm = <10000>;
			maxim,over-heat-temp = <600>;
			maxim,over-volt = <4300>;
		};
	};

	i2c-gpio-3 {
		compatible = "i2c-gpio";
		sda-gpios = <&gpm4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		scl-gpios = <&gpm4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		i2c-gpio,delay-us = <5>;
		#address-cells = <1>;
		#size-cells = <0>;

		adc@41 {
			compatible = "st,stmpe811";
			reg = <0x41>;
			pinctrl-0 = <&stmpe_adc_irq>;
			pinctrl-names = "default";
			interrupt-parent = <&gpx0>;
			interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
			interrupt-controller;
			irq-trigger = <0x1>;
			st,adc-freq = <3>;
			st,mod-12b = <1>;
			st,ref-sel = <0>;
			st,sample-time = <3>;

			stmpe_adc {
				compatible = "st,stmpe-adc";
				#io-channel-cells = <1>;
				st,norequest-mask = <0x2F>;
			};
		};
	};

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

		i2c-gpio,delay-us = <2>;
		#address-cells = <1>;
		#size-cells = <0>;

		power_supply: charger@6 {
			compatible = "summit,smb347";
			reg = <0x6>;
			summit,enable-usb-charging;
			summit,enable-charge-control = <SMB3XX_CHG_ENABLE_SW>;
			summit,fast-voltage-threshold-microvolt = <2600000>;
			summit,chip-temperature-threshold-celsius = <130>;
			summit,usb-current-limit-microamp = <1800000>;

			monitored-battery = <&battery_cell>;
		};
	};

	panel {
		compatible = "samsung,ltl101al01";
		pinctrl-0 = <&lvds_nshdn>;
		pinctrl-names = "default";
		power-supply = <&panel_vdd>;
		enable-gpios = <&gpm0 5 GPIO_ACTIVE_HIGH>;
		backlight = <&backlight>;

		port {
			lcd_ep: endpoint {
				remote-endpoint = <&fimd_ep>;
			};
		};
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		pinctrl-0 = <&led_bl_reset>;
		pinctrl-names = "default";
		enable-gpios = <&gpm0 1 GPIO_ACTIVE_HIGH>;
		pwms = <&pwm 1 78770 0>;
		brightness-levels = <0 48 128 255>;
		num-interpolated-steps = <8>;
		default-brightness-level = <12>;
	};
};

&adc {
	vdd-supply = <&ldo3_reg>;
	/* not verified */
	status = "okay";
};

&bus_dmc {
	devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
	vdd-supply = <&buck1_reg>;
	status = "okay";
};

&bus_acp {
	devfreq = <&bus_dmc>;
	status = "okay";
};

&bus_c2c {
	devfreq = <&bus_dmc>;
	status = "okay";
};

&bus_leftbus {
	devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
	vdd-supply = <&buck3_reg>;
	status = "okay";
};

&bus_rightbus {
	devfreq = <&bus_leftbus>;
	status = "okay";
};

&bus_display {
	devfreq = <&bus_leftbus>;
	status = "okay";
};

&bus_fsys {
	devfreq = <&bus_leftbus>;
	status = "okay";
};

&bus_peri {
	devfreq = <&bus_leftbus>;
	status = "okay";
};

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

&cpu0 {
	cpu0-supply = <&buck2_reg>;
};

&cpu_thermal {
	cooling-maps {
		map0 {
			/* Corresponds to 800MHz at freq_table */
			cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
					 <&cpu2 7 7>, <&cpu3 7 7>;
		};
		map1 {
			/* Corresponds to 200MHz at freq_table */
			cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
					 <&cpu2 13 13>, <&cpu3 13 13>;
		};
	};
};

&exynos_usbphy {
	status = "okay";
};

&fimd {
	pinctrl-0 = <&lcd_clk &lcd_data24>;
	pinctrl-names = "default";
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	samsung,invert-vclk;

	port@3 {
		reg = <3>;

		fimd_ep: endpoint {
			remote-endpoint = <&lcd_ep>;
		};
	};
};

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

&hsotg {
	vusb_a-supply = <&ldo12_reg>;
	dr_mode = "peripheral";
	status = "okay";
};

&i2c_3 {
	samsung,i2c-sda-delay = <100>;
	samsung,i2c-slave-addr = <0x10>;
	samsung,i2c-max-bus-freq = <400000>;
	pinctrl-0 = <&i2c3_bus>;
	pinctrl-names = "default";
	status = "okay";

	touchscreen@4a {
		compatible = "atmel,maxtouch";
		reg = <0x4a>;
		pinctrl-0 = <&tsp_rst &tsp_irq>;
		pinctrl-names = "default";
		interrupt-parent = <&gpm2>;
		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
		reset-gpios = <&gpm0 4 GPIO_ACTIVE_LOW>;
	};
};

&i2c_7 {
	samsung,i2c-sda-delay = <100>;
	samsung,i2c-slave-addr = <0x10>;
	samsung,i2c-max-bus-freq = <400000>;
	pinctrl-0 = <&i2c7_bus>;
	pinctrl-names = "default";
	status = "okay";

	max77686: pmic@9 {
		compatible = "maxim,max77686";
		interrupt-parent = <&gpx0>;
		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-0 = <&max77686_irq>;
		pinctrl-names = "default";
		wakeup-source;
		reg = <0x09>;
		#clock-cells = <1>;

		voltage-regulators {
			ldo1_reg: LDO1 {
				regulator-name = "ldo1";
				regulator-always-on;
			};

			ldo2_reg: LDO2 {
				regulator-name = "ldo2";
				regulator-always-on;
			};

			/* WM8994 audio */
			ldo3_reg: LDO3 {
				regulator-name = "VCC_1.8V_AP";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			ldo4_reg: LDO4 {
				regulator-name = "ldo4";
				regulator-always-on;
			};

			ldo5_reg: LDO5 {
				regulator-name = "VCC_1.8V_IO";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo6_reg: LDO6 {
				regulator-name = "ldo6";
				regulator-always-on;
			};

			ldo7_reg: LDO7 {
				regulator-name = "ldo7";
				regulator-always-on;
			};

			/* CSI IP block */
			ldo8_reg: LDO8 {
				regulator-name = "VMIPI_1.0V";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			/* IR LED on/off */
			ldo9_reg: LDO9 {
				regulator-name = "VLED_IC_1.9V";
				regulator-min-microvolt = <1950000>;
				regulator-max-microvolt = <1950000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			/* CSI IP block */
			ldo10_reg: LDO10 {
				regulator-name = "VMIPI_1.8V";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			ldo11_reg: LDO11 {
				regulator-name = "VABB1_1.9V";
				regulator-min-microvolt = <1950000>;
				regulator-max-microvolt = <1950000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			/* USB OTG */
			ldo12_reg: LDO12 {
				regulator-name = "VUOTG_3.0V";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			/* not connected */
			ldo13_reg: LDO13 {
				regulator-name = "ldo13";
			};

			ldo14_reg: LDO14 {
				regulator-name = "VABB2_1.9V";
				regulator-min-microvolt = <1950000>;
				regulator-max-microvolt = <1950000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo15_reg: LDO15 {
				regulator-name = "ldo15";
				regulator-always-on;
			};

			ldo16_reg: LDO16 {
				regulator-name = "ldo16";
				regulator-always-on;
			};

			/* not connected */
			ldo17_reg: LDO17 {
				regulator-name = "ldo17";
			};

			/* Camera ISX012 */
			ldo18_reg: LDO18 {
				regulator-name = "CAM_IO_1.8V";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			/* Camera S5K6A3 */
			ldo19_reg: LDO19 {
				regulator-name = "VT_CORE_1.8V";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			/* not connected */
			ldo20_reg: LDO20 {
				regulator-name = "ldo20";
			};

			/* MMC2 */
			ldo21_reg: LDO21 {
				regulator-name = "VTF_2.8V";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
			};

			/* not connected */
			ldo22_reg: LDO22 {
				regulator-name = "ldo22";
			};

			/* ADC */
			ldo23_reg: LDO23 {
				regulator-name = "VDD_ADC_3.3V";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			/* Camera S5K6A3 */
			ldo24_reg: LDO24 {
				regulator-name = "CAM_A2.8V";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			ldo25_reg: LDO25 {
				regulator-name = "VLED_3.3V";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			/* Camera ISX012 */
			ldo26_reg: LDO26 {
				regulator-name = "3MP_AF_2.8V";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			buck1_reg: BUCK1 {
				regulator-name = "VDD_MIF";
				regulator-min-microvolt = <850000>;
				regulator-max-microvolt = <1050000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck2_reg: BUCK2 {
				regulator-name = "VDD_ARM";
				regulator-min-microvolt = <850000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck3_reg: BUCK3 {
				regulator-name = "VDD_INT";
				regulator-min-microvolt = <850000>;
				regulator-max-microvolt = <1100000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck4_reg: BUCK4 {
				regulator-name = "VDD_G3D";
				regulator-min-microvolt = <850000>;
				regulator-max-microvolt = <1075000>;
				regulator-boot-on;
			};

			buck5_reg: BUCK5 {
				regulator-name = "buck5";
				regulator-always-on;
			};

			buck6_reg: BUCK6 {
				regulator-name = "buck6";
				regulator-always-on;
			};

			buck7_reg: BUCK7 {
				regulator-name = "buck7";
				regulator-always-on;
			};

			/* not connected */
			buck8_reg: BUCK8 {
				regulator-name = "buck8";
			};

			buck9_reg: BUCK9 {
				regulator-name = "3MP_CORE_1.2V";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};
		};
	};
};

&mshc_0 {
	broken-cd;
	non-removable;
	card-detect-delay = <200>;
	clock-frequency = <400000000>;
	samsung,dw-mshc-ciu-div = <0>;
	samsung,dw-mshc-sdr-timing = <2 3>;
	samsung,dw-mshc-ddr-timing = <1 2>;
	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
	pinctrl-names = "default";
	bus-width = <4>;
	cap-mmc-highspeed;
	cap-sd-highspeed;
	status = "okay";
};

&pinctrl_0 {
	pinctrl-names = "default";
	pinctrl-0 = <&sleep0>;

	tsp_reg_gpio_2: tsp-reg-gpio-2-pins {
		samsung,pins = "gpb-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	tsp_reg_gpio_3: tsp-reg-gpio-3-pins {
		samsung,pins = "gpb-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	lcd_enable: lcd-enable-pins {
		samsung,pins = "gpc0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	sleep0: sleep-state {
		PIN_SLP(gpa0-0, INPUT, NONE);
		PIN_SLP(gpa0-1, OUT0, NONE);
		PIN_SLP(gpa0-2, INPUT, NONE);
		PIN_SLP(gpa0-3, INPUT, UP);
		PIN_SLP(gpa0-4, INPUT, NONE);
		PIN_SLP(gpa0-5, INPUT, DOWN);
		PIN_SLP(gpa0-6, INPUT, DOWN);
		PIN_SLP(gpa0-7, INPUT, UP);

		PIN_SLP(gpa1-0, INPUT, DOWN);
		PIN_SLP(gpa1-1, INPUT, DOWN);
		PIN_SLP(gpa1-2, INPUT, DOWN);
		PIN_SLP(gpa1-3, INPUT, DOWN);
		PIN_SLP(gpa1-4, INPUT, DOWN);
		PIN_SLP(gpa1-5, INPUT, DOWN);

		PIN_SLP(gpb-0, INPUT, NONE);
		PIN_SLP(gpb-1, INPUT, NONE);
		PIN_SLP(gpb-2, INPUT, NONE);
		PIN_SLP(gpb-3, INPUT, NONE);
		PIN_SLP(gpb-4, INPUT, DOWN);
		PIN_SLP(gpb-5, INPUT, DOWN);
		PIN_SLP(gpb-6, INPUT, DOWN);
		PIN_SLP(gpb-7, INPUT, DOWN);

		PIN_SLP(gpc0-0, INPUT, DOWN);
		PIN_SLP(gpc0-1, INPUT, DOWN);
		PIN_SLP(gpc0-2, INPUT, DOWN);
		PIN_SLP(gpc0-3, INPUT, DOWN);
		PIN_SLP(gpc0-4, INPUT, DOWN);

		PIN_SLP(gpc1-0, INPUT, UP);
		PIN_SLP(gpc1-1, PREV, NONE);
		PIN_SLP(gpc1-2, INPUT, UP);
		PIN_SLP(gpc1-3, INPUT, UP);
		PIN_SLP(gpc1-4, INPUT, UP);

		PIN_SLP(gpd0-0, INPUT, DOWN);
		PIN_SLP(gpd0-1, OUT0, NONE);
		PIN_SLP(gpd0-2, INPUT, NONE);
		PIN_SLP(gpd0-3, INPUT, NONE);

		PIN_SLP(gpd1-0, INPUT, DOWN);
		PIN_SLP(gpd1-1, INPUT, DOWN);
		PIN_SLP(gpd1-2, INPUT, NONE);
		PIN_SLP(gpd1-3, INPUT, NONE);

		PIN_SLP(gpf0-0, OUT0, NONE);
		PIN_SLP(gpf0-1, OUT0, NONE);
		PIN_SLP(gpf0-2, OUT0, NONE);
		PIN_SLP(gpf0-3, OUT0, NONE);
		PIN_SLP(gpf0-4, OUT0, NONE);
		PIN_SLP(gpf0-5, OUT0, NONE);
		PIN_SLP(gpf0-6, OUT0, NONE);
		PIN_SLP(gpf0-7, OUT0, NONE);

		PIN_SLP(gpf1-0, OUT0, NONE);
		PIN_SLP(gpf1-1, OUT0, NONE);
		PIN_SLP(gpf1-2, OUT0, NONE);
		PIN_SLP(gpf1-3, OUT0, NONE);
		PIN_SLP(gpf1-4, OUT0, NONE);
		PIN_SLP(gpf1-5, OUT0, NONE);
		PIN_SLP(gpf1-6, OUT0, NONE);
		PIN_SLP(gpf1-7, OUT0, NONE);

		PIN_SLP(gpf2-0, OUT0, NONE);
		PIN_SLP(gpf2-1, OUT0, NONE);
		PIN_SLP(gpf2-2, OUT0, NONE);
		PIN_SLP(gpf2-3, OUT0, NONE);
		PIN_SLP(gpf2-4, OUT0, NONE);
		PIN_SLP(gpf2-5, OUT0, NONE);
		PIN_SLP(gpf2-6, OUT0, NONE);
		PIN_SLP(gpf2-7, OUT0, NONE);

		PIN_SLP(gpf3-0, OUT0, NONE);
		PIN_SLP(gpf3-1, OUT0, NONE);
		PIN_SLP(gpf3-2, OUT0, NONE);
		PIN_SLP(gpf3-3, OUT0, NONE);
		PIN_SLP(gpf3-4, OUT0, NONE);
		PIN_SLP(gpf3-5, OUT0, NONE);

		PIN_SLP(gpj0-0, INPUT, DOWN);
		PIN_SLP(gpj0-1, INPUT, DOWN);
		PIN_SLP(gpj0-2, INPUT, DOWN);
		PIN_SLP(gpj0-3, PREV, NONE);
		PIN_SLP(gpj0-4, PREV, NONE);
		PIN_SLP(gpj0-5, OUT0, NONE);
		PIN_SLP(gpj0-6, OUT0, NONE);
		PIN_SLP(gpj0-7, OUT0, NONE);

		PIN_SLP(gpj1-0, OUT0, NONE);
		PIN_SLP(gpj1-1, INPUT, DOWN);
		PIN_SLP(gpj1-2, PREV, NONE);
		PIN_SLP(gpj1-3, OUT0, NONE);
	};
};

&pinctrl_1 {
	pinctrl-names = "default";
	pinctrl-0 = <&sleep1>;

	sd3_wifi: sd3-wifi-pins {
		samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	bt_shutdown: bt-shutdown-pins {
		samsung,pins = "gpl0-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart_sel: uart-sel-pins {
		samsung,pins = "gpl2-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-val = <1>;
		/* 0 = CP, 1 = AP (serial output) */
	};

	led_bl_reset: led-bl-reset-pins {
		samsung,pins = "gpm0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	tsp_rst: tsp-rst-pins {
		samsung,pins = "gpm0-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	lvds_nshdn: lvds-nshdn-pins {
		samsung,pins = "gpm0-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	tsp_irq: tsp-irq-pins {
		samsung,pins = "gpm2-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	wifi_reset: wifi-reset-pins {
		samsung,pins = "gpm3-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	tsp_reg_gpio_1: tsp-reg-gpio-1-pins {
		samsung,pins = "gpm4-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	ak8975_irq: ak8975-irq-pins {
		samsung,pins = "gpm4-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	stmpe_adc_irq: stmpe-adc-irq-pins {
		samsung,pins = "gpx0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	max77686_irq: max77686-irq-pins {
		samsung,pins = "gpx0-7";
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	gpio_keys: gpio-keys-pins {
		samsung,pins = "gpx2-2", "gpx2-7", "gpx3-3";
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	fuel_alert_irq: fuel-alert-irq-pins {
		samsung,pins = "gpx2-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	wifi_host_wake: wifi-host-wake-pins {
		samsung,pins = "gpx2-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	bt_host_wakeup: bt-host-wakeup-pins {
		samsung,pins = "gpx2-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	bt_device_wakeup: bt-device-wakeup-pins {
		samsung,pins = "gpx3-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	sdhci2_cd: sdhci2-cd-pins {
		samsung,pins = "gpx3-4";
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	sleep1: sleep-state {
		PIN_SLP(gpk0-0, PREV, NONE);
		PIN_SLP(gpk0-1, PREV, NONE);
		PIN_SLP(gpk0-2, PREV, NONE);
		PIN_SLP(gpk0-3, PREV, NONE);
		PIN_SLP(gpk0-4, PREV, NONE);
		PIN_SLP(gpk0-5, PREV, NONE);
		PIN_SLP(gpk0-6, PREV, NONE);

		PIN_SLP(gpk1-0, INPUT, DOWN);
		PIN_SLP(gpk1-1, INPUT, DOWN);
		PIN_SLP(gpk1-2, INPUT, DOWN);
		PIN_SLP(gpk1-3, PREV, NONE);
		PIN_SLP(gpk1-4, PREV, NONE);
		PIN_SLP(gpk1-5, PREV, NONE);
		PIN_SLP(gpk1-6, PREV, NONE);

		PIN_SLP(gpk2-0, INPUT, DOWN);
		PIN_SLP(gpk2-1, INPUT, DOWN);
		PIN_SLP(gpk2-2, INPUT, DOWN);
		PIN_SLP(gpk2-3, INPUT, DOWN);
		PIN_SLP(gpk2-4, INPUT, DOWN);
		PIN_SLP(gpk2-5, INPUT, DOWN);
		PIN_SLP(gpk2-6, INPUT, DOWN);

		PIN_SLP(gpk3-0, OUT0, NONE);
		PIN_SLP(gpk3-1, INPUT, NONE);
		PIN_SLP(gpk3-2, INPUT, DOWN);
		PIN_SLP(gpk3-3, INPUT, NONE);
		PIN_SLP(gpk3-4, INPUT, NONE);
		PIN_SLP(gpk3-5, INPUT, NONE);
		PIN_SLP(gpk3-6, INPUT, NONE);

		PIN_SLP(gpl0-0, OUT0, NONE);
		PIN_SLP(gpl0-1, INPUT, NONE);
		PIN_SLP(gpl0-2, INPUT, NONE);
		PIN_SLP(gpl0-3, INPUT, DOWN);
		PIN_SLP(gpl0-4, PREV, NONE);
		PIN_SLP(gpl0-6, PREV, NONE);

		PIN_SLP(gpl1-0, OUT0, NONE);
		PIN_SLP(gpl1-1, OUT0, NONE);

		PIN_SLP(gpl2-0, INPUT, DOWN);
		PIN_SLP(gpl2-1, INPUT, DOWN);
		PIN_SLP(gpl2-2, INPUT, DOWN);
		PIN_SLP(gpl2-3, INPUT, DOWN);
		PIN_SLP(gpl2-4, OUT0, NONE);
		PIN_SLP(gpl2-5, INPUT, DOWN);
		PIN_SLP(gpl2-6, PREV, NONE);
		PIN_SLP(gpl2-7, PREV, NONE);

		PIN_SLP(gpm0-0, PREV, NONE);
		PIN_SLP(gpm0-1, OUT0, NONE);
		PIN_SLP(gpm0-2, INPUT, DOWN);
		PIN_SLP(gpm0-3, INPUT, NONE);
		PIN_SLP(gpm0-4, OUT0, NONE);
		PIN_SLP(gpm0-5, OUT0, NONE);
		PIN_SLP(gpm0-6, INPUT, DOWN);
		PIN_SLP(gpm0-7, OUT0, NONE);

		PIN_SLP(gpm1-0, INPUT, NONE);
		PIN_SLP(gpm1-1, INPUT, NONE);
		PIN_SLP(gpm1-2, INPUT, NONE);
		PIN_SLP(gpm1-3, INPUT, NONE);
		PIN_SLP(gpm1-4, INPUT, NONE);
		PIN_SLP(gpm1-5, INPUT, NONE);
		PIN_SLP(gpm1-6, INPUT, DOWN);

		PIN_SLP(gpm2-0, INPUT, NONE);
		PIN_SLP(gpm2-1, INPUT, NONE);
		PIN_SLP(gpm2-2, OUT0, NONE);
		PIN_SLP(gpm2-3, OUT0, DOWN);
		PIN_SLP(gpm2-4, INPUT, DOWN);

		PIN_SLP(gpm3-0, PREV, NONE);
		PIN_SLP(gpm3-1, PREV, NONE);
		PIN_SLP(gpm3-2, PREV, NONE);
		PIN_SLP(gpm3-3, OUT1, NONE);
		PIN_SLP(gpm3-4, OUT0, DOWN);
		PIN_SLP(gpm3-5, PREV, NONE);
		PIN_SLP(gpm3-6, PREV, NONE);
		PIN_SLP(gpm3-7, OUT0, NONE);

		PIN_SLP(gpm4-0, INPUT, NONE);
		PIN_SLP(gpm4-1, INPUT, NONE);
		PIN_SLP(gpm4-2, INPUT, DOWN);
		PIN_SLP(gpm4-3, INPUT, DOWN);
		PIN_SLP(gpm4-4, PREV, NONE);
		PIN_SLP(gpm4-5, OUT0, NONE);
		PIN_SLP(gpm4-6, OUT0, NONE);
		PIN_SLP(gpm4-7, INPUT, DOWN);

		PIN_SLP(gpy0-0, INPUT, DOWN);
		PIN_SLP(gpy0-1, INPUT, DOWN);
		PIN_SLP(gpy0-2, INPUT, NONE);
		PIN_SLP(gpy0-3, INPUT, NONE);
		PIN_SLP(gpy0-4, INPUT, NONE);
		PIN_SLP(gpy0-5, INPUT, NONE);

		PIN_SLP(gpy1-0, INPUT, DOWN);
		PIN_SLP(gpy1-1, INPUT, DOWN);
		PIN_SLP(gpy1-2, INPUT, DOWN);
		PIN_SLP(gpy1-3, INPUT, DOWN);

		PIN_SLP(gpy2-0, PREV, NONE);
		PIN_SLP(gpy2-1, INPUT, DOWN);
		PIN_SLP(gpy2-2, INPUT, NONE);
		PIN_SLP(gpy2-3, INPUT, NONE);
		PIN_SLP(gpy2-4, INPUT, NONE);
		PIN_SLP(gpy2-5, INPUT, NONE);

		PIN_SLP(gpy3-0, INPUT, DOWN);
		PIN_SLP(gpy3-1, INPUT, DOWN);
		PIN_SLP(gpy3-2, INPUT, DOWN);
		PIN_SLP(gpy3-3, INPUT, DOWN);
		PIN_SLP(gpy3-4, INPUT, DOWN);
		PIN_SLP(gpy3-5, INPUT, DOWN);
		PIN_SLP(gpy3-6, INPUT, DOWN);
		PIN_SLP(gpy3-7, INPUT, DOWN);

		PIN_SLP(gpy4-0, INPUT, DOWN);
		PIN_SLP(gpy4-1, INPUT, DOWN);
		PIN_SLP(gpy4-2, INPUT, DOWN);
		PIN_SLP(gpy4-3, INPUT, DOWN);
		PIN_SLP(gpy4-4, INPUT, DOWN);
		PIN_SLP(gpy4-5, INPUT, DOWN);
		PIN_SLP(gpy4-6, INPUT, DOWN);
		PIN_SLP(gpy4-7, INPUT, DOWN);

		PIN_SLP(gpy5-0, INPUT, DOWN);
		PIN_SLP(gpy5-1, INPUT, DOWN);
		PIN_SLP(gpy5-2, INPUT, DOWN);
		PIN_SLP(gpy5-3, INPUT, DOWN);
		PIN_SLP(gpy5-4, INPUT, DOWN);
		PIN_SLP(gpy5-5, INPUT, DOWN);
		PIN_SLP(gpy5-6, INPUT, DOWN);
		PIN_SLP(gpy5-7, INPUT, DOWN);

		PIN_SLP(gpy6-0, INPUT, DOWN);
		PIN_SLP(gpy6-1, INPUT, DOWN);
		PIN_SLP(gpy6-2, INPUT, DOWN);
		PIN_SLP(gpy6-3, INPUT, DOWN);
		PIN_SLP(gpy6-4, INPUT, DOWN);
		PIN_SLP(gpy6-5, INPUT, DOWN);
		PIN_SLP(gpy6-6, INPUT, DOWN);
		PIN_SLP(gpy6-7, INPUT, DOWN);
	};
};

&pinctrl_2 {
	pinctrl-names = "default";
	pinctrl-0 = <&sleep2>;

	sleep2: sleep-state {
		PIN_SLP(gpz-0, INPUT, DOWN);
		PIN_SLP(gpz-1, INPUT, DOWN);
		PIN_SLP(gpz-2, INPUT, DOWN);
		PIN_SLP(gpz-3, INPUT, DOWN);
		PIN_SLP(gpz-4, INPUT, DOWN);
		PIN_SLP(gpz-5, INPUT, DOWN);
		PIN_SLP(gpz-6, INPUT, DOWN);
	};
};

&pinctrl_3 {
	pinctrl-names = "default";
	pinctrl-0 = <&sleep3>;

	sleep3: sleep-state {
		PIN_SLP(gpv0-0, INPUT, DOWN);
		PIN_SLP(gpv0-1, INPUT, DOWN);
		PIN_SLP(gpv0-2, INPUT, DOWN);
		PIN_SLP(gpv0-3, INPUT, DOWN);
		PIN_SLP(gpv0-4, INPUT, DOWN);
		PIN_SLP(gpv0-5, INPUT, DOWN);
		PIN_SLP(gpv0-6, INPUT, DOWN);
		PIN_SLP(gpv0-7, INPUT, DOWN);

		PIN_SLP(gpv1-0, INPUT, DOWN);
		PIN_SLP(gpv1-1, INPUT, DOWN);
		PIN_SLP(gpv1-2, INPUT, DOWN);
		PIN_SLP(gpv1-3, INPUT, DOWN);
		PIN_SLP(gpv1-4, INPUT, DOWN);
		PIN_SLP(gpv1-5, INPUT, DOWN);
		PIN_SLP(gpv1-6, INPUT, DOWN);
		PIN_SLP(gpv1-7, INPUT, DOWN);

		PIN_SLP(gpv2-0, INPUT, DOWN);
		PIN_SLP(gpv2-1, INPUT, DOWN);
		PIN_SLP(gpv2-2, INPUT, DOWN);
		PIN_SLP(gpv2-3, INPUT, DOWN);
		PIN_SLP(gpv2-4, INPUT, DOWN);
		PIN_SLP(gpv2-5, INPUT, DOWN);
		PIN_SLP(gpv2-6, INPUT, DOWN);
		PIN_SLP(gpv2-7, INPUT, DOWN);

		PIN_SLP(gpv3-0, INPUT, DOWN);
		PIN_SLP(gpv3-1, INPUT, DOWN);
		PIN_SLP(gpv3-2, INPUT, DOWN);
		PIN_SLP(gpv3-3, INPUT, DOWN);
		PIN_SLP(gpv3-4, INPUT, DOWN);
		PIN_SLP(gpv3-5, INPUT, DOWN);
		PIN_SLP(gpv3-6, INPUT, DOWN);
		PIN_SLP(gpv3-7, INPUT, DOWN);

		PIN_SLP(gpv4-0, INPUT, DOWN);
		PIN_SLP(gpv4-1, INPUT, DOWN);
	};
};

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

&pwm {
	pinctrl-0 = <&pwm1_out>;
	pinctrl-names = "default";
	samsung,pwm-outputs = <1>;
	status = "okay";
};

&rtc {
	clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
	clock-names = "rtc", "rtc_src";
	status = "okay";
};

&sdhci_2 {
	bus-width = <4>;
	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
	pinctrl-names = "default";
	vmmc-supply = <&ldo21_reg>;
	status = "okay";
};

&sdhci_3 {
	#address-cells = <1>;
	#size-cells = <0>;
	non-removable;
	bus-width = <4>;
	mmc-pwrseq = <&wlan_pwrseq>;

	pinctrl-names = "default";
	pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_wifi>;
	status = "okay";

	wifi@1 {
		compatible = "brcm,bcm4329-fmac";
		reg = <0x1>;
		pinctrl-names = "default";
		pinctrl-0 = <&wifi_host_wake>;
		interrupt-parent = <&gpx2>;
		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "host-wake";
	};
};

&serial_0 {
	pinctrl-0 = <&uart0_data &uart0_fctl>;
	pinctrl-names = "default";
	status = "okay";

	bluetooth {
		compatible = "brcm,bcm4330-bt";
		pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
		pinctrl-names = "default";

		max-speed = <2000000>;
		shutdown-gpios = <&gpl0 6 GPIO_ACTIVE_HIGH>;
		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
		host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
		clocks = <&max77686 MAX77686_CLK_PMIC>;
		clock-names = "lpo";
	};
};

&serial_2 {
	pinctrl-0 = <&uart_sel>;
	pinctrl-names = "default";
	status = "okay";
};

&tmu {
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung's Exynos4412 SoCs pin-mux and pin-config device tree source
 *
 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Samsung's Exynos4412 SoCs pin-mux and pin-config optiosn are listed as device
 * tree nodes are listed in this file.
 */

#include "exynos-pinctrl.h"

#define PIN_SLP(_pin, _mode, _pull)					\
	_pin {								\
		samsung,pins = #_pin;					\
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_ ##_mode>;	\
		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_ ##_pull>;	\
	}

&pinctrl_0 {
	gpa0: gpa0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpa1: gpa1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpb: gpb-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpc0: gpc0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpc1: gpc1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpd0: gpd0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpd1: gpd1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpf0: gpf0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpf1: gpf1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpf2: gpf2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpf3: gpf3-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpj0: gpj0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpj1: gpj1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	uart0_data: uart0-data-pins {
		samsung,pins = "gpa0-0", "gpa0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	uart0_fctl: uart0-fctl-pins {
		samsung,pins = "gpa0-2", "gpa0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	uart1_data: uart1-data-pins {
		samsung,pins = "gpa0-4", "gpa0-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	uart1_fctl: uart1-fctl-pins {
		samsung,pins = "gpa0-6", "gpa0-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	i2c2_bus: i2c2-bus-pins {
		samsung,pins = "gpa0-6", "gpa0-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	uart2_data: uart2-data-pins {
		samsung,pins = "gpa1-0", "gpa1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	uart2_fctl: uart2-fctl-pins {
		samsung,pins = "gpa1-2", "gpa1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	uart_audio_a: uart-audio-a-pins {
		samsung,pins = "gpa1-0", "gpa1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	i2c3_bus: i2c3-bus-pins {
		samsung,pins = "gpa1-2", "gpa1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	uart3_data: uart3-data-pins {
		samsung,pins = "gpa1-4", "gpa1-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	uart_audio_b: uart-audio-b-pins {
		samsung,pins = "gpa1-4", "gpa1-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	spi0_bus: spi0-bus-pins {
		samsung,pins = "gpb-0", "gpb-2", "gpb-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	i2c4_bus: i2c4-bus-pins {
		samsung,pins = "gpb-0", "gpb-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	spi1_bus: spi1-bus-pins {
		samsung,pins = "gpb-4", "gpb-6", "gpb-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	i2c5_bus: i2c5-bus-pins {
		samsung,pins = "gpb-2", "gpb-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	i2s1_bus: i2s1-bus-pins {
		samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
				"gpc0-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	pcm1_bus: pcm1-bus-pins {
		samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
				"gpc0-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	ac97_bus: ac97-bus-pins {
		samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
				"gpc0-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	i2s2_bus: i2s2-bus-pins {
		samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
				"gpc1-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	pcm2_bus: pcm2-bus-pins {
		samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
				"gpc1-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	spdif_bus: spdif-bus-pins {
		samsung,pins = "gpc1-0", "gpc1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	i2c6_bus: i2c6-bus-pins {
		samsung,pins = "gpc1-3", "gpc1-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	spi2_bus: spi2-bus-pins {
		samsung,pins = "gpc1-1", "gpc1-3", "gpc1-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_5>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	pwm0_out: pwm0-out-pins {
		samsung,pins = "gpd0-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	pwm1_out: pwm1-out-pins {
		samsung,pins = "gpd0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	lcd_ctrl: lcd-ctrl-pins {
		samsung,pins = "gpd0-0", "gpd0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	i2c7_bus: i2c7-bus-pins {
		samsung,pins = "gpd0-2", "gpd0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	pwm2_out: pwm2-out-pins {
		samsung,pins = "gpd0-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	pwm3_out: pwm3-out-pins {
		samsung,pins = "gpd0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	i2c0_bus: i2c0-bus-pins {
		samsung,pins = "gpd1-0", "gpd1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	mipi0_clk: mipi0-clk-pins {
		samsung,pins = "gpd1-0", "gpd1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	i2c1_bus: i2c1-bus-pins {
		samsung,pins = "gpd1-2", "gpd1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	mipi1_clk: mipi1-clk-pins {
		samsung,pins = "gpd1-2", "gpd1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	lcd_clk: lcd-clk-pins {
		samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	lcd_data16: lcd-data-width16-pins {
		samsung,pins = "gpf0-7", "gpf1-0", "gpf1-1", "gpf1-2",
				"gpf1-3", "gpf1-6", "gpf1-7", "gpf2-0",
				"gpf2-1", "gpf2-2", "gpf2-3", "gpf2-7",
				"gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	lcd_data18: lcd-data-width18-pins {
		samsung,pins = "gpf0-6", "gpf0-7", "gpf1-0", "gpf1-1",
				"gpf1-2", "gpf1-3", "gpf1-6", "gpf1-7",
				"gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
				"gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1",
				"gpf3-2", "gpf3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	lcd_data24: lcd-data-width24-pins {
		samsung,pins = "gpf0-4", "gpf0-5", "gpf0-6", "gpf0-7",
				"gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3",
				"gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7",
				"gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
				"gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7",
				"gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	lcd_ldi: lcd-ldi-pins {
		samsung,pins = "gpf3-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	cam_port_a_io: cam-port-a-io-pins {
		samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3",
				"gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7",
				"gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	cam_port_a_clk_active: cam-port-a-clk-active-pins {
		samsung,pins = "gpj1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	cam_port_a_clk_idle: cam-port-a-clk-idle-pins {
		samsung,pins = "gpj1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};
};

&pinctrl_1 {
	gpk0: gpk0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpk1: gpk1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpk2: gpk2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpk3: gpk3-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpl0: gpl0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpl1: gpl1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpl2: gpl2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpm0: gpm0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpm1: gpm1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpm2: gpm2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpm3: gpm3-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpm4: gpm4-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpy0: gpy0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpy1: gpy1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpy2: gpy2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpy3: gpy3-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpy4: gpy4-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpy5: gpy5-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpy6: gpy6-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpx0: gpx0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
		#interrupt-cells = <2>;
	};

	gpx1: gpx1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
		#interrupt-cells = <2>;
	};

	gpx2: gpx2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpx3: gpx3-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	sd0_clk: sd0-clk-pins {
		samsung,pins = "gpk0-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd0_cmd: sd0-cmd-pins {
		samsung,pins = "gpk0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd0_cd: sd0-cd-pins {
		samsung,pins = "gpk0-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd0_bus1: sd0-bus-width1-pins {
		samsung,pins = "gpk0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd0_bus4: sd0-bus-width4-pins {
		samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd0_bus8: sd0-bus-width8-pins {
		samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd4_clk: sd4-clk-pins {
		samsung,pins = "gpk0-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd4_cmd: sd4-cmd-pins {
		samsung,pins = "gpk0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd4_cd: sd4-cd-pins {
		samsung,pins = "gpk0-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd4_bus1: sd4-bus-width1-pins {
		samsung,pins = "gpk0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd4_bus4: sd4-bus-width4-pins {
		samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd4_bus8: sd4-bus-width8-pins {
		samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd1_clk: sd1-clk-pins {
		samsung,pins = "gpk1-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd1_cmd: sd1-cmd-pins {
		samsung,pins = "gpk1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd1_cd: sd1-cd-pins {
		samsung,pins = "gpk1-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd1_bus1: sd1-bus-width1-pins {
		samsung,pins = "gpk1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd1_bus4: sd1-bus-width4-pins {
		samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd2_clk: sd2-clk-pins {
		samsung,pins = "gpk2-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd2_cmd: sd2-cmd-pins {
		samsung,pins = "gpk2-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd2_cd: sd2-cd-pins {
		samsung,pins = "gpk2-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd2_bus1: sd2-bus-width1-pins {
		samsung,pins = "gpk2-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd2_bus4: sd2-bus-width4-pins {
		samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd2_bus8: sd2-bus-width8-pins {
		samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd3_clk: sd3-clk-pins {
		samsung,pins = "gpk3-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd3_cmd: sd3-cmd-pins {
		samsung,pins = "gpk3-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd3_cd: sd3-cd-pins {
		samsung,pins = "gpk3-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd3_bus1: sd3-bus-width1-pins {
		samsung,pins = "gpk3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	sd3_bus4: sd3-bus-width4-pins {
		samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	cam_port_b_io: cam-port-b-io-pins {
		samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
				"gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
				"gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	cam_port_b_clk_active: cam-port-b-clk-active-pins {
		samsung,pins = "gpm2-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
	};

	cam_port_b_clk_idle: cam-port-b-clk-idle-pins {
		samsung,pins = "gpm2-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	eint0: ext-int0-pins {
		samsung,pins = "gpx0-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	eint8: ext-int8-pins {
		samsung,pins = "gpx1-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	eint15: ext-int15-pins {
		samsung,pins = "gpx1-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	eint16: ext-int16-pins {
		samsung,pins = "gpx2-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	eint31: ext-int31-pins {
		samsung,pins = "gpx3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	fimc_is_i2c0: fimc-is-i2c0-pins {
		samsung,pins = "gpm4-0", "gpm4-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	fimc_is_i2c1: fimc-is-i2c1-pins {
		samsung,pins = "gpm4-2", "gpm4-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	fimc_is_uart: fimc-is-uart-pins {
		samsung,pins = "gpm3-5", "gpm3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	hdmi_cec: hdmi-cec-pins {
		samsung,pins = "gpx3-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};
};

&pinctrl_2 {
	gpz: gpz-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	i2s0_bus: i2s0-bus-pins {
		samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
				"gpz-4", "gpz-5", "gpz-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	pcm0_bus: pcm0-bus-pins {
		samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
				"gpz-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};
};

&pinctrl_3 {
	gpv0: gpv0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpv1: gpv1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpv2: gpv2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpv3: gpv3-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpv4: gpv4-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	c2c_bus: c2c-bus-pins {
		samsung,pins = "gpv0-0", "gpv0-1", "gpv0-2", "gpv0-3",
				"gpv0-4", "gpv0-5", "gpv0-6", "gpv0-7",
				"gpv1-0", "gpv1-1", "gpv1-2", "gpv1-3",
				"gpv1-4", "gpv1-5", "gpv1-6", "gpv1-7",
				"gpv2-0", "gpv2-1", "gpv2-2", "gpv2-3",
				"gpv2-4", "gpv2-5", "gpv2-6", "gpv2-7",
				"gpv3-0", "gpv3-1", "gpv3-2", "gpv3-3",
				"gpv3-4", "gpv3-5", "gpv3-6", "gpv3-7",
				"gpv4-0", "gpv4-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Device tree sources for Exynos4412 PPMU common device tree
 *
 * Copyright (C) 2015 Samsung Electronics
 * Author: Chanwoo Choi <cw00.choi@samsung.com>
 */

&ppmu_dmc0 {
	status = "okay";

	events {
		ppmu_dmc0_3: ppmu-event3-dmc0 {
			event-name = "ppmu-event3-dmc0";
		};
	};
};

&ppmu_dmc1 {
	status = "okay";

	events {
		ppmu_dmc1_3: ppmu-event3-dmc1 {
			event-name = "ppmu-event3-dmc1";
		};
	};
};

&ppmu_leftbus {
	status = "okay";

	events {
		ppmu_leftbus_3: ppmu-event3-leftbus {
			event-name = "ppmu-event3-leftbus";
		};
	};
};

&ppmu_rightbus {
	status = "okay";

	events {
		ppmu_rightbus_3: ppmu-event3-rightbus {
			event-name = "ppmu-event3-rightbus";
		};
	};
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung's Exynos4412 Prime SoC device tree source
 *
 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 */

/*
 * Exynos4412 Prime SoC revision supports higher CPU frequencies than
 * non-Prime version.  Therefore we need to update OPPs table and
 * thermal maps accordingly.
 */

&cpu0_opp_1500 {
	/delete-property/turbo-mode;
};

&cpu0_opp_table {
	opp-1600000000 {
		opp-hz = /bits/ 64 <1600000000>;
		opp-microvolt = <1350000>;
		clock-latency-ns = <200000>;
	};
	opp-1704000000 {
		opp-hz = /bits/ 64 <1704000000>;
		opp-microvolt = <1350000>;
		clock-latency-ns = <200000>;
	};
};

&cooling_map0 {
	cooling-device = <&cpu0 9 9>, <&cpu1 9 9>,
			 <&cpu2 9 9>, <&cpu3 9 9>;
};

&cooling_map1 {
	cooling-device = <&cpu0 15 15>, <&cpu1 15 15>,
			 <&cpu2 15 15>, <&cpu3 15 15>;
};

&gpu_opp_table {
	opp-533000000 {
		opp-hz = /bits/ 64 <533000000>;
		opp-microvolt = <1075000>;
	};
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung's Exynos4412 based SMDK board device tree source
 *
 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Device tree source file for Samsung's SMDK4412 board which is based on
 * Samsung's Exynos4412 SoC.
 */

/dts-v1/;
#include "exynos4412.dtsi"
#include "exynos-mfc-reserved-memory.dtsi"

/ {
	model = "Samsung SMDK evaluation board based on Exynos4412";
	compatible = "samsung,smdk4412", "samsung,exynos4412", "samsung,exynos4";

	memory@40000000 {
		device_type = "memory";
		reg = <0x40000000 0x40000000>;
	};

	chosen {
		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
		stdout-path = "serial1:115200n8";
	};

	fixed-rate-clocks {
		xxti {
			compatible = "samsung,clock-xxti";
			clock-frequency = <0>;
		};

		xusbxti {
			compatible = "samsung,clock-xusbxti";
			clock-frequency = <24000000>;
		};

		pmic_ap_clk: pmic-ap-clk {
			/* Workaround for missing clock on PMIC */
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <32768>;
		};
	};
};

&cpu_thermal {
	cooling-maps {
		cooling_map0: map0 {
			/* Corresponds to 800MHz at freq_table */
			cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
					 <&cpu2 7 7>, <&cpu3 7 7>;
		};
		cooling_map1: map1 {
			/* Corresponds to 200MHz at freq_table */
			cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
					 <&cpu2 13 13>, <&cpu3 13 13>;
		};
	};
};

&keypad {
	samsung,keypad-num-rows = <3>;
	samsung,keypad-num-columns = <8>;
	linux,keypad-no-autorepeat;
	wakeup-source;
	pinctrl-0 = <&keypad_rows &keypad_cols>;
	pinctrl-names = "default";
	status = "okay";

	key-1 {
		keypad,row = <1>;
		keypad,column = <3>;
		linux,code = <2>;
	};

	key-2 {
		keypad,row = <1>;
		keypad,column = <4>;
		linux,code = <3>;
	};

	key-3 {
		keypad,row = <1>;
		keypad,column = <5>;
		linux,code = <4>;
	};

	key-4 {
		keypad,row = <1>;
		keypad,column = <6>;
		linux,code = <5>;
	};

	key-5 {
		keypad,row = <1>;
		keypad,column = <7>;
		linux,code = <6>;
	};

	key-A {
		keypad,row = <2>;
		keypad,column = <6>;
		linux,code = <30>;
	};

	key-B {
		keypad,row = <2>;
		keypad,column = <7>;
		linux,code = <48>;
	};

	key-C {
		keypad,row = <0>;
		keypad,column = <5>;
		linux,code = <46>;
	};

	key-D {
		keypad,row = <2>;
		keypad,column = <5>;
		linux,code = <32>;
	};

	key-E {
		keypad,row = <0>;
		keypad,column = <7>;
		linux,code = <18>;
	};
};

&pinctrl_1 {
	keypad_rows: keypad-rows-pins {
		samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	keypad_cols: keypad-cols-pins {
		samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
			       "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};
};

&rtc {
	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
	clock-names = "rtc", "rtc_src";
};

&sdhci_2 {
	bus-width = <4>;
	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
	pinctrl-names = "default";
	status = "okay";
};

&serial_0 {
	status = "okay";
};

&serial_1 {
	status = "okay";
};

&serial_2 {
	status = "okay";
};

&serial_3 {
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * FriendlyARM's Exynos4412 based TINY4412 board device tree source
 *
 * Copyright (c) 2013 Alex Ling <kasimling@gmail.com>
 *
 * Device tree source file for FriendlyARM's TINY4412 board which is based on
 * Samsung's Exynos4412 SoC.
 */

/dts-v1/;
#include "exynos4412.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>

/ {
	model = "FriendlyARM TINY4412 board based on Exynos4412";
	compatible = "friendlyarm,tiny4412", "samsung,exynos4412", "samsung,exynos4";

	chosen {
		stdout-path = &serial_0;
	};

	memory@40000000 {
		device_type = "memory";
		reg = <0x40000000 0x40000000>;
	};

	leds {
		compatible = "gpio-leds";

		led1 {
			label = "led1";
			function = LED_FUNCTION_HEARTBEAT;
			gpios = <&gpm4 0 GPIO_ACTIVE_LOW>;
			default-state = "off";
			linux,default-trigger = "heartbeat";
		};

		led2 {
			label = "led2";
			gpios = <&gpm4 1 GPIO_ACTIVE_LOW>;
			default-state = "off";
		};

		led3 {
			label = "led3";
			gpios = <&gpm4 2 GPIO_ACTIVE_LOW>;
			default-state = "off";
		};

		led4 {
			label = "led4";
			function = LED_FUNCTION_DISK_ACTIVITY;
			gpios = <&gpm4 3 GPIO_ACTIVE_LOW>;
			default-state = "off";
			linux,default-trigger = "mmc0";
		};
	};

	fixed-rate-clocks {
		xxti {
			compatible = "samsung,clock-xxti";
			clock-frequency = <0>;
		};

		xusbxti {
			compatible = "samsung,clock-xusbxti";
			clock-frequency = <24000000>;
		};

		pmic_ap_clk: pmic-ap-clk {
			/* Workaround for missing clock on PMIC */
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <32768>;
		};
	};

	panel {
		compatible = "innolux,at070tn92";

		port {
			panel_input: endpoint {
				remote-endpoint = <&lcdc_output>;
			};
		};
	};
};

&cpu_thermal {
	cooling-maps {
		cooling_map0: map0 {
			/* Corresponds to 800MHz at freq_table */
			cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
					 <&cpu2 7 7>, <&cpu3 7 7>;
		};
		cooling_map1: map1 {
			/* Corresponds to 200MHz at freq_table */
			cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
					 <&cpu2 13 13>, <&cpu3 13 13>;
		};
	};
};

&fimd {
	pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
	pinctrl-names = "default";
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	port@3 {
		reg = <3>;
		lcdc_output: endpoint {
			remote-endpoint = <&panel_input>;
		};
	};
};

&rtc {
	status = "okay";
	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
	clock-names = "rtc", "rtc_src";
};

&sdhci_2 {
	bus-width = <4>;
	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
	pinctrl-names = "default";
	status = "okay";
};

&serial_0 {
	status = "okay";
};

&serial_1 {
	status = "okay";
};

&serial_2 {
	status = "okay";
};

&serial_3 {
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung's Exynos4412 based Trats 2 board device tree source
 *
 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Device tree source file for Samsung's Trats 2 board which is based on
 * Samsung's Exynos4412 SoC.
 */

/dts-v1/;
#include "exynos4412-galaxy-s3.dtsi"

/ {
	model = "Samsung Trats 2 based on Exynos4412";
	compatible = "samsung,trats2", "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
	chassis-type = "handset";

	memory@40000000 {
		device_type = "memory";
		reg = <0x40000000 0x40000000>;
	};

	chosen {
		bootargs = "root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
		stdout-path = "serial2:115200n8";
	};
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung's Exynos4412 SoC device tree source
 *
 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Samsung's Exynos4412 SoC device nodes are listed in this file. Exynos4412
 * based board files can include this file and provide values for board specfic
 * bindings.
 *
 * Note: This file does not include device nodes for all the controllers in
 * Exynos4412 SoC. As device tree coverage for Exynos4412 increases, additional
 * nodes can be added to this file.
 */

#include "exynos4.dtsi"

#include "exynos4-cpu-thermal.dtsi"

/ {
	compatible = "samsung,exynos4412", "samsung,exynos4";

	aliases {
		pinctrl0 = &pinctrl_0;
		pinctrl1 = &pinctrl_1;
		pinctrl2 = &pinctrl_2;
		pinctrl3 = &pinctrl_3;
		fimc-lite0 = &fimc_lite_0;
		fimc-lite1 = &fimc_lite_1;
		mshc0 = &mshc_0;
	};

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

		cpu-map {
			cluster0 {
				core0 {
					cpu = <&cpu0>;
				};
				core1 {
					cpu = <&cpu1>;
				};
				core2 {
					cpu = <&cpu2>;
				};
				core3 {
					cpu = <&cpu3>;
				};
			};
		};

		cpu0: cpu@a00 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <0xA00>;
			clocks = <&clock CLK_ARM_CLK>;
			clock-names = "cpu";
			operating-points-v2 = <&cpu0_opp_table>;
			#cooling-cells = <2>; /* min followed by max */
		};

		cpu1: cpu@a01 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <0xA01>;
			clocks = <&clock CLK_ARM_CLK>;
			clock-names = "cpu";
			operating-points-v2 = <&cpu0_opp_table>;
			#cooling-cells = <2>; /* min followed by max */
		};

		cpu2: cpu@a02 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <0xA02>;
			clocks = <&clock CLK_ARM_CLK>;
			clock-names = "cpu";
			operating-points-v2 = <&cpu0_opp_table>;
			#cooling-cells = <2>; /* min followed by max */
		};

		cpu3: cpu@a03 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <0xA03>;
			clocks = <&clock CLK_ARM_CLK>;
			clock-names = "cpu";
			operating-points-v2 = <&cpu0_opp_table>;
			#cooling-cells = <2>; /* min followed by max */
		};
	};

	cpu0_opp_table: opp-table0 {
		compatible = "operating-points-v2";
		opp-shared;

		opp-200000000 {
			opp-hz = /bits/ 64 <200000000>;
			opp-microvolt = <900000>;
			clock-latency-ns = <200000>;
		};
		opp-300000000 {
			opp-hz = /bits/ 64 <300000000>;
			opp-microvolt = <900000>;
			clock-latency-ns = <200000>;
		};
		opp-400000000 {
			opp-hz = /bits/ 64 <400000000>;
			opp-microvolt = <925000>;
			clock-latency-ns = <200000>;
		};
		opp-500000000 {
			opp-hz = /bits/ 64 <500000000>;
			opp-microvolt = <950000>;
			clock-latency-ns = <200000>;
		};
		opp-600000000 {
			opp-hz = /bits/ 64 <600000000>;
			opp-microvolt = <975000>;
			clock-latency-ns = <200000>;
		};
		opp-700000000 {
			opp-hz = /bits/ 64 <700000000>;
			opp-microvolt = <987500>;
			clock-latency-ns = <200000>;
		};
		opp-800000000 {
			opp-hz = /bits/ 64 <800000000>;
			opp-microvolt = <1000000>;
			clock-latency-ns = <200000>;
			opp-suspend;
		};
		opp-900000000 {
			opp-hz = /bits/ 64 <900000000>;
			opp-microvolt = <1037500>;
			clock-latency-ns = <200000>;
		};
		opp-1000000000 {
			opp-hz = /bits/ 64 <1000000000>;
			opp-microvolt = <1087500>;
			clock-latency-ns = <200000>;
		};
		opp-1100000000 {
			opp-hz = /bits/ 64 <1100000000>;
			opp-microvolt = <1137500>;
			clock-latency-ns = <200000>;
		};
		opp-1200000000 {
			opp-hz = /bits/ 64 <1200000000>;
			opp-microvolt = <1187500>;
			clock-latency-ns = <200000>;
		};
		opp-1300000000 {
			opp-hz = /bits/ 64 <1300000000>;
			opp-microvolt = <1250000>;
			clock-latency-ns = <200000>;
		};
		opp-1400000000 {
			opp-hz = /bits/ 64 <1400000000>;
			opp-microvolt = <1287500>;
			clock-latency-ns = <200000>;
		};
		cpu0_opp_1500: opp-1500000000 {
			opp-hz = /bits/ 64 <1500000000>;
			opp-microvolt = <1350000>;
			clock-latency-ns = <200000>;
			turbo-mode;
		};
	};

	soc: soc {

		pinctrl_0: pinctrl@11400000 {
			compatible = "samsung,exynos4x12-pinctrl";
			reg = <0x11400000 0x1000>;
			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
		};

		pinctrl_1: pinctrl@11000000 {
			compatible = "samsung,exynos4x12-pinctrl";
			reg = <0x11000000 0x1000>;
			interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;

			wakup_eint: wakeup-interrupt-controller {
				compatible = "samsung,exynos4210-wakeup-eint";
				interrupt-parent = <&gic>;
				interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
			};
		};

		pinctrl_2: pinctrl@3860000 {
			compatible = "samsung,exynos4x12-pinctrl";
			reg = <0x03860000 0x1000>;
			interrupt-parent = <&combiner>;
			interrupts = <10 0>;
		};

		pinctrl_3: pinctrl@106e0000 {
			compatible = "samsung,exynos4x12-pinctrl";
			reg = <0x106E0000 0x1000>;
			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
		};

		sram@2020000 {
			compatible = "mmio-sram";
			reg = <0x02020000 0x40000>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0 0x02020000 0x40000>;

			smp-sram@0 {
				compatible = "samsung,exynos4210-sysram";
				reg = <0x0 0x1000>;
			};

			smp-sram@2f000 {
				compatible = "samsung,exynos4210-sysram-ns";
				reg = <0x2f000 0x1000>;
			};
		};

		pd_isp: power-domain@10023ca0 {
			compatible = "samsung,exynos4210-pd";
			reg = <0x10023CA0 0x20>;
			#power-domain-cells = <0>;
			label = "ISP";
		};

		l2c: cache-controller@10502000 {
			compatible = "arm,pl310-cache";
			reg = <0x10502000 0x1000>;
			cache-unified;
			cache-level = <2>;
			prefetch-data = <1>;
			prefetch-instr = <1>;
			arm,tag-latency = <2 2 1>;
			arm,data-latency = <3 2 1>;
			arm,double-linefill = <1>;
			arm,double-linefill-incr = <0>;
			arm,double-linefill-wrap = <1>;
			arm,prefetch-drop = <1>;
			arm,prefetch-offset = <7>;
		};

		clock: clock-controller@10030000 {
			compatible = "samsung,exynos4412-clock";
			reg = <0x10030000 0x18000>;
			#clock-cells = <1>;
		};

		isp_clock: clock-controller@10048000 {
			compatible = "samsung,exynos4412-isp-clock";
			reg = <0x10048000 0x1000>;
			#clock-cells = <1>;
			power-domains = <&pd_isp>;
			clocks = <&clock CLK_ACLK200>,
				 <&clock CLK_ACLK400_MCUISP>;
			clock-names = "aclk200", "aclk400_mcuisp";
		};

		timer@10050000 {
			compatible = "samsung,exynos4412-mct";
			reg = <0x10050000 0x800>;
			clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
			clock-names = "fin_pll", "mct";
			interrupts-extended = <&gic GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
					      <&combiner 12 5>,
					      <&combiner 12 6>,
					      <&combiner 12 7>,
					      <&gic GIC_PPI 12 IRQ_TYPE_LEVEL_HIGH>;
		};

		watchdog: watchdog@10060000 {
			compatible = "samsung,exynos5250-wdt";
			reg = <0x10060000 0x100>;
			interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clock CLK_WDT>;
			clock-names = "watchdog";
			samsung,syscon-phandle = <&pmu_system_controller>;
		};

		adc: adc@126c0000 {
			compatible = "samsung,exynos4212-adc";
			reg = <0x126C0000 0x100>;
			interrupt-parent = <&combiner>;
			interrupts = <10 3>;
			clocks = <&clock CLK_TSADC>;
			clock-names = "adc";
			#io-channel-cells = <1>;
			samsung,syscon-phandle = <&pmu_system_controller>;
			status = "disabled";
		};

		g2d: g2d@10800000 {
			compatible = "samsung,exynos4212-g2d";
			reg = <0x10800000 0x1000>;
			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>;
			clock-names = "sclk_fimg2d", "fimg2d";
			iommus = <&sysmmu_g2d>;
		};

		mshc_0: mmc@12550000 {
			compatible = "samsung,exynos4412-dw-mshc";
			reg = <0x12550000 0x1000>;
			interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
			#address-cells = <1>;
			#size-cells = <0>;
			fifo-depth = <0x80>;
			clocks = <&clock CLK_SDMMC4>, <&clock CLK_SCLK_MMC4>;
			clock-names = "biu", "ciu";
			status = "disabled";
		};

		sysmmu_g2d: sysmmu@10a40000 {
			compatible = "samsung,exynos-sysmmu";
			reg = <0x10A40000 0x1000>;
			interrupt-parent = <&combiner>;
			interrupts = <4 7>;
			clock-names = "sysmmu", "master";
			clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
			#iommu-cells = <0>;
		};

		sysmmu_fimc_isp: sysmmu@12260000 {
			compatible = "samsung,exynos-sysmmu";
			reg = <0x12260000 0x1000>;
			interrupt-parent = <&combiner>;
			interrupts = <16 2>;
			power-domains = <&pd_isp>;
			clock-names = "sysmmu";
			clocks = <&isp_clock CLK_ISP_SMMU_ISP>;
			#iommu-cells = <0>;
		};

		sysmmu_fimc_drc: sysmmu@12270000 {
			compatible = "samsung,exynos-sysmmu";
			reg = <0x12270000 0x1000>;
			interrupt-parent = <&combiner>;
			interrupts = <16 3>;
			power-domains = <&pd_isp>;
			clock-names = "sysmmu";
			clocks = <&isp_clock CLK_ISP_SMMU_DRC>;
			#iommu-cells = <0>;
		};

		sysmmu_fimc_fd: sysmmu@122a0000 {
			compatible = "samsung,exynos-sysmmu";
			reg = <0x122A0000 0x1000>;
			interrupt-parent = <&combiner>;
			interrupts = <16 4>;
			power-domains = <&pd_isp>;
			clock-names = "sysmmu";
			clocks = <&isp_clock CLK_ISP_SMMU_FD>;
			#iommu-cells = <0>;
		};

		sysmmu_fimc_mcuctl: sysmmu@122b0000 {
			compatible = "samsung,exynos-sysmmu";
			reg = <0x122B0000 0x1000>;
			interrupt-parent = <&combiner>;
			interrupts = <16 5>;
			power-domains = <&pd_isp>;
			clock-names = "sysmmu";
			clocks = <&isp_clock CLK_ISP_SMMU_ISPCX>;
			#iommu-cells = <0>;
		};

		sysmmu_fimc_lite0: sysmmu@123b0000 {
			compatible = "samsung,exynos-sysmmu";
			reg = <0x123B0000 0x1000>;
			interrupt-parent = <&combiner>;
			interrupts = <16 0>;
			power-domains = <&pd_isp>;
			clock-names = "sysmmu", "master";
			clocks = <&isp_clock CLK_ISP_SMMU_LITE0>,
				 <&isp_clock CLK_ISP_FIMC_LITE0>;
			#iommu-cells = <0>;
		};

		sysmmu_fimc_lite1: sysmmu@123c0000 {
			compatible = "samsung,exynos-sysmmu";
			reg = <0x123C0000 0x1000>;
			interrupt-parent = <&combiner>;
			interrupts = <16 1>;
			power-domains = <&pd_isp>;
			clock-names = "sysmmu", "master";
			clocks = <&isp_clock CLK_ISP_SMMU_LITE1>,
				 <&isp_clock CLK_ISP_FIMC_LITE1>;
			#iommu-cells = <0>;
		};

		bus_dmc: bus-dmc {
			compatible = "samsung,exynos-bus";
			clocks = <&clock CLK_DIV_DMC>;
			clock-names = "bus";
			operating-points-v2 = <&bus_dmc_opp_table>;
			samsung,data-clock-ratio = <4>;
			#interconnect-cells = <0>;
			status = "disabled";
		};

		bus_acp: bus-acp {
			compatible = "samsung,exynos-bus";
			clocks = <&clock CLK_DIV_ACP>;
			clock-names = "bus";
			operating-points-v2 = <&bus_acp_opp_table>;
			status = "disabled";
		};

		bus_c2c: bus-c2c {
			compatible = "samsung,exynos-bus";
			clocks = <&clock CLK_DIV_C2C>;
			clock-names = "bus";
			operating-points-v2 = <&bus_dmc_opp_table>;
			status = "disabled";
		};

		bus_dmc_opp_table: opp-table1 {
			compatible = "operating-points-v2";

			opp-100000000 {
				opp-hz = /bits/ 64 <100000000>;
				opp-microvolt = <900000>;
			};
			opp-134000000 {
				opp-hz = /bits/ 64 <134000000>;
				opp-microvolt = <900000>;
			};
			opp-160000000 {
				opp-hz = /bits/ 64 <160000000>;
				opp-microvolt = <900000>;
			};
			opp-267000000 {
				opp-hz = /bits/ 64 <267000000>;
				opp-microvolt = <950000>;
			};
			opp-400000000 {
				opp-hz = /bits/ 64 <400000000>;
				opp-microvolt = <1050000>;
				opp-suspend;
			};
		};

		bus_acp_opp_table: opp-table2 {
			compatible = "operating-points-v2";

			opp-100000000 {
				opp-hz = /bits/ 64 <100000000>;
			};
			opp-134000000 {
				opp-hz = /bits/ 64 <134000000>;
			};
			opp-160000000 {
				opp-hz = /bits/ 64 <160000000>;
			};
			opp-267000000 {
				opp-hz = /bits/ 64 <267000000>;
			};
		};

		bus_leftbus: bus-leftbus {
			compatible = "samsung,exynos-bus";
			clocks = <&clock CLK_DIV_GDL>;
			clock-names = "bus";
			operating-points-v2 = <&bus_leftbus_opp_table>;
			interconnects = <&bus_dmc>;
			#interconnect-cells = <0>;
			status = "disabled";
		};

		bus_rightbus: bus-rightbus {
			compatible = "samsung,exynos-bus";
			clocks = <&clock CLK_DIV_GDR>;
			clock-names = "bus";
			operating-points-v2 = <&bus_leftbus_opp_table>;
			status = "disabled";
		};

		bus_display: bus-display {
			compatible = "samsung,exynos-bus";
			clocks = <&clock CLK_ACLK160>;
			clock-names = "bus";
			operating-points-v2 = <&bus_display_opp_table>;
			interconnects = <&bus_leftbus &bus_dmc>;
			#interconnect-cells = <0>;
			status = "disabled";
		};

		bus_fsys: bus-fsys {
			compatible = "samsung,exynos-bus";
			clocks = <&clock CLK_ACLK133>;
			clock-names = "bus";
			operating-points-v2 = <&bus_fsys_opp_table>;
			status = "disabled";
		};

		bus_peri: bus-peri {
			compatible = "samsung,exynos-bus";
			clocks = <&clock CLK_ACLK100>;
			clock-names = "bus";
			operating-points-v2 = <&bus_peri_opp_table>;
			status = "disabled";
		};

		bus_mfc: bus-mfc {
			compatible = "samsung,exynos-bus";
			clocks = <&clock CLK_SCLK_MFC>;
			clock-names = "bus";
			operating-points-v2 = <&bus_leftbus_opp_table>;
			status = "disabled";
		};

		bus_leftbus_opp_table: opp-table3 {
			compatible = "operating-points-v2";

			opp-100000000 {
				opp-hz = /bits/ 64 <100000000>;
				opp-microvolt = <900000>;
			};
			opp-134000000 {
				opp-hz = /bits/ 64 <134000000>;
				opp-microvolt = <925000>;
			};
			opp-160000000 {
				opp-hz = /bits/ 64 <160000000>;
				opp-microvolt = <950000>;
			};
			opp-200000000 {
				opp-hz = /bits/ 64 <200000000>;
				opp-microvolt = <1000000>;
				opp-suspend;
			};
		};

		bus_display_opp_table: opp-table4 {
			compatible = "operating-points-v2";

			opp-160000000 {
				opp-hz = /bits/ 64 <160000000>;
			};
			opp-200000000 {
				opp-hz = /bits/ 64 <200000000>;
			};
		};

		bus_fsys_opp_table: opp-table5 {
			compatible = "operating-points-v2";

			opp-100000000 {
				opp-hz = /bits/ 64 <100000000>;
			};
			opp-134000000 {
				opp-hz = /bits/ 64 <134000000>;
			};
		};

		bus_peri_opp_table: opp-table6 {
			compatible = "operating-points-v2";

			opp-50000000 {
				opp-hz = /bits/ 64 <50000000>;
			};
			opp-100000000 {
				opp-hz = /bits/ 64 <100000000>;
			};
		};
	};
};

&combiner {
	samsung,combiner-nr = <20>;
	interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
};

&camera {
	clocks = <&clock CLK_SCLK_CAM0>, <&clock CLK_SCLK_CAM1>,
		 <&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>;
	clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";

	/* fimc_[0-3] are configured outside, under phandles */
	fimc_lite_0: fimc-lite@12390000 {
		compatible = "samsung,exynos4212-fimc-lite";
		reg = <0x12390000 0x1000>;
		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
		power-domains = <&pd_isp>;
		clocks = <&isp_clock CLK_ISP_FIMC_LITE0>;
		clock-names = "flite";
		iommus = <&sysmmu_fimc_lite0>;
		status = "disabled";
	};

	fimc_lite_1: fimc-lite@123a0000 {
		compatible = "samsung,exynos4212-fimc-lite";
		reg = <0x123A0000 0x1000>;
		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
		power-domains = <&pd_isp>;
		clocks = <&isp_clock CLK_ISP_FIMC_LITE1>;
		clock-names = "flite";
		iommus = <&sysmmu_fimc_lite1>;
		status = "disabled";
	};

	fimc_is: fimc-is@12000000 {
		compatible = "samsung,exynos4212-fimc-is";
		reg = <0x12000000 0x260000>;
		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
		power-domains = <&pd_isp>;
		clocks = <&isp_clock CLK_ISP_FIMC_LITE0>,
			 <&isp_clock CLK_ISP_FIMC_LITE1>,
			 <&isp_clock CLK_ISP_PPMUISPX>,
			 <&isp_clock CLK_ISP_PPMUISPMX>,
			 <&isp_clock CLK_ISP_FIMC_ISP>,
			 <&isp_clock CLK_ISP_FIMC_DRC>,
			 <&isp_clock CLK_ISP_FIMC_FD>,
			 <&isp_clock CLK_ISP_MCUISP>,
			 <&isp_clock CLK_ISP_GICISP>,
			 <&isp_clock CLK_ISP_MCUCTL_ISP>,
			 <&isp_clock CLK_ISP_PWM_ISP>,
			 <&isp_clock CLK_ISP_DIV_ISP0>,
			 <&isp_clock CLK_ISP_DIV_ISP1>,
			 <&isp_clock CLK_ISP_DIV_MCUISP0>,
			 <&isp_clock CLK_ISP_DIV_MCUISP1>,
			 <&clock CLK_MOUT_MPLL_USER_T>,
			 <&clock CLK_ACLK200>,
			 <&clock CLK_ACLK400_MCUISP>,
			 <&clock CLK_DIV_ACLK200>,
			 <&clock CLK_DIV_ACLK400_MCUISP>,
			 <&clock CLK_UART_ISP_SCLK>;
		clock-names = "lite0", "lite1", "ppmuispx",
			      "ppmuispmx", "isp",
			      "drc", "fd", "mcuisp",
			      "gicisp", "mcuctl_isp", "pwm_isp",
			      "ispdiv0", "ispdiv1", "mcuispdiv0",
			      "mcuispdiv1", "mpll", "aclk200",
			      "aclk400mcuisp", "div_aclk200",
			      "div_aclk400mcuisp", "uart";
		iommus = <&sysmmu_fimc_isp>, <&sysmmu_fimc_drc>,
			 <&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>;
		iommu-names = "isp", "drc", "fd", "mcuctl";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		status = "disabled";

		pmu@10020000 {
			reg = <0x10020000 0x3000>;
		};

		i2c1_isp: i2c-isp@12140000 {
			compatible = "samsung,exynos4212-i2c-isp";
			reg = <0x12140000 0x100>;
			clocks = <&isp_clock CLK_ISP_I2C1_ISP>;
			clock-names = "i2c_isp";
			#address-cells = <1>;
			#size-cells = <0>;
		};
	};
};

&exynos_usbphy {
	compatible = "samsung,exynos4x12-usb2-phy";
	samsung,sysreg-phandle = <&sys_reg>;
};

&fimc_0 {
	compatible = "samsung,exynos4212-fimc";
	samsung,pix-limits = <4224 8192 1920 4224>;
	samsung,mainscaler-ext;
	samsung,isp-wb;
	samsung,cam-if;
};

&fimc_1 {
	compatible = "samsung,exynos4212-fimc";
	samsung,pix-limits = <4224 8192 1920 4224>;
	samsung,mainscaler-ext;
	samsung,isp-wb;
	samsung,cam-if;
};

&fimc_2 {
	compatible = "samsung,exynos4212-fimc";
	samsung,pix-limits = <4224 8192 1920 4224>;
	samsung,mainscaler-ext;
	samsung,isp-wb;
	samsung,lcd-wb;
	samsung,cam-if;
};

&fimc_3 {
	compatible = "samsung,exynos4212-fimc";
	samsung,pix-limits = <1920 8192 1366 1920>;
	samsung,rotators = <0>;
	samsung,mainscaler-ext;
	samsung,isp-wb;
	samsung,lcd-wb;
};

&gic {
	cpu-offset = <0x4000>;
};

&gpu {
	interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "gp",
			  "gpmmu",
			  "pp0",
			  "ppmmu0",
			  "pp1",
			  "ppmmu1",
			  "pp2",
			  "ppmmu2",
			  "pp3",
			  "ppmmu3",
			  "pmu";
	operating-points-v2 = <&gpu_opp_table>;

	gpu_opp_table: opp-table {
		compatible = "operating-points-v2";

		opp-160000000 {
			opp-hz = /bits/ 64 <160000000>;
			opp-microvolt = <875000>;
		};
		opp-267000000 {
			opp-hz = /bits/ 64 <267000000>;
			opp-microvolt = <900000>;
		};
		opp-350000000 {
			opp-hz = /bits/ 64 <350000000>;
			opp-microvolt = <950000>;
		};
		opp-440000000 {
			opp-hz = /bits/ 64 <440000000>;
			opp-microvolt = <1025000>;
		};
	};
};

&hdmi {
	compatible = "samsung,exynos4212-hdmi";
};

&jpeg_codec {
	compatible = "samsung,exynos4212-jpeg";
};

&rotator {
	compatible = "samsung,exynos4212-rotator";
};

&mixer {
	compatible = "samsung,exynos4212-mixer";
	clock-names = "mixer", "hdmi", "sclk_hdmi", "vp";
	clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>,
		 <&clock CLK_SCLK_HDMI>, <&clock CLK_VP>;
	interconnects = <&bus_display &bus_dmc>;
};

&pmu {
	interrupts = <2 2>, <3 2>, <18 2>, <19 2>;
	interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
	status = "okay";
};

&pmu_system_controller {
	compatible = "samsung,exynos4412-pmu", "syscon";
	clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
			"clkout4", "clkout8", "clkout9";
	clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>,
		<&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>,
		<&clock CLK_OUT_CPU>, <&clock CLK_XXTI>, <&clock CLK_XUSBXTI>;
	#clock-cells = <1>;
};

&tmu {
	compatible = "samsung,exynos4412-tmu";
	interrupt-parent = <&combiner>;
	interrupts = <2 4>;
	reg = <0x100C0000 0x100>;
	clocks = <&clock CLK_TMU_APBIF>;
	clock-names = "tmu_apbif";
	status = "disabled";
};

#include "exynos4412-pinctrl.dtsi"