Linux Audio

Check our new training course

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