// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung's S5PV210 based Galaxy Aries board device tree source
 */

/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "s5pv210.dtsi"

/ {
	compatible = "samsung,aries", "samsung,s5pv210";

	aliases: aliases {
		i2c4 = &i2c_sound;
		i2c5 = &i2c_accel;
		i2c6 = &i2c_pmic;
		i2c7 = &i2c_musb;
		i2c9 = &i2c_fuel;
		i2c10 = &i2c_touchkey;
		i2c11 = &i2c_prox;
		i2c12 = &i2c_magnetometer;
	};

	memory@30000000 {
		device_type = "memory";
		reg = <0x30000000 0x05000000
			0x40000000 0x10000000
			0x50000000 0x08000000>;
	};

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		mfc_left: region@43000000 {
			compatible = "shared-dma-pool";
			no-map;
			reg = <0x43000000 0x2000000>;
		};

		mfc_right: region@51000000 {
			compatible = "shared-dma-pool";
			no-map;
			reg = <0x51000000 0x2000000>;
		};
	};

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

	bt_codec: bt_sco {
		compatible = "linux,bt-sco";
		#sound-dai-cells = <0>;
	};

	vibrator_pwr: regulator-fixed-0 {
		compatible = "regulator-fixed";
		regulator-name = "vibrator-en";
		enable-active-high;
		gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>;

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

	touchkey_vdd: regulator-fixed-1 {
		compatible = "regulator-fixed";
		regulator-name = "VTOUCH_3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		enable-active-high;
		gpio = <&gpj3 2 GPIO_ACTIVE_HIGH>;

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

	gp2a_vled: regulator-fixed-2 {
		compatible = "regulator-fixed";
		regulator-name = "VLED";
		enable-active-high;
		gpio = <&gpj1 4 GPIO_ACTIVE_HIGH>;
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;

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

	wifi_pwrseq: wifi-pwrseq {
		compatible = "mmc-pwrseq-simple";
		reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&wlan_gpio_rst>;
		post-power-on-delay-ms = <500>;
		power-off-delay-us = <500>;
	};

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

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

		wm8994: wm8994@1a {
			compatible = "wlf,wm8994";
			reg = <0x1a>;

			#sound-dai-cells = <0>;

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

			clocks = <&clocks MOUT_CLKOUT>;
			clock-names = "MCLK1";

			AVDD2-supply = <&buck3_reg>;
			DBVDD-supply = <&buck3_reg>;
			CPVDD-supply = <&buck3_reg>;
			SPKVDD1-supply = <&buck3_reg>;
			SPKVDD2-supply = <&buck3_reg>;

			wlf,gpio-cfg = <0xa101 0x8100 0x0100 0x0100 0x8100
					0xa101 0x0100 0x8100 0x0100 0x0100
					0x0100>;

			wlf,ldo1ena = <&gpf3 4 GPIO_ACTIVE_HIGH>;
			wlf,ldo2ena = <&gpf3 4 GPIO_ACTIVE_HIGH>;

			wlf,lineout1-se;
			wlf,lineout2-se;

			assigned-clocks = <&clocks MOUT_CLKOUT>;
			assigned-clock-rates = <0>;
			assigned-clock-parents = <&xusbxti>;

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

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

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

		accelerometer@38 {
			compatible = "bosch,bma023";
			reg = <0x38>;

			vdd-supply = <&ldo9_reg>;
			vddio-supply = <&ldo9_reg>;
		};
	};

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

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

		pmic@66 {
			compatible = "maxim,max8998";
			reg = <0x66>;
			interrupt-parent = <&gph0>;
			interrupts = <7 IRQ_TYPE_EDGE_FALLING>;

			max8998,pmic-buck1-default-dvs-idx = <1>;
			max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
							<&gph0 4 GPIO_ACTIVE_HIGH>;
			max8998,pmic-buck1-dvs-voltage = <1275000>, <1200000>,
							<1050000>, <950000>;

			max8998,pmic-buck2-default-dvs-idx = <0>;
			max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
			max8998,pmic-buck2-dvs-voltage = <1100000>, <1000000>;

			pinctrl-names = "default";
			pinctrl-0 = <&pmic_dvs_pins &pmic_irq>;

			regulators {
				ldo2_reg: LDO2 {
					regulator-name = "VALIVE_1.2V";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;

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

				ldo3_reg: LDO3 {
					regulator-name = "VUSB_1.1V";
					regulator-min-microvolt = <1100000>;
					regulator-max-microvolt = <1100000>;

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

				ldo4_reg: LDO4 {
					regulator-name = "VADC_3.3V";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;

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

				ldo5_reg: LDO5 {
					regulator-name = "VTF_2.8V";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;

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

				ldo6_reg: LDO6 {
					regulator-name = "LDO6";
					regulator-min-microvolt = <1600000>;
					regulator-max-microvolt = <3600000>;
				};

				ldo7_reg: LDO7 {
					regulator-name = "VLCD_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;

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

				ldo8_reg: LDO8 {
					regulator-name = "VUSB_3.3V";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;

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

				ldo9_reg: LDO9 {
					regulator-name = "VCC_2.8V_PDA";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
				};

				ldo10_reg: LDO10 {
					regulator-name = "VPLL_1.2V";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;

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

				ldo11_reg: LDO11 {
					regulator-name = "CAM_AF_3.0V";
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;

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

				ldo12_reg: LDO12 {
					regulator-name = "CAM_SENSOR_CORE_1.2V";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;

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

				ldo13_reg: LDO13 {
					regulator-name = "VGA_VDDIO_2.8V";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;

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

				ldo14_reg: LDO14 {
					regulator-name = "VGA_DVDD_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;

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

				ldo15_reg: LDO15 {
					regulator-name = "CAM_ISP_HOST_2.8V";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;

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

				ldo16_reg: LDO16 {
					regulator-name = "VGA_AVDD_2.8V";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;

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

				ldo17_reg: LDO17 {
					regulator-name = "VCC_3.0V_LCD";
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;

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

				buck1_reg: BUCK1 {
					regulator-name = "vddarm";
					regulator-min-microvolt = <750000>;
					regulator-max-microvolt = <1500000>;

					regulator-state-mem {
						regulator-off-in-suspend;
						regulator-suspend-microvolt = <1250000>;
					};
				};

				buck2_reg: BUCK2 {
					regulator-name = "vddint";
					regulator-min-microvolt = <750000>;
					regulator-max-microvolt = <1500000>;

					regulator-state-mem {
						regulator-off-in-suspend;
						regulator-suspend-microvolt = <1100000>;
					};
				};

				buck3_reg: BUCK3 {
					regulator-name = "VCC_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
				};

				buck4_reg: BUCK4 {
					regulator-name = "CAM_ISP_CORE_1.2V";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;

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

				ap32khz_reg: EN32KHz-AP {
					regulator-name = "32KHz AP";
					regulator-always-on;
				};

				cp32khz_reg: EN32KHz-CP {
					regulator-name = "32KHz CP";
				};

				vichg_reg: ENVICHG {
					regulator-name = "VICHG";
					regulator-always-on;
				};

				safe1_sreg: ESAFEOUT1 {
					regulator-name = "SAFEOUT1";
				};

				safe2_sreg: ESAFEOUT2 {
					regulator-name = "SAFEOUT2";
				};
			};
		};
	};

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

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

		fsa9480: musb@25 {
			compatible = "fcs,fsa9480";
			reg = <0x25>;
			interrupt-parent = <&gph2>;
			interrupts = <7 IRQ_TYPE_EDGE_FALLING>;

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

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

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

		fg: fuelgauge@36 {
			compatible = "maxim,max17040";
			reg = <0x36>;
		};
	};

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

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

		touchkey@20 {
			compatible = "cypress,aries-touchkey";
			reg = <0x20>;
			vdd-supply = <&touchkey_vdd>;
			vcc-supply = <&buck3_reg>;
			linux,keycodes = <KEY_MENU KEY_BACK
					  KEY_HOMEPAGE KEY_SEARCH>;
			interrupt-parent = <&gpj4>;
			interrupts = <1 IRQ_TYPE_LEVEL_LOW>;

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

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

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

		light-sensor@44 {
			compatible = "sharp,gp2ap002a00f";
			reg = <0x44>;
			interrupt-parent = <&gph0>;
			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
			vdd-supply = <&gp2a_vled>;
			vio-supply = <&gp2a_vled>;
			io-channels = <&gp2a_shunt>;
			io-channel-names = "alsout";
			sharp,proximity-far-hysteresis = /bits/ 8 <0x40>;
			sharp,proximity-close-hysteresis = /bits/ 8 <0x20>;

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

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

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

		status = "disabled";

		/* Yamaha yas529 magnetometer, no mainline binding */
	};

	vibrator: pwm-vibrator {
		compatible = "pwm-vibrator";
		pwms = <&pwm 1 44642 0>;
		pwm-names = "enable";
		vcc-supply = <&vibrator_pwr>;
		pinctrl-names = "default";
		pinctrl-0 = <&pwm1_out>;
	};

	poweroff: syscon-poweroff {
		compatible = "syscon-poweroff";
		regmap = <&pmu_syscon>;
		offset = <0x681c>; /* PS_HOLD_CONTROL */
		value = <0x5200>;
	};

	spi_lcd: spi-2 {
		compatible = "spi-gpio";
		#address-cells = <1>;
		#size-cells = <0>;

		sck-gpios = <&mp04 1 GPIO_ACTIVE_HIGH>;
		mosi-gpios = <&mp04 3 GPIO_ACTIVE_HIGH>;
		cs-gpios = <&mp01 1 GPIO_ACTIVE_HIGH>;
		num-chipselects = <1>;

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

		panel@0 {
			compatible = "samsung,s6e63m0";
			reg = <0>;
			reset-gpios = <&mp05 5 GPIO_ACTIVE_LOW>;
			vdd3-supply = <&ldo7_reg>;
			vci-supply = <&ldo17_reg>;
			spi-cs-high;
			spi-max-frequency = <1200000>;

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

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

&adc {
	vdd-supply = <&ldo4_reg>;

	status = "okay";

	gp2a_shunt: current-sense-shunt {
		compatible = "current-sense-shunt";
		io-channels = <&adc 9>;
		shunt-resistor-micro-ohms = <47000000>; /* 47 ohms */
		#io-channel-cells = <0>;
		io-channel-ranges;
	};
};

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

	samsung,invert-vden;
	samsung,invert-vclk;

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

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

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

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

	touchscreen@4a {
		compatible = "atmel,maxtouch";
		reg = <0x4a>;
		interrupt-parent = <&gpj0>;
		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
		pinctrl-names = "default";
		pinctrl-0 = <&ts_irq>;
		reset-gpios = <&gpj1 3 GPIO_ACTIVE_HIGH>;
	};
};

&i2s0 {
	dmas = <&pdma0 9>, <&pdma0 10>, <&pdma0 11>;
	status = "okay";
};

&mfc {
	memory-region = <&mfc_left>, <&mfc_right>;
};

&pinctrl0 {
	bt_reset: bt-reset {
		samsung,pins = "gpb-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	wlan_bt_en: wlan-bt-en {
		samsung,pins = "gpb-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-val = <1>;
	};

	codec_ldo: codec-ldo {
		samsung,pins = "gpf3-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
	};

	prox_i2c_pins: gp2a-i2c-pins {
		samsung,pins = "gpg0-2", "gpg2-2";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	wlan_gpio_rst: wlan-gpio-rst {
		samsung,pins = "gpg1-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
	};

	bt_wake: bt-wake {
		samsung,pins = "gpg3-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
	};

	gp2a_irq: gp2a-irq {
		samsung,pins = "gph0-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	pmic_dvs_pins: pmic-dvs-pins {
		samsung,pins = "gph0-3", "gph0-4", "gph0-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
		samsung,pin-val = <0>;
	};

	pmic_irq: pmic-irq {
		samsung,pins = "gph0-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	wifi_host_wake: wifi-host-wake {
		samsung,pins = "gph2-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	bt_host_wake: bt-host-wake {
		samsung,pins = "gph2-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	musb_irq: musq-irq {
		samsung,pins = "gph2-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	tf_detect: tf-detect {
		samsung,pins = "gph3-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	wifi_wake: wifi-wake {
		samsung,pins = "gph3-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
	};

	magnetometer_i2c_pins: yas529-i2c-pins {
		samsung,pins = "gpj0-0", "gpj0-1";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	ts_irq: ts-irq {
		samsung,pins = "gpj0-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	vibrator_ena: vibrator-ena {
		samsung,pins = "gpj1-1";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	gp2a_power: gp2a-power {
		samsung,pins = "gpj1-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	touchkey_i2c_pins: touchkey-i2c-pins {
		samsung,pins = "gpj3-0", "gpj3-1";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	touchkey_vdd_ena: touchkey-vdd-ena {
		samsung,pins = "gpj3-2";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	musb_i2c_pins: musb-i2c-pins {
		samsung,pins = "gpj3-4", "gpj3-5";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	accel_i2c_pins: accel-i2c-pins {
		samsung,pins = "gpj3-6", "gpj3-7";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	pmic_i2c_pins: pmic-i2c-pins {
		samsung,pins = "gpj4-0", "gpj4-3";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	touchkey_irq: touchkey-irq {
		samsung,pins = "gpj4-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	lcd_spi_pins: spi-lcd-pins {
		samsung,pins = "mp01-1", "mp04-1", "mp04-3";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	fg_i2c_pins: fg-i2c-pins {
		samsung,pins = "mp05-0", "mp05-1";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	sound_i2c_pins: sound-i2c-pins {
		samsung,pins = "mp05-2", "mp05-3";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};

	panel_rst: panel-rst {
		samsung,pins = "mp05-5";
		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
	};
};

&pwm {
	samsung,pwm-outputs = <1>;
};

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

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

	bus-width = <4>;
	max-frequency = <38400000>;
	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4 &wifi_wake &wifi_host_wake &wlan_bt_en>;
	pinctrl-names = "default";
	cap-sd-highspeed;
	cap-mmc-highspeed;
	keep-power-in-suspend;

	mmc-pwrseq = <&wifi_pwrseq>;
	non-removable;
	status = "okay";

	assigned-clocks = <&clocks MOUT_MMC1>, <&clocks SCLK_MMC1>;
	assigned-clock-rates = <0>, <50000000>;
	assigned-clock-parents = <&clocks MOUT_MPLL>;

	wlan@1 {
		reg = <1>;
		compatible = "brcm,bcm4329-fmac";
		interrupt-parent = <&gph2>;
		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "host-wake";
	};
};

&sdhci2 {
	bus-width = <4>;
	cd-gpios = <&gph3 4 GPIO_ACTIVE_LOW>;
	vmmc-supply = <&ldo5_reg>;
	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
	pinctrl-names = "default";
	status = "okay";

	assigned-clocks = <&clocks MOUT_MMC2>, <&clocks SCLK_MMC2>;
	assigned-clock-rates = <0>, <50000000>;
	assigned-clock-parents = <&clocks MOUT_MPLL>;
};

&uart0 {
	assigned-clocks = <&clocks MOUT_UART0>, <&clocks SCLK_UART0>;
	assigned-clock-rates = <0>, <111166667>;
	assigned-clock-parents = <&clocks MOUT_MPLL>;

	status = "okay";

	bluetooth {
		compatible = "brcm,bcm4329-bt";
		max-speed = <3000000>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake
			     &bt_reset &bt_wake>;
		shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>;
		device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>;
		interrupt-parent = <&gph2>;
		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "host-wake";
	};
};

&uart1 {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&usbphy {
	status = "okay";
	vbus-supply = <&safe1_sreg>;
};

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