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

exynos5420-peach-pit.dts (25376B)


      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 {
     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"