Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.13.7.
   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 = "/spi@12d40000/cros-ec@0/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_FOUT_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-boot-on;
 316				regulator-state-mem {
 317					regulator-on-in-suspend;
 318				};
 319			};
 320
 321			buck8_reg: BUCK8 {
 322				regulator-name = "vdd_emmc";
 323				regulator-min-microvolt = <2850000>;
 324				regulator-max-microvolt = <2850000>;
 325				regulator-always-on;
 326				regulator-boot-on;
 327				regulator-state-mem {
 328					regulator-off-in-suspend;
 329				};
 330			};
 331
 332			buck9_reg: BUCK9 {
 333				regulator-name = "vdd_2v";
 334				regulator-min-microvolt = <2000000>;
 335				regulator-max-microvolt = <2000000>;
 336				regulator-boot-on;
 337				regulator-state-mem {
 338					regulator-on-in-suspend;
 339				};
 340			};
 341
 342			buck10_reg: BUCK10 {
 343				regulator-name = "vdd_1v8";
 344				regulator-min-microvolt = <1800000>;
 345				regulator-max-microvolt = <1800000>;
 346				regulator-boot-on;
 347				regulator-state-mem {
 348					regulator-on-in-suspend;
 349				};
 350			};
 351
 352			ldo1_reg: LDO1 {
 353				regulator-name = "vdd_1v0";
 354				regulator-min-microvolt = <1000000>;
 355				regulator-max-microvolt = <1000000>;
 356				regulator-always-on;
 357				regulator-state-mem {
 358					regulator-on-in-suspend;
 359					regulator-mode = <MAX77802_OPMODE_LP>;
 360				};
 361			};
 362
 363			ldo2_reg: LDO2 {
 364				regulator-name = "vdd_1v2_2";
 365				regulator-min-microvolt = <1200000>;
 366				regulator-max-microvolt = <1200000>;
 367			};
 368
 369			ldo3_reg: LDO3 {
 370				regulator-name = "vdd_1v8_3";
 371				regulator-min-microvolt = <1800000>;
 372				regulator-max-microvolt = <1800000>;
 373				regulator-always-on;
 374				regulator-state-mem {
 375					regulator-on-in-suspend;
 376					regulator-mode = <MAX77802_OPMODE_LP>;
 377				};
 378			};
 379
 380			vqmmc_sdcard: ldo4_reg: LDO4 {
 381				regulator-name = "vdd_sd";
 382				regulator-min-microvolt = <1800000>;
 383				regulator-max-microvolt = <2800000>;
 384				regulator-always-on;
 385				regulator-state-mem {
 386					regulator-off-in-suspend;
 387				};
 388			};
 389
 390			ldo5_reg: LDO5 {
 391				regulator-name = "vdd_1v8_5";
 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			ldo6_reg: LDO6 {
 401				regulator-name = "vdd_1v8_6";
 402				regulator-min-microvolt = <1800000>;
 403				regulator-max-microvolt = <1800000>;
 404				regulator-always-on;
 405				regulator-state-mem {
 406					regulator-off-in-suspend;
 407				};
 408			};
 409
 410			ldo7_reg: LDO7 {
 411				regulator-name = "vdd_1v8_7";
 412				regulator-min-microvolt = <1800000>;
 413				regulator-max-microvolt = <1800000>;
 414			};
 415
 416			ldo8_reg: LDO8 {
 417				regulator-name = "vdd_ldo8";
 418				regulator-min-microvolt = <1000000>;
 419				regulator-max-microvolt = <1000000>;
 420				regulator-always-on;
 421				regulator-state-mem {
 422					regulator-off-in-suspend;
 423				};
 424			};
 425
 426			ldo9_reg: LDO9 {
 427				regulator-name = "vdd_ldo9";
 428				regulator-min-microvolt = <1800000>;
 429				regulator-max-microvolt = <1800000>;
 430				regulator-state-mem {
 431					regulator-on-in-suspend;
 432					regulator-mode = <MAX77802_OPMODE_LP>;
 433				};
 434			};
 435
 436			ldo10_reg: LDO10 {
 437				regulator-name = "vdd_ldo10";
 438				regulator-min-microvolt = <1800000>;
 439				regulator-max-microvolt = <1800000>;
 440				regulator-state-mem {
 441					regulator-off-in-suspend;
 442				};
 443			};
 444
 445			ldo11_reg: LDO11 {
 446				regulator-name = "vdd_ldo11";
 447				regulator-min-microvolt = <1800000>;
 448				regulator-max-microvolt = <1800000>;
 449				regulator-always-on;
 450				regulator-state-mem {
 451					regulator-on-in-suspend;
 452					regulator-mode = <MAX77802_OPMODE_LP>;
 453				};
 454			};
 455
 456			ldo12_reg: LDO12 {
 457				regulator-name = "vdd_ldo12";
 458				regulator-min-microvolt = <3000000>;
 459				regulator-max-microvolt = <3000000>;
 460				regulator-always-on;
 461				regulator-state-mem {
 462					regulator-off-in-suspend;
 463				};
 464			};
 465
 466			ldo13_reg: LDO13 {
 467				regulator-name = "vdd_ldo13";
 468				regulator-min-microvolt = <1800000>;
 469				regulator-max-microvolt = <1800000>;
 470				regulator-always-on;
 471				regulator-state-mem {
 472					regulator-on-in-suspend;
 473					regulator-mode = <MAX77802_OPMODE_LP>;
 474				};
 475			};
 476
 477			ldo14_reg: LDO14 {
 478				regulator-name = "vdd_ldo14";
 479				regulator-min-microvolt = <1800000>;
 480				regulator-max-microvolt = <1800000>;
 481				regulator-always-on;
 482				regulator-state-mem {
 483					regulator-off-in-suspend;
 484				};
 485			};
 486
 487			ldo15_reg: LDO15 {
 488				regulator-name = "vdd_ldo15";
 489				regulator-min-microvolt = <1000000>;
 490				regulator-max-microvolt = <1000000>;
 491				regulator-always-on;
 492				regulator-state-mem {
 493					regulator-off-in-suspend;
 494				};
 495			};
 496
 497			ldo17_reg: LDO17 {
 498				regulator-name = "vdd_g3ds";
 499				regulator-min-microvolt = <900000>;
 500				regulator-max-microvolt = <1400000>;
 501				regulator-always-on;
 502				regulator-state-mem {
 503					regulator-off-in-suspend;
 504				};
 505			};
 506
 507			ldo18_reg: LDO18 {
 508				regulator-name = "ldo_18";
 509				regulator-min-microvolt = <1800000>;
 510				regulator-max-microvolt = <1800000>;
 511			};
 512
 513			ldo19_reg: LDO19 {
 514				regulator-name = "ldo_19";
 515				regulator-min-microvolt = <1800000>;
 516				regulator-max-microvolt = <1800000>;
 517			};
 518
 519			ldo20_reg: LDO20 {
 520				regulator-name = "ldo_20";
 521				regulator-min-microvolt = <1800000>;
 522				regulator-max-microvolt = <1800000>;
 523				regulator-always-on;
 524			};
 525
 526			ldo21_reg: LDO21 {
 527				regulator-name = "ldo_21";
 528				regulator-min-microvolt = <2800000>;
 529				regulator-max-microvolt = <2800000>;
 530			};
 531
 532			ldo23_reg: LDO23 {
 533				regulator-name = "ldo_23";
 534				regulator-min-microvolt = <3300000>;
 535				regulator-max-microvolt = <3300000>;
 536			};
 537			ldo24_reg: LDO24 {
 538				regulator-name = "ldo_24";
 539				regulator-min-microvolt = <2800000>;
 540				regulator-max-microvolt = <2800000>;
 541			};
 542
 543			ldo25_reg: LDO25 {
 544				regulator-name = "ldo_25";
 545				regulator-min-microvolt = <3300000>;
 546				regulator-max-microvolt = <3300000>;
 547			};
 548
 549			ldo26_reg: LDO26 {
 550				regulator-name = "ldo_26";
 551				regulator-min-microvolt = <1200000>;
 552				regulator-max-microvolt = <1200000>;
 553			};
 554
 555			ldo27_reg: LDO27 {
 556				regulator-name = "ldo_27";
 557				regulator-min-microvolt = <1200000>;
 558				regulator-max-microvolt = <1200000>;
 559			};
 560
 561			ldo28_reg: LDO28 {
 562				regulator-name = "ldo_28";
 563				regulator-min-microvolt = <1800000>;
 564				regulator-max-microvolt = <1800000>;
 565			};
 566
 567			ldo29_reg: LDO29 {
 568				regulator-name = "ldo_29";
 569				regulator-min-microvolt = <1800000>;
 570				regulator-max-microvolt = <1800000>;
 571			};
 572
 573			ldo30_reg: LDO30 {
 574				regulator-name = "vdd_mifs";
 575				regulator-min-microvolt = <1000000>;
 576				regulator-max-microvolt = <1000000>;
 577				regulator-always-on;
 578				regulator-state-mem {
 579					regulator-off-in-suspend;
 580				};
 581			};
 582
 583			ldo32_reg: LDO32 {
 584				regulator-name = "ldo_32";
 585				regulator-min-microvolt = <3000000>;
 586				regulator-max-microvolt = <3000000>;
 587			};
 588
 589			ldo33_reg: LDO33 {
 590				regulator-name = "ldo_33";
 591				regulator-min-microvolt = <2800000>;
 592				regulator-max-microvolt = <2800000>;
 593			};
 594
 595			ldo34_reg: LDO34 {
 596				regulator-name = "ldo_34";
 597				regulator-min-microvolt = <3000000>;
 598				regulator-max-microvolt = <3000000>;
 599			};
 600
 601			ldo35_reg: LDO35 {
 602				regulator-name = "ldo_35";
 603				regulator-min-microvolt = <1200000>;
 604				regulator-max-microvolt = <1200000>;
 605			};
 606		};
 607	};
 608};
 609
 610&hsi2c_7 {
 611	status = "okay";
 612	clock-frequency = <400000>;
 613
 614	max98090: codec@10 {
 615		compatible = "maxim,max98090";
 616		reg = <0x10>;
 617		interrupts = <2 IRQ_TYPE_NONE>;
 618		interrupt-parent = <&gpx0>;
 619		pinctrl-names = "default";
 620		pinctrl-0 = <&max98090_irq>;
 621		clocks = <&pmu_system_controller 0>;
 622		clock-names = "mclk";
 623		#sound-dai-cells = <0>;
 624	};
 625
 626	light-sensor@44 {
 627		compatible = "isil,isl29018";
 628		reg = <0x44>;
 629		vcc-supply = <&tps65090_fet5>;
 630	};
 631
 632	ps8625: lvds-bridge@48 {
 633		compatible = "parade,ps8625";
 634		reg = <0x48>;
 635		sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>;
 636		reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>;
 637		lane-count = <2>;
 638		use-external-pwm;
 639
 640		ports {
 641			#address-cells = <1>;
 642			#size-cells = <0>;
 643
 644			port@0 {
 645				reg = <0>;
 646
 647				bridge_out: endpoint {
 648					remote-endpoint = <&panel_in>;
 649				};
 650			};
 651
 652			port@1 {
 653				reg = <1>;
 654
 655				bridge_in: endpoint {
 656					remote-endpoint = <&dp_out>;
 657				};
 658			};
 659		};
 660
 661	};
 662};
 663
 664&hsi2c_8 {
 665	status = "okay";
 666	clock-frequency = <333000>;
 667
 668	/* Atmel mXT336S */
 669	trackpad@4b {
 670		compatible = "atmel,maxtouch";
 671		reg = <0x4b>;
 672		interrupt-parent = <&gpx1>;
 673		interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
 674		wakeup-source;
 675		pinctrl-names = "default";
 676		pinctrl-0 = <&trackpad_irq>;
 677		linux,gpio-keymap = <KEY_RESERVED
 678				     KEY_RESERVED
 679				     KEY_RESERVED	/* GPIO0 */
 680				     KEY_RESERVED	/* GPIO1 */
 681				     KEY_RESERVED	/* GPIO2 */
 682				     BTN_LEFT>;		/* GPIO3 */
 683	};
 684};
 685
 686&hsi2c_9 {
 687	status = "okay";
 688	clock-frequency = <400000>;
 689
 690	tpm@20 {
 691		compatible = "infineon,slb9645tt";
 692		reg = <0x20>;
 693
 694		/* Unused irq; but still need to configure the pins */
 695		pinctrl-names = "default";
 696		pinctrl-0 = <&tpm_irq>;
 697	};
 698};
 699
 700&i2c_2 {
 701	status = "okay";
 702	samsung,i2c-sda-delay = <100>;
 703	samsung,i2c-max-bus-freq = <66000>;
 704	samsung,i2c-slave-addr = <0x50>;
 705};
 706
 707&i2s0 {
 708	assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
 709	assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>;
 710	status = "okay";
 711};
 712
 713&mixer {
 714	status = "okay";
 715};
 716
 717/* eMMC flash */
 718&mmc_0 {
 719	status = "okay";
 720	mmc-hs200-1_8v;
 721	cap-mmc-highspeed;
 722	non-removable;
 723	clock-frequency = <400000000>;
 724	samsung,dw-mshc-ciu-div = <3>;
 725	samsung,dw-mshc-sdr-timing = <0 4>;
 726	samsung,dw-mshc-ddr-timing = <0 2>;
 727	samsung,dw-mshc-hs400-timing = <0 2>;
 728	samsung,read-strobe-delay = <90>;
 729	pinctrl-names = "default";
 730	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
 731	bus-width = <8>;
 732};
 733
 734/* WiFi SDIO module */
 735&mmc_1 {
 736	status = "okay";
 737	non-removable;
 738	cap-sdio-irq;
 739	keep-power-in-suspend;
 740	clock-frequency = <400000000>;
 741	samsung,dw-mshc-ciu-div = <1>;
 742	samsung,dw-mshc-sdr-timing = <0 1>;
 743	samsung,dw-mshc-ddr-timing = <0 2>;
 744	pinctrl-names = "default";
 745	pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
 746		    <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
 747	bus-width = <4>;
 748	cap-sd-highspeed;
 749	mmc-pwrseq = <&mmc1_pwrseq>;
 750	vqmmc-supply = <&buck10_reg>;
 751};
 752
 753/* uSD card */
 754&mmc_2 {
 755	status = "okay";
 756	cap-sd-highspeed;
 757	card-detect-delay = <200>;
 758	clock-frequency = <400000000>;
 759	samsung,dw-mshc-ciu-div = <3>;
 760	samsung,dw-mshc-sdr-timing = <2 3>;
 761	samsung,dw-mshc-ddr-timing = <1 2>;
 762	pinctrl-names = "default";
 763	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
 764	bus-width = <4>;
 765};
 766
 767
 768&pinctrl_0 {
 769	pinctrl-names = "default";
 770	pinctrl-0 = <&mask_tpm_reset>;
 771
 772	wifi_en: wifi-en {
 773		samsung,pins = "gpx0-0";
 774		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 775		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 776		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 777	};
 778
 779	max98090_irq: max98090-irq {
 780		samsung,pins = "gpx0-2";
 781		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 782		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 783		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 784	};
 785
 786	/* We need GPX0_6 to be low at sleep time; just keep it low always */
 787	mask_tpm_reset: mask-tpm-reset {
 788		samsung,pins = "gpx0-6";
 789		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 790		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 791		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 792		samsung,pin-val = <0>;
 793	};
 794
 795	tpm_irq: tpm-irq {
 796		samsung,pins = "gpx1-0";
 797		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 798		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 799		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 800	};
 801
 802	trackpad_irq: trackpad-irq {
 803		samsung,pins = "gpx1-1";
 804		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
 805		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 806		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 807	};
 808
 809	power_key_irq: power-key-irq {
 810		samsung,pins = "gpx1-2";
 811		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 812		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 813		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 814	};
 815
 816	ec_irq: ec-irq {
 817		samsung,pins = "gpx1-5";
 818		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 819		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 820		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 821	};
 822
 823	tps65090_irq: tps65090-irq {
 824		samsung,pins = "gpx2-5";
 825		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 826		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 827		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 828	};
 829
 830	dp_hpd_gpio: dp_hpd_gpio {
 831		samsung,pins = "gpx2-6";
 832		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 833		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
 834		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 835	};
 836
 837	max77802_irq: max77802-irq {
 838		samsung,pins = "gpx3-1";
 839		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 840		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 841		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 842	};
 843
 844	lid_irq: lid-irq {
 845		samsung,pins = "gpx3-4";
 846		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
 847		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 848		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 849	};
 850
 851	hdmi_hpd_irq: hdmi-hpd-irq {
 852		samsung,pins = "gpx3-7";
 853		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
 854		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
 855		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 856	};
 857
 858	pmic_dvs_1: pmic-dvs-1 {
 859		samsung,pins = "gpy7-6";
 860		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 861		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 862		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 863	};
 864};
 865
 866&pinctrl_1 {
 867	/* Adjust WiFi drive strengths lower for EMI */
 868	sd1_clk: sd1-clk {
 869		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 870	};
 871
 872	sd1_cmd: sd1-cmd {
 873		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 874	};
 875
 876	sd1_bus1: sd1-bus-width1 {
 877		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 878	};
 879
 880	sd1_bus4: sd1-bus-width4 {
 881		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 882	};
 883
 884	sd1_bus8: sd1-bus-width8 {
 885		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 886	};
 887};
 888
 889&pinctrl_2 {
 890	pmic_dvs_2: pmic-dvs-2 {
 891		samsung,pins = "gpj4-2";
 892		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 893		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 894		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 895	};
 896
 897	pmic_dvs_3: pmic-dvs-3 {
 898		samsung,pins = "gpj4-3";
 899		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 900		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 901		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 902	};
 903};
 904
 905&pinctrl_3 {
 906	/* Drive SPI lines at x2 for better integrity */
 907	spi2-bus {
 908		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 909	};
 910
 911	/* Drive SPI chip select at x2 for better integrity */
 912	ec_spi_cs: ec-spi-cs {
 913		samsung,pins = "gpb1-2";
 914		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 915		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 916		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
 917	};
 918
 919	usb300_vbus_en: usb300-vbus-en {
 920		samsung,pins = "gph0-0";
 921		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 922		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 923		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 924	};
 925
 926	usb301_vbus_en: usb301-vbus-en {
 927		samsung,pins = "gph0-1";
 928		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 929		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 930		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 931	};
 932
 933	pmic_selb: pmic-selb {
 934		samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
 935			       "gph0-6";
 936		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
 937		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 938		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
 939	};
 940};
 941
 942&pmu_system_controller {
 943	assigned-clocks = <&pmu_system_controller 0>;
 944	assigned-clock-parents = <&clock CLK_FIN_PLL>;
 945};
 946
 947&rtc {
 948	status = "okay";
 949	clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
 950	clock-names = "rtc", "rtc_src";
 951};
 952
 953&spi_2 {
 954	status = "okay";
 955	num-cs = <1>;
 956	samsung,spi-src-clk = <0>;
 957	cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>;
 958
 959	cros_ec: cros-ec@0 {
 960		compatible = "google,cros-ec-spi";
 961		interrupt-parent = <&gpx1>;
 962		interrupts = <5 IRQ_TYPE_NONE>;
 963		pinctrl-names = "default";
 964		pinctrl-0 = <&ec_spi_cs &ec_irq>;
 965		reg = <0>;
 966		spi-max-frequency = <3125000>;
 967		google,has-vbc-nvram;
 968
 969		controller-data {
 970			samsung,spi-feedback-delay = <1>;
 971		};
 972
 973		i2c-tunnel {
 974			compatible = "google,cros-ec-i2c-tunnel";
 975			#address-cells = <1>;
 976			#size-cells = <0>;
 977			google,remote-bus = <0>;
 978
 979			battery: sbs-battery@b {
 980				compatible = "sbs,sbs-battery";
 981				reg = <0xb>;
 982				sbs,poll-retry-count = <1>;
 983				sbs,i2c-retry-count = <2>;
 984			};
 985
 986			power-regulator@48 {
 987				compatible = "ti,tps65090";
 988				reg = <0x48>;
 989
 990				/*
 991				 * Config irq to disable internal pulls
 992				 * even though we run in polling mode.
 993				 */
 994				pinctrl-names = "default";
 995				pinctrl-0 = <&tps65090_irq>;
 996
 997				vsys1-supply = <&vbat>;
 998				vsys2-supply = <&vbat>;
 999				vsys3-supply = <&vbat>;
1000				infet1-supply = <&vbat>;
1001				infet2-supply = <&tps65090_dcdc1>;
1002				infet3-supply = <&tps65090_dcdc2>;
1003				infet4-supply = <&tps65090_dcdc2>;
1004				infet5-supply = <&tps65090_dcdc2>;
1005				infet6-supply = <&tps65090_dcdc2>;
1006				infet7-supply = <&tps65090_dcdc1>;
1007				vsys-l1-supply = <&vbat>;
1008				vsys-l2-supply = <&vbat>;
1009
1010				regulators {
1011					tps65090_dcdc1: dcdc1 {
1012						ti,enable-ext-control;
1013					};
1014					tps65090_dcdc2: dcdc2 {
1015						ti,enable-ext-control;
1016					};
1017					tps65090_dcdc3: dcdc3 {
1018						ti,enable-ext-control;
1019					};
1020					tps65090_fet1: fet1 {
1021						regulator-name = "vcd_led";
1022					};
1023					tps65090_fet2: fet2 {
1024						regulator-name = "video_mid";
1025						regulator-always-on;
1026					};
1027					tps65090_fet3: fet3 {
1028						regulator-name = "wwan_r";
1029						regulator-always-on;
1030					};
1031					tps65090_fet4: fet4 {
1032						regulator-name = "sdcard";
1033						regulator-always-on;
1034					};
1035					tps65090_fet5: fet5 {
1036						regulator-name = "camout";
1037						regulator-always-on;
1038					};
1039					tps65090_fet6: fet6 {
1040						regulator-name = "lcd_vdd";
1041					};
1042					tps65090_fet7: fet7 {
1043						regulator-name = "video_mid_1a";
1044						regulator-always-on;
1045					};
1046					tps65090_ldo1: ldo1 {
1047					};
1048					tps65090_ldo2: ldo2 {
1049					};
1050				};
1051
1052				charger {
1053					compatible = "ti,tps65090-charger";
1054				};
1055			};
1056		};
1057	};
1058};
1059
1060&serial_3 {
1061	status = "okay";
1062};
1063
1064&tmu_cpu0 {
1065	vtmu-supply = <&ldo10_reg>;
1066};
1067
1068&tmu_cpu1 {
1069	vtmu-supply = <&ldo10_reg>;
1070};
1071
1072&tmu_cpu2 {
1073	vtmu-supply = <&ldo10_reg>;
1074};
1075
1076&tmu_cpu3 {
1077	vtmu-supply = <&ldo10_reg>;
1078};
1079
1080&tmu_gpu {
1081	vtmu-supply = <&ldo10_reg>;
1082};
1083
1084&usbdrd_dwc3_0 {
1085	dr_mode = "host";
1086};
1087
1088&usbdrd_dwc3_1 {
1089	dr_mode = "host";
1090};
1091
1092&usbdrd_phy0 {
1093	vbus-supply = <&usb300_vbus_reg>;
1094};
1095
1096&usbdrd_phy1 {
1097	vbus-supply = <&usb301_vbus_reg>;
1098};
1099
1100/*
1101 * Use longest HW watchdog in SoC (32 seconds) since the hardware
1102 * watchdog provides no debugging information (compared to soft/hard
1103 * lockup detectors) and so should be last resort.
1104 */
1105&watchdog {
1106	timeout-sec = <32>;
1107};
1108
1109#include "cros-ec-keyboard.dtsi"
1110#include "cros-adc-thermistors.dtsi"