Linux Audio

Check our new training course

Loading...
v5.4
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * Google Peach Pi Rev 10+ board device tree source
   4 *
   5 * Copyright (c) 2014 Google, Inc
 
 
 
 
   6 */
   7
   8/dts-v1/;
   9#include <dt-bindings/input/input.h>
  10#include <dt-bindings/gpio/gpio.h>
  11#include <dt-bindings/interrupt-controller/irq.h>
  12#include <dt-bindings/clock/maxim,max77802.h>
  13#include <dt-bindings/regulator/maxim,max77802.h>
  14#include <dt-bindings/sound/samsung-i2s.h>
  15#include "exynos5800.dtsi"
  16#include "exynos5420-cpus.dtsi"
 
  17
  18/ {
  19	model = "Google Peach Pi Rev 10+";
  20
  21	compatible = "google,pi-rev16",
  22		"google,pi-rev15", "google,pi-rev14",
  23		"google,pi-rev13", "google,pi-rev12",
  24		"google,pi-rev11", "google,pi-rev10",
  25		"google,pi", "google,peach", "samsung,exynos5800",
  26		"samsung,exynos5";
  27
  28	aliases {
  29		/* Assign 20 so we don't get confused w/ builtin ones */
  30		i2c20 = &i2c_tunnel;
  31	};
  32
  33	backlight: backlight {
  34		compatible = "pwm-backlight";
  35		pwms = <&pwm 0 1000000 0>;
  36		brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
  37		default-brightness-level = <7>;
  38		enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
  39		power-supply = <&tps65090_fet1>;
  40		pinctrl-0 = <&pwm0_out>;
  41		pinctrl-names = "default";
  42	};
  43
  44	chosen {
  45		stdout-path = "serial3:115200n8";
  46	};
  47
  48	fixed-rate-clocks {
  49		oscclk {
  50			compatible = "samsung,exynos5420-oscclk";
  51			clock-frequency = <24000000>;
  52		};
  53	};
  54
  55	gpio-keys {
  56		compatible = "gpio-keys";
  57
  58		pinctrl-names = "default";
  59		pinctrl-0 = <&power_key_irq &lid_irq>;
  60
  61		power {
  62			label = "Power";
  63			gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
  64			linux,code = <KEY_POWER>;
  65			wakeup-source;
  66		};
  67
  68		lid-switch {
  69			label = "Lid";
  70			gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
  71			linux,input-type = <5>; /* EV_SW */
  72			linux,code = <0>; /* SW_LID */
  73			debounce-interval = <1>;
  74			wakeup-source;
  75		};
  76
  77	};
  78
  79	memory@20000000 {
  80		device_type = "memory";
  81		reg = <0x20000000 0x80000000>;
  82	};
  83
  84	sound {
  85		compatible = "google,snow-audio-max98091";
  86
  87		samsung,model = "Peach-Pi-I2S-MAX98091";
  88		samsung,i2s-controller = <&i2s0>;
  89		samsung,audio-codec = <&max98091>;
  90
  91		cpu {
  92			sound-dai = <&i2s0 0>;
  93		};
  94
  95		codec {
  96			sound-dai = <&max98091>, <&hdmi>;
  97		};
  98	};
  99
 100	usb300_vbus_reg: regulator-usb300 {
 101		compatible = "regulator-fixed";
 102		regulator-name = "P5.0V_USB3CON0";
 103		regulator-min-microvolt = <5000000>;
 104		regulator-max-microvolt = <5000000>;
 105		gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
 106		pinctrl-names = "default";
 107		pinctrl-0 = <&usb300_vbus_en>;
 108		enable-active-high;
 109	};
 110
 111	usb301_vbus_reg: regulator-usb301 {
 112		compatible = "regulator-fixed";
 113		regulator-name = "P5.0V_USB3CON1";
 114		regulator-min-microvolt = <5000000>;
 115		regulator-max-microvolt = <5000000>;
 116		gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
 117		pinctrl-names = "default";
 118		pinctrl-0 = <&usb301_vbus_en>;
 119		enable-active-high;
 120	};
 121
 122	vbat: fixed-regulator {
 123		compatible = "regulator-fixed";
 124		regulator-name = "vbat-supply";
 125		regulator-boot-on;
 126		regulator-always-on;
 127	};
 128
 129	panel: panel {
 130		compatible = "auo,b133htn01";
 131		power-supply = <&tps65090_fet6>;
 132		backlight = <&backlight>;
 133
 134		port {
 135			panel_in: endpoint {
 136				remote-endpoint = <&dp_out>;
 137			};
 138		};
 139	};
 140
 141	mmc1_pwrseq: mmc1_pwrseq {
 142		compatible = "mmc-pwrseq-simple";
 143		reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
 144		clocks = <&max77802 MAX77802_CLK_32K_CP>;
 145		clock-names = "ext_clock";
 146	};
 147};
 148
 149&adc {
 150	status = "okay";
 151	vdd-supply = <&ldo9_reg>;
 152};
 153
 154&clock_audss {
 155	assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>;
 156	assigned-clock-parents = <&clock CLK_MAU_EPLL>;
 157};
 158
 159&cpu0 {
 160	cpu-supply = <&buck2_reg>;
 161};
 162
 163&cpu4 {
 164	cpu-supply = <&buck6_reg>;
 165};
 166
 167&dp {
 168	status = "okay";
 169	pinctrl-names = "default";
 170	pinctrl-0 = <&dp_hpd_gpio>;
 171	samsung,color-space = <0>;
 172	samsung,color-depth = <1>;
 173	samsung,link-rate = <0x0a>;
 174	samsung,lane-count = <2>;
 175	samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
 176
 177	ports {
 178		port {
 179			dp_out: endpoint {
 180				remote-endpoint = <&panel_in>;
 181			};
 182		};
 183	};
 184};
 185
 186&fimd {
 187	status = "okay";
 188	samsung,invert-vclk;
 189};
 190
 191&hdmi {
 192	status = "okay";
 193	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
 194	pinctrl-names = "default";
 195	pinctrl-0 = <&hdmi_hpd_irq>;
 196	ddc = <&i2c_2>;
 197
 198	hdmi-en-supply = <&tps65090_fet7>;
 199	vdd-supply = <&ldo8_reg>;
 200	vdd_osc-supply = <&ldo10_reg>;
 201	vdd_pll-supply = <&ldo8_reg>;
 202};
 203
 204&hsi2c_4 {
 205	status = "okay";
 206	clock-frequency = <400000>;
 207
 208	max77802: max77802-pmic@9 {
 209		compatible = "maxim,max77802";
 210		interrupt-parent = <&gpx3>;
 211		interrupts = <1 IRQ_TYPE_NONE>;
 212		pinctrl-names = "default";
 213		pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
 214			    <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
 215		wakeup-source;
 216		reg = <0x9>;
 217		#clock-cells = <1>;
 218
 219		inb1-supply = <&tps65090_dcdc2>;
 220		inb2-supply = <&tps65090_dcdc1>;
 221		inb3-supply = <&tps65090_dcdc2>;
 222		inb4-supply = <&tps65090_dcdc2>;
 223		inb5-supply = <&tps65090_dcdc1>;
 224		inb6-supply = <&tps65090_dcdc2>;
 225		inb7-supply = <&tps65090_dcdc1>;
 226		inb8-supply = <&tps65090_dcdc1>;
 227		inb9-supply = <&tps65090_dcdc1>;
 228		inb10-supply = <&tps65090_dcdc1>;
 229
 230		inl1-supply = <&buck5_reg>;
 231		inl2-supply = <&buck7_reg>;
 232		inl3-supply = <&buck9_reg>;
 233		inl4-supply = <&buck9_reg>;
 234		inl5-supply = <&buck9_reg>;
 235		inl6-supply = <&tps65090_dcdc2>;
 236		inl7-supply = <&buck9_reg>;
 237		inl9-supply = <&tps65090_dcdc2>;
 238		inl10-supply = <&buck7_reg>;
 239
 240		regulators {
 241			buck1_reg: BUCK1 {
 242				regulator-name = "vdd_mif";
 243				regulator-min-microvolt = <800000>;
 244				regulator-max-microvolt = <1300000>;
 245				regulator-always-on;
 246				regulator-boot-on;
 247				regulator-ramp-delay = <12500>;
 248				regulator-state-mem {
 249					regulator-off-in-suspend;
 250				};
 251			};
 252
 253			buck2_reg: BUCK2 {
 254				regulator-name = "vdd_arm";
 255				regulator-min-microvolt = <800000>;
 256				regulator-max-microvolt = <1500000>;
 257				regulator-always-on;
 258				regulator-boot-on;
 259				regulator-ramp-delay = <12500>;
 260				regulator-state-mem {
 261					regulator-off-in-suspend;
 262				};
 263			};
 264
 265			buck3_reg: BUCK3 {
 266				regulator-name = "vdd_int";
 267				regulator-min-microvolt = <800000>;
 268				regulator-max-microvolt = <1400000>;
 269				regulator-always-on;
 270				regulator-boot-on;
 271				regulator-ramp-delay = <12500>;
 272				regulator-state-mem {
 273					regulator-off-in-suspend;
 274				};
 275			};
 276
 277			buck4_reg: BUCK4 {
 278				regulator-name = "vdd_g3d";
 279				regulator-min-microvolt = <700000>;
 280				regulator-max-microvolt = <1400000>;
 281				regulator-always-on;
 282				regulator-boot-on;
 283				regulator-ramp-delay = <12500>;
 284				regulator-state-mem {
 285					regulator-off-in-suspend;
 286				};
 287			};
 288
 289			buck5_reg: BUCK5 {
 290				regulator-name = "vdd_1v2";
 291				regulator-min-microvolt = <1200000>;
 292				regulator-max-microvolt = <1200000>;
 293				regulator-boot-on;
 294				regulator-state-mem {
 295					regulator-off-in-suspend;
 296				};
 297			};
 298
 299			buck6_reg: BUCK6 {
 300				regulator-name = "vdd_kfc";
 301				regulator-min-microvolt = <800000>;
 302				regulator-max-microvolt = <1500000>;
 303				regulator-always-on;
 304				regulator-boot-on;
 305				regulator-ramp-delay = <12500>;
 306				regulator-state-mem {
 307					regulator-off-in-suspend;
 308				};
 309			};
 310
 311			buck7_reg: BUCK7 {
 312				regulator-name = "vdd_1v35";
 313				regulator-min-microvolt = <1350000>;
 314				regulator-max-microvolt = <1350000>;
 315				regulator-always-on;
 316				regulator-boot-on;
 317				regulator-state-mem {
 318					regulator-on-in-suspend;
 319				};
 320			};
 321
 322			buck8_reg: BUCK8 {
 323				regulator-name = "vdd_emmc";
 324				regulator-min-microvolt = <2850000>;
 325				regulator-max-microvolt = <2850000>;
 326				regulator-always-on;
 327				regulator-boot-on;
 328				regulator-state-mem {
 329					regulator-off-in-suspend;
 330				};
 331			};
 332
 333			buck9_reg: BUCK9 {
 334				regulator-name = "vdd_2v";
 335				regulator-min-microvolt = <2000000>;
 336				regulator-max-microvolt = <2000000>;
 337				regulator-always-on;
 338				regulator-boot-on;
 339				regulator-state-mem {
 340					regulator-on-in-suspend;
 341				};
 342			};
 343
 344			buck10_reg: BUCK10 {
 345				regulator-name = "vdd_1v8";
 346				regulator-min-microvolt = <1800000>;
 347				regulator-max-microvolt = <1800000>;
 348				regulator-always-on;
 349				regulator-boot-on;
 350				regulator-state-mem {
 351					regulator-on-in-suspend;
 352				};
 353			};
 354
 355			ldo1_reg: LDO1 {
 356				regulator-name = "vdd_1v0";
 357				regulator-min-microvolt = <1000000>;
 358				regulator-max-microvolt = <1000000>;
 359				regulator-always-on;
 360				regulator-state-mem {
 361					regulator-on-in-suspend;
 362					regulator-mode = <MAX77802_OPMODE_LP>;
 363				};
 364			};
 365
 366			ldo2_reg: LDO2 {
 367				regulator-name = "vdd_1v2_2";
 368				regulator-min-microvolt = <1200000>;
 369				regulator-max-microvolt = <1200000>;
 370			};
 371
 372			ldo3_reg: LDO3 {
 373				regulator-name = "vdd_1v8_3";
 374				regulator-min-microvolt = <1800000>;
 375				regulator-max-microvolt = <1800000>;
 376				regulator-always-on;
 377				regulator-state-mem {
 378					regulator-on-in-suspend;
 379					regulator-mode = <MAX77802_OPMODE_LP>;
 380				};
 381			};
 382
 383			vqmmc_sdcard: ldo4_reg: LDO4 {
 384				regulator-name = "vdd_sd";
 385				regulator-min-microvolt = <1800000>;
 386				regulator-max-microvolt = <2800000>;
 387				regulator-always-on;
 388				regulator-state-mem {
 389					regulator-off-in-suspend;
 390				};
 391			};
 392
 393			ldo5_reg: LDO5 {
 394				regulator-name = "vdd_1v8_5";
 395				regulator-min-microvolt = <1800000>;
 396				regulator-max-microvolt = <1800000>;
 397				regulator-always-on;
 398				regulator-state-mem {
 399					regulator-off-in-suspend;
 400				};
 401			};
 402
 403			ldo6_reg: LDO6 {
 404				regulator-name = "vdd_1v8_6";
 405				regulator-min-microvolt = <1800000>;
 406				regulator-max-microvolt = <1800000>;
 407				regulator-always-on;
 408				regulator-state-mem {
 409					regulator-off-in-suspend;
 410				};
 411			};
 412
 413			ldo7_reg: LDO7 {
 414				regulator-name = "vdd_1v8_7";
 415				regulator-min-microvolt = <1800000>;
 416				regulator-max-microvolt = <1800000>;
 417			};
 418
 419			ldo8_reg: LDO8 {
 420				regulator-name = "vdd_ldo8";
 421				regulator-min-microvolt = <1000000>;
 422				regulator-max-microvolt = <1000000>;
 423				regulator-always-on;
 424				regulator-state-mem {
 425					regulator-off-in-suspend;
 426				};
 427			};
 428
 429			ldo9_reg: LDO9 {
 430				regulator-name = "vdd_ldo9";
 431				regulator-min-microvolt = <1800000>;
 432				regulator-max-microvolt = <1800000>;
 433				regulator-state-mem {
 434					regulator-on-in-suspend;
 435					regulator-mode = <MAX77802_OPMODE_LP>;
 436				};
 437			};
 438
 439			ldo10_reg: LDO10 {
 440				regulator-name = "vdd_ldo10";
 441				regulator-min-microvolt = <1800000>;
 442				regulator-max-microvolt = <1800000>;
 443				regulator-always-on;
 444				regulator-state-mem {
 445					regulator-off-in-suspend;
 446				};
 447			};
 448
 449			ldo11_reg: LDO11 {
 450				regulator-name = "vdd_ldo11";
 451				regulator-min-microvolt = <1800000>;
 452				regulator-max-microvolt = <1800000>;
 453				regulator-always-on;
 454				regulator-state-mem {
 455					regulator-on-in-suspend;
 456					regulator-mode = <MAX77802_OPMODE_LP>;
 457				};
 458			};
 459
 460			ldo12_reg: LDO12 {
 461				regulator-name = "vdd_ldo12";
 462				regulator-min-microvolt = <3000000>;
 463				regulator-max-microvolt = <3000000>;
 464				regulator-always-on;
 465				regulator-state-mem {
 466					regulator-off-in-suspend;
 467				};
 468			};
 469
 470			ldo13_reg: LDO13 {
 471				regulator-name = "vdd_ldo13";
 472				regulator-min-microvolt = <1800000>;
 473				regulator-max-microvolt = <1800000>;
 474				regulator-always-on;
 475				regulator-state-mem {
 476					regulator-on-in-suspend;
 477					regulator-mode = <MAX77802_OPMODE_LP>;
 478				};
 479			};
 480
 481			ldo14_reg: LDO14 {
 482				regulator-name = "vdd_ldo14";
 483				regulator-min-microvolt = <1800000>;
 484				regulator-max-microvolt = <1800000>;
 485				regulator-always-on;
 486				regulator-state-mem {
 487					regulator-off-in-suspend;
 488				};
 489			};
 490
 491			ldo15_reg: LDO15 {
 492				regulator-name = "vdd_ldo15";
 493				regulator-min-microvolt = <1000000>;
 494				regulator-max-microvolt = <1000000>;
 495				regulator-always-on;
 496				regulator-state-mem {
 497					regulator-off-in-suspend;
 498				};
 499			};
 500
 501			ldo17_reg: LDO17 {
 502				regulator-name = "vdd_g3ds";
 503				regulator-min-microvolt = <900000>;
 504				regulator-max-microvolt = <1400000>;
 505				regulator-always-on;
 506				regulator-state-mem {
 507					regulator-off-in-suspend;
 508				};
 509			};
 510
 511			ldo18_reg: LDO18 {
 512				regulator-name = "ldo_18";
 513				regulator-min-microvolt = <1800000>;
 514				regulator-max-microvolt = <1800000>;
 515			};
 516
 517			ldo19_reg: LDO19 {
 518				regulator-name = "ldo_19";
 519				regulator-min-microvolt = <1800000>;
 520				regulator-max-microvolt = <1800000>;
 521			};
 522
 523			ldo20_reg: LDO20 {
 524				regulator-name = "ldo_20";
 525				regulator-min-microvolt = <1800000>;
 526				regulator-max-microvolt = <1800000>;
 527				regulator-always-on;
 528			};
 529
 530			ldo21_reg: LDO21 {
 531				regulator-name = "ldo_21";
 532				regulator-min-microvolt = <2800000>;
 533				regulator-max-microvolt = <2800000>;
 534			};
 535
 536			ldo23_reg: LDO23 {
 537				regulator-name = "ldo_23";
 538				regulator-min-microvolt = <3300000>;
 539				regulator-max-microvolt = <3300000>;
 540			};
 541			ldo24_reg: LDO24 {
 542				regulator-name = "ldo_24";
 543				regulator-min-microvolt = <2800000>;
 544				regulator-max-microvolt = <2800000>;
 545			};
 546
 547			ldo25_reg: LDO25 {
 548				regulator-name = "ldo_25";
 549				regulator-min-microvolt = <3300000>;
 550				regulator-max-microvolt = <3300000>;
 551			};
 552
 553			ldo26_reg: LDO26 {
 554				regulator-name = "ldo_26";
 555				regulator-min-microvolt = <1200000>;
 556				regulator-max-microvolt = <1200000>;
 557			};
 558
 559			ldo27_reg: LDO27 {
 560				regulator-name = "ldo_27";
 561				regulator-min-microvolt = <1200000>;
 562				regulator-max-microvolt = <1200000>;
 563			};
 564
 565			ldo28_reg: LDO28 {
 566				regulator-name = "ldo_28";
 567				regulator-min-microvolt = <1800000>;
 568				regulator-max-microvolt = <1800000>;
 569			};
 570
 571			ldo29_reg: LDO29 {
 572				regulator-name = "ldo_29";
 573				regulator-min-microvolt = <1800000>;
 574				regulator-max-microvolt = <1800000>;
 575			};
 576
 577			ldo30_reg: LDO30 {
 578				regulator-name = "vdd_mifs";
 579				regulator-min-microvolt = <1000000>;
 580				regulator-max-microvolt = <1000000>;
 581				regulator-always-on;
 582				regulator-state-mem {
 583					regulator-off-in-suspend;
 584				};
 585			};
 586
 587			ldo32_reg: LDO32 {
 588				regulator-name = "ldo_32";
 589				regulator-min-microvolt = <3000000>;
 590				regulator-max-microvolt = <3000000>;
 591			};
 592
 593			ldo33_reg: LDO33 {
 594				regulator-name = "ldo_33";
 595				regulator-min-microvolt = <2800000>;
 596				regulator-max-microvolt = <2800000>;
 597			};
 598
 599			ldo34_reg: LDO34 {
 600				regulator-name = "ldo_34";
 601				regulator-min-microvolt = <3000000>;
 602				regulator-max-microvolt = <3000000>;
 603			};
 604
 605			ldo35_reg: LDO35 {
 606				regulator-name = "ldo_35";
 607				regulator-min-microvolt = <1200000>;
 608				regulator-max-microvolt = <1200000>;
 609			};
 610		};
 611	};
 612};
 613
 614&hsi2c_7 {
 615	status = "okay";
 616	clock-frequency = <400000>;
 617
 618	max98091: codec@10 {
 619		compatible = "maxim,max98091";
 620		reg = <0x10>;
 621		interrupts = <2 IRQ_TYPE_NONE>;
 622		interrupt-parent = <&gpx0>;
 623		pinctrl-names = "default";
 624		pinctrl-0 = <&max98091_irq>;
 625		clocks = <&pmu_system_controller 0>;
 626		clock-names = "mclk";
 627		#sound-dai-cells = <0>;
 628	};
 629
 630	light-sensor@44 {
 631		compatible = "isil,isl29018";
 632		reg = <0x44>;
 633		vcc-supply = <&tps65090_fet5>;
 634	};
 635};
 636
 637&hsi2c_8 {
 638	status = "okay";
 639	clock-frequency = <333000>;
 640	/* Atmel mXT540S */
 641	trackpad@4b {
 642		compatible = "atmel,maxtouch";
 643		reg = <0x4b>;
 644		interrupt-parent = <&gpx1>;
 645		interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
 646		wakeup-source;
 647		pinctrl-names = "default";
 648		pinctrl-0 = <&trackpad_irq>;
 649		linux,gpio-keymap = <KEY_RESERVED
 650				     KEY_RESERVED
 651				     KEY_RESERVED	/* GPIO 0 */
 652				     KEY_RESERVED	/* GPIO 1 */
 653				     BTN_LEFT		/* GPIO 2 */
 654				     KEY_RESERVED>;	/* GPIO 3 */
 655	};
 656};
 657
 658&hsi2c_9 {
 659	status = "okay";
 660	clock-frequency = <400000>;
 661
 662	tpm@20 {
 663		compatible = "infineon,slb9645tt";
 664		reg = <0x20>;
 665
 666		/* Unused irq; but still need to configure the pins */
 667		pinctrl-names = "default";
 668		pinctrl-0 = <&tpm_irq>;
 669	};
 670};
 671
 672&i2c_2 {
 673	status = "okay";
 674	samsung,i2c-sda-delay = <100>;
 675	samsung,i2c-max-bus-freq = <66000>;
 676	samsung,i2c-slave-addr = <0x50>;
 677};
 678
 679&i2s0 {
 680	assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
 681	assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>;
 682	status = "okay";
 683};
 684
 685&mixer {
 686	status = "okay";
 687};
 688
 689/* eMMC flash */
 690&mmc_0 {
 691	status = "okay";
 
 692	mmc-hs200-1_8v;
 693	mmc-hs400-1_8v;
 694	cap-mmc-highspeed;
 695	non-removable;
 696	clock-frequency = <800000000>;
 697	samsung,dw-mshc-ciu-div = <3>;
 698	samsung,dw-mshc-sdr-timing = <0 4>;
 699	samsung,dw-mshc-ddr-timing = <0 2>;
 700	samsung,dw-mshc-hs400-timing = <0 2>;
 701	samsung,read-strobe-delay = <90>;
 702	pinctrl-names = "default";
 703	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
 704	bus-width = <8>;
 705};
 706
 707/* WiFi SDIO module */
 708&mmc_1 {
 709	status = "okay";
 
 710	non-removable;
 711	cap-sdio-irq;
 712	keep-power-in-suspend;
 713	clock-frequency = <400000000>;
 714	samsung,dw-mshc-ciu-div = <1>;
 715	samsung,dw-mshc-sdr-timing = <0 1>;
 716	samsung,dw-mshc-ddr-timing = <0 2>;
 717	pinctrl-names = "default";
 718	pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
 719		    <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
 720	bus-width = <4>;
 721	cap-sd-highspeed;
 722	mmc-pwrseq = <&mmc1_pwrseq>;
 723	vqmmc-supply = <&buck10_reg>;
 724};
 725
 726/* uSD card */
 727&mmc_2 {
 728	status = "okay";
 
 729	cap-sd-highspeed;
 730	card-detect-delay = <200>;
 731	clock-frequency = <400000000>;
 732	samsung,dw-mshc-ciu-div = <3>;
 733	samsung,dw-mshc-sdr-timing = <2 3>;
 734	samsung,dw-mshc-ddr-timing = <1 2>;
 735	pinctrl-names = "default";
 736	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
 737	bus-width = <4>;
 738};
 739
 740
 741&pinctrl_0 {
 742	pinctrl-names = "default";
 743	pinctrl-0 = <&mask_tpm_reset>;
 744
 745	wifi_en: wifi-en {
 746		samsung,pins = "gpx0-0";
 747		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 748		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 749		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 750	};
 751
 752	max98091_irq: max98091-irq {
 753		samsung,pins = "gpx0-2";
 754		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 755		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 756		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 757	};
 758
 759	/* We need GPX0_6 to be low at sleep time; just keep it low always */
 760	mask_tpm_reset: mask-tpm-reset {
 761		samsung,pins = "gpx0-6";
 762		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 763		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 764		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 765		samsung,pin-val = <0>;
 766	};
 767
 768	tpm_irq: tpm-irq {
 769		samsung,pins = "gpx1-0";
 770		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 771		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 772		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 773	};
 774
 775	trackpad_irq: trackpad-irq {
 776		samsung,pins = "gpx1-1";
 777		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
 778		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 779		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 780	};
 781
 782	power_key_irq: power-key-irq {
 783		samsung,pins = "gpx1-2";
 784		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 785		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 786		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 787	};
 788
 789	ec_irq: ec-irq {
 790		samsung,pins = "gpx1-5";
 791		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 792		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 793		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 794	};
 795
 796	tps65090_irq: tps65090-irq {
 797		samsung,pins = "gpx2-5";
 798		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 799		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 800		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 801	};
 802
 803	dp_hpd_gpio: dp_hpd_gpio {
 804		samsung,pins = "gpx2-6";
 805		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 806		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
 807		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 808	};
 809
 810	max77802_irq: max77802-irq {
 811		samsung,pins = "gpx3-1";
 812		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 813		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 814		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 815	};
 816
 817	lid_irq: lid-irq {
 818		samsung,pins = "gpx3-4";
 819		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
 820		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 821		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 822	};
 823
 824	hdmi_hpd_irq: hdmi-hpd-irq {
 825		samsung,pins = "gpx3-7";
 826		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 827		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
 828		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 829	};
 830
 831	pmic_dvs_1: pmic-dvs-1 {
 832		samsung,pins = "gpy7-6";
 833		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 834		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 835		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 836	};
 837};
 838
 839&pinctrl_1 {
 840	/* Adjust WiFi drive strengths lower for EMI */
 841	sd1_clk: sd1-clk {
 842		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 843	};
 844
 845	sd1_cmd: sd1-cmd {
 846		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 847	};
 848
 849	sd1_bus1: sd1-bus-width1 {
 850		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 851	};
 852
 853	sd1_bus4: sd1-bus-width4 {
 854		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 855	};
 856
 857	sd1_bus8: sd1-bus-width8 {
 858		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 859	};
 860};
 861
 862&pinctrl_2 {
 863	pmic_dvs_2: pmic-dvs-2 {
 864		samsung,pins = "gpj4-2";
 865		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 866		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 867		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 868	};
 869
 870	pmic_dvs_3: pmic-dvs-3 {
 871		samsung,pins = "gpj4-3";
 872		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 873		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 874		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 875	};
 876};
 877
 878&pinctrl_3 {
 879	/* Drive SPI lines at x2 for better integrity */
 880	spi2-bus {
 881		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 882	};
 883
 884	/* Drive SPI chip select at x2 for better integrity */
 885	ec_spi_cs: ec-spi-cs {
 886		samsung,pins = "gpb1-2";
 887		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 888		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 889		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 890	};
 891
 892	usb300_vbus_en: usb300-vbus-en {
 893		samsung,pins = "gph0-0";
 894		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 895		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 896		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 897	};
 898
 899	usb301_vbus_en: usb301-vbus-en {
 900		samsung,pins = "gph0-1";
 901		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 902		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 903		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 904	};
 905
 906	pmic_selb: pmic-selb {
 907		samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
 908			       "gph0-6";
 909		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 910		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 911		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 912	};
 913};
 914
 915&pmu_system_controller {
 916	assigned-clocks = <&pmu_system_controller 0>;
 917	assigned-clock-parents = <&clock CLK_FIN_PLL>;
 918};
 919
 920&rtc {
 921	status = "okay";
 922	clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
 923	clock-names = "rtc", "rtc_src";
 924};
 925
 926&spi_2 {
 927	status = "okay";
 928	num-cs = <1>;
 929	samsung,spi-src-clk = <0>;
 930	cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>;
 931
 932	cros_ec: cros-ec@0 {
 933		compatible = "google,cros-ec-spi";
 934		interrupt-parent = <&gpx1>;
 935		interrupts = <5 IRQ_TYPE_NONE>;
 936		pinctrl-names = "default";
 937		pinctrl-0 = <&ec_spi_cs &ec_irq>;
 938		reg = <0>;
 939		spi-max-frequency = <3125000>;
 940		google,has-vbc-nvram;
 941
 942		controller-data {
 943			samsung,spi-feedback-delay = <1>;
 944		};
 945
 946		i2c_tunnel: i2c-tunnel {
 947			compatible = "google,cros-ec-i2c-tunnel";
 948			#address-cells = <1>;
 949			#size-cells = <0>;
 950			google,remote-bus = <0>;
 951
 952			battery: sbs-battery@b {
 953				compatible = "sbs,sbs-battery";
 954				reg = <0xb>;
 955				sbs,poll-retry-count = <1>;
 956				sbs,i2c-retry-count = <2>;
 957			};
 958
 959			power-regulator@48 {
 960				compatible = "ti,tps65090";
 961				reg = <0x48>;
 962
 963				/*
 964				 * Config irq to disable internal pulls
 965				 * even though we run in polling mode.
 966				 */
 967				pinctrl-names = "default";
 968				pinctrl-0 = <&tps65090_irq>;
 969
 970				vsys1-supply = <&vbat>;
 971				vsys2-supply = <&vbat>;
 972				vsys3-supply = <&vbat>;
 973				infet1-supply = <&vbat>;
 974				infet2-supply = <&tps65090_dcdc1>;
 975				infet3-supply = <&tps65090_dcdc2>;
 976				infet4-supply = <&tps65090_dcdc2>;
 977				infet5-supply = <&tps65090_dcdc2>;
 978				infet6-supply = <&tps65090_dcdc2>;
 979				infet7-supply = <&tps65090_dcdc1>;
 980				vsys-l1-supply = <&vbat>;
 981				vsys-l2-supply = <&vbat>;
 982
 983				regulators {
 984					tps65090_dcdc1: dcdc1 {
 985						ti,enable-ext-control;
 986					};
 987					tps65090_dcdc2: dcdc2 {
 988						ti,enable-ext-control;
 989					};
 990					tps65090_dcdc3: dcdc3 {
 991						ti,enable-ext-control;
 992					};
 993					tps65090_fet1: fet1 {
 994						regulator-name = "vcd_led";
 995					};
 996					tps65090_fet2: fet2 {
 997						regulator-name = "video_mid";
 998						regulator-always-on;
 999					};
1000					tps65090_fet3: fet3 {
1001						regulator-name = "wwan_r";
1002						regulator-always-on;
1003					};
1004					tps65090_fet4: fet4 {
1005						regulator-name = "sdcard";
1006						regulator-always-on;
1007					};
1008					tps65090_fet5: fet5 {
1009						regulator-name = "camout";
1010						regulator-always-on;
1011					};
1012					tps65090_fet6: fet6 {
1013						regulator-name = "lcd_vdd";
1014					};
1015					tps65090_fet7: fet7 {
1016						regulator-name = "video_mid_1a";
1017						regulator-always-on;
1018					};
1019					tps65090_ldo1: ldo1 {
1020					};
1021					tps65090_ldo2: ldo2 {
1022					};
1023				};
1024
1025				charger {
1026					compatible = "ti,tps65090-charger";
1027				};
1028			};
1029		};
1030	};
1031};
1032
1033&serial_3 {
1034	status = "okay";
1035};
1036
1037&tmu_cpu0 {
1038	vtmu-supply = <&ldo10_reg>;
1039};
1040
1041&tmu_cpu1 {
1042	vtmu-supply = <&ldo10_reg>;
1043};
1044
1045&tmu_cpu2 {
1046	vtmu-supply = <&ldo10_reg>;
1047};
1048
1049&tmu_cpu3 {
1050	vtmu-supply = <&ldo10_reg>;
1051};
1052
1053&tmu_gpu {
1054	vtmu-supply = <&ldo10_reg>;
1055};
1056
1057&usbdrd_dwc3_0 {
1058	dr_mode = "host";
1059};
1060
1061&usbdrd_dwc3_1 {
1062	dr_mode = "host";
1063};
1064
1065&usbdrd_phy0 {
1066	vbus-supply = <&usb300_vbus_reg>;
1067};
1068
1069&usbdrd_phy1 {
1070	vbus-supply = <&usb301_vbus_reg>;
1071};
1072
1073/*
1074 * Use longest HW watchdog in SoC (32 seconds) since the hardware
1075 * watchdog provides no debugging information (compared to soft/hard
1076 * lockup detectors) and so should be last resort.
1077 */
1078&watchdog {
1079	timeout-sec = <32>;
1080};
1081
1082#include "cros-ec-keyboard.dtsi"
1083#include "cros-adc-thermistors.dtsi"
v4.10.11
 
   1/*
   2 * Google Peach Pi Rev 10+ board device tree source
   3 *
   4 * Copyright (c) 2014 Google, Inc
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License version 2 as
   8 * published by the Free Software Foundation.
   9 */
  10
  11/dts-v1/;
  12#include <dt-bindings/input/input.h>
  13#include <dt-bindings/gpio/gpio.h>
  14#include <dt-bindings/interrupt-controller/irq.h>
  15#include <dt-bindings/clock/maxim,max77802.h>
  16#include <dt-bindings/regulator/maxim,max77802.h>
 
  17#include "exynos5800.dtsi"
  18#include "exynos5420-cpus.dtsi"
  19#include "exynos-mfc-reserved-memory.dtsi"
  20
  21/ {
  22	model = "Google Peach Pi Rev 10+";
  23
  24	compatible = "google,pi-rev16",
  25		"google,pi-rev15", "google,pi-rev14",
  26		"google,pi-rev13", "google,pi-rev12",
  27		"google,pi-rev11", "google,pi-rev10",
  28		"google,pi", "google,peach", "samsung,exynos5800",
  29		"samsung,exynos5";
  30
  31	aliases {
  32		/* Assign 20 so we don't get confused w/ builtin ones */
  33		i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
  34	};
  35
  36	backlight: backlight {
  37		compatible = "pwm-backlight";
  38		pwms = <&pwm 0 1000000 0>;
  39		brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
  40		default-brightness-level = <7>;
  41		enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
  42		power-supply = <&tps65090_fet1>;
  43		pinctrl-0 = <&pwm0_out>;
  44		pinctrl-names = "default";
  45	};
  46
  47	chosen {
  48		stdout-path = "serial3:115200n8";
  49	};
  50
  51	fixed-rate-clocks {
  52		oscclk {
  53			compatible = "samsung,exynos5420-oscclk";
  54			clock-frequency = <24000000>;
  55		};
  56	};
  57
  58	gpio-keys {
  59		compatible = "gpio-keys";
  60
  61		pinctrl-names = "default";
  62		pinctrl-0 = <&power_key_irq &lid_irq>;
  63
  64		power {
  65			label = "Power";
  66			gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
  67			linux,code = <KEY_POWER>;
  68			wakeup-source;
  69		};
  70
  71		lid-switch {
  72			label = "Lid";
  73			gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
  74			linux,input-type = <5>; /* EV_SW */
  75			linux,code = <0>; /* SW_LID */
  76			debounce-interval = <1>;
  77			wakeup-source;
  78		};
  79
  80	};
  81
  82	memory@20000000 {
  83		device_type = "memory";
  84		reg = <0x20000000 0x80000000>;
  85	};
  86
  87	sound {
  88		compatible = "google,snow-audio-max98091";
  89
  90		samsung,model = "Peach-Pi-I2S-MAX98091";
  91		samsung,i2s-controller = <&i2s0>;
  92		samsung,audio-codec = <&max98091>;
 
 
 
 
 
 
 
 
  93	};
  94
  95	usb300_vbus_reg: regulator-usb300 {
  96		compatible = "regulator-fixed";
  97		regulator-name = "P5.0V_USB3CON0";
  98		regulator-min-microvolt = <5000000>;
  99		regulator-max-microvolt = <5000000>;
 100		gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
 101		pinctrl-names = "default";
 102		pinctrl-0 = <&usb300_vbus_en>;
 103		enable-active-high;
 104	};
 105
 106	usb301_vbus_reg: regulator-usb301 {
 107		compatible = "regulator-fixed";
 108		regulator-name = "P5.0V_USB3CON1";
 109		regulator-min-microvolt = <5000000>;
 110		regulator-max-microvolt = <5000000>;
 111		gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
 112		pinctrl-names = "default";
 113		pinctrl-0 = <&usb301_vbus_en>;
 114		enable-active-high;
 115	};
 116
 117	vbat: fixed-regulator {
 118		compatible = "regulator-fixed";
 119		regulator-name = "vbat-supply";
 120		regulator-boot-on;
 121		regulator-always-on;
 122	};
 123
 124	panel: panel {
 125		compatible = "auo,b133htn01";
 126		power-supply = <&tps65090_fet6>;
 127		backlight = <&backlight>;
 128
 129		port {
 130			panel_in: endpoint {
 131				remote-endpoint = <&dp_out>;
 132			};
 133		};
 134	};
 135
 136	mmc1_pwrseq: mmc1_pwrseq {
 137		compatible = "mmc-pwrseq-simple";
 138		reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
 139		clocks = <&max77802 MAX77802_CLK_32K_CP>;
 140		clock-names = "ext_clock";
 141	};
 142};
 143
 144&adc {
 145	status = "okay";
 146	vdd-supply = <&ldo9_reg>;
 147};
 148
 
 
 
 
 
 149&cpu0 {
 150	cpu-supply = <&buck2_reg>;
 151};
 152
 153&cpu4 {
 154	cpu-supply = <&buck6_reg>;
 155};
 156
 157&dp {
 158	status = "okay";
 159	pinctrl-names = "default";
 160	pinctrl-0 = <&dp_hpd_gpio>;
 161	samsung,color-space = <0>;
 162	samsung,color-depth = <1>;
 163	samsung,link-rate = <0x0a>;
 164	samsung,lane-count = <2>;
 165	samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
 166
 167	ports {
 168		port {
 169			dp_out: endpoint {
 170				remote-endpoint = <&panel_in>;
 171			};
 172		};
 173	};
 174};
 175
 176&fimd {
 177	status = "okay";
 178	samsung,invert-vclk;
 179};
 180
 181&hdmi {
 182	status = "okay";
 183	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
 184	pinctrl-names = "default";
 185	pinctrl-0 = <&hdmi_hpd_irq>;
 186	ddc = <&i2c_2>;
 187
 188	hdmi-en-supply = <&tps65090_fet7>;
 189	vdd-supply = <&ldo8_reg>;
 190	vdd_osc-supply = <&ldo10_reg>;
 191	vdd_pll-supply = <&ldo8_reg>;
 192};
 193
 194&hsi2c_4 {
 195	status = "okay";
 196	clock-frequency = <400000>;
 197
 198	max77802: max77802-pmic@9 {
 199		compatible = "maxim,max77802";
 200		interrupt-parent = <&gpx3>;
 201		interrupts = <1 IRQ_TYPE_NONE>;
 202		pinctrl-names = "default";
 203		pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
 204			    <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
 205		wakeup-source;
 206		reg = <0x9>;
 207		#clock-cells = <1>;
 208
 209		inb1-supply = <&tps65090_dcdc2>;
 210		inb2-supply = <&tps65090_dcdc1>;
 211		inb3-supply = <&tps65090_dcdc2>;
 212		inb4-supply = <&tps65090_dcdc2>;
 213		inb5-supply = <&tps65090_dcdc1>;
 214		inb6-supply = <&tps65090_dcdc2>;
 215		inb7-supply = <&tps65090_dcdc1>;
 216		inb8-supply = <&tps65090_dcdc1>;
 217		inb9-supply = <&tps65090_dcdc1>;
 218		inb10-supply = <&tps65090_dcdc1>;
 219
 220		inl1-supply = <&buck5_reg>;
 221		inl2-supply = <&buck7_reg>;
 222		inl3-supply = <&buck9_reg>;
 223		inl4-supply = <&buck9_reg>;
 224		inl5-supply = <&buck9_reg>;
 225		inl6-supply = <&tps65090_dcdc2>;
 226		inl7-supply = <&buck9_reg>;
 227		inl9-supply = <&tps65090_dcdc2>;
 228		inl10-supply = <&buck7_reg>;
 229
 230		regulators {
 231			buck1_reg: BUCK1 {
 232				regulator-name = "vdd_mif";
 233				regulator-min-microvolt = <800000>;
 234				regulator-max-microvolt = <1300000>;
 235				regulator-always-on;
 236				regulator-boot-on;
 237				regulator-ramp-delay = <12500>;
 238				regulator-state-mem {
 239					regulator-off-in-suspend;
 240				};
 241			};
 242
 243			buck2_reg: BUCK2 {
 244				regulator-name = "vdd_arm";
 245				regulator-min-microvolt = <800000>;
 246				regulator-max-microvolt = <1500000>;
 247				regulator-always-on;
 248				regulator-boot-on;
 249				regulator-ramp-delay = <12500>;
 250				regulator-state-mem {
 251					regulator-off-in-suspend;
 252				};
 253			};
 254
 255			buck3_reg: BUCK3 {
 256				regulator-name = "vdd_int";
 257				regulator-min-microvolt = <800000>;
 258				regulator-max-microvolt = <1400000>;
 259				regulator-always-on;
 260				regulator-boot-on;
 261				regulator-ramp-delay = <12500>;
 262				regulator-state-mem {
 263					regulator-off-in-suspend;
 264				};
 265			};
 266
 267			buck4_reg: BUCK4 {
 268				regulator-name = "vdd_g3d";
 269				regulator-min-microvolt = <700000>;
 270				regulator-max-microvolt = <1400000>;
 271				regulator-always-on;
 272				regulator-boot-on;
 273				regulator-ramp-delay = <12500>;
 274				regulator-state-mem {
 275					regulator-off-in-suspend;
 276				};
 277			};
 278
 279			buck5_reg: BUCK5 {
 280				regulator-name = "vdd_1v2";
 281				regulator-min-microvolt = <1200000>;
 282				regulator-max-microvolt = <1200000>;
 283				regulator-boot-on;
 284				regulator-state-mem {
 285					regulator-off-in-suspend;
 286				};
 287			};
 288
 289			buck6_reg: BUCK6 {
 290				regulator-name = "vdd_kfc";
 291				regulator-min-microvolt = <800000>;
 292				regulator-max-microvolt = <1500000>;
 293				regulator-always-on;
 294				regulator-boot-on;
 295				regulator-ramp-delay = <12500>;
 296				regulator-state-mem {
 297					regulator-off-in-suspend;
 298				};
 299			};
 300
 301			buck7_reg: BUCK7 {
 302				regulator-name = "vdd_1v35";
 303				regulator-min-microvolt = <1350000>;
 304				regulator-max-microvolt = <1350000>;
 
 305				regulator-boot-on;
 306				regulator-state-mem {
 307					regulator-on-in-suspend;
 308				};
 309			};
 310
 311			buck8_reg: BUCK8 {
 312				regulator-name = "vdd_emmc";
 313				regulator-min-microvolt = <2850000>;
 314				regulator-max-microvolt = <2850000>;
 315				regulator-always-on;
 316				regulator-boot-on;
 317				regulator-state-mem {
 318					regulator-off-in-suspend;
 319				};
 320			};
 321
 322			buck9_reg: BUCK9 {
 323				regulator-name = "vdd_2v";
 324				regulator-min-microvolt = <2000000>;
 325				regulator-max-microvolt = <2000000>;
 
 326				regulator-boot-on;
 327				regulator-state-mem {
 328					regulator-on-in-suspend;
 329				};
 330			};
 331
 332			buck10_reg: BUCK10 {
 333				regulator-name = "vdd_1v8";
 334				regulator-min-microvolt = <1800000>;
 335				regulator-max-microvolt = <1800000>;
 
 336				regulator-boot-on;
 337				regulator-state-mem {
 338					regulator-on-in-suspend;
 339				};
 340			};
 341
 342			ldo1_reg: LDO1 {
 343				regulator-name = "vdd_1v0";
 344				regulator-min-microvolt = <1000000>;
 345				regulator-max-microvolt = <1000000>;
 346				regulator-always-on;
 347				regulator-state-mem {
 348					regulator-on-in-suspend;
 349					regulator-mode = <MAX77802_OPMODE_LP>;
 350				};
 351			};
 352
 353			ldo2_reg: LDO2 {
 354				regulator-name = "vdd_1v2_2";
 355				regulator-min-microvolt = <1200000>;
 356				regulator-max-microvolt = <1200000>;
 357			};
 358
 359			ldo3_reg: LDO3 {
 360				regulator-name = "vdd_1v8_3";
 361				regulator-min-microvolt = <1800000>;
 362				regulator-max-microvolt = <1800000>;
 363				regulator-always-on;
 364				regulator-state-mem {
 365					regulator-on-in-suspend;
 366					regulator-mode = <MAX77802_OPMODE_LP>;
 367				};
 368			};
 369
 370			vqmmc_sdcard: ldo4_reg: LDO4 {
 371				regulator-name = "vdd_sd";
 372				regulator-min-microvolt = <1800000>;
 373				regulator-max-microvolt = <2800000>;
 374				regulator-always-on;
 375				regulator-state-mem {
 376					regulator-off-in-suspend;
 377				};
 378			};
 379
 380			ldo5_reg: LDO5 {
 381				regulator-name = "vdd_1v8_5";
 382				regulator-min-microvolt = <1800000>;
 383				regulator-max-microvolt = <1800000>;
 384				regulator-always-on;
 385				regulator-state-mem {
 386					regulator-off-in-suspend;
 387				};
 388			};
 389
 390			ldo6_reg: LDO6 {
 391				regulator-name = "vdd_1v8_6";
 392				regulator-min-microvolt = <1800000>;
 393				regulator-max-microvolt = <1800000>;
 394				regulator-always-on;
 395				regulator-state-mem {
 396					regulator-off-in-suspend;
 397				};
 398			};
 399
 400			ldo7_reg: LDO7 {
 401				regulator-name = "vdd_1v8_7";
 402				regulator-min-microvolt = <1800000>;
 403				regulator-max-microvolt = <1800000>;
 404			};
 405
 406			ldo8_reg: LDO8 {
 407				regulator-name = "vdd_ldo8";
 408				regulator-min-microvolt = <1000000>;
 409				regulator-max-microvolt = <1000000>;
 410				regulator-always-on;
 411				regulator-state-mem {
 412					regulator-off-in-suspend;
 413				};
 414			};
 415
 416			ldo9_reg: LDO9 {
 417				regulator-name = "vdd_ldo9";
 418				regulator-min-microvolt = <1800000>;
 419				regulator-max-microvolt = <1800000>;
 420				regulator-state-mem {
 421					regulator-on-in-suspend;
 422					regulator-mode = <MAX77802_OPMODE_LP>;
 423				};
 424			};
 425
 426			ldo10_reg: LDO10 {
 427				regulator-name = "vdd_ldo10";
 428				regulator-min-microvolt = <1800000>;
 429				regulator-max-microvolt = <1800000>;
 
 430				regulator-state-mem {
 431					regulator-off-in-suspend;
 432				};
 433			};
 434
 435			ldo11_reg: LDO11 {
 436				regulator-name = "vdd_ldo11";
 437				regulator-min-microvolt = <1800000>;
 438				regulator-max-microvolt = <1800000>;
 439				regulator-always-on;
 440				regulator-state-mem {
 441					regulator-on-in-suspend;
 442					regulator-mode = <MAX77802_OPMODE_LP>;
 443				};
 444			};
 445
 446			ldo12_reg: LDO12 {
 447				regulator-name = "vdd_ldo12";
 448				regulator-min-microvolt = <3000000>;
 449				regulator-max-microvolt = <3000000>;
 450				regulator-always-on;
 451				regulator-state-mem {
 452					regulator-off-in-suspend;
 453				};
 454			};
 455
 456			ldo13_reg: LDO13 {
 457				regulator-name = "vdd_ldo13";
 458				regulator-min-microvolt = <1800000>;
 459				regulator-max-microvolt = <1800000>;
 460				regulator-always-on;
 461				regulator-state-mem {
 462					regulator-on-in-suspend;
 463					regulator-mode = <MAX77802_OPMODE_LP>;
 464				};
 465			};
 466
 467			ldo14_reg: LDO14 {
 468				regulator-name = "vdd_ldo14";
 469				regulator-min-microvolt = <1800000>;
 470				regulator-max-microvolt = <1800000>;
 471				regulator-always-on;
 472				regulator-state-mem {
 473					regulator-off-in-suspend;
 474				};
 475			};
 476
 477			ldo15_reg: LDO15 {
 478				regulator-name = "vdd_ldo15";
 479				regulator-min-microvolt = <1000000>;
 480				regulator-max-microvolt = <1000000>;
 481				regulator-always-on;
 482				regulator-state-mem {
 483					regulator-off-in-suspend;
 484				};
 485			};
 486
 487			ldo17_reg: LDO17 {
 488				regulator-name = "vdd_g3ds";
 489				regulator-min-microvolt = <900000>;
 490				regulator-max-microvolt = <1400000>;
 491				regulator-always-on;
 492				regulator-state-mem {
 493					regulator-off-in-suspend;
 494				};
 495			};
 496
 497			ldo18_reg: LDO18 {
 498				regulator-name = "ldo_18";
 499				regulator-min-microvolt = <1800000>;
 500				regulator-max-microvolt = <1800000>;
 501			};
 502
 503			ldo19_reg: LDO19 {
 504				regulator-name = "ldo_19";
 505				regulator-min-microvolt = <1800000>;
 506				regulator-max-microvolt = <1800000>;
 507			};
 508
 509			ldo20_reg: LDO20 {
 510				regulator-name = "ldo_20";
 511				regulator-min-microvolt = <1800000>;
 512				regulator-max-microvolt = <1800000>;
 513				regulator-always-on;
 514			};
 515
 516			ldo21_reg: LDO21 {
 517				regulator-name = "ldo_21";
 518				regulator-min-microvolt = <2800000>;
 519				regulator-max-microvolt = <2800000>;
 520			};
 521
 522			ldo23_reg: LDO23 {
 523				regulator-name = "ldo_23";
 524				regulator-min-microvolt = <3300000>;
 525				regulator-max-microvolt = <3300000>;
 526			};
 527			ldo24_reg: LDO24 {
 528				regulator-name = "ldo_24";
 529				regulator-min-microvolt = <2800000>;
 530				regulator-max-microvolt = <2800000>;
 531			};
 532
 533			ldo25_reg: LDO25 {
 534				regulator-name = "ldo_25";
 535				regulator-min-microvolt = <3300000>;
 536				regulator-max-microvolt = <3300000>;
 537			};
 538
 539			ldo26_reg: LDO26 {
 540				regulator-name = "ldo_26";
 541				regulator-min-microvolt = <1200000>;
 542				regulator-max-microvolt = <1200000>;
 543			};
 544
 545			ldo27_reg: LDO27 {
 546				regulator-name = "ldo_27";
 547				regulator-min-microvolt = <1200000>;
 548				regulator-max-microvolt = <1200000>;
 549			};
 550
 551			ldo28_reg: LDO28 {
 552				regulator-name = "ldo_28";
 553				regulator-min-microvolt = <1800000>;
 554				regulator-max-microvolt = <1800000>;
 555			};
 556
 557			ldo29_reg: LDO29 {
 558				regulator-name = "ldo_29";
 559				regulator-min-microvolt = <1800000>;
 560				regulator-max-microvolt = <1800000>;
 561			};
 562
 563			ldo30_reg: LDO30 {
 564				regulator-name = "vdd_mifs";
 565				regulator-min-microvolt = <1000000>;
 566				regulator-max-microvolt = <1000000>;
 567				regulator-always-on;
 568				regulator-state-mem {
 569					regulator-off-in-suspend;
 570				};
 571			};
 572
 573			ldo32_reg: LDO32 {
 574				regulator-name = "ldo_32";
 575				regulator-min-microvolt = <3000000>;
 576				regulator-max-microvolt = <3000000>;
 577			};
 578
 579			ldo33_reg: LDO33 {
 580				regulator-name = "ldo_33";
 581				regulator-min-microvolt = <2800000>;
 582				regulator-max-microvolt = <2800000>;
 583			};
 584
 585			ldo34_reg: LDO34 {
 586				regulator-name = "ldo_34";
 587				regulator-min-microvolt = <3000000>;
 588				regulator-max-microvolt = <3000000>;
 589			};
 590
 591			ldo35_reg: LDO35 {
 592				regulator-name = "ldo_35";
 593				regulator-min-microvolt = <1200000>;
 594				regulator-max-microvolt = <1200000>;
 595			};
 596		};
 597	};
 598};
 599
 600&hsi2c_7 {
 601	status = "okay";
 602	clock-frequency = <400000>;
 603
 604	max98091: codec@10 {
 605		compatible = "maxim,max98091";
 606		reg = <0x10>;
 607		interrupts = <2 0>;
 608		interrupt-parent = <&gpx0>;
 609		pinctrl-names = "default";
 610		pinctrl-0 = <&max98091_irq>;
 611		clocks = <&pmu_system_controller 0>;
 612		clock-names = "mclk";
 
 613	};
 614
 615	light-sensor@44 {
 616		compatible = "isil,isl29018";
 617		reg = <0x44>;
 618		vcc-supply = <&tps65090_fet5>;
 619	};
 620};
 621
 622&hsi2c_8 {
 623	status = "okay";
 624	clock-frequency = <333000>;
 625	/* Atmel mXT540S */
 626	trackpad@4b {
 627		compatible = "atmel,maxtouch";
 628		reg = <0x4b>;
 629		interrupt-parent = <&gpx1>;
 630		interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
 631		wakeup-source;
 632		pinctrl-names = "default";
 633		pinctrl-0 = <&trackpad_irq>;
 634		linux,gpio-keymap = <KEY_RESERVED
 635				     KEY_RESERVED
 636				     KEY_RESERVED	/* GPIO 0 */
 637				     KEY_RESERVED	/* GPIO 1 */
 638				     BTN_LEFT		/* GPIO 2 */
 639				     KEY_RESERVED>;	/* GPIO 3 */
 640	};
 641};
 642
 643&hsi2c_9 {
 644	status = "okay";
 645	clock-frequency = <400000>;
 646
 647	tpm@20 {
 648		compatible = "infineon,slb9645tt";
 649		reg = <0x20>;
 650
 651		/* Unused irq; but still need to configure the pins */
 652		pinctrl-names = "default";
 653		pinctrl-0 = <&tpm_irq>;
 654	};
 655};
 656
 657&i2c_2 {
 658	status = "okay";
 659	samsung,i2c-sda-delay = <100>;
 660	samsung,i2c-max-bus-freq = <66000>;
 661	samsung,i2c-slave-addr = <0x50>;
 662};
 663
 664&i2s0 {
 
 
 
 
 
 
 665	status = "okay";
 666};
 667
 668/* eMMC flash */
 669&mmc_0 {
 670	status = "okay";
 671	num-slots = <1>;
 672	mmc-hs200-1_8v;
 673	mmc-hs400-1_8v;
 674	cap-mmc-highspeed;
 675	non-removable;
 676	clock-frequency = <800000000>;
 677	samsung,dw-mshc-ciu-div = <3>;
 678	samsung,dw-mshc-sdr-timing = <0 4>;
 679	samsung,dw-mshc-ddr-timing = <0 2>;
 680	samsung,dw-mshc-hs400-timing = <0 2>;
 681	samsung,read-strobe-delay = <90>;
 682	pinctrl-names = "default";
 683	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
 684	bus-width = <8>;
 685};
 686
 687/* WiFi SDIO module */
 688&mmc_1 {
 689	status = "okay";
 690	num-slots = <1>;
 691	non-removable;
 692	cap-sdio-irq;
 693	keep-power-in-suspend;
 694	clock-frequency = <400000000>;
 695	samsung,dw-mshc-ciu-div = <1>;
 696	samsung,dw-mshc-sdr-timing = <0 1>;
 697	samsung,dw-mshc-ddr-timing = <0 2>;
 698	pinctrl-names = "default";
 699	pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
 700		    <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
 701	bus-width = <4>;
 702	cap-sd-highspeed;
 703	mmc-pwrseq = <&mmc1_pwrseq>;
 704	vqmmc-supply = <&buck10_reg>;
 705};
 706
 707/* uSD card */
 708&mmc_2 {
 709	status = "okay";
 710	num-slots = <1>;
 711	cap-sd-highspeed;
 712	card-detect-delay = <200>;
 713	clock-frequency = <400000000>;
 714	samsung,dw-mshc-ciu-div = <3>;
 715	samsung,dw-mshc-sdr-timing = <2 3>;
 716	samsung,dw-mshc-ddr-timing = <1 2>;
 717	pinctrl-names = "default";
 718	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
 719	bus-width = <4>;
 720};
 721
 722
 723&pinctrl_0 {
 724	pinctrl-names = "default";
 725	pinctrl-0 = <&mask_tpm_reset>;
 726
 727	wifi_en: wifi-en {
 728		samsung,pins = "gpx0-0";
 729		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 730		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 731		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 732	};
 733
 734	max98091_irq: max98091-irq {
 735		samsung,pins = "gpx0-2";
 736		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 737		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 738		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 739	};
 740
 741	/* We need GPX0_6 to be low at sleep time; just keep it low always */
 742	mask_tpm_reset: mask-tpm-reset {
 743		samsung,pins = "gpx0-6";
 744		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 745		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 746		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 747		samsung,pin-val = <0>;
 748	};
 749
 750	tpm_irq: tpm-irq {
 751		samsung,pins = "gpx1-0";
 752		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 753		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 754		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 755	};
 756
 757	trackpad_irq: trackpad-irq {
 758		samsung,pins = "gpx1-1";
 759		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
 760		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 761		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 762	};
 763
 764	power_key_irq: power-key-irq {
 765		samsung,pins = "gpx1-2";
 766		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 767		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 768		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 769	};
 770
 771	ec_irq: ec-irq {
 772		samsung,pins = "gpx1-5";
 773		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 774		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 775		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 776	};
 777
 778	tps65090_irq: tps65090-irq {
 779		samsung,pins = "gpx2-5";
 780		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 781		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 782		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 783	};
 784
 785	dp_hpd_gpio: dp_hpd_gpio {
 786		samsung,pins = "gpx2-6";
 787		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 788		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
 789		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 790	};
 791
 792	max77802_irq: max77802-irq {
 793		samsung,pins = "gpx3-1";
 794		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 795		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 796		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 797	};
 798
 799	lid_irq: lid-irq {
 800		samsung,pins = "gpx3-4";
 801		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
 802		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 803		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 804	};
 805
 806	hdmi_hpd_irq: hdmi-hpd-irq {
 807		samsung,pins = "gpx3-7";
 808		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 809		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
 810		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 811	};
 812
 813	pmic_dvs_1: pmic-dvs-1 {
 814		samsung,pins = "gpy7-6";
 815		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 816		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 817		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 818	};
 819};
 820
 821&pinctrl_1 {
 822	/* Adjust WiFi drive strengths lower for EMI */
 823	sd1_clk: sd1-clk {
 824		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 825	};
 826
 827	sd1_cmd: sd1-cmd {
 828		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 829	};
 830
 831	sd1_bus1: sd1-bus-width1 {
 832		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 833	};
 834
 835	sd1_bus4: sd1-bus-width4 {
 836		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 837	};
 838
 839	sd1_bus8: sd1-bus-width8 {
 840		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 841	};
 842};
 843
 844&pinctrl_2 {
 845	pmic_dvs_2: pmic-dvs-2 {
 846		samsung,pins = "gpj4-2";
 847		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 848		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 849		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 850	};
 851
 852	pmic_dvs_3: pmic-dvs-3 {
 853		samsung,pins = "gpj4-3";
 854		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 855		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 856		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 857	};
 858};
 859
 860&pinctrl_3 {
 861	/* Drive SPI lines at x2 for better integrity */
 862	spi2-bus {
 863		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 864	};
 865
 866	/* Drive SPI chip select at x2 for better integrity */
 867	ec_spi_cs: ec-spi-cs {
 868		samsung,pins = "gpb1-2";
 869		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 870		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 871		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 872	};
 873
 874	usb300_vbus_en: usb300-vbus-en {
 875		samsung,pins = "gph0-0";
 876		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 877		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 878		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 879	};
 880
 881	usb301_vbus_en: usb301-vbus-en {
 882		samsung,pins = "gph0-1";
 883		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 884		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 885		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 886	};
 887
 888	pmic_selb: pmic-selb {
 889		samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
 890			       "gph0-6";
 891		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 892		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 893		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 894	};
 895};
 896
 897&pmu_system_controller {
 898	assigned-clocks = <&pmu_system_controller 0>;
 899	assigned-clock-parents = <&clock CLK_FIN_PLL>;
 900};
 901
 902&rtc {
 903	status = "okay";
 904	clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
 905	clock-names = "rtc", "rtc_src";
 906};
 907
 908&spi_2 {
 909	status = "okay";
 910	num-cs = <1>;
 911	samsung,spi-src-clk = <0>;
 912	cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>;
 913
 914	cros_ec: cros-ec@0 {
 915		compatible = "google,cros-ec-spi";
 916		interrupt-parent = <&gpx1>;
 917		interrupts = <5 0>;
 918		pinctrl-names = "default";
 919		pinctrl-0 = <&ec_spi_cs &ec_irq>;
 920		reg = <0>;
 921		spi-max-frequency = <3125000>;
 922		google,has-vbc-nvram;
 923
 924		controller-data {
 925			samsung,spi-feedback-delay = <1>;
 926		};
 927
 928		i2c-tunnel {
 929			compatible = "google,cros-ec-i2c-tunnel";
 930			#address-cells = <1>;
 931			#size-cells = <0>;
 932			google,remote-bus = <0>;
 933
 934			battery: sbs-battery@b {
 935				compatible = "sbs,sbs-battery";
 936				reg = <0xb>;
 937				sbs,poll-retry-count = <1>;
 938				sbs,i2c-retry-count = <2>;
 939			};
 940
 941			power-regulator@48 {
 942				compatible = "ti,tps65090";
 943				reg = <0x48>;
 944
 945				/*
 946				 * Config irq to disable internal pulls
 947				 * even though we run in polling mode.
 948				 */
 949				pinctrl-names = "default";
 950				pinctrl-0 = <&tps65090_irq>;
 951
 952				vsys1-supply = <&vbat>;
 953				vsys2-supply = <&vbat>;
 954				vsys3-supply = <&vbat>;
 955				infet1-supply = <&vbat>;
 956				infet2-supply = <&tps65090_dcdc1>;
 957				infet3-supply = <&tps65090_dcdc2>;
 958				infet4-supply = <&tps65090_dcdc2>;
 959				infet5-supply = <&tps65090_dcdc2>;
 960				infet6-supply = <&tps65090_dcdc2>;
 961				infet7-supply = <&tps65090_dcdc1>;
 962				vsys-l1-supply = <&vbat>;
 963				vsys-l2-supply = <&vbat>;
 964
 965				regulators {
 966					tps65090_dcdc1: dcdc1 {
 967						ti,enable-ext-control;
 968					};
 969					tps65090_dcdc2: dcdc2 {
 970						ti,enable-ext-control;
 971					};
 972					tps65090_dcdc3: dcdc3 {
 973						ti,enable-ext-control;
 974					};
 975					tps65090_fet1: fet1 {
 976						regulator-name = "vcd_led";
 977					};
 978					tps65090_fet2: fet2 {
 979						regulator-name = "video_mid";
 980						regulator-always-on;
 981					};
 982					tps65090_fet3: fet3 {
 983						regulator-name = "wwan_r";
 984						regulator-always-on;
 985					};
 986					tps65090_fet4: fet4 {
 987						regulator-name = "sdcard";
 988						regulator-always-on;
 989					};
 990					tps65090_fet5: fet5 {
 991						regulator-name = "camout";
 992						regulator-always-on;
 993					};
 994					tps65090_fet6: fet6 {
 995						regulator-name = "lcd_vdd";
 996					};
 997					tps65090_fet7: fet7 {
 998						regulator-name = "video_mid_1a";
 999						regulator-always-on;
1000					};
1001					tps65090_ldo1: ldo1 {
1002					};
1003					tps65090_ldo2: ldo2 {
1004					};
1005				};
1006
1007				charger {
1008					compatible = "ti,tps65090-charger";
1009				};
1010			};
1011		};
1012	};
1013};
1014
1015&serial_3 {
1016	status = "okay";
1017};
1018
1019&tmu_cpu0 {
1020	vtmu-supply = <&ldo10_reg>;
1021};
1022
1023&tmu_cpu1 {
1024	vtmu-supply = <&ldo10_reg>;
1025};
1026
1027&tmu_cpu2 {
1028	vtmu-supply = <&ldo10_reg>;
1029};
1030
1031&tmu_cpu3 {
1032	vtmu-supply = <&ldo10_reg>;
1033};
1034
1035&tmu_gpu {
1036	vtmu-supply = <&ldo10_reg>;
1037};
1038
1039&usbdrd_dwc3_0 {
1040	dr_mode = "host";
1041};
1042
1043&usbdrd_dwc3_1 {
1044	dr_mode = "host";
1045};
1046
1047&usbdrd_phy0 {
1048	vbus-supply = <&usb300_vbus_reg>;
1049};
1050
1051&usbdrd_phy1 {
1052	vbus-supply = <&usb301_vbus_reg>;
1053};
1054
1055/*
1056 * Use longest HW watchdog in SoC (32 seconds) since the hardware
1057 * watchdog provides no debugging information (compared to soft/hard
1058 * lockup detectors) and so should be last resort.
1059 */
1060&watchdog {
1061	timeout-sec = <32>;
1062};
1063
1064#include "cros-ec-keyboard.dtsi"
1065#include "cros-adc-thermistors.dtsi"