cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

exynos5800-peach-pi.dts (25306B)


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