Linux Audio

Check our new training course

Loading...
v5.14.15
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * Samsung's Exynos4412 based Trats 2 board device tree source
   4 *
   5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
   6 *		http://www.samsung.com
   7 *
   8 * Device tree source file for Samsung's Trats 2 board which is based on
   9 * Samsung's Exynos4412 SoC.
  10 */
  11
  12/dts-v1/;
  13#include "exynos4412.dtsi"
  14#include "exynos4412-ppmu-common.dtsi"
  15#include <dt-bindings/gpio/gpio.h>
  16#include <dt-bindings/input/input.h>
  17#include <dt-bindings/interrupt-controller/irq.h>
  18#include <dt-bindings/clock/maxim,max77686.h>
  19#include <dt-bindings/pinctrl/samsung.h>
  20
  21/ {
  22	compatible = "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
  23
  24	aliases {
  25		i2c11 = &i2c_max77693;
  26		i2c12 = &i2c_max77693_fuel;
  27	};
  28
  29	chosen {
  30		stdout-path = &serial_2;
  31	};
  32
  33	firmware@204f000 {
  34		compatible = "samsung,secure-firmware";
  35		reg = <0x0204F000 0x1000>;
  36	};
  37
  38	fixed-rate-clocks {
  39		xxti {
  40			compatible = "samsung,clock-xxti";
  41			clock-frequency = <0>;
  42		};
  43
  44		xusbxti {
  45			compatible = "samsung,clock-xusbxti";
  46			clock-frequency = <24000000>;
  47		};
  48	};
  49
  50	cam_io_reg: voltage-regulator-1 {
  51		compatible = "regulator-fixed";
  52		regulator-name = "CAM_SENSOR_A";
  53		regulator-min-microvolt = <2800000>;
  54		regulator-max-microvolt = <2800000>;
  55		enable-active-high;
  56		status = "disabled";
  57	};
  58
  59	cam_af_reg: voltage-regulator-2 {
  60		compatible = "regulator-fixed";
  61		regulator-name = "CAM_AF";
  62		regulator-min-microvolt = <2800000>;
  63		regulator-max-microvolt = <2800000>;
  64		enable-active-high;
  65		status = "disabled";
  66	};
  67
  68	vsil12: voltage-regulator-3 {
  69		compatible = "regulator-fixed";
  70		regulator-name = "VSIL_1.2V";
  71		regulator-min-microvolt = <1200000>;
  72		regulator-max-microvolt = <1200000>;
  73		gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
  74		enable-active-high;
  75		vin-supply = <&buck7_reg>;
  76	};
  77
  78	vcc33mhl: voltage-regulator-4 {
  79		compatible = "regulator-fixed";
  80		regulator-name = "VCC_3.3_MHL";
  81		regulator-min-microvolt = <3300000>;
  82		regulator-max-microvolt = <3300000>;
  83		gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
  84		enable-active-high;
  85	};
  86
  87	vcc18mhl: voltage-regulator-5 {
  88		compatible = "regulator-fixed";
  89		regulator-name = "VCC_1.8_MHL";
  90		regulator-min-microvolt = <1800000>;
  91		regulator-max-microvolt = <1800000>;
  92		gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
  93		enable-active-high;
  94	};
  95
  96	touchkey_reg: voltage-regulator-6 {
  97		compatible = "regulator-fixed";
  98		regulator-name = "LED_VDD_3.3V";
  99		regulator-min-microvolt = <3300000>;
 100		regulator-max-microvolt = <3300000>;
 101		enable-active-high;
 102		status = "disabled";
 103	};
 104
 105	vbatt_reg: voltage-regulator-7 {
 106		compatible = "regulator-fixed";
 107		regulator-name = "VBATT";
 108		regulator-min-microvolt = <5000000>;
 109		regulator-max-microvolt = <5000000>;
 110		regulator-always-on;
 111	};
 112
 113	mic_bias_reg: voltage-regulator-8 {
 114		compatible = "regulator-fixed";
 115		regulator-name = "MICBIAS_LDO_2.8V";
 116		regulator-min-microvolt = <2800000>;
 117		regulator-max-microvolt = <2800000>;
 118		gpio = <&gpf1 7 GPIO_ACTIVE_HIGH>;
 119		enable-active-high;
 120	};
 121
 122	submic_bias_reg: voltage-regulator-9 {
 123		compatible = "regulator-fixed";
 124		regulator-name = "SUB_MICBIAS_LDO_2.8V";
 125		regulator-min-microvolt = <2800000>;
 126		regulator-max-microvolt = <2800000>;
 
 
 
 
 
 127	};
 128
 129	gpio-keys {
 130		compatible = "gpio-keys";
 131		pinctrl-names = "default";
 132		pinctrl-0 = <&gpio_keys>;
 133
 134		key-down {
 135			gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
 136			linux,code = <114>;
 137			label = "volume down";
 138			debounce-interval = <10>;
 139		};
 140
 141		key-up {
 142			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
 143			linux,code = <115>;
 144			label = "volume up";
 145			debounce-interval = <10>;
 146		};
 147
 148		key-power {
 149			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
 150			linux,code = <116>;
 151			label = "power";
 152			debounce-interval = <10>;
 153			wakeup-source;
 154		};
 155
 156		key-ok {
 157			gpios = <&gpx0 1 GPIO_ACTIVE_LOW>;
 158			linux,code = <139>;
 159			label = "ok";
 160			debounce-interval = <10>;
 161			wakeup-source;
 162		};
 163	};
 164
 165	i2c_max77693: i2c-gpio-1 {
 166		compatible = "i2c-gpio";
 167		sda-gpios = <&gpm2 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 168		scl-gpios = <&gpm2 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 169		i2c-gpio,delay-us = <2>;
 170		#address-cells = <1>;
 171		#size-cells = <0>;
 
 172
 173		pmic@66 {
 174			compatible = "maxim,max77693";
 175			interrupt-parent = <&gpx1>;
 176			interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
 177			pinctrl-names = "default";
 178			pinctrl-0 = <&max77693_irq>;
 179			reg = <0x66>;
 180
 181			regulators {
 182				esafeout1_reg: ESAFEOUT1 {
 183					regulator-name = "ESAFEOUT1";
 184				};
 185				esafeout2_reg: ESAFEOUT2 {
 186					regulator-name = "ESAFEOUT2";
 187				};
 188				charger_reg: CHARGER {
 189					regulator-name = "CHARGER";
 190					regulator-min-microamp = <60000>;
 191					regulator-max-microamp = <2580000>;
 192				};
 193			};
 194
 195			motor-driver {
 196				compatible = "maxim,max77693-haptic";
 197				haptic-supply = <&ldo26_reg>;
 198				pwms = <&pwm 0 38022 0>;
 199			};
 200
 201			charger {
 202				compatible = "maxim,max77693-charger";
 203
 204				maxim,constant-microvolt = <4350000>;
 205				maxim,min-system-microvolt = <3600000>;
 206				maxim,thermal-regulation-celsius = <100>;
 207				maxim,battery-overcurrent-microamp = <3500000>;
 208				maxim,charge-input-threshold-microvolt = <4300000>;
 209			};
 210		};
 211	};
 212
 213	i2c_max77693_fuel: i2c-gpio-3 {
 214		compatible = "i2c-gpio";
 215		sda-gpios = <&gpf1 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 216		scl-gpios = <&gpf1 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 217		i2c-gpio,delay-us = <2>;
 218		#address-cells = <1>;
 219		#size-cells = <0>;
 
 220
 221		fuel-gauge@36 {
 222			compatible = "maxim,max17047";
 223			interrupt-parent = <&gpx2>;
 224			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
 225			pinctrl-names = "default";
 226			pinctrl-0 = <&max77693_fuel_irq>;
 227			reg = <0x36>;
 228
 229			maxim,over-heat-temp = <700>;
 230			maxim,over-volt = <4500>;
 231		};
 232	};
 233
 234	i2c-gpio-4 {
 235		compatible = "i2c-gpio";
 236		sda-gpios = <&gpl0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 237		scl-gpios = <&gpl0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 238		i2c-gpio,delay-us = <2>;
 239		#address-cells = <1>;
 240		#size-cells = <0>;
 241
 242		touchkey@20 {
 243			compatible = "cypress,midas-touchkey";
 244			reg = <0x20>;
 245			vdd-supply = <&touchkey_reg>;
 246			vcc-supply = <&ldo5_reg>;
 247			interrupt-parent = <&gpj0>;
 248			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
 249			linux,keycodes = <KEY_BACK KEY_MENU>;
 250		};
 251	};
 252
 253	i2c-mhl {
 254		compatible = "i2c-gpio";
 255		sda-gpios = <&gpf0 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 256		scl-gpios = <&gpf0 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 257		i2c-gpio,delay-us = <100>;
 258		#address-cells = <1>;
 259		#size-cells = <0>;
 260
 261		pinctrl-0 = <&i2c_mhl_bus>;
 262		pinctrl-names = "default";
 
 263
 264		sii9234: hdmi-bridge@39 {
 265			compatible = "sil,sii9234";
 266			avcc33-supply = <&vcc33mhl>;
 267			iovcc18-supply = <&vcc18mhl>;
 268			avcc12-supply = <&vsil12>;
 269			cvcc12-supply = <&vsil12>;
 270			reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
 271			interrupt-parent = <&gpf3>;
 272			interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
 273			reg = <0x39>;
 274
 275			port {
 276				mhl_to_hdmi: endpoint {
 277					remote-endpoint = <&hdmi_to_mhl>;
 278				};
 279			};
 280		};
 281	};
 282
 283	wlan_pwrseq: sdhci3-pwrseq {
 284		compatible = "mmc-pwrseq-simple";
 285		reset-gpios = <&gpj0 0 GPIO_ACTIVE_LOW>;
 286		clocks = <&max77686 MAX77686_CLK_PMIC>;
 287		clock-names = "ext_clock";
 288	};
 289
 290	sound: sound {
 291		compatible = "samsung,midas-audio";
 292		model = "Midas";
 293		mic-bias-supply = <&mic_bias_reg>;
 294		submic-bias-supply = <&submic_bias_reg>;
 295
 296		cpu {
 297			sound-dai = <&i2s0 0>;
 298		};
 299		codec {
 300			sound-dai = <&wm1811>;
 301		};
 302	};
 303
 304	thermistor-ap {
 305		compatible = "murata,ncp15wb473";
 306		pullup-uv = <1800000>;	 /* VCC_1.8V_AP */
 307		pullup-ohm = <100000>;	 /* 100K */
 308		pulldown-ohm = <100000>; /* 100K */
 309		io-channels = <&adc 1>;  /* AP temperature */
 310	};
 311
 312	thermistor-battery {
 313		compatible = "murata,ncp15wb473";
 314		pullup-uv = <1800000>;	 /* VCC_1.8V_AP */
 315		pullup-ohm = <100000>;	 /* 100K */
 316		pulldown-ohm = <100000>; /* 100K */
 317		io-channels = <&adc 2>;  /* Battery temperature */
 318	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 319};
 320
 321&adc {
 322	vdd-supply = <&ldo3_reg>;
 323	status = "okay";
 324};
 325
 326&bus_dmc {
 327	devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
 328	vdd-supply = <&buck1_reg>;
 329	status = "okay";
 330};
 331
 332&bus_acp {
 333	devfreq = <&bus_dmc>;
 334	status = "okay";
 335};
 336
 337&bus_c2c {
 338	devfreq = <&bus_dmc>;
 339	status = "okay";
 340};
 341
 342&bus_leftbus {
 343	devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
 344	vdd-supply = <&buck3_reg>;
 345	status = "okay";
 346};
 347
 348&bus_rightbus {
 349	devfreq = <&bus_leftbus>;
 350	status = "okay";
 351};
 352
 353&bus_display {
 354	devfreq = <&bus_leftbus>;
 355	status = "okay";
 356};
 357
 358&bus_fsys {
 359	devfreq = <&bus_leftbus>;
 360	status = "okay";
 361};
 362
 363&bus_peri {
 364	devfreq = <&bus_leftbus>;
 365	status = "okay";
 366};
 367
 368&bus_mfc {
 369	devfreq = <&bus_leftbus>;
 370	status = "okay";
 371};
 372
 373&camera {
 374	pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
 375	pinctrl-names = "default";
 376	status = "okay";
 377	assigned-clocks = <&clock CLK_MOUT_CAM0>,
 378		<&clock CLK_MOUT_CAM1>;
 379	assigned-clock-parents = <&clock CLK_XUSBXTI>,
 380		<&clock CLK_XUSBXTI>;
 381};
 382
 383&cpu0 {
 384	cpu0-supply = <&buck2_reg>;
 385};
 386
 387&cpu_thermal {
 388	cooling-maps {
 389		map0 {
 390			/* Corresponds to 800MHz at freq_table */
 391			cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
 392					 <&cpu2 7 7>, <&cpu3 7 7>;
 393		};
 394		map1 {
 395			/* Corresponds to 200MHz at freq_table */
 396			cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
 397					 <&cpu2 13 13>, <&cpu3 13 13>;
 398		};
 399	};
 400};
 401
 402&csis_0 {
 403	status = "okay";
 404	vddcore-supply = <&ldo8_reg>;
 405	vddio-supply = <&ldo10_reg>;
 406	assigned-clocks = <&clock CLK_MOUT_CSIS0>,
 407			<&clock CLK_SCLK_CSIS0>;
 408	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 409	assigned-clock-rates = <0>, <176000000>;
 410
 411	/* Camera C (3) MIPI CSI-2 (CSIS0) */
 412	port@3 {
 413		reg = <3>;
 414		csis0_ep: endpoint {
 415			remote-endpoint = <&s5c73m3_ep>;
 416			data-lanes = <1 2 3 4>;
 417			samsung,csis-hs-settle = <12>;
 418		};
 419	};
 420};
 421
 422&csis_1 {
 423	status = "okay";
 424	vddcore-supply = <&ldo8_reg>;
 425	vddio-supply = <&ldo10_reg>;
 426	assigned-clocks = <&clock CLK_MOUT_CSIS1>,
 427			<&clock CLK_SCLK_CSIS1>;
 428	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 429	assigned-clock-rates = <0>, <176000000>;
 430
 431	/* Camera D (4) MIPI CSI-2 (CSIS1) */
 432	port@4 {
 433		reg = <4>;
 434		csis1_ep: endpoint {
 435			remote-endpoint = <&is_s5k6a3_ep>;
 436			data-lanes = <1>;
 437			samsung,csis-hs-settle = <18>;
 438			samsung,csis-wclk;
 439		};
 440	};
 441};
 442
 443&dsi_0 {
 444	vddcore-supply = <&ldo8_reg>;
 445	vddio-supply = <&ldo10_reg>;
 446	samsung,burst-clock-frequency = <500000000>;
 447	samsung,esc-clock-frequency = <20000000>;
 448	samsung,pll-clock-frequency = <24000000>;
 449};
 450
 451&exynos_usbphy {
 452	vbus-supply = <&esafeout1_reg>;
 453	status = "okay";
 454};
 455
 456&fimc_0 {
 457	status = "okay";
 458	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
 459			<&clock CLK_SCLK_FIMC0>;
 460	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 461	assigned-clock-rates = <0>, <176000000>;
 462};
 463
 464&fimc_1 {
 465	status = "okay";
 466	assigned-clocks = <&clock CLK_MOUT_FIMC1>,
 467			<&clock CLK_SCLK_FIMC1>;
 468	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 469	assigned-clock-rates = <0>, <176000000>;
 470};
 471
 472&fimc_2 {
 473	status = "okay";
 474	assigned-clocks = <&clock CLK_MOUT_FIMC2>,
 475			<&clock CLK_SCLK_FIMC2>;
 476	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 477	assigned-clock-rates = <0>, <176000000>;
 478};
 479
 480&fimc_3 {
 481	status = "okay";
 482	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
 483			<&clock CLK_SCLK_FIMC3>;
 484	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 485	assigned-clock-rates = <0>, <176000000>;
 486};
 487
 488&fimc_is {
 489	pinctrl-0 = <&fimc_is_uart>;
 490	pinctrl-names = "default";
 491	status = "okay";
 492
 493	};
 494
 495&fimc_lite_0 {
 496	status = "okay";
 497};
 498
 499&fimc_lite_1 {
 500	status = "okay";
 501};
 502
 503&fimd {
 504	status = "okay";
 505};
 506
 507&gpu {
 508	mali-supply = <&buck4_reg>;
 509	status = "okay";
 510};
 511
 512&hdmi {
 513	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
 514	pinctrl-names = "default";
 515	pinctrl-0 = <&hdmi_hpd>;
 516	vdd-supply = <&ldo3_reg>;
 517	vdd_osc-supply = <&ldo4_reg>;
 518	vdd_pll-supply = <&ldo3_reg>;
 519	ddc = <&i2c_5>;
 520	status = "okay";
 521
 522	ports {
 523		#address-cells = <1>;
 524		#size-cells = <0>;
 525
 526		port@1 {
 527			reg = <1>;
 528			hdmi_to_mhl: endpoint {
 529				remote-endpoint = <&mhl_to_hdmi>;
 530			};
 531		};
 532	};
 533};
 534
 535&hsotg {
 536	vusb_d-supply = <&ldo15_reg>;
 537	vusb_a-supply = <&ldo12_reg>;
 538	dr_mode = "peripheral";
 539	status = "okay";
 540};
 541
 542&i2c_0 {
 543	samsung,i2c-sda-delay = <100>;
 544	samsung,i2c-slave-addr = <0x10>;
 545	samsung,i2c-max-bus-freq = <400000>;
 546	pinctrl-0 = <&i2c0_bus>;
 547	pinctrl-names = "default";
 548	status = "okay";
 549
 550	s5c73m3: image-sensor@3c {
 551		compatible = "samsung,s5c73m3";
 552		reg = <0x3c>;
 553		xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
 554		vdd-int-supply = <&buck9_reg>;
 555		vddio-cis-supply = <&ldo9_reg>;
 556		vddio-host-supply = <&ldo18_reg>;
 557		vdd-af-supply = <&cam_af_reg>;
 558		vdd-reg-supply = <&cam_io_reg>;
 559		clock-frequency = <24000000>;
 560		/* CAM_A_CLKOUT */
 561		clocks = <&camera 0>;
 562		clock-names = "cis_extclk";
 563		status = "disabled";
 564		port {
 565			s5c73m3_ep: endpoint {
 566				remote-endpoint = <&csis0_ep>;
 567				data-lanes = <1 2 3 4>;
 568			};
 569		};
 570	};
 571};
 572
 573&i2c1_isp {
 574	pinctrl-0 = <&fimc_is_i2c1>;
 575	pinctrl-names = "default";
 576
 577	image-sensor@10 {
 578		compatible = "samsung,s5k6a3";
 579		reg = <0x10>;
 580		svdda-supply = <&cam_io_reg>;
 581		svddio-supply = <&ldo19_reg>;
 582		afvdd-supply = <&ldo19_reg>;
 583		clock-frequency = <24000000>;
 584		/* CAM_B_CLKOUT */
 585		clocks = <&camera 1>;
 586		clock-names = "extclk";
 587		samsung,camclk-out = <1>;
 588		gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>;
 589
 590		port {
 591			is_s5k6a3_ep: endpoint {
 592				remote-endpoint = <&csis1_ep>;
 593				data-lanes = <1>;
 594			};
 595		};
 596	};
 597};
 598
 599&i2c_3 {
 600	samsung,i2c-sda-delay = <100>;
 601	samsung,i2c-slave-addr = <0x10>;
 602	samsung,i2c-max-bus-freq = <400000>;
 603	pinctrl-0 = <&i2c3_bus>;
 604	pinctrl-names = "default";
 605	status = "okay";
 606};
 607
 608&i2c_4 {
 609	samsung,i2c-sda-delay = <100>;
 610	samsung,i2c-slave-addr = <0x10>;
 611	samsung,i2c-max-bus-freq = <100000>;
 612	pinctrl-0 = <&i2c4_bus>;
 613	pinctrl-names = "default";
 614	status = "okay";
 615
 616	wm1811: audio-codec@1a {
 617		compatible = "wlf,wm1811";
 618		reg = <0x1a>;
 619		clocks = <&pmu_system_controller 0>,
 620			<&max77686 MAX77686_CLK_PMIC>;
 621		clock-names = "MCLK1", "MCLK2";
 622		interrupt-controller;
 623		#interrupt-cells = <2>;
 624		interrupt-parent = <&gpx3>;
 625		interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
 626
 627		gpio-controller;
 628		#gpio-cells = <2>;
 629		#sound-dai-cells = <0>;
 630
 631		wlf,gpio-cfg = <0x3 0x0 0x0 0x0 0x0 0x0
 632			0x0 0x8000 0x0 0x0 0x0>;
 633		wlf,micbias-cfg = <0x2f 0x2b>;
 634
 635		wlf,lineout1-feedback;
 636		wlf,lineout1-se;
 637		wlf,lineout2-se;
 638		wlf,ldoena-always-driven;
 639
 640		AVDD2-supply = <&vbatt_reg>;
 641		DBVDD1-supply = <&ldo3_reg>;
 642		DBVDD2-supply = <&vbatt_reg>;
 643		DBVDD3-supply = <&vbatt_reg>;
 644		DCVDD-supply = <&ldo3_reg>;
 645		CPVDD-supply = <&vbatt_reg>;
 646		SPKVDD1-supply = <&vbatt_reg>;
 647		SPKVDD2-supply = <&vbatt_reg>;
 648		wlf,ldo1ena = <&gpj0 4 0>;
 649		wlf,ldo2ena = <&gpj0 4 0>;
 650	};
 651};
 652
 653&i2c_5 {
 654	status = "okay";
 655};
 656
 657&i2c_7 {
 658	samsung,i2c-sda-delay = <100>;
 659	samsung,i2c-slave-addr = <0x10>;
 660	samsung,i2c-max-bus-freq = <100000>;
 661	pinctrl-0 = <&i2c7_bus>;
 662	pinctrl-names = "default";
 663	status = "okay";
 664
 665	max77686: pmic@9 {
 666		compatible = "maxim,max77686";
 667		interrupt-parent = <&gpx0>;
 668		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
 669		pinctrl-0 = <&max77686_irq>;
 670		pinctrl-names = "default";
 671		wakeup-source;
 672		reg = <0x09>;
 673		#clock-cells = <1>;
 674
 675		voltage-regulators {
 676			ldo1_reg: LDO1 {
 677				regulator-name = "VALIVE_1.0V_AP";
 678				regulator-min-microvolt = <1000000>;
 679				regulator-max-microvolt = <1000000>;
 680				regulator-always-on;
 681			};
 682
 683			ldo2_reg: LDO2 {
 684				regulator-name = "VM1M2_1.2V_AP";
 685				regulator-min-microvolt = <1200000>;
 686				regulator-max-microvolt = <1200000>;
 687				regulator-always-on;
 688				regulator-state-mem {
 689					regulator-on-in-suspend;
 690				};
 691			};
 692
 693			ldo3_reg: LDO3 {
 694				regulator-name = "VCC_1.8V_AP";
 695				regulator-min-microvolt = <1800000>;
 696				regulator-max-microvolt = <1800000>;
 697				regulator-always-on;
 698			};
 699
 700			ldo4_reg: LDO4 {
 701				regulator-name = "VCC_2.8V_AP";
 702				regulator-min-microvolt = <2800000>;
 703				regulator-max-microvolt = <2800000>;
 704				regulator-always-on;
 705			};
 706
 707			ldo5_reg: LDO5 {
 708				regulator-name = "VCC_1.8V_IO";
 709				regulator-min-microvolt = <1800000>;
 710				regulator-max-microvolt = <1800000>;
 711				regulator-always-on;
 712			};
 713
 714			ldo6_reg: LDO6 {
 715				regulator-name = "VMPLL_1.0V_AP";
 716				regulator-min-microvolt = <1000000>;
 717				regulator-max-microvolt = <1000000>;
 718				regulator-always-on;
 719				regulator-state-mem {
 720					regulator-on-in-suspend;
 721				};
 722			};
 723
 724			ldo7_reg: LDO7 {
 725				regulator-name = "VPLL_1.0V_AP";
 726				regulator-min-microvolt = <1000000>;
 727				regulator-max-microvolt = <1000000>;
 728				regulator-always-on;
 729				regulator-state-mem {
 730					regulator-on-in-suspend;
 731				};
 732			};
 733
 734			ldo8_reg: LDO8 {
 735				regulator-name = "VMIPI_1.0V";
 736				regulator-min-microvolt = <1000000>;
 737				regulator-max-microvolt = <1000000>;
 738				regulator-state-mem {
 739					regulator-off-in-suspend;
 740				};
 741			};
 742
 743			ldo9_reg: LDO9 {
 744				regulator-name = "CAM_ISP_MIPI_1.2V";
 745				regulator-min-microvolt = <1200000>;
 746				regulator-max-microvolt = <1200000>;
 747			};
 748
 749			ldo10_reg: LDO10 {
 750				regulator-name = "VMIPI_1.8V";
 751				regulator-min-microvolt = <1800000>;
 752				regulator-max-microvolt = <1800000>;
 753				regulator-state-mem {
 754					regulator-off-in-suspend;
 755				};
 756			};
 757
 758			ldo11_reg: LDO11 {
 759				regulator-name = "VABB1_1.95V";
 760				regulator-min-microvolt = <1950000>;
 761				regulator-max-microvolt = <1950000>;
 762				regulator-always-on;
 763				regulator-state-mem {
 764					regulator-off-in-suspend;
 765				};
 766			};
 767
 768			ldo12_reg: LDO12 {
 769				regulator-name = "VUOTG_3.0V";
 770				regulator-min-microvolt = <3000000>;
 771				regulator-max-microvolt = <3000000>;
 772				regulator-state-mem {
 773					regulator-off-in-suspend;
 774				};
 775			};
 776
 777			ldo13_reg: LDO13 {
 778				regulator-name = "NFC_AVDD_1.8V";
 779				regulator-min-microvolt = <1800000>;
 780				regulator-max-microvolt = <1800000>;
 781			};
 782
 783			ldo14_reg: LDO14 {
 784				regulator-name = "VABB2_1.95V";
 785				regulator-min-microvolt = <1950000>;
 786				regulator-max-microvolt = <1950000>;
 787				regulator-always-on;
 788				regulator-state-mem {
 789					regulator-off-in-suspend;
 790				};
 791			};
 792
 793			ldo15_reg: LDO15 {
 794				regulator-name = "VHSIC_1.0V";
 795				regulator-min-microvolt = <1000000>;
 796				regulator-max-microvolt = <1000000>;
 797				regulator-state-mem {
 798					regulator-on-in-suspend;
 799				};
 800			};
 801
 802			ldo16_reg: LDO16 {
 803				regulator-name = "VHSIC_1.8V";
 804				regulator-min-microvolt = <1800000>;
 805				regulator-max-microvolt = <1800000>;
 806				regulator-state-mem {
 807					regulator-on-in-suspend;
 808				};
 809			};
 810
 811			ldo17_reg: LDO17 {
 812				regulator-name = "CAM_SENSOR_CORE_1.2V";
 813				regulator-min-microvolt = <1200000>;
 814				regulator-max-microvolt = <1200000>;
 815			};
 816
 817			ldo18_reg: LDO18 {
 818				regulator-name = "CAM_ISP_SEN_IO_1.8V";
 819				regulator-min-microvolt = <1800000>;
 820				regulator-max-microvolt = <1800000>;
 821			};
 822
 823			ldo19_reg: LDO19 {
 824				regulator-name = "VT_CAM_1.8V";
 825				regulator-min-microvolt = <1800000>;
 826				regulator-max-microvolt = <1800000>;
 827			};
 828
 829			ldo20_reg: LDO20 {
 830				regulator-name = "VDDQ_PRE_1.8V";
 831				regulator-min-microvolt = <1800000>;
 832				regulator-max-microvolt = <1800000>;
 833			};
 834
 835			ldo21_reg: LDO21 {
 836				regulator-name = "VTF_2.8V";
 837				regulator-min-microvolt = <2800000>;
 838				regulator-max-microvolt = <2800000>;
 839				maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
 840			};
 841
 842			ldo22_reg: LDO22 {
 843				regulator-name = "VMEM_VDD_2.8V";
 844				regulator-min-microvolt = <2800000>;
 845				regulator-max-microvolt = <2800000>;
 846				maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
 847			};
 848
 849			ldo23_reg: LDO23 {
 850				regulator-name = "TSP_AVDD_3.3V";
 851				regulator-min-microvolt = <3300000>;
 852				regulator-max-microvolt = <3300000>;
 853			};
 854
 855			ldo24_reg: LDO24 {
 856				regulator-name = "TSP_VDD_1.8V";
 857				regulator-min-microvolt = <1800000>;
 858				regulator-max-microvolt = <1800000>;
 859			};
 860
 861			ldo25_reg: LDO25 {
 862				regulator-name = "LDO25";
 863			};
 864
 865			ldo26_reg: LDO26 {
 866				regulator-name = "MOTOR_VCC_3.0V";
 867				regulator-min-microvolt = <3000000>;
 868				regulator-max-microvolt = <3000000>;
 869			};
 870
 871			buck1_reg: BUCK1 {
 872				regulator-name = "VDD_MIF";
 873				regulator-min-microvolt = <850000>;
 874				regulator-max-microvolt = <1100000>;
 875				regulator-always-on;
 876				regulator-boot-on;
 877				regulator-state-mem {
 878					regulator-off-in-suspend;
 879				};
 880			};
 881
 882			buck2_reg: BUCK2 {
 883				regulator-name = "VDD_ARM";
 884				regulator-min-microvolt = <850000>;
 885				regulator-max-microvolt = <1500000>;
 886				regulator-always-on;
 887				regulator-boot-on;
 888				regulator-state-mem {
 889					regulator-on-in-suspend;
 890				};
 891			};
 892
 893			buck3_reg: BUCK3 {
 894				regulator-name = "VDD_INT";
 895				regulator-min-microvolt = <850000>;
 896				regulator-max-microvolt = <1150000>;
 897				regulator-always-on;
 898				regulator-boot-on;
 899				regulator-state-mem {
 900					regulator-off-in-suspend;
 901				};
 902			};
 903
 904			buck4_reg: BUCK4 {
 905				regulator-name = "VDD_G3D";
 906				regulator-min-microvolt = <850000>;
 907				regulator-max-microvolt = <1150000>;
 908				regulator-boot-on;
 909				regulator-state-mem {
 910					regulator-off-in-suspend;
 911				};
 912			};
 913
 914			buck5_reg: BUCK5 {
 915				regulator-name = "VMEM_1.2V_AP";
 916				regulator-min-microvolt = <1200000>;
 917				regulator-max-microvolt = <1200000>;
 918				regulator-always-on;
 919			};
 920
 921			buck6_reg: BUCK6 {
 922				regulator-name = "VCC_SUB_1.35V";
 923				regulator-min-microvolt = <1350000>;
 924				regulator-max-microvolt = <1350000>;
 925				regulator-always-on;
 926			};
 927
 928			buck7_reg: BUCK7 {
 929				regulator-name = "VCC_SUB_2.0V";
 930				regulator-min-microvolt = <2000000>;
 931				regulator-max-microvolt = <2000000>;
 932				regulator-always-on;
 933			};
 934
 935			buck8_reg: BUCK8 {
 936				regulator-name = "VMEM_VDDF_3.0V";
 937				regulator-min-microvolt = <2850000>;
 938				regulator-max-microvolt = <2850000>;
 939				maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
 940			};
 941
 942			buck9_reg: BUCK9 {
 943				regulator-name = "CAM_ISP_CORE_1.2V";
 944				regulator-min-microvolt = <1000000>;
 945				regulator-max-microvolt = <1200000>;
 946			};
 947		};
 948	};
 949};
 950
 951&i2c_8 {
 952	status = "okay";
 953};
 954
 955&i2s0 {
 956	pinctrl-0 = <&i2s0_bus>;
 957	pinctrl-names = "default";
 958	status = "okay";
 959};
 960
 961&mixer {
 962	status = "okay";
 963};
 964
 965&mshc_0 {
 966	broken-cd;
 967	non-removable;
 968	card-detect-delay = <200>;
 969	vmmc-supply = <&ldo22_reg>;
 970	clock-frequency = <400000000>;
 971	samsung,dw-mshc-ciu-div = <0>;
 972	samsung,dw-mshc-sdr-timing = <2 3>;
 973	samsung,dw-mshc-ddr-timing = <1 2>;
 974	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
 975	pinctrl-names = "default";
 976	status = "okay";
 977	bus-width = <8>;
 978	cap-mmc-highspeed;
 979};
 980
 981&pmu_system_controller {
 982	assigned-clocks = <&pmu_system_controller 0>;
 983	assigned-clock-parents =  <&clock CLK_XUSBXTI>;
 984};
 985
 986&pinctrl_0 {
 987	pinctrl-names = "default";
 988	pinctrl-0 = <&sleep0>;
 989
 990	mhl_int: mhl-int {
 991		samsung,pins = "gpf3-5";
 992		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 993	};
 994
 995	i2c_mhl_bus: i2c-mhl-bus {
 996		samsung,pins = "gpf0-4", "gpf0-6";
 997		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
 998		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
 999		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
1000	};
1001
1002	sleep0: sleep-states {
1003		PIN_SLP(gpa0-0, INPUT, NONE);
1004		PIN_SLP(gpa0-1, OUT0, NONE);
1005		PIN_SLP(gpa0-2, INPUT, NONE);
1006		PIN_SLP(gpa0-3, INPUT, UP);
1007		PIN_SLP(gpa0-4, INPUT, NONE);
1008		PIN_SLP(gpa0-5, INPUT, DOWN);
1009		PIN_SLP(gpa0-6, INPUT, DOWN);
1010		PIN_SLP(gpa0-7, INPUT, UP);
1011
1012		PIN_SLP(gpa1-0, INPUT, DOWN);
1013		PIN_SLP(gpa1-1, INPUT, DOWN);
1014		PIN_SLP(gpa1-2, INPUT, DOWN);
1015		PIN_SLP(gpa1-3, INPUT, DOWN);
1016		PIN_SLP(gpa1-4, INPUT, DOWN);
1017		PIN_SLP(gpa1-5, INPUT, DOWN);
1018
1019		PIN_SLP(gpb-0, INPUT, NONE);
1020		PIN_SLP(gpb-1, INPUT, NONE);
1021		PIN_SLP(gpb-2, INPUT, NONE);
1022		PIN_SLP(gpb-3, INPUT, NONE);
1023		PIN_SLP(gpb-4, INPUT, DOWN);
1024		PIN_SLP(gpb-5, INPUT, UP);
1025		PIN_SLP(gpb-6, INPUT, DOWN);
1026		PIN_SLP(gpb-7, INPUT, DOWN);
1027
1028		PIN_SLP(gpc0-0, INPUT, DOWN);
1029		PIN_SLP(gpc0-1, INPUT, DOWN);
1030		PIN_SLP(gpc0-2, INPUT, DOWN);
1031		PIN_SLP(gpc0-3, INPUT, DOWN);
1032		PIN_SLP(gpc0-4, INPUT, DOWN);
1033
1034		PIN_SLP(gpc1-0, INPUT, NONE);
1035		PIN_SLP(gpc1-1, PREV, NONE);
1036		PIN_SLP(gpc1-2, INPUT, NONE);
1037		PIN_SLP(gpc1-3, INPUT, NONE);
1038		PIN_SLP(gpc1-4, INPUT, NONE);
1039
1040		PIN_SLP(gpd0-0, INPUT, DOWN);
1041		PIN_SLP(gpd0-1, INPUT, DOWN);
1042		PIN_SLP(gpd0-2, INPUT, NONE);
1043		PIN_SLP(gpd0-3, INPUT, NONE);
1044
1045		PIN_SLP(gpd1-0, INPUT, DOWN);
1046		PIN_SLP(gpd1-1, INPUT, DOWN);
1047		PIN_SLP(gpd1-2, INPUT, NONE);
1048		PIN_SLP(gpd1-3, INPUT, NONE);
1049
1050		PIN_SLP(gpf0-0, INPUT, NONE);
1051		PIN_SLP(gpf0-1, INPUT, NONE);
1052		PIN_SLP(gpf0-2, INPUT, DOWN);
1053		PIN_SLP(gpf0-3, INPUT, DOWN);
1054		PIN_SLP(gpf0-4, INPUT, NONE);
1055		PIN_SLP(gpf0-5, INPUT, DOWN);
1056		PIN_SLP(gpf0-6, INPUT, NONE);
1057		PIN_SLP(gpf0-7, INPUT, DOWN);
1058
1059		PIN_SLP(gpf1-0, INPUT, DOWN);
1060		PIN_SLP(gpf1-1, INPUT, DOWN);
1061		PIN_SLP(gpf1-2, INPUT, DOWN);
1062		PIN_SLP(gpf1-3, INPUT, DOWN);
1063		PIN_SLP(gpf1-4, INPUT, NONE);
1064		PIN_SLP(gpf1-5, INPUT, NONE);
1065		PIN_SLP(gpf1-6, INPUT, DOWN);
1066		PIN_SLP(gpf1-7, PREV, NONE);
1067
1068		PIN_SLP(gpf2-0, PREV, NONE);
1069		PIN_SLP(gpf2-1, INPUT, DOWN);
1070		PIN_SLP(gpf2-2, INPUT, DOWN);
1071		PIN_SLP(gpf2-3, INPUT, DOWN);
1072		PIN_SLP(gpf2-4, INPUT, DOWN);
1073		PIN_SLP(gpf2-5, INPUT, DOWN);
1074		PIN_SLP(gpf2-6, INPUT, NONE);
1075		PIN_SLP(gpf2-7, INPUT, NONE);
1076
1077		PIN_SLP(gpf3-0, INPUT, NONE);
1078		PIN_SLP(gpf3-1, PREV, NONE);
1079		PIN_SLP(gpf3-2, PREV, NONE);
1080		PIN_SLP(gpf3-3, PREV, NONE);
1081		PIN_SLP(gpf3-4, OUT1, NONE);
1082		PIN_SLP(gpf3-5, INPUT, DOWN);
1083
1084		PIN_SLP(gpj0-0, PREV, NONE);
1085		PIN_SLP(gpj0-1, PREV, NONE);
1086		PIN_SLP(gpj0-2, PREV, NONE);
1087		PIN_SLP(gpj0-3, INPUT, DOWN);
1088		PIN_SLP(gpj0-4, PREV, NONE);
1089		PIN_SLP(gpj0-5, PREV, NONE);
1090		PIN_SLP(gpj0-6, INPUT, DOWN);
1091		PIN_SLP(gpj0-7, INPUT, DOWN);
1092
1093		PIN_SLP(gpj1-0, INPUT, DOWN);
1094		PIN_SLP(gpj1-1, PREV, NONE);
1095		PIN_SLP(gpj1-2, PREV, NONE);
1096		PIN_SLP(gpj1-3, INPUT, DOWN);
1097		PIN_SLP(gpj1-4, INPUT, DOWN);
1098	};
1099};
1100
1101&pinctrl_1 {
1102	pinctrl-names = "default";
1103	pinctrl-0 = <&sleep1>;
1104
1105	gpio_keys: gpio-keys {
1106		samsung,pins = "gpx0-1", "gpx2-2", "gpx2-7", "gpx3-3";
1107		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1108	};
1109
1110	bt_shutdown: bt-shutdown {
1111		samsung,pins = "gpl0-6";
1112		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1113	};
1114
1115	bt_host_wakeup: bt-host-wakeup {
1116		samsung,pins = "gpx2-6";
1117		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1118	};
1119
1120	bt_device_wakeup: bt-device-wakeup {
1121		samsung,pins = "gpx3-1";
1122		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1123	};
1124
1125	max77686_irq: max77686-irq {
1126		samsung,pins = "gpx0-7";
1127		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1128	};
1129
1130	max77693_irq: max77693-irq {
1131		samsung,pins = "gpx1-5";
1132		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1133	};
1134
1135	max77693_fuel_irq: max77693-fuel-irq {
1136		samsung,pins = "gpx2-3";
1137		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1138	};
1139
1140	sdhci2_cd: sdhci2-cd-irq {
1141		samsung,pins = "gpx3-4";
1142		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1143	};
1144
1145	hdmi_hpd: hdmi-hpd {
1146		samsung,pins = "gpx3-7";
1147		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1148	};
1149
1150	sleep1: sleep-states {
1151		PIN_SLP(gpk0-0, PREV, NONE);
1152		PIN_SLP(gpk0-1, PREV, NONE);
1153		PIN_SLP(gpk0-2, OUT0, NONE);
1154		PIN_SLP(gpk0-3, PREV, NONE);
1155		PIN_SLP(gpk0-4, PREV, NONE);
1156		PIN_SLP(gpk0-5, PREV, NONE);
1157		PIN_SLP(gpk0-6, PREV, NONE);
1158
1159		PIN_SLP(gpk1-0, INPUT, DOWN);
1160		PIN_SLP(gpk1-1, INPUT, DOWN);
1161		PIN_SLP(gpk1-2, INPUT, DOWN);
1162		PIN_SLP(gpk1-3, PREV, NONE);
1163		PIN_SLP(gpk1-4, PREV, NONE);
1164		PIN_SLP(gpk1-5, PREV, NONE);
1165		PIN_SLP(gpk1-6, PREV, NONE);
1166
1167		PIN_SLP(gpk2-0, INPUT, DOWN);
1168		PIN_SLP(gpk2-1, INPUT, DOWN);
1169		PIN_SLP(gpk2-2, INPUT, DOWN);
1170		PIN_SLP(gpk2-3, INPUT, DOWN);
1171		PIN_SLP(gpk2-4, INPUT, DOWN);
1172		PIN_SLP(gpk2-5, INPUT, DOWN);
1173		PIN_SLP(gpk2-6, INPUT, DOWN);
1174
1175		PIN_SLP(gpk3-0, OUT0, NONE);
1176		PIN_SLP(gpk3-1, INPUT, NONE);
1177		PIN_SLP(gpk3-2, INPUT, DOWN);
1178		PIN_SLP(gpk3-3, INPUT, NONE);
1179		PIN_SLP(gpk3-4, INPUT, NONE);
1180		PIN_SLP(gpk3-5, INPUT, NONE);
1181		PIN_SLP(gpk3-6, INPUT, NONE);
1182
1183		PIN_SLP(gpl0-0, INPUT, DOWN);
1184		PIN_SLP(gpl0-1, INPUT, DOWN);
1185		PIN_SLP(gpl0-2, INPUT, DOWN);
1186		PIN_SLP(gpl0-3, INPUT, DOWN);
1187		PIN_SLP(gpl0-4, PREV, NONE);
1188		PIN_SLP(gpl0-6, PREV, NONE);
1189
1190		PIN_SLP(gpl1-0, INPUT, DOWN);
1191		PIN_SLP(gpl1-1, INPUT, DOWN);
1192		PIN_SLP(gpl2-0, INPUT, DOWN);
1193		PIN_SLP(gpl2-1, INPUT, DOWN);
1194		PIN_SLP(gpl2-2, INPUT, DOWN);
1195		PIN_SLP(gpl2-3, INPUT, DOWN);
1196		PIN_SLP(gpl2-4, INPUT, DOWN);
1197		PIN_SLP(gpl2-5, INPUT, DOWN);
1198		PIN_SLP(gpl2-6, PREV, NONE);
1199		PIN_SLP(gpl2-7, INPUT, DOWN);
1200
1201		PIN_SLP(gpm0-0, INPUT, DOWN);
1202		PIN_SLP(gpm0-1, INPUT, DOWN);
1203		PIN_SLP(gpm0-2, INPUT, DOWN);
1204		PIN_SLP(gpm0-3, INPUT, DOWN);
1205		PIN_SLP(gpm0-4, INPUT, DOWN);
1206		PIN_SLP(gpm0-5, INPUT, DOWN);
1207		PIN_SLP(gpm0-6, INPUT, DOWN);
1208		PIN_SLP(gpm0-7, INPUT, DOWN);
1209
1210		PIN_SLP(gpm1-0, INPUT, DOWN);
1211		PIN_SLP(gpm1-1, INPUT, DOWN);
1212		PIN_SLP(gpm1-2, INPUT, NONE);
1213		PIN_SLP(gpm1-3, INPUT, NONE);
1214		PIN_SLP(gpm1-4, INPUT, NONE);
1215		PIN_SLP(gpm1-5, INPUT, NONE);
1216		PIN_SLP(gpm1-6, INPUT, DOWN);
1217
1218		PIN_SLP(gpm2-0, INPUT, NONE);
1219		PIN_SLP(gpm2-1, INPUT, NONE);
1220		PIN_SLP(gpm2-2, INPUT, DOWN);
1221		PIN_SLP(gpm2-3, INPUT, DOWN);
1222		PIN_SLP(gpm2-4, INPUT, DOWN);
1223
1224		PIN_SLP(gpm3-0, PREV, NONE);
1225		PIN_SLP(gpm3-1, PREV, NONE);
1226		PIN_SLP(gpm3-2, PREV, NONE);
1227		PIN_SLP(gpm3-3, OUT1, NONE);
1228		PIN_SLP(gpm3-4, INPUT, DOWN);
1229		PIN_SLP(gpm3-5, INPUT, DOWN);
1230		PIN_SLP(gpm3-6, INPUT, DOWN);
1231		PIN_SLP(gpm3-7, INPUT, DOWN);
1232
1233		PIN_SLP(gpm4-0, INPUT, DOWN);
1234		PIN_SLP(gpm4-1, INPUT, DOWN);
1235		PIN_SLP(gpm4-2, INPUT, DOWN);
1236		PIN_SLP(gpm4-3, INPUT, DOWN);
1237		PIN_SLP(gpm4-4, INPUT, DOWN);
1238		PIN_SLP(gpm4-5, INPUT, DOWN);
1239		PIN_SLP(gpm4-6, INPUT, DOWN);
1240		PIN_SLP(gpm4-7, INPUT, DOWN);
1241
1242		PIN_SLP(gpy0-0, INPUT, DOWN);
1243		PIN_SLP(gpy0-1, INPUT, DOWN);
1244		PIN_SLP(gpy0-2, INPUT, DOWN);
1245		PIN_SLP(gpy0-3, INPUT, DOWN);
1246		PIN_SLP(gpy0-4, INPUT, DOWN);
1247		PIN_SLP(gpy0-5, INPUT, DOWN);
1248
1249		PIN_SLP(gpy1-0, INPUT, DOWN);
1250		PIN_SLP(gpy1-1, INPUT, DOWN);
1251		PIN_SLP(gpy1-2, INPUT, DOWN);
1252		PIN_SLP(gpy1-3, INPUT, DOWN);
1253
1254		PIN_SLP(gpy2-0, PREV, NONE);
1255		PIN_SLP(gpy2-1, INPUT, DOWN);
1256		PIN_SLP(gpy2-2, INPUT, NONE);
1257		PIN_SLP(gpy2-3, INPUT, NONE);
1258		PIN_SLP(gpy2-4, INPUT, NONE);
1259		PIN_SLP(gpy2-5, INPUT, NONE);
1260
1261		PIN_SLP(gpy3-0, INPUT, DOWN);
1262		PIN_SLP(gpy3-1, INPUT, DOWN);
1263		PIN_SLP(gpy3-2, INPUT, DOWN);
1264		PIN_SLP(gpy3-3, INPUT, DOWN);
1265		PIN_SLP(gpy3-4, INPUT, DOWN);
1266		PIN_SLP(gpy3-5, INPUT, DOWN);
1267		PIN_SLP(gpy3-6, INPUT, DOWN);
1268		PIN_SLP(gpy3-7, INPUT, DOWN);
1269
1270		PIN_SLP(gpy4-0, INPUT, DOWN);
1271		PIN_SLP(gpy4-1, INPUT, DOWN);
1272		PIN_SLP(gpy4-2, INPUT, DOWN);
1273		PIN_SLP(gpy4-3, INPUT, DOWN);
1274		PIN_SLP(gpy4-4, INPUT, DOWN);
1275		PIN_SLP(gpy4-5, INPUT, DOWN);
1276		PIN_SLP(gpy4-6, INPUT, DOWN);
1277		PIN_SLP(gpy4-7, INPUT, DOWN);
1278
1279		PIN_SLP(gpy5-0, INPUT, DOWN);
1280		PIN_SLP(gpy5-1, INPUT, DOWN);
1281		PIN_SLP(gpy5-2, INPUT, DOWN);
1282		PIN_SLP(gpy5-3, INPUT, DOWN);
1283		PIN_SLP(gpy5-4, INPUT, DOWN);
1284		PIN_SLP(gpy5-5, INPUT, DOWN);
1285		PIN_SLP(gpy5-6, INPUT, DOWN);
1286		PIN_SLP(gpy5-7, INPUT, DOWN);
1287
1288		PIN_SLP(gpy6-0, INPUT, DOWN);
1289		PIN_SLP(gpy6-1, INPUT, DOWN);
1290		PIN_SLP(gpy6-2, INPUT, DOWN);
1291		PIN_SLP(gpy6-3, INPUT, DOWN);
1292		PIN_SLP(gpy6-4, INPUT, DOWN);
1293		PIN_SLP(gpy6-5, INPUT, DOWN);
1294		PIN_SLP(gpy6-6, INPUT, DOWN);
1295		PIN_SLP(gpy6-7, INPUT, DOWN);
1296	};
1297};
1298
1299&pinctrl_2 {
1300	pinctrl-names = "default";
1301	pinctrl-0 = <&sleep2>;
1302
1303	sleep2: sleep-states {
1304		PIN_SLP(gpz-0, INPUT, DOWN);
1305		PIN_SLP(gpz-1, INPUT, DOWN);
1306		PIN_SLP(gpz-2, INPUT, DOWN);
1307		PIN_SLP(gpz-3, INPUT, DOWN);
1308		PIN_SLP(gpz-4, INPUT, DOWN);
1309		PIN_SLP(gpz-5, INPUT, DOWN);
1310		PIN_SLP(gpz-6, INPUT, DOWN);
1311	};
1312};
1313
1314&pinctrl_3 {
1315	pinctrl-names = "default";
1316	pinctrl-0 = <&sleep3>;
1317
1318	sleep3: sleep-states {
1319		PIN_SLP(gpv0-0, INPUT, DOWN);
1320		PIN_SLP(gpv0-1, INPUT, DOWN);
1321		PIN_SLP(gpv0-2, INPUT, DOWN);
1322		PIN_SLP(gpv0-3, INPUT, DOWN);
1323		PIN_SLP(gpv0-4, INPUT, DOWN);
1324		PIN_SLP(gpv0-5, INPUT, DOWN);
1325		PIN_SLP(gpv0-6, INPUT, DOWN);
1326		PIN_SLP(gpv0-7, INPUT, DOWN);
1327
1328		PIN_SLP(gpv1-0, INPUT, DOWN);
1329		PIN_SLP(gpv1-1, INPUT, DOWN);
1330		PIN_SLP(gpv1-2, INPUT, DOWN);
1331		PIN_SLP(gpv1-3, INPUT, DOWN);
1332		PIN_SLP(gpv1-4, INPUT, DOWN);
1333		PIN_SLP(gpv1-5, INPUT, DOWN);
1334		PIN_SLP(gpv1-6, INPUT, DOWN);
1335		PIN_SLP(gpv1-7, INPUT, DOWN);
1336
1337		PIN_SLP(gpv2-0, INPUT, DOWN);
1338		PIN_SLP(gpv2-1, INPUT, DOWN);
1339		PIN_SLP(gpv2-2, INPUT, DOWN);
1340		PIN_SLP(gpv2-3, INPUT, DOWN);
1341		PIN_SLP(gpv2-4, INPUT, DOWN);
1342		PIN_SLP(gpv2-5, INPUT, DOWN);
1343		PIN_SLP(gpv2-6, INPUT, DOWN);
1344		PIN_SLP(gpv2-7, INPUT, DOWN);
1345
1346		PIN_SLP(gpv3-0, INPUT, DOWN);
1347		PIN_SLP(gpv3-1, INPUT, DOWN);
1348		PIN_SLP(gpv3-2, INPUT, DOWN);
1349		PIN_SLP(gpv3-3, INPUT, DOWN);
1350		PIN_SLP(gpv3-4, INPUT, DOWN);
1351		PIN_SLP(gpv3-5, INPUT, DOWN);
1352		PIN_SLP(gpv3-6, INPUT, DOWN);
1353		PIN_SLP(gpv3-7, INPUT, DOWN);
1354
1355		PIN_SLP(gpv4-0, INPUT, DOWN);
1356	};
1357};
1358
1359&pwm {
1360	pinctrl-0 = <&pwm0_out>;
1361	pinctrl-names = "default";
1362	samsung,pwm-outputs = <0>;
1363	status = "okay";
1364};
1365
1366&rtc {
1367	status = "okay";
1368	clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1369	clock-names = "rtc", "rtc_src";
1370};
1371
1372&sdhci_2 {
1373	bus-width = <4>;
1374	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
1375	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
 
1376	pinctrl-names = "default";
1377	vmmc-supply = <&ldo21_reg>;
1378	status = "okay";
1379};
1380
1381&sdhci_3 {
1382	#address-cells = <1>;
1383	#size-cells = <0>;
1384	non-removable;
1385	bus-width = <4>;
1386
1387	mmc-pwrseq = <&wlan_pwrseq>;
1388	pinctrl-names = "default";
1389	pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
1390	status = "okay";
1391
1392	brcmf: wifi@1 {
1393		reg = <1>;
1394		compatible = "brcm,bcm4329-fmac";
1395		interrupt-parent = <&gpx2>;
1396		interrupts = <5 IRQ_TYPE_NONE>;
1397		interrupt-names = "host-wake";
1398	};
1399};
1400
1401&serial_0 {
1402	pinctrl-0 = <&uart0_data &uart0_fctl>;
1403	pinctrl-names = "default";
1404	status = "okay";
1405
1406	bluetooth {
1407		compatible = "brcm,bcm4330-bt";
1408		pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
1409		pinctrl-names = "default";
1410		max-speed = <3000000>;
1411		shutdown-gpios = <&gpl0 6 GPIO_ACTIVE_HIGH>;
1412		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
1413		host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
1414		clocks = <&max77686 MAX77686_CLK_PMIC>;
1415	};
1416};
1417
1418&serial_1 {
1419	status = "okay";
1420};
1421
1422&serial_2 {
1423	status = "okay";
1424};
1425
1426&serial_3 {
1427	status = "okay";
1428};
1429
1430&spi_1 {
1431	pinctrl-names = "default";
1432	pinctrl-0 = <&spi1_bus>;
1433	cs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
1434	status = "okay";
1435
1436	s5c73m3_spi: image-sensor@0 {
1437		compatible = "samsung,s5c73m3";
1438		spi-max-frequency = <50000000>;
1439		reg = <0>;
1440		controller-data {
1441			samsung,spi-feedback-delay = <2>;
1442		};
1443	};
1444};
1445
1446&tmu {
1447	vtmu-supply = <&ldo10_reg>;
1448	status = "okay";
1449};
v4.17
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * Samsung's Exynos4412 based Trats 2 board device tree source
   4 *
   5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
   6 *		http://www.samsung.com
   7 *
   8 * Device tree source file for Samsung's Trats 2 board which is based on
   9 * Samsung's Exynos4412 SoC.
  10 */
  11
  12/dts-v1/;
  13#include "exynos4412.dtsi"
  14#include "exynos4412-ppmu-common.dtsi"
  15#include <dt-bindings/gpio/gpio.h>
 
  16#include <dt-bindings/interrupt-controller/irq.h>
  17#include <dt-bindings/clock/maxim,max77686.h>
  18#include <dt-bindings/pinctrl/samsung.h>
  19
  20/ {
  21	compatible = "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
  22
  23	aliases {
  24		i2c11 = &i2c_max77693;
  25		i2c12 = &i2c_max77693_fuel;
  26	};
  27
  28	chosen {
  29		stdout-path = &serial_2;
  30	};
  31
  32	firmware@204f000 {
  33		compatible = "samsung,secure-firmware";
  34		reg = <0x0204F000 0x1000>;
  35	};
  36
  37	fixed-rate-clocks {
  38		xxti {
  39			compatible = "samsung,clock-xxti", "fixed-clock";
  40			clock-frequency = <0>;
  41		};
  42
  43		xusbxti {
  44			compatible = "samsung,clock-xusbxti", "fixed-clock";
  45			clock-frequency = <24000000>;
  46		};
  47	};
  48
  49	regulators {
  50		compatible = "simple-bus";
  51		#address-cells = <1>;
  52		#size-cells = <0>;
 
 
 
 
  53
  54		cam_io_reg: voltage-regulator-1 {
  55			compatible = "regulator-fixed";
  56			regulator-name = "CAM_SENSOR_A";
  57			regulator-min-microvolt = <2800000>;
  58			regulator-max-microvolt = <2800000>;
  59			enable-active-high;
  60			status = "disabled";
  61		};
  62
  63		cam_af_reg: voltage-regulator-3 {
  64			compatible = "regulator-fixed";
  65			regulator-name = "CAM_AF";
  66			regulator-min-microvolt = <2800000>;
  67			regulator-max-microvolt = <2800000>;
  68			enable-active-high;
  69			status = "disabled";
  70		};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  71
  72		vsil12: voltage-regulator-6 {
  73			compatible = "regulator-fixed";
  74			regulator-name = "VSIL_1.2V";
  75			regulator-min-microvolt = <1200000>;
  76			regulator-max-microvolt = <1200000>;
  77			gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
  78			enable-active-high;
  79			vin-supply = <&buck7_reg>;
  80		};
  81
  82		vcc33mhl: voltage-regulator-7 {
  83			compatible = "regulator-fixed";
  84			regulator-name = "VCC_3.3_MHL";
  85			regulator-min-microvolt = <3300000>;
  86			regulator-max-microvolt = <3300000>;
  87			gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
  88			enable-active-high;
  89		};
  90
  91		vcc18mhl: voltage-regulator-8 {
  92			compatible = "regulator-fixed";
  93			regulator-name = "VCC_1.8_MHL";
  94			regulator-min-microvolt = <1800000>;
  95			regulator-max-microvolt = <1800000>;
  96			gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
  97			enable-active-high;
  98		};
  99	};
 100
 101	gpio-keys {
 102		compatible = "gpio-keys";
 
 
 103
 104		key-down {
 105			gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
 106			linux,code = <114>;
 107			label = "volume down";
 108			debounce-interval = <10>;
 109		};
 110
 111		key-up {
 112			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
 113			linux,code = <115>;
 114			label = "volume up";
 115			debounce-interval = <10>;
 116		};
 117
 118		key-power {
 119			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
 120			linux,code = <116>;
 121			label = "power";
 122			debounce-interval = <10>;
 123			wakeup-source;
 124		};
 125
 126		key-ok {
 127			gpios = <&gpx0 1 GPIO_ACTIVE_LOW>;
 128			linux,code = <139>;
 129			label = "ok";
 130			debounce-interval = <10>;
 131			wakeup-source;
 132		};
 133	};
 134
 135	i2c_max77693: i2c-gpio-1 {
 136		compatible = "i2c-gpio";
 137		gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>;
 
 138		i2c-gpio,delay-us = <2>;
 139		#address-cells = <1>;
 140		#size-cells = <0>;
 141		status = "okay";
 142
 143		max77693@66 {
 144			compatible = "maxim,max77693";
 145			interrupt-parent = <&gpx1>;
 146			interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
 
 
 147			reg = <0x66>;
 148
 149			regulators {
 150				esafeout1_reg: ESAFEOUT1 {
 151					regulator-name = "ESAFEOUT1";
 152				};
 153				esafeout2_reg: ESAFEOUT2 {
 154					regulator-name = "ESAFEOUT2";
 155				};
 156				charger_reg: CHARGER {
 157					regulator-name = "CHARGER";
 158					regulator-min-microamp = <60000>;
 159					regulator-max-microamp = <2580000>;
 160				};
 161			};
 162
 163			max77693_haptic {
 164				compatible = "maxim,max77693-haptic";
 165				haptic-supply = <&ldo26_reg>;
 166				pwms = <&pwm 0 38022 0>;
 167			};
 168
 169			charger {
 170				compatible = "maxim,max77693-charger";
 171
 172				maxim,constant-microvolt = <4350000>;
 173				maxim,min-system-microvolt = <3600000>;
 174				maxim,thermal-regulation-celsius = <100>;
 175				maxim,battery-overcurrent-microamp = <3500000>;
 176				maxim,charge-input-threshold-microvolt = <4300000>;
 177			};
 178		};
 179	};
 180
 181	i2c_max77693_fuel: i2c-gpio-3 {
 182		compatible = "i2c-gpio";
 183		gpios = <&gpf1 5 GPIO_ACTIVE_HIGH>, <&gpf1 4 GPIO_ACTIVE_HIGH>;
 
 184		i2c-gpio,delay-us = <2>;
 185		#address-cells = <1>;
 186		#size-cells = <0>;
 187		status = "okay";
 188
 189		max77693-fuel-gauge@36 {
 190			compatible = "maxim,max17047";
 191			interrupt-parent = <&gpx2>;
 192			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
 
 
 193			reg = <0x36>;
 194
 195			maxim,over-heat-temp = <700>;
 196			maxim,over-volt = <4500>;
 197		};
 198	};
 199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 200	i2c-mhl {
 201		compatible = "i2c-gpio";
 202		gpios = <&gpf0 4 GPIO_ACTIVE_HIGH>, <&gpf0 6 GPIO_ACTIVE_HIGH>;
 
 203		i2c-gpio,delay-us = <100>;
 204		#address-cells = <1>;
 205		#size-cells = <0>;
 206
 207		pinctrl-0 = <&i2c_mhl_bus>;
 208		pinctrl-names = "default";
 209		status = "okay";
 210
 211		sii9234: hdmi-bridge@39 {
 212			compatible = "sil,sii9234";
 213			avcc33-supply = <&vcc33mhl>;
 214			iovcc18-supply = <&vcc18mhl>;
 215			avcc12-supply = <&vsil12>;
 216			cvcc12-supply = <&vsil12>;
 217			reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
 218			interrupt-parent = <&gpf3>;
 219			interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
 220			reg = <0x39>;
 221
 222			port {
 223				mhl_to_hdmi: endpoint {
 224					remote-endpoint = <&hdmi_to_mhl>;
 225				};
 226			};
 227		};
 228	};
 229
 230	wlan_pwrseq: sdhci3-pwrseq {
 231		compatible = "mmc-pwrseq-simple";
 232		reset-gpios = <&gpj0 0 GPIO_ACTIVE_LOW>;
 233		clocks = <&max77686 MAX77686_CLK_PMIC>;
 234		clock-names = "ext_clock";
 235	};
 236
 237	sound {
 238		compatible = "samsung,trats2-audio";
 239		samsung,i2s-controller = <&i2s0>;
 240		samsung,model = "Trats2";
 241		samsung,audio-codec = <&wm1811>;
 242		samsung,audio-routing =
 243			"SPK", "SPKOUTLN",
 244			"SPK", "SPKOUTLP",
 245			"SPK", "SPKOUTRN",
 246			"SPK", "SPKOUTRP";
 
 
 247	};
 248
 249	thermistor-ap {
 250		compatible = "murata,ncp15wb473";
 251		pullup-uv = <1800000>;	 /* VCC_1.8V_AP */
 252		pullup-ohm = <100000>;	 /* 100K */
 253		pulldown-ohm = <100000>; /* 100K */
 254		io-channels = <&adc 1>;  /* AP temperature */
 255	};
 256
 257	thermistor-battery {
 258		compatible = "murata,ncp15wb473";
 259		pullup-uv = <1800000>;	 /* VCC_1.8V_AP */
 260		pullup-ohm = <100000>;	 /* 100K */
 261		pulldown-ohm = <100000>; /* 100K */
 262		io-channels = <&adc 2>;  /* Battery temperature */
 263	};
 264
 265	thermal-zones {
 266		cpu_thermal: cpu-thermal {
 267			cooling-maps {
 268				map0 {
 269				     /* Corresponds to 800MHz at freq_table */
 270				     cooling-device = <&cpu0 7 7>;
 271				};
 272				map1 {
 273				     /* Corresponds to 200MHz at freq_table */
 274				     cooling-device = <&cpu0 13 13>;
 275			       };
 276		       };
 277		};
 278	};
 279};
 280
 281&adc {
 282	vdd-supply = <&ldo3_reg>;
 283	status = "okay";
 284};
 285
 286&bus_dmc {
 287	devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
 288	vdd-supply = <&buck1_reg>;
 289	status = "okay";
 290};
 291
 292&bus_acp {
 293	devfreq = <&bus_dmc>;
 294	status = "okay";
 295};
 296
 297&bus_c2c {
 298	devfreq = <&bus_dmc>;
 299	status = "okay";
 300};
 301
 302&bus_leftbus {
 303	devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
 304	vdd-supply = <&buck3_reg>;
 305	status = "okay";
 306};
 307
 308&bus_rightbus {
 309	devfreq = <&bus_leftbus>;
 310	status = "okay";
 311};
 312
 313&bus_display {
 314	devfreq = <&bus_leftbus>;
 315	status = "okay";
 316};
 317
 318&bus_fsys {
 319	devfreq = <&bus_leftbus>;
 320	status = "okay";
 321};
 322
 323&bus_peri {
 324	devfreq = <&bus_leftbus>;
 325	status = "okay";
 326};
 327
 328&bus_mfc {
 329	devfreq = <&bus_leftbus>;
 330	status = "okay";
 331};
 332
 333&camera {
 334	pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
 335	pinctrl-names = "default";
 336	status = "okay";
 337	assigned-clocks = <&clock CLK_MOUT_CAM0>,
 338		<&clock CLK_MOUT_CAM1>;
 339	assigned-clock-parents = <&clock CLK_XUSBXTI>,
 340		<&clock CLK_XUSBXTI>;
 341};
 342
 343&cpu0 {
 344	cpu0-supply = <&buck2_reg>;
 345};
 346
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 347&csis_0 {
 348	status = "okay";
 349	vddcore-supply = <&ldo8_reg>;
 350	vddio-supply = <&ldo10_reg>;
 351	assigned-clocks = <&clock CLK_MOUT_CSIS0>,
 352			<&clock CLK_SCLK_CSIS0>;
 353	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 354	assigned-clock-rates = <0>, <176000000>;
 355
 356	/* Camera C (3) MIPI CSI-2 (CSIS0) */
 357	port@3 {
 358		reg = <3>;
 359		csis0_ep: endpoint {
 360			remote-endpoint = <&s5c73m3_ep>;
 361			data-lanes = <1 2 3 4>;
 362			samsung,csis-hs-settle = <12>;
 363		};
 364	};
 365};
 366
 367&csis_1 {
 368	status = "okay";
 369	vddcore-supply = <&ldo8_reg>;
 370	vddio-supply = <&ldo10_reg>;
 371	assigned-clocks = <&clock CLK_MOUT_CSIS1>,
 372			<&clock CLK_SCLK_CSIS1>;
 373	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 374	assigned-clock-rates = <0>, <176000000>;
 375
 376	/* Camera D (4) MIPI CSI-2 (CSIS1) */
 377	port@4 {
 378		reg = <4>;
 379		csis1_ep: endpoint {
 380			remote-endpoint = <&is_s5k6a3_ep>;
 381			data-lanes = <1>;
 382			samsung,csis-hs-settle = <18>;
 383			samsung,csis-wclk;
 384		};
 385	};
 386};
 387
 388&dsi_0 {
 389	vddcore-supply = <&ldo8_reg>;
 390	vddio-supply = <&ldo10_reg>;
 391	samsung,burst-clock-frequency = <500000000>;
 392	samsung,esc-clock-frequency = <20000000>;
 393	samsung,pll-clock-frequency = <24000000>;
 394};
 395
 396&exynos_usbphy {
 397	vbus-supply = <&esafeout1_reg>;
 398	status = "okay";
 399};
 400
 401&fimc_0 {
 402	status = "okay";
 403	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
 404			<&clock CLK_SCLK_FIMC0>;
 405	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 406	assigned-clock-rates = <0>, <176000000>;
 407};
 408
 409&fimc_1 {
 410	status = "okay";
 411	assigned-clocks = <&clock CLK_MOUT_FIMC1>,
 412			<&clock CLK_SCLK_FIMC1>;
 413	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 414	assigned-clock-rates = <0>, <176000000>;
 415};
 416
 417&fimc_2 {
 418	status = "okay";
 419	assigned-clocks = <&clock CLK_MOUT_FIMC2>,
 420			<&clock CLK_SCLK_FIMC2>;
 421	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 422	assigned-clock-rates = <0>, <176000000>;
 423};
 424
 425&fimc_3 {
 426	status = "okay";
 427	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
 428			<&clock CLK_SCLK_FIMC3>;
 429	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
 430	assigned-clock-rates = <0>, <176000000>;
 431};
 432
 433&fimc_is {
 434	pinctrl-0 = <&fimc_is_uart>;
 435	pinctrl-names = "default";
 436	status = "okay";
 437
 438	};
 439
 440&fimc_lite_0 {
 441	status = "okay";
 442};
 443
 444&fimc_lite_1 {
 445	status = "okay";
 446};
 447
 448&fimd {
 449	status = "okay";
 450};
 451
 
 
 
 
 
 452&hdmi {
 453	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
 454	pinctrl-names = "default";
 455	pinctrl-0 = <&hdmi_hpd>;
 456	vdd-supply = <&ldo3_reg>;
 457	vdd_osc-supply = <&ldo4_reg>;
 458	vdd_pll-supply = <&ldo3_reg>;
 459	ddc = <&i2c_5>;
 460	status = "okay";
 461
 462	ports {
 463		#address-cells = <1>;
 464		#size-cells = <0>;
 465
 466		port@1 {
 467			reg = <1>;
 468			hdmi_to_mhl: endpoint {
 469				remote-endpoint = <&mhl_to_hdmi>;
 470			};
 471		};
 472	};
 473};
 474
 475&hsotg {
 476	vusb_d-supply = <&ldo15_reg>;
 477	vusb_a-supply = <&ldo12_reg>;
 478	dr_mode = "peripheral";
 479	status = "okay";
 480};
 481
 482&i2c_0 {
 483	samsung,i2c-sda-delay = <100>;
 484	samsung,i2c-slave-addr = <0x10>;
 485	samsung,i2c-max-bus-freq = <400000>;
 486	pinctrl-0 = <&i2c0_bus>;
 487	pinctrl-names = "default";
 488	status = "okay";
 489
 490	s5c73m3: s5c73m3@3c {
 491		compatible = "samsung,s5c73m3";
 492		reg = <0x3c>;
 493		xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
 494		vdd-int-supply = <&buck9_reg>;
 495		vddio-cis-supply = <&ldo9_reg>;
 496		vddio-host-supply = <&ldo18_reg>;
 497		vdd-af-supply = <&cam_af_reg>;
 498		vdd-reg-supply = <&cam_io_reg>;
 499		clock-frequency = <24000000>;
 500		/* CAM_A_CLKOUT */
 501		clocks = <&camera 0>;
 502		clock-names = "cis_extclk";
 503		status = "disabled";
 504		port {
 505			s5c73m3_ep: endpoint {
 506				remote-endpoint = <&csis0_ep>;
 507				data-lanes = <1 2 3 4>;
 508			};
 509		};
 510	};
 511};
 512
 513&i2c1_isp {
 514	pinctrl-0 = <&fimc_is_i2c1>;
 515	pinctrl-names = "default";
 516
 517	s5k6a3@10 {
 518		compatible = "samsung,s5k6a3";
 519		reg = <0x10>;
 520		svdda-supply = <&cam_io_reg>;
 521		svddio-supply = <&ldo19_reg>;
 522		afvdd-supply = <&ldo19_reg>;
 523		clock-frequency = <24000000>;
 524		/* CAM_B_CLKOUT */
 525		clocks = <&camera 1>;
 526		clock-names = "extclk";
 527		samsung,camclk-out = <1>;
 528		gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>;
 529
 530		port {
 531			is_s5k6a3_ep: endpoint {
 532				remote-endpoint = <&csis1_ep>;
 533				data-lanes = <1>;
 534			};
 535		};
 536	};
 537};
 538
 539&i2c_3 {
 540	samsung,i2c-sda-delay = <100>;
 541	samsung,i2c-slave-addr = <0x10>;
 542	samsung,i2c-max-bus-freq = <400000>;
 543	pinctrl-0 = <&i2c3_bus>;
 544	pinctrl-names = "default";
 545	status = "okay";
 546};
 547
 548&i2c_4 {
 549	samsung,i2c-sda-delay = <100>;
 550	samsung,i2c-slave-addr = <0x10>;
 551	samsung,i2c-max-bus-freq = <100000>;
 552	pinctrl-0 = <&i2c4_bus>;
 553	pinctrl-names = "default";
 554	status = "okay";
 555
 556	wm1811: wm1811@1a {
 557		compatible = "wlf,wm1811";
 558		reg = <0x1a>;
 559		clocks = <&pmu_system_controller 0>;
 560		clock-names = "MCLK1";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 561		DCVDD-supply = <&ldo3_reg>;
 562		DBVDD1-supply = <&ldo3_reg>;
 
 
 563		wlf,ldo1ena = <&gpj0 4 0>;
 
 564	};
 565};
 566
 567&i2c_5 {
 568	status = "okay";
 569};
 570
 571&i2c_7 {
 572	samsung,i2c-sda-delay = <100>;
 573	samsung,i2c-slave-addr = <0x10>;
 574	samsung,i2c-max-bus-freq = <100000>;
 575	pinctrl-0 = <&i2c7_bus>;
 576	pinctrl-names = "default";
 577	status = "okay";
 578
 579	max77686: max77686_pmic@9 {
 580		compatible = "maxim,max77686";
 581		interrupt-parent = <&gpx0>;
 582		interrupts = <7 IRQ_TYPE_NONE>;
 
 
 
 583		reg = <0x09>;
 584		#clock-cells = <1>;
 585
 586		voltage-regulators {
 587			ldo1_reg: LDO1 {
 588				regulator-name = "VALIVE_1.0V_AP";
 589				regulator-min-microvolt = <1000000>;
 590				regulator-max-microvolt = <1000000>;
 591				regulator-always-on;
 592			};
 593
 594			ldo2_reg: LDO2 {
 595				regulator-name = "VM1M2_1.2V_AP";
 596				regulator-min-microvolt = <1200000>;
 597				regulator-max-microvolt = <1200000>;
 598				regulator-always-on;
 599				regulator-state-mem {
 600					regulator-on-in-suspend;
 601				};
 602			};
 603
 604			ldo3_reg: LDO3 {
 605				regulator-name = "VCC_1.8V_AP";
 606				regulator-min-microvolt = <1800000>;
 607				regulator-max-microvolt = <1800000>;
 608				regulator-always-on;
 609			};
 610
 611			ldo4_reg: LDO4 {
 612				regulator-name = "VCC_2.8V_AP";
 613				regulator-min-microvolt = <2800000>;
 614				regulator-max-microvolt = <2800000>;
 615				regulator-always-on;
 616			};
 617
 618			ldo5_reg: LDO5 {
 619				regulator-name = "VCC_1.8V_IO";
 620				regulator-min-microvolt = <1800000>;
 621				regulator-max-microvolt = <1800000>;
 622				regulator-always-on;
 623			};
 624
 625			ldo6_reg: LDO6 {
 626				regulator-name = "VMPLL_1.0V_AP";
 627				regulator-min-microvolt = <1000000>;
 628				regulator-max-microvolt = <1000000>;
 629				regulator-always-on;
 630				regulator-state-mem {
 631					regulator-on-in-suspend;
 632				};
 633			};
 634
 635			ldo7_reg: LDO7 {
 636				regulator-name = "VPLL_1.0V_AP";
 637				regulator-min-microvolt = <1000000>;
 638				regulator-max-microvolt = <1000000>;
 639				regulator-always-on;
 640				regulator-state-mem {
 641					regulator-on-in-suspend;
 642				};
 643			};
 644
 645			ldo8_reg: LDO8 {
 646				regulator-name = "VMIPI_1.0V";
 647				regulator-min-microvolt = <1000000>;
 648				regulator-max-microvolt = <1000000>;
 649				regulator-state-mem {
 650					regulator-off-in-suspend;
 651				};
 652			};
 653
 654			ldo9_reg: LDO9 {
 655				regulator-name = "CAM_ISP_MIPI_1.2V";
 656				regulator-min-microvolt = <1200000>;
 657				regulator-max-microvolt = <1200000>;
 658			};
 659
 660			ldo10_reg: LDO10 {
 661				regulator-name = "VMIPI_1.8V";
 662				regulator-min-microvolt = <1800000>;
 663				regulator-max-microvolt = <1800000>;
 664				regulator-state-mem {
 665					regulator-off-in-suspend;
 666				};
 667			};
 668
 669			ldo11_reg: LDO11 {
 670				regulator-name = "VABB1_1.95V";
 671				regulator-min-microvolt = <1950000>;
 672				regulator-max-microvolt = <1950000>;
 673				regulator-always-on;
 674				regulator-state-mem {
 675					regulator-off-in-suspend;
 676				};
 677			};
 678
 679			ldo12_reg: LDO12 {
 680				regulator-name = "VUOTG_3.0V";
 681				regulator-min-microvolt = <3000000>;
 682				regulator-max-microvolt = <3000000>;
 683				regulator-state-mem {
 684					regulator-off-in-suspend;
 685				};
 686			};
 687
 688			ldo13_reg: LDO13 {
 689				regulator-name = "NFC_AVDD_1.8V";
 690				regulator-min-microvolt = <1800000>;
 691				regulator-max-microvolt = <1800000>;
 692			};
 693
 694			ldo14_reg: LDO14 {
 695				regulator-name = "VABB2_1.95V";
 696				regulator-min-microvolt = <1950000>;
 697				regulator-max-microvolt = <1950000>;
 698				regulator-always-on;
 699				regulator-state-mem {
 700					regulator-off-in-suspend;
 701				};
 702			};
 703
 704			ldo15_reg: LDO15 {
 705				regulator-name = "VHSIC_1.0V";
 706				regulator-min-microvolt = <1000000>;
 707				regulator-max-microvolt = <1000000>;
 708				regulator-state-mem {
 709					regulator-on-in-suspend;
 710				};
 711			};
 712
 713			ldo16_reg: LDO16 {
 714				regulator-name = "VHSIC_1.8V";
 715				regulator-min-microvolt = <1800000>;
 716				regulator-max-microvolt = <1800000>;
 717				regulator-state-mem {
 718					regulator-on-in-suspend;
 719				};
 720			};
 721
 722			ldo17_reg: LDO17 {
 723				regulator-name = "CAM_SENSOR_CORE_1.2V";
 724				regulator-min-microvolt = <1200000>;
 725				regulator-max-microvolt = <1200000>;
 726			};
 727
 728			ldo18_reg: LDO18 {
 729				regulator-name = "CAM_ISP_SEN_IO_1.8V";
 730				regulator-min-microvolt = <1800000>;
 731				regulator-max-microvolt = <1800000>;
 732			};
 733
 734			ldo19_reg: LDO19 {
 735				regulator-name = "VT_CAM_1.8V";
 736				regulator-min-microvolt = <1800000>;
 737				regulator-max-microvolt = <1800000>;
 738			};
 739
 740			ldo20_reg: LDO20 {
 741				regulator-name = "VDDQ_PRE_1.8V";
 742				regulator-min-microvolt = <1800000>;
 743				regulator-max-microvolt = <1800000>;
 744			};
 745
 746			ldo21_reg: LDO21 {
 747				regulator-name = "VTF_2.8V";
 748				regulator-min-microvolt = <2800000>;
 749				regulator-max-microvolt = <2800000>;
 750				maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
 751			};
 752
 753			ldo22_reg: LDO22 {
 754				regulator-name = "VMEM_VDD_2.8V";
 755				regulator-min-microvolt = <2800000>;
 756				regulator-max-microvolt = <2800000>;
 757				maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
 758			};
 759
 760			ldo23_reg: LDO23 {
 761				regulator-name = "TSP_AVDD_3.3V";
 762				regulator-min-microvolt = <3300000>;
 763				regulator-max-microvolt = <3300000>;
 764			};
 765
 766			ldo24_reg: LDO24 {
 767				regulator-name = "TSP_VDD_1.8V";
 768				regulator-min-microvolt = <1800000>;
 769				regulator-max-microvolt = <1800000>;
 770			};
 771
 772			ldo25_reg: LDO25 {
 773				regulator-name = "LDO25";
 774			};
 775
 776			ldo26_reg: LDO26 {
 777				regulator-name = "MOTOR_VCC_3.0V";
 778				regulator-min-microvolt = <3000000>;
 779				regulator-max-microvolt = <3000000>;
 780			};
 781
 782			buck1_reg: BUCK1 {
 783				regulator-name = "vdd_mif";
 784				regulator-min-microvolt = <850000>;
 785				regulator-max-microvolt = <1100000>;
 786				regulator-always-on;
 787				regulator-boot-on;
 788				regulator-state-mem {
 789					regulator-off-in-suspend;
 790				};
 791			};
 792
 793			buck2_reg: BUCK2 {
 794				regulator-name = "vdd_arm";
 795				regulator-min-microvolt = <850000>;
 796				regulator-max-microvolt = <1500000>;
 797				regulator-always-on;
 798				regulator-boot-on;
 799				regulator-state-mem {
 800					regulator-on-in-suspend;
 801				};
 802			};
 803
 804			buck3_reg: BUCK3 {
 805				regulator-name = "vdd_int";
 806				regulator-min-microvolt = <850000>;
 807				regulator-max-microvolt = <1150000>;
 808				regulator-always-on;
 809				regulator-boot-on;
 810				regulator-state-mem {
 811					regulator-off-in-suspend;
 812				};
 813			};
 814
 815			buck4_reg: BUCK4 {
 816				regulator-name = "vdd_g3d";
 817				regulator-min-microvolt = <850000>;
 818				regulator-max-microvolt = <1150000>;
 819				regulator-boot-on;
 820				regulator-state-mem {
 821					regulator-off-in-suspend;
 822				};
 823			};
 824
 825			buck5_reg: BUCK5 {
 826				regulator-name = "VMEM_1.2V_AP";
 827				regulator-min-microvolt = <1200000>;
 828				regulator-max-microvolt = <1200000>;
 829				regulator-always-on;
 830			};
 831
 832			buck6_reg: BUCK6 {
 833				regulator-name = "VCC_SUB_1.35V";
 834				regulator-min-microvolt = <1350000>;
 835				regulator-max-microvolt = <1350000>;
 836				regulator-always-on;
 837			};
 838
 839			buck7_reg: BUCK7 {
 840				regulator-name = "VCC_SUB_2.0V";
 841				regulator-min-microvolt = <2000000>;
 842				regulator-max-microvolt = <2000000>;
 843				regulator-always-on;
 844			};
 845
 846			buck8_reg: BUCK8 {
 847				regulator-name = "VMEM_VDDF_3.0V";
 848				regulator-min-microvolt = <2850000>;
 849				regulator-max-microvolt = <2850000>;
 850				maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
 851			};
 852
 853			buck9_reg: BUCK9 {
 854				regulator-name = "CAM_ISP_CORE_1.2V";
 855				regulator-min-microvolt = <1000000>;
 856				regulator-max-microvolt = <1200000>;
 857			};
 858		};
 859	};
 860};
 861
 862&i2c_8 {
 863	status = "okay";
 864};
 865
 866&i2s0 {
 867	pinctrl-0 = <&i2s0_bus>;
 868	pinctrl-names = "default";
 869	status = "okay";
 870};
 871
 872&mixer {
 873	status = "okay";
 874};
 875
 876&mshc_0 {
 877	broken-cd;
 878	non-removable;
 879	card-detect-delay = <200>;
 880	vmmc-supply = <&ldo22_reg>;
 881	clock-frequency = <400000000>;
 882	samsung,dw-mshc-ciu-div = <0>;
 883	samsung,dw-mshc-sdr-timing = <2 3>;
 884	samsung,dw-mshc-ddr-timing = <1 2>;
 885	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
 886	pinctrl-names = "default";
 887	status = "okay";
 888	bus-width = <8>;
 889	cap-mmc-highspeed;
 890};
 891
 892&pmu_system_controller {
 893	assigned-clocks = <&pmu_system_controller 0>;
 894	assigned-clock-parents =  <&clock CLK_XUSBXTI>;
 895};
 896
 897&pinctrl_0 {
 898	pinctrl-names = "default";
 899	pinctrl-0 = <&sleep0>;
 900
 901	mhl_int: mhl-int {
 902		samsung,pins = "gpf3-5";
 903		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 904	};
 905
 906	i2c_mhl_bus: i2c-mhl-bus {
 907		samsung,pins = "gpf0-4", "gpf0-6";
 908		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
 909		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
 910		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
 911	};
 912
 913	sleep0: sleep-states {
 914		PIN_SLP(gpa0-0, INPUT, NONE);
 915		PIN_SLP(gpa0-1, OUT0, NONE);
 916		PIN_SLP(gpa0-2, INPUT, NONE);
 917		PIN_SLP(gpa0-3, INPUT, UP);
 918		PIN_SLP(gpa0-4, INPUT, NONE);
 919		PIN_SLP(gpa0-5, INPUT, DOWN);
 920		PIN_SLP(gpa0-6, INPUT, DOWN);
 921		PIN_SLP(gpa0-7, INPUT, UP);
 922
 923		PIN_SLP(gpa1-0, INPUT, DOWN);
 924		PIN_SLP(gpa1-1, INPUT, DOWN);
 925		PIN_SLP(gpa1-2, INPUT, DOWN);
 926		PIN_SLP(gpa1-3, INPUT, DOWN);
 927		PIN_SLP(gpa1-4, INPUT, DOWN);
 928		PIN_SLP(gpa1-5, INPUT, DOWN);
 929
 930		PIN_SLP(gpb-0, INPUT, NONE);
 931		PIN_SLP(gpb-1, INPUT, NONE);
 932		PIN_SLP(gpb-2, INPUT, NONE);
 933		PIN_SLP(gpb-3, INPUT, NONE);
 934		PIN_SLP(gpb-4, INPUT, DOWN);
 935		PIN_SLP(gpb-5, INPUT, UP);
 936		PIN_SLP(gpb-6, INPUT, DOWN);
 937		PIN_SLP(gpb-7, INPUT, DOWN);
 938
 939		PIN_SLP(gpc0-0, INPUT, DOWN);
 940		PIN_SLP(gpc0-1, INPUT, DOWN);
 941		PIN_SLP(gpc0-2, INPUT, DOWN);
 942		PIN_SLP(gpc0-3, INPUT, DOWN);
 943		PIN_SLP(gpc0-4, INPUT, DOWN);
 944
 945		PIN_SLP(gpc1-0, INPUT, NONE);
 946		PIN_SLP(gpc1-1, PREV, NONE);
 947		PIN_SLP(gpc1-2, INPUT, NONE);
 948		PIN_SLP(gpc1-3, INPUT, NONE);
 949		PIN_SLP(gpc1-4, INPUT, NONE);
 950
 951		PIN_SLP(gpd0-0, INPUT, DOWN);
 952		PIN_SLP(gpd0-1, INPUT, DOWN);
 953		PIN_SLP(gpd0-2, INPUT, NONE);
 954		PIN_SLP(gpd0-3, INPUT, NONE);
 955
 956		PIN_SLP(gpd1-0, INPUT, DOWN);
 957		PIN_SLP(gpd1-1, INPUT, DOWN);
 958		PIN_SLP(gpd1-2, INPUT, NONE);
 959		PIN_SLP(gpd1-3, INPUT, NONE);
 960
 961		PIN_SLP(gpf0-0, INPUT, NONE);
 962		PIN_SLP(gpf0-1, INPUT, NONE);
 963		PIN_SLP(gpf0-2, INPUT, DOWN);
 964		PIN_SLP(gpf0-3, INPUT, DOWN);
 965		PIN_SLP(gpf0-4, INPUT, NONE);
 966		PIN_SLP(gpf0-5, INPUT, DOWN);
 967		PIN_SLP(gpf0-6, INPUT, NONE);
 968		PIN_SLP(gpf0-7, INPUT, DOWN);
 969
 970		PIN_SLP(gpf1-0, INPUT, DOWN);
 971		PIN_SLP(gpf1-1, INPUT, DOWN);
 972		PIN_SLP(gpf1-2, INPUT, DOWN);
 973		PIN_SLP(gpf1-3, INPUT, DOWN);
 974		PIN_SLP(gpf1-4, INPUT, NONE);
 975		PIN_SLP(gpf1-5, INPUT, NONE);
 976		PIN_SLP(gpf1-6, INPUT, DOWN);
 977		PIN_SLP(gpf1-7, PREV, NONE);
 978
 979		PIN_SLP(gpf2-0, PREV, NONE);
 980		PIN_SLP(gpf2-1, INPUT, DOWN);
 981		PIN_SLP(gpf2-2, INPUT, DOWN);
 982		PIN_SLP(gpf2-3, INPUT, DOWN);
 983		PIN_SLP(gpf2-4, INPUT, DOWN);
 984		PIN_SLP(gpf2-5, INPUT, DOWN);
 985		PIN_SLP(gpf2-6, INPUT, NONE);
 986		PIN_SLP(gpf2-7, INPUT, NONE);
 987
 988		PIN_SLP(gpf3-0, INPUT, NONE);
 989		PIN_SLP(gpf3-1, PREV, NONE);
 990		PIN_SLP(gpf3-2, PREV, NONE);
 991		PIN_SLP(gpf3-3, PREV, NONE);
 992		PIN_SLP(gpf3-4, OUT1, NONE);
 993		PIN_SLP(gpf3-5, INPUT, DOWN);
 994
 995		PIN_SLP(gpj0-0, PREV, NONE);
 996		PIN_SLP(gpj0-1, PREV, NONE);
 997		PIN_SLP(gpj0-2, PREV, NONE);
 998		PIN_SLP(gpj0-3, INPUT, DOWN);
 999		PIN_SLP(gpj0-4, PREV, NONE);
1000		PIN_SLP(gpj0-5, PREV, NONE);
1001		PIN_SLP(gpj0-6, INPUT, DOWN);
1002		PIN_SLP(gpj0-7, INPUT, DOWN);
1003
1004		PIN_SLP(gpj1-0, INPUT, DOWN);
1005		PIN_SLP(gpj1-1, PREV, NONE);
1006		PIN_SLP(gpj1-2, PREV, NONE);
1007		PIN_SLP(gpj1-3, INPUT, DOWN);
1008		PIN_SLP(gpj1-4, INPUT, DOWN);
1009	};
1010};
1011
1012&pinctrl_1 {
1013	pinctrl-names = "default";
1014	pinctrl-0 = <&sleep1>;
1015
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1016	hdmi_hpd: hdmi-hpd {
1017		samsung,pins = "gpx3-7";
1018		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1019	};
1020
1021	sleep1: sleep-states {
1022		PIN_SLP(gpk0-0, PREV, NONE);
1023		PIN_SLP(gpk0-1, PREV, NONE);
1024		PIN_SLP(gpk0-2, OUT0, NONE);
1025		PIN_SLP(gpk0-3, PREV, NONE);
1026		PIN_SLP(gpk0-4, PREV, NONE);
1027		PIN_SLP(gpk0-5, PREV, NONE);
1028		PIN_SLP(gpk0-6, PREV, NONE);
1029
1030		PIN_SLP(gpk1-0, INPUT, DOWN);
1031		PIN_SLP(gpk1-1, INPUT, DOWN);
1032		PIN_SLP(gpk1-2, INPUT, DOWN);
1033		PIN_SLP(gpk1-3, PREV, NONE);
1034		PIN_SLP(gpk1-4, PREV, NONE);
1035		PIN_SLP(gpk1-5, PREV, NONE);
1036		PIN_SLP(gpk1-6, PREV, NONE);
1037
1038		PIN_SLP(gpk2-0, INPUT, DOWN);
1039		PIN_SLP(gpk2-1, INPUT, DOWN);
1040		PIN_SLP(gpk2-2, INPUT, DOWN);
1041		PIN_SLP(gpk2-3, INPUT, DOWN);
1042		PIN_SLP(gpk2-4, INPUT, DOWN);
1043		PIN_SLP(gpk2-5, INPUT, DOWN);
1044		PIN_SLP(gpk2-6, INPUT, DOWN);
1045
1046		PIN_SLP(gpk3-0, OUT0, NONE);
1047		PIN_SLP(gpk3-1, INPUT, NONE);
1048		PIN_SLP(gpk3-2, INPUT, DOWN);
1049		PIN_SLP(gpk3-3, INPUT, NONE);
1050		PIN_SLP(gpk3-4, INPUT, NONE);
1051		PIN_SLP(gpk3-5, INPUT, NONE);
1052		PIN_SLP(gpk3-6, INPUT, NONE);
1053
1054		PIN_SLP(gpl0-0, INPUT, DOWN);
1055		PIN_SLP(gpl0-1, INPUT, DOWN);
1056		PIN_SLP(gpl0-2, INPUT, DOWN);
1057		PIN_SLP(gpl0-3, INPUT, DOWN);
1058		PIN_SLP(gpl0-4, PREV, NONE);
1059		PIN_SLP(gpl0-6, PREV, NONE);
1060
1061		PIN_SLP(gpl1-0, INPUT, DOWN);
1062		PIN_SLP(gpl1-1, INPUT, DOWN);
1063		PIN_SLP(gpl2-0, INPUT, DOWN);
1064		PIN_SLP(gpl2-1, INPUT, DOWN);
1065		PIN_SLP(gpl2-2, INPUT, DOWN);
1066		PIN_SLP(gpl2-3, INPUT, DOWN);
1067		PIN_SLP(gpl2-4, INPUT, DOWN);
1068		PIN_SLP(gpl2-5, INPUT, DOWN);
1069		PIN_SLP(gpl2-6, PREV, NONE);
1070		PIN_SLP(gpl2-7, INPUT, DOWN);
1071
1072		PIN_SLP(gpm0-0, INPUT, DOWN);
1073		PIN_SLP(gpm0-1, INPUT, DOWN);
1074		PIN_SLP(gpm0-2, INPUT, DOWN);
1075		PIN_SLP(gpm0-3, INPUT, DOWN);
1076		PIN_SLP(gpm0-4, INPUT, DOWN);
1077		PIN_SLP(gpm0-5, INPUT, DOWN);
1078		PIN_SLP(gpm0-6, INPUT, DOWN);
1079		PIN_SLP(gpm0-7, INPUT, DOWN);
1080
1081		PIN_SLP(gpm1-0, INPUT, DOWN);
1082		PIN_SLP(gpm1-1, INPUT, DOWN);
1083		PIN_SLP(gpm1-2, INPUT, NONE);
1084		PIN_SLP(gpm1-3, INPUT, NONE);
1085		PIN_SLP(gpm1-4, INPUT, NONE);
1086		PIN_SLP(gpm1-5, INPUT, NONE);
1087		PIN_SLP(gpm1-6, INPUT, DOWN);
1088
1089		PIN_SLP(gpm2-0, INPUT, NONE);
1090		PIN_SLP(gpm2-1, INPUT, NONE);
1091		PIN_SLP(gpm2-2, INPUT, DOWN);
1092		PIN_SLP(gpm2-3, INPUT, DOWN);
1093		PIN_SLP(gpm2-4, INPUT, DOWN);
1094
1095		PIN_SLP(gpm3-0, PREV, NONE);
1096		PIN_SLP(gpm3-1, PREV, NONE);
1097		PIN_SLP(gpm3-2, PREV, NONE);
1098		PIN_SLP(gpm3-3, OUT1, NONE);
1099		PIN_SLP(gpm3-4, INPUT, DOWN);
1100		PIN_SLP(gpm3-5, INPUT, DOWN);
1101		PIN_SLP(gpm3-6, INPUT, DOWN);
1102		PIN_SLP(gpm3-7, INPUT, DOWN);
1103
1104		PIN_SLP(gpm4-0, INPUT, DOWN);
1105		PIN_SLP(gpm4-1, INPUT, DOWN);
1106		PIN_SLP(gpm4-2, INPUT, DOWN);
1107		PIN_SLP(gpm4-3, INPUT, DOWN);
1108		PIN_SLP(gpm4-4, INPUT, DOWN);
1109		PIN_SLP(gpm4-5, INPUT, DOWN);
1110		PIN_SLP(gpm4-6, INPUT, DOWN);
1111		PIN_SLP(gpm4-7, INPUT, DOWN);
1112
1113		PIN_SLP(gpy0-0, INPUT, DOWN);
1114		PIN_SLP(gpy0-1, INPUT, DOWN);
1115		PIN_SLP(gpy0-2, INPUT, DOWN);
1116		PIN_SLP(gpy0-3, INPUT, DOWN);
1117		PIN_SLP(gpy0-4, INPUT, DOWN);
1118		PIN_SLP(gpy0-5, INPUT, DOWN);
1119
1120		PIN_SLP(gpy1-0, INPUT, DOWN);
1121		PIN_SLP(gpy1-1, INPUT, DOWN);
1122		PIN_SLP(gpy1-2, INPUT, DOWN);
1123		PIN_SLP(gpy1-3, INPUT, DOWN);
1124
1125		PIN_SLP(gpy2-0, PREV, NONE);
1126		PIN_SLP(gpy2-1, INPUT, DOWN);
1127		PIN_SLP(gpy2-2, INPUT, NONE);
1128		PIN_SLP(gpy2-3, INPUT, NONE);
1129		PIN_SLP(gpy2-4, INPUT, NONE);
1130		PIN_SLP(gpy2-5, INPUT, NONE);
1131
1132		PIN_SLP(gpy3-0, INPUT, DOWN);
1133		PIN_SLP(gpy3-1, INPUT, DOWN);
1134		PIN_SLP(gpy3-2, INPUT, DOWN);
1135		PIN_SLP(gpy3-3, INPUT, DOWN);
1136		PIN_SLP(gpy3-4, INPUT, DOWN);
1137		PIN_SLP(gpy3-5, INPUT, DOWN);
1138		PIN_SLP(gpy3-6, INPUT, DOWN);
1139		PIN_SLP(gpy3-7, INPUT, DOWN);
1140
1141		PIN_SLP(gpy4-0, INPUT, DOWN);
1142		PIN_SLP(gpy4-1, INPUT, DOWN);
1143		PIN_SLP(gpy4-2, INPUT, DOWN);
1144		PIN_SLP(gpy4-3, INPUT, DOWN);
1145		PIN_SLP(gpy4-4, INPUT, DOWN);
1146		PIN_SLP(gpy4-5, INPUT, DOWN);
1147		PIN_SLP(gpy4-6, INPUT, DOWN);
1148		PIN_SLP(gpy4-7, INPUT, DOWN);
1149
1150		PIN_SLP(gpy5-0, INPUT, DOWN);
1151		PIN_SLP(gpy5-1, INPUT, DOWN);
1152		PIN_SLP(gpy5-2, INPUT, DOWN);
1153		PIN_SLP(gpy5-3, INPUT, DOWN);
1154		PIN_SLP(gpy5-4, INPUT, DOWN);
1155		PIN_SLP(gpy5-5, INPUT, DOWN);
1156		PIN_SLP(gpy5-6, INPUT, DOWN);
1157		PIN_SLP(gpy5-7, INPUT, DOWN);
1158
1159		PIN_SLP(gpy6-0, INPUT, DOWN);
1160		PIN_SLP(gpy6-1, INPUT, DOWN);
1161		PIN_SLP(gpy6-2, INPUT, DOWN);
1162		PIN_SLP(gpy6-3, INPUT, DOWN);
1163		PIN_SLP(gpy6-4, INPUT, DOWN);
1164		PIN_SLP(gpy6-5, INPUT, DOWN);
1165		PIN_SLP(gpy6-6, INPUT, DOWN);
1166		PIN_SLP(gpy6-7, INPUT, DOWN);
1167	};
1168};
1169
1170&pinctrl_2 {
1171	pinctrl-names = "default";
1172	pinctrl-0 = <&sleep2>;
1173
1174	sleep2: sleep-states {
1175		PIN_SLP(gpz-0, INPUT, DOWN);
1176		PIN_SLP(gpz-1, INPUT, DOWN);
1177		PIN_SLP(gpz-2, INPUT, DOWN);
1178		PIN_SLP(gpz-3, INPUT, DOWN);
1179		PIN_SLP(gpz-4, INPUT, DOWN);
1180		PIN_SLP(gpz-5, INPUT, DOWN);
1181		PIN_SLP(gpz-6, INPUT, DOWN);
1182	};
1183};
1184
1185&pinctrl_3 {
1186	pinctrl-names = "default";
1187	pinctrl-0 = <&sleep3>;
1188
1189	sleep3: sleep-states {
1190		PIN_SLP(gpv0-0, INPUT, DOWN);
1191		PIN_SLP(gpv0-1, INPUT, DOWN);
1192		PIN_SLP(gpv0-2, INPUT, DOWN);
1193		PIN_SLP(gpv0-3, INPUT, DOWN);
1194		PIN_SLP(gpv0-4, INPUT, DOWN);
1195		PIN_SLP(gpv0-5, INPUT, DOWN);
1196		PIN_SLP(gpv0-6, INPUT, DOWN);
1197		PIN_SLP(gpv0-7, INPUT, DOWN);
1198
1199		PIN_SLP(gpv1-0, INPUT, DOWN);
1200		PIN_SLP(gpv1-1, INPUT, DOWN);
1201		PIN_SLP(gpv1-2, INPUT, DOWN);
1202		PIN_SLP(gpv1-3, INPUT, DOWN);
1203		PIN_SLP(gpv1-4, INPUT, DOWN);
1204		PIN_SLP(gpv1-5, INPUT, DOWN);
1205		PIN_SLP(gpv1-6, INPUT, DOWN);
1206		PIN_SLP(gpv1-7, INPUT, DOWN);
1207
1208		PIN_SLP(gpv2-0, INPUT, DOWN);
1209		PIN_SLP(gpv2-1, INPUT, DOWN);
1210		PIN_SLP(gpv2-2, INPUT, DOWN);
1211		PIN_SLP(gpv2-3, INPUT, DOWN);
1212		PIN_SLP(gpv2-4, INPUT, DOWN);
1213		PIN_SLP(gpv2-5, INPUT, DOWN);
1214		PIN_SLP(gpv2-6, INPUT, DOWN);
1215		PIN_SLP(gpv2-7, INPUT, DOWN);
1216
1217		PIN_SLP(gpv3-0, INPUT, DOWN);
1218		PIN_SLP(gpv3-1, INPUT, DOWN);
1219		PIN_SLP(gpv3-2, INPUT, DOWN);
1220		PIN_SLP(gpv3-3, INPUT, DOWN);
1221		PIN_SLP(gpv3-4, INPUT, DOWN);
1222		PIN_SLP(gpv3-5, INPUT, DOWN);
1223		PIN_SLP(gpv3-6, INPUT, DOWN);
1224		PIN_SLP(gpv3-7, INPUT, DOWN);
1225
1226		PIN_SLP(gpv4-0, INPUT, DOWN);
1227	};
1228};
1229
1230&pwm {
1231	pinctrl-0 = <&pwm0_out>;
1232	pinctrl-names = "default";
1233	samsung,pwm-outputs = <0>;
1234	status = "okay";
1235};
1236
1237&rtc {
1238	status = "okay";
1239	clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1240	clock-names = "rtc", "rtc_src";
1241};
1242
1243&sdhci_2 {
1244	bus-width = <4>;
1245	cd-gpios = <&gpx3 4 GPIO_ACTIVE_HIGH>;
1246	cd-inverted;
1247	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
1248	pinctrl-names = "default";
1249	vmmc-supply = <&ldo21_reg>;
1250	status = "okay";
1251};
1252
1253&sdhci_3 {
1254	#address-cells = <1>;
1255	#size-cells = <0>;
1256	non-removable;
1257	bus-width = <4>;
1258
1259	mmc-pwrseq = <&wlan_pwrseq>;
1260	pinctrl-names = "default";
1261	pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
1262	status = "okay";
1263
1264	brcmf: wifi@1 {
1265		reg = <1>;
1266		compatible = "brcm,bcm4329-fmac";
1267		interrupt-parent = <&gpx2>;
1268		interrupts = <5 IRQ_TYPE_NONE>;
1269		interrupt-names = "host-wake";
1270	};
1271};
1272
1273&serial_0 {
 
 
1274	status = "okay";
 
 
 
 
 
 
 
 
 
 
 
1275};
1276
1277&serial_1 {
1278	status = "okay";
1279};
1280
1281&serial_2 {
1282	status = "okay";
1283};
1284
1285&serial_3 {
1286	status = "okay";
1287};
1288
1289&spi_1 {
1290	pinctrl-names = "default";
1291	pinctrl-0 = <&spi1_bus>;
1292	cs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
1293	status = "okay";
1294
1295	s5c73m3_spi: s5c73m3@0 {
1296		compatible = "samsung,s5c73m3";
1297		spi-max-frequency = <50000000>;
1298		reg = <0>;
1299		controller-data {
1300			samsung,spi-feedback-delay = <2>;
1301		};
1302	};
1303};
1304
1305&tmu {
1306	vtmu-supply = <&ldo10_reg>;
1307	status = "okay";
1308};