183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0 2d1de41d7SSimon Glass/* 3d1de41d7SSimon Glass * Google Spring board device tree source 4d1de41d7SSimon Glass * 5d1de41d7SSimon Glass * Copyright (c) 2013 Google, Inc 6d1de41d7SSimon Glass * Copyright (c) 2014 SUSE LINUX Products GmbH 7d1de41d7SSimon Glass */ 8d1de41d7SSimon Glass 9d1de41d7SSimon Glass/dts-v1/; 10d1de41d7SSimon Glass#include <dt-bindings/gpio/gpio.h> 11d1de41d7SSimon Glass#include <dt-bindings/interrupt-controller/irq.h> 12d1de41d7SSimon Glass#include <dt-bindings/input/input.h> 13d1de41d7SSimon Glass#include "exynos5250.dtsi" 14d1de41d7SSimon Glass 15d1de41d7SSimon Glass/ { 16d1de41d7SSimon Glass model = "Google Spring"; 17d1de41d7SSimon Glass compatible = "google,spring", "samsung,exynos5250", "samsung,exynos5"; 18d1de41d7SSimon Glass 19d1de41d7SSimon Glass aliases { 20d1de41d7SSimon Glass i2c0 = "/i2c@12C60000"; 21d1de41d7SSimon Glass i2c1 = "/i2c@12C70000"; 22d1de41d7SSimon Glass i2c2 = "/i2c@12C80000"; 23d1de41d7SSimon Glass i2c3 = "/i2c@12C90000"; 24d1de41d7SSimon Glass i2c4 = "/i2c@12CA0000"; 25d1de41d7SSimon Glass i2c5 = "/i2c@12CB0000"; 26d1de41d7SSimon Glass i2c6 = "/i2c@12CC0000"; 27d1de41d7SSimon Glass i2c7 = "/i2c@12CD0000"; 28d1de41d7SSimon Glass i2c104 = &cros_ec_ldo_tunnel; 29d1de41d7SSimon Glass spi0 = "/spi@12d20000"; 30d1de41d7SSimon Glass spi1 = "/spi@12d30000"; 31d1de41d7SSimon Glass spi2 = "/spi@12d40000"; 32d1de41d7SSimon Glass spi3 = "/spi@131a0000"; 33d1de41d7SSimon Glass spi4 = "/spi@131b0000"; 34972d8576SMinkyu Kang mmc0 = "/mmc@12200000"; 35d1de41d7SSimon Glass serial0 = "/serial@12C30000"; 36d1de41d7SSimon Glass console = "/serial@12C30000"; 37d1de41d7SSimon Glass }; 38d1de41d7SSimon Glass 39d1de41d7SSimon Glass memory { 40d1de41d7SSimon Glass reg = <0x40000000 0x80000000>; 41d1de41d7SSimon Glass }; 42d1de41d7SSimon Glass 43*f656daeaSSimon Glass iram { 44*f656daeaSSimon Glass reg = <0x02020000 0x60000>; 45*f656daeaSSimon Glass }; 46*f656daeaSSimon Glass 47*f656daeaSSimon Glass config { 48*f656daeaSSimon Glass samsung,bl1-offset = <0x1400>; 49*f656daeaSSimon Glass samsung,bl2-offset = <0x3400>; 50*f656daeaSSimon Glass u-boot-memory = "/memory"; 51*f656daeaSSimon Glass u-boot-offset = <0x3e00000 0x100000>; 52*f656daeaSSimon Glass }; 53*f656daeaSSimon Glass 54d1de41d7SSimon Glass flash@0 { 55*f656daeaSSimon Glass reg = <0 0x100000>; 56*f656daeaSSimon Glass #address-cells = <1>; 57*f656daeaSSimon Glass #size-cells = <1>; 58*f656daeaSSimon Glass pre-boot { 59*f656daeaSSimon Glass label = "bl1 pre-boot"; 60*f656daeaSSimon Glass reg = <0 0x2000>; 61*f656daeaSSimon Glass read-only; 62*f656daeaSSimon Glass filename = "e5250.nbl1.bin"; 63*f656daeaSSimon Glass type = "blob exynos-bl1"; 64*f656daeaSSimon Glass required; 65*f656daeaSSimon Glass }; 66*f656daeaSSimon Glass 67*f656daeaSSimon Glass spl { 68*f656daeaSSimon Glass label = "bl2 spl"; 69*f656daeaSSimon Glass reg = <0x2000 0x8000>; 70*f656daeaSSimon Glass read-only; 71*f656daeaSSimon Glass filename = "bl2.bin"; 72*f656daeaSSimon Glass type = "blob exynos-bl2 boot,dtb"; 73*f656daeaSSimon Glass payload = "/flash/ro-boot"; 74*f656daeaSSimon Glass required; 75*f656daeaSSimon Glass }; 76*f656daeaSSimon Glass 77*f656daeaSSimon Glass ro-boot { 78*f656daeaSSimon Glass label = "u-boot"; 79*f656daeaSSimon Glass reg = <0xa000 0xb0000>; 80*f656daeaSSimon Glass read-only; 81*f656daeaSSimon Glass type = "blob boot,dtb"; 82*f656daeaSSimon Glass required; 83d1de41d7SSimon Glass }; 84d1de41d7SSimon Glass }; 85d1de41d7SSimon Glass 86d1de41d7SSimon Glass chosen { 87d1de41d7SSimon Glass bootargs = "console=tty1"; 88d1de41d7SSimon Glass stdout-path = "serial3:115200n8"; 89d1de41d7SSimon Glass }; 90d1de41d7SSimon Glass 91d1de41d7SSimon Glass board-rev { 92d1de41d7SSimon Glass compatible = "google,board-revision"; 93d1de41d7SSimon Glass google,board-rev-gpios = <&gpy4 0 0>, <&gpy4 1 0>, 94d1de41d7SSimon Glass <&gpy4 2 0>; 95d1de41d7SSimon Glass }; 96d1de41d7SSimon Glass 976e474eabSSimon Glass i2c@12C90000 { 986e474eabSSimon Glass clock-frequency = <100000>; 996e474eabSSimon Glass tpm@20 { 1006e474eabSSimon Glass reg = <0x20>; 1016e474eabSSimon Glass compatible = "infineon,slb9645tt"; 1026e474eabSSimon Glass }; 1036e474eabSSimon Glass }; 1046e474eabSSimon Glass 105d1de41d7SSimon Glass mmc@12200000 { 106d1de41d7SSimon Glass samsung,bus-width = <8>; 107d1de41d7SSimon Glass samsung,timing = <1 3 3>; 108d1de41d7SSimon Glass samsung,removable = <0>; 109d1de41d7SSimon Glass }; 110d1de41d7SSimon Glass 111d1de41d7SSimon Glass mmc@12210000 { 112d1de41d7SSimon Glass status = "disabled"; 113d1de41d7SSimon Glass }; 114d1de41d7SSimon Glass 115d1de41d7SSimon Glass mmc@12220000 { 116d1de41d7SSimon Glass /* MMC2 pins are used as GPIO for eDP bridge */ 117d1de41d7SSimon Glass status = "disabled"; 118d1de41d7SSimon Glass }; 119d1de41d7SSimon Glass 120d1de41d7SSimon Glass mmc@12230000 { 121d1de41d7SSimon Glass status = "disabled"; 122d1de41d7SSimon Glass }; 123d1de41d7SSimon Glass 124d1de41d7SSimon Glass ehci@12110000 { 125d1de41d7SSimon Glass samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; 126d1de41d7SSimon Glass status = "okay"; 127d1de41d7SSimon Glass }; 128d1de41d7SSimon Glass 129d1de41d7SSimon Glass xhci@12000000 { 130d1de41d7SSimon Glass samsung,vbus-gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>; 131d1de41d7SSimon Glass }; 132d1de41d7SSimon Glass 1338d135f5cSSimon Glass sound { 1348d135f5cSSimon Glass compatible = "google,spring-audio-max98088"; 1358d135f5cSSimon Glass 1368d135f5cSSimon Glass samsung,model = "Spring-I2S-MAX98088"; 1378d135f5cSSimon Glass samsung,audio-codec = <&max98088>; 1388d135f5cSSimon Glass codec-enable-gpio = <&gpx1 7 0>; 1398d135f5cSSimon Glass 1408d135f5cSSimon Glass cpu { 1418d135f5cSSimon Glass sound-dai = <&i2s1 0>; 1428d135f5cSSimon Glass }; 1438d135f5cSSimon Glass 1448d135f5cSSimon Glass codec { 1458d135f5cSSimon Glass sound-dai = <&max98088 0>; 1468d135f5cSSimon Glass }; 1478d135f5cSSimon Glass }; 1488d135f5cSSimon Glass 149d1de41d7SSimon Glass spi@12d30000 { 150d1de41d7SSimon Glass spi-max-frequency = <50000000>; 151d1de41d7SSimon Glass firmware_storage_spi: flash@0 { 152d1de41d7SSimon Glass compatible = "spi-flash"; 153d1de41d7SSimon Glass reg = <0>; 154d1de41d7SSimon Glass }; 155d1de41d7SSimon Glass }; 156d1de41d7SSimon Glass 157d1de41d7SSimon Glass tmu@10060000 { 158d1de41d7SSimon Glass samsung,min-temp = <25>; 159d1de41d7SSimon Glass samsung,max-temp = <125>; 160d1de41d7SSimon Glass samsung,start-warning = <95>; 161d1de41d7SSimon Glass samsung,start-tripping = <105>; 162d1de41d7SSimon Glass samsung,hw-tripping = <110>; 163d1de41d7SSimon Glass samsung,efuse-min-value = <40>; 164d1de41d7SSimon Glass samsung,efuse-value = <55>; 165d1de41d7SSimon Glass samsung,efuse-max-value = <100>; 166d1de41d7SSimon Glass samsung,slope = <274761730>; 167d1de41d7SSimon Glass samsung,dc-value = <25>; 168d1de41d7SSimon Glass }; 169d1de41d7SSimon Glass 170d1de41d7SSimon Glass fimd@14400000 { 171d1de41d7SSimon Glass samsung,vl-freq = <60>; 172d1de41d7SSimon Glass samsung,vl-col = <1366>; 173d1de41d7SSimon Glass samsung,vl-row = <768>; 174d1de41d7SSimon Glass samsung,vl-width = <1366>; 175d1de41d7SSimon Glass samsung,vl-height = <768>; 176d1de41d7SSimon Glass 177d1de41d7SSimon Glass samsung,vl-clkp; 178d1de41d7SSimon Glass samsung,vl-dp; 179d1de41d7SSimon Glass samsung,vl-hsp; 180d1de41d7SSimon Glass samsung,vl-vsp; 181d1de41d7SSimon Glass 182d1de41d7SSimon Glass samsung,vl-bpix = <4>; 183d1de41d7SSimon Glass 184d1de41d7SSimon Glass samsung,vl-hspw = <32>; 185d1de41d7SSimon Glass samsung,vl-hbpd = <80>; 186d1de41d7SSimon Glass samsung,vl-hfpd = <48>; 187d1de41d7SSimon Glass samsung,vl-vspw = <5>; 188d1de41d7SSimon Glass samsung,vl-vbpd = <14>; 189d1de41d7SSimon Glass samsung,vl-vfpd = <3>; 190d1de41d7SSimon Glass samsung,vl-cmd-allow-len = <0xf>; 191d1de41d7SSimon Glass 192d1de41d7SSimon Glass samsung,winid = <0>; 193d1de41d7SSimon Glass samsung,interface-mode = <1>; 194d1de41d7SSimon Glass samsung,dp-enabled = <1>; 195d1de41d7SSimon Glass samsung,dual-lcd-enabled = <0>; 196d1de41d7SSimon Glass }; 197d1de41d7SSimon Glass 198d1de41d7SSimon Glass dp@145b0000 { 199d1de41d7SSimon Glass samsung,lt-status = <0>; 200d1de41d7SSimon Glass 201d1de41d7SSimon Glass samsung,master-mode = <0>; 202d1de41d7SSimon Glass samsung,bist-mode = <0>; 203d1de41d7SSimon Glass samsung,bist-pattern = <0>; 204d1de41d7SSimon Glass samsung,h-sync-polarity = <0>; 205d1de41d7SSimon Glass samsung,v-sync-polarity = <0>; 206d1de41d7SSimon Glass samsung,interlaced = <0>; 207d1de41d7SSimon Glass samsung,color-space = <0>; 208d1de41d7SSimon Glass samsung,dynamic-range = <0>; 209d1de41d7SSimon Glass samsung,ycbcr-coeff = <0>; 210d1de41d7SSimon Glass samsung,color-depth = <1>; 211d1de41d7SSimon Glass }; 212f948f5deSSimon Glass 213f948f5deSSimon Glass backlight: backlight { 214f948f5deSSimon Glass compatible = "pwm-backlight"; 215f948f5deSSimon Glass pwms = <&pwm 0 1000000 0>; 216f948f5deSSimon Glass brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; 217f948f5deSSimon Glass default-brightness-level = <1>; 218f948f5deSSimon Glass enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>; 219f948f5deSSimon Glass power-supply = <&fet1>; 220f948f5deSSimon Glass }; 221f948f5deSSimon Glass 222f948f5deSSimon Glass panel: panel { 223f948f5deSSimon Glass compatible = "auo,b116xw03"; 224f948f5deSSimon Glass power-supply = <&fet6>; 225f948f5deSSimon Glass backlight = <&backlight>; 226f948f5deSSimon Glass 227f948f5deSSimon Glass port { 228f948f5deSSimon Glass panel_in: endpoint { 229f948f5deSSimon Glass remote-endpoint = <&bridge_out>; 230f948f5deSSimon Glass }; 231f948f5deSSimon Glass }; 232f948f5deSSimon Glass }; 233d1de41d7SSimon Glass}; 234d1de41d7SSimon Glass 235d1de41d7SSimon Glass&i2c_0 { 236d1de41d7SSimon Glass status = "okay"; 237d1de41d7SSimon Glass samsung,i2c-sda-delay = <100>; 238d1de41d7SSimon Glass samsung,i2c-max-bus-freq = <378000>; 239d1de41d7SSimon Glass 240d1de41d7SSimon Glass s5m8767-pmic@66 { 241d1de41d7SSimon Glass compatible = "samsung,s5m8767-pmic"; 242d1de41d7SSimon Glass reg = <0x66>; 243d1de41d7SSimon Glass interrupt-parent = <&gpx3>; 244d1de41d7SSimon Glass wakeup-source; 245d1de41d7SSimon Glass 246d1de41d7SSimon Glass s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>, /* DVS1 */ 247d1de41d7SSimon Glass <&gpd1 1 GPIO_ACTIVE_LOW>, /* DVS2 */ 248d1de41d7SSimon Glass <&gpd1 2 GPIO_ACTIVE_LOW>; /* DVS3 */ 249d1de41d7SSimon Glass 250d1de41d7SSimon Glass s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>, /* SET1 */ 251d1de41d7SSimon Glass <&gpx2 4 GPIO_ACTIVE_LOW>, /* SET2 */ 252d1de41d7SSimon Glass <&gpx2 5 GPIO_ACTIVE_LOW>; /* SET3 */ 253d1de41d7SSimon Glass 254d1de41d7SSimon Glass /* 255d1de41d7SSimon Glass * The following arrays of DVS voltages are not used, since we are 256d1de41d7SSimon Glass * not using GPIOs to control PMIC bucks, but they must be defined 257d1de41d7SSimon Glass * to please the driver. 258d1de41d7SSimon Glass */ 259d1de41d7SSimon Glass s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>, 260d1de41d7SSimon Glass <1250000>, <1200000>, 261d1de41d7SSimon Glass <1150000>, <1100000>, 262d1de41d7SSimon Glass <1000000>, <950000>; 263d1de41d7SSimon Glass 264d1de41d7SSimon Glass s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>, 265d1de41d7SSimon Glass <1100000>, <1100000>, 266d1de41d7SSimon Glass <1000000>, <1000000>, 267d1de41d7SSimon Glass <1000000>, <1000000>; 268d1de41d7SSimon Glass 269d1de41d7SSimon Glass s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>, 270d1de41d7SSimon Glass <1200000>, <1200000>, 271d1de41d7SSimon Glass <1200000>, <1200000>, 272d1de41d7SSimon Glass <1200000>, <1200000>; 273d1de41d7SSimon Glass 274d1de41d7SSimon Glass clocks { 275d1de41d7SSimon Glass compatible = "samsung,s5m8767-clk"; 276d1de41d7SSimon Glass #clock-cells = <1>; 277d1de41d7SSimon Glass clock-output-names = "en32khz_ap", 278d1de41d7SSimon Glass "en32khz_cp", 279d1de41d7SSimon Glass "en32khz_bt"; 280d1de41d7SSimon Glass }; 281d1de41d7SSimon Glass 282d1de41d7SSimon Glass regulators { 283d1de41d7SSimon Glass ldo4_reg: LDO4 { 284d1de41d7SSimon Glass regulator-name = "P1.0V_LDO_OUT4"; 285d1de41d7SSimon Glass regulator-min-microvolt = <1000000>; 286d1de41d7SSimon Glass regulator-max-microvolt = <1000000>; 287d1de41d7SSimon Glass regulator-always-on; 288d1de41d7SSimon Glass op_mode = <0>; 289d1de41d7SSimon Glass }; 290d1de41d7SSimon Glass 291d1de41d7SSimon Glass ldo5_reg: LDO5 { 292d1de41d7SSimon Glass regulator-name = "P1.8V_LDO_OUT5"; 293d1de41d7SSimon Glass regulator-min-microvolt = <1800000>; 294d1de41d7SSimon Glass regulator-max-microvolt = <1800000>; 295d1de41d7SSimon Glass regulator-always-on; 296d1de41d7SSimon Glass op_mode = <0>; 297d1de41d7SSimon Glass }; 298d1de41d7SSimon Glass 299d1de41d7SSimon Glass ldo6_reg: LDO6 { 300d1de41d7SSimon Glass regulator-name = "vdd_mydp"; 301d1de41d7SSimon Glass regulator-min-microvolt = <1200000>; 302d1de41d7SSimon Glass regulator-max-microvolt = <1200000>; 303d1de41d7SSimon Glass regulator-always-on; 304d1de41d7SSimon Glass op_mode = <3>; 305d1de41d7SSimon Glass }; 306d1de41d7SSimon Glass 307d1de41d7SSimon Glass ldo7_reg: LDO7 { 308d1de41d7SSimon Glass regulator-name = "P1.1V_LDO_OUT7"; 309d1de41d7SSimon Glass regulator-min-microvolt = <1100000>; 310d1de41d7SSimon Glass regulator-max-microvolt = <1100000>; 311d1de41d7SSimon Glass regulator-always-on; 312d1de41d7SSimon Glass op_mode = <3>; 313d1de41d7SSimon Glass }; 314d1de41d7SSimon Glass 315d1de41d7SSimon Glass ldo8_reg: LDO8 { 316d1de41d7SSimon Glass regulator-name = "P1.0V_LDO_OUT8"; 317d1de41d7SSimon Glass regulator-min-microvolt = <1000000>; 318d1de41d7SSimon Glass regulator-max-microvolt = <1000000>; 319d1de41d7SSimon Glass regulator-always-on; 320d1de41d7SSimon Glass op_mode = <3>; 321d1de41d7SSimon Glass }; 322d1de41d7SSimon Glass 323d1de41d7SSimon Glass ldo10_reg: LDO10 { 324d1de41d7SSimon Glass regulator-name = "P1.8V_LDO_OUT10"; 325d1de41d7SSimon Glass regulator-min-microvolt = <1800000>; 326d1de41d7SSimon Glass regulator-max-microvolt = <1800000>; 327d1de41d7SSimon Glass regulator-always-on; 328d1de41d7SSimon Glass op_mode = <3>; 329d1de41d7SSimon Glass }; 330d1de41d7SSimon Glass 331d1de41d7SSimon Glass ldo11_reg: LDO11 { 332d1de41d7SSimon Glass regulator-name = "P1.8V_LDO_OUT11"; 333d1de41d7SSimon Glass regulator-min-microvolt = <1800000>; 334d1de41d7SSimon Glass regulator-max-microvolt = <1800000>; 335d1de41d7SSimon Glass regulator-always-on; 336d1de41d7SSimon Glass op_mode = <0>; 337d1de41d7SSimon Glass }; 338d1de41d7SSimon Glass 339d1de41d7SSimon Glass ldo12_reg: LDO12 { 340d1de41d7SSimon Glass regulator-name = "P3.0V_LDO_OUT12"; 341d1de41d7SSimon Glass regulator-min-microvolt = <3000000>; 342d1de41d7SSimon Glass regulator-max-microvolt = <3000000>; 343d1de41d7SSimon Glass regulator-always-on; 344d1de41d7SSimon Glass op_mode = <3>; 345d1de41d7SSimon Glass }; 346d1de41d7SSimon Glass 347d1de41d7SSimon Glass ldo13_reg: LDO13 { 348d1de41d7SSimon Glass regulator-name = "P1.8V_LDO_OUT13"; 349d1de41d7SSimon Glass regulator-min-microvolt = <1800000>; 350d1de41d7SSimon Glass regulator-max-microvolt = <1800000>; 351d1de41d7SSimon Glass regulator-always-on; 352d1de41d7SSimon Glass op_mode = <0>; 353d1de41d7SSimon Glass }; 354d1de41d7SSimon Glass 355d1de41d7SSimon Glass ldo14_reg: LDO14 { 356d1de41d7SSimon Glass regulator-name = "P1.8V_LDO_OUT14"; 357d1de41d7SSimon Glass regulator-min-microvolt = <1800000>; 358d1de41d7SSimon Glass regulator-max-microvolt = <1800000>; 359d1de41d7SSimon Glass regulator-always-on; 360d1de41d7SSimon Glass op_mode = <3>; 361d1de41d7SSimon Glass }; 362d1de41d7SSimon Glass 363d1de41d7SSimon Glass ldo15_reg: LDO15 { 364d1de41d7SSimon Glass regulator-name = "P1.0V_LDO_OUT15"; 365d1de41d7SSimon Glass regulator-min-microvolt = <1000000>; 366d1de41d7SSimon Glass regulator-max-microvolt = <1000000>; 367d1de41d7SSimon Glass regulator-always-on; 368d1de41d7SSimon Glass op_mode = <3>; 369d1de41d7SSimon Glass }; 370d1de41d7SSimon Glass 371d1de41d7SSimon Glass ldo16_reg: LDO16 { 372d1de41d7SSimon Glass regulator-name = "P1.8V_LDO_OUT16"; 373d1de41d7SSimon Glass regulator-min-microvolt = <1800000>; 374d1de41d7SSimon Glass regulator-max-microvolt = <1800000>; 375d1de41d7SSimon Glass regulator-always-on; 376d1de41d7SSimon Glass op_mode = <3>; 377d1de41d7SSimon Glass }; 378d1de41d7SSimon Glass 379d1de41d7SSimon Glass ldo17_reg: LDO17 { 380d1de41d7SSimon Glass regulator-name = "P1.2V_LDO_OUT17"; 381d1de41d7SSimon Glass regulator-min-microvolt = <1200000>; 382d1de41d7SSimon Glass regulator-max-microvolt = <1200000>; 383d1de41d7SSimon Glass regulator-always-on; 384d1de41d7SSimon Glass op_mode = <0>; 385d1de41d7SSimon Glass }; 386d1de41d7SSimon Glass 387d1de41d7SSimon Glass ldo25_reg: LDO25 { 388d1de41d7SSimon Glass regulator-name = "vdd_bridge"; 389d1de41d7SSimon Glass regulator-min-microvolt = <1200000>; 390d1de41d7SSimon Glass regulator-max-microvolt = <1200000>; 391d1de41d7SSimon Glass regulator-always-on; 392d1de41d7SSimon Glass op_mode = <1>; 393d1de41d7SSimon Glass }; 394d1de41d7SSimon Glass 395d1de41d7SSimon Glass buck1_reg: BUCK1 { 396d1de41d7SSimon Glass regulator-name = "vdd_mif"; 397d1de41d7SSimon Glass regulator-min-microvolt = <950000>; 398d1de41d7SSimon Glass regulator-max-microvolt = <1300000>; 399d1de41d7SSimon Glass regulator-always-on; 400d1de41d7SSimon Glass regulator-boot-on; 401d1de41d7SSimon Glass op_mode = <3>; 402d1de41d7SSimon Glass }; 403d1de41d7SSimon Glass 404d1de41d7SSimon Glass buck2_reg: BUCK2 { 405d1de41d7SSimon Glass regulator-name = "vdd_arm"; 406d1de41d7SSimon Glass regulator-min-microvolt = <850000>; 407d1de41d7SSimon Glass regulator-max-microvolt = <1350000>; 408d1de41d7SSimon Glass regulator-always-on; 409d1de41d7SSimon Glass regulator-boot-on; 410d1de41d7SSimon Glass op_mode = <3>; 411d1de41d7SSimon Glass }; 412d1de41d7SSimon Glass 413d1de41d7SSimon Glass buck3_reg: BUCK3 { 414d1de41d7SSimon Glass regulator-name = "vdd_int"; 415d1de41d7SSimon Glass regulator-min-microvolt = <900000>; 416d1de41d7SSimon Glass regulator-max-microvolt = <1200000>; 417d1de41d7SSimon Glass regulator-always-on; 418d1de41d7SSimon Glass regulator-boot-on; 419d1de41d7SSimon Glass op_mode = <3>; 420d1de41d7SSimon Glass }; 421d1de41d7SSimon Glass 422d1de41d7SSimon Glass buck4_reg: BUCK4 { 423d1de41d7SSimon Glass regulator-name = "vdd_g3d"; 424d1de41d7SSimon Glass regulator-min-microvolt = <850000>; 425d1de41d7SSimon Glass regulator-max-microvolt = <1300000>; 426d1de41d7SSimon Glass regulator-boot-on; 427d1de41d7SSimon Glass op_mode = <3>; 428d1de41d7SSimon Glass }; 429d1de41d7SSimon Glass 430d1de41d7SSimon Glass buck5_reg: BUCK5 { 431d1de41d7SSimon Glass regulator-name = "P1.8V_BUCK_OUT5"; 432d1de41d7SSimon Glass regulator-min-microvolt = <1800000>; 433d1de41d7SSimon Glass regulator-max-microvolt = <1800000>; 434d1de41d7SSimon Glass regulator-always-on; 435d1de41d7SSimon Glass regulator-boot-on; 436d1de41d7SSimon Glass op_mode = <1>; 437d1de41d7SSimon Glass }; 438d1de41d7SSimon Glass 439d1de41d7SSimon Glass buck6_reg: BUCK6 { 440d1de41d7SSimon Glass regulator-name = "P1.2V_BUCK_OUT6"; 441d1de41d7SSimon Glass regulator-min-microvolt = <2050000>; 442d1de41d7SSimon Glass regulator-max-microvolt = <2050000>; 443d1de41d7SSimon Glass regulator-always-on; 444d1de41d7SSimon Glass regulator-boot-on; 445d1de41d7SSimon Glass op_mode = <0>; 446d1de41d7SSimon Glass }; 447d1de41d7SSimon Glass 448d1de41d7SSimon Glass buck9_reg: BUCK9 { 449d1de41d7SSimon Glass regulator-name = "vdd_ummc"; 450d1de41d7SSimon Glass regulator-min-microvolt = <950000>; 451d1de41d7SSimon Glass regulator-max-microvolt = <3000000>; 452d1de41d7SSimon Glass regulator-always-on; 453d1de41d7SSimon Glass regulator-boot-on; 454d1de41d7SSimon Glass op_mode = <3>; 455d1de41d7SSimon Glass }; 456d1de41d7SSimon Glass }; 457d1de41d7SSimon Glass }; 458d1de41d7SSimon Glass}; 459d1de41d7SSimon Glass 460f948f5deSSimon Glass&dp { 461f948f5deSSimon Glass status = "okay"; 462f948f5deSSimon Glass samsung,color-space = <0>; 463f948f5deSSimon Glass samsung,dynamic-range = <0>; 464f948f5deSSimon Glass samsung,ycbcr-coeff = <0>; 465f948f5deSSimon Glass samsung,color-depth = <1>; 466f948f5deSSimon Glass samsung,link-rate = <0x0a>; 467f948f5deSSimon Glass samsung,lane-count = <1>; 468f948f5deSSimon Glass samsung,hpd-gpio = <&gpc3 0 GPIO_ACTIVE_HIGH>; 469f948f5deSSimon Glass 470f948f5deSSimon Glass ports { 471f948f5deSSimon Glass port@0 { 472f948f5deSSimon Glass dp_out: endpoint { 473f948f5deSSimon Glass remote-endpoint = <&bridge_in>; 474f948f5deSSimon Glass }; 475f948f5deSSimon Glass }; 476f948f5deSSimon Glass }; 477f948f5deSSimon Glass}; 478f948f5deSSimon Glass 479d1de41d7SSimon Glass&i2c_1 { 480d1de41d7SSimon Glass status = "okay"; 481d1de41d7SSimon Glass samsung,i2c-sda-delay = <100>; 482d1de41d7SSimon Glass samsung,i2c-max-bus-freq = <378000>; 483d1de41d7SSimon Glass}; 484d1de41d7SSimon Glass 485d1de41d7SSimon Glass&i2c_2 { 486d1de41d7SSimon Glass status = "okay"; 487d1de41d7SSimon Glass samsung,i2c-sda-delay = <100>; 488d1de41d7SSimon Glass samsung,i2c-max-bus-freq = <66000>; 489d1de41d7SSimon Glass}; 490d1de41d7SSimon Glass 491d1de41d7SSimon Glass&i2c_3 { 492d1de41d7SSimon Glass status = "okay"; 493d1de41d7SSimon Glass samsung,i2c-sda-delay = <100>; 494d1de41d7SSimon Glass samsung,i2c-max-bus-freq = <66000>; 495d1de41d7SSimon Glass}; 496d1de41d7SSimon Glass 497d1de41d7SSimon Glass&i2c_4 { 498d1de41d7SSimon Glass status = "okay"; 499d1de41d7SSimon Glass samsung,i2c-sda-delay = <100>; 500d1de41d7SSimon Glass samsung,i2c-max-bus-freq = <66000>; 501d1de41d7SSimon Glass clock-frequency = <66000>; 502d1de41d7SSimon Glass 503d1de41d7SSimon Glass cros_ec: embedded-controller { 504d1de41d7SSimon Glass compatible = "google,cros-ec-i2c"; 505d1de41d7SSimon Glass reg = <0x1e>; 506d1de41d7SSimon Glass interrupts = <6 IRQ_TYPE_NONE>; 507d1de41d7SSimon Glass interrupt-parent = <&gpx1>; 508d1de41d7SSimon Glass wakeup-source; 509d1de41d7SSimon Glass u-boot,i2c-offset-len = <0>; 510d1de41d7SSimon Glass ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>; 511d1de41d7SSimon Glass cros_ec_ldo_tunnel: cros-ec-ldo-tunnel { 512d1de41d7SSimon Glass compatible = "google,cros-ec-ldo-tunnel"; 513d1de41d7SSimon Glass #address-cells = <1>; 514d1de41d7SSimon Glass #size-cells = <0>; 515d1de41d7SSimon Glass power-regulator { 516d1de41d7SSimon Glass compatible = "ti,tps65090"; 517d1de41d7SSimon Glass reg = <0x48>; 518d1de41d7SSimon Glass 519d1de41d7SSimon Glass regulators { 520d1de41d7SSimon Glass dcdc1 { 521d1de41d7SSimon Glass ti,enable-ext-control; 522d1de41d7SSimon Glass }; 523d1de41d7SSimon Glass dcdc2 { 524d1de41d7SSimon Glass ti,enable-ext-control; 525d1de41d7SSimon Glass }; 526d1de41d7SSimon Glass dcdc3 { 527d1de41d7SSimon Glass ti,enable-ext-control; 528d1de41d7SSimon Glass }; 529d1de41d7SSimon Glass fet1: fet1 { 530d1de41d7SSimon Glass regulator-name = "vcd_led"; 531d1de41d7SSimon Glass ti,overcurrent-wait = <3>; 532d1de41d7SSimon Glass }; 533d1de41d7SSimon Glass tps65090_fet2: fet2 { 534d1de41d7SSimon Glass regulator-name = "video_mid"; 535d1de41d7SSimon Glass regulator-always-on; 536d1de41d7SSimon Glass ti,overcurrent-wait = <3>; 537d1de41d7SSimon Glass }; 538d1de41d7SSimon Glass fet3 { 539d1de41d7SSimon Glass regulator-name = "wwan_r"; 540d1de41d7SSimon Glass regulator-always-on; 541d1de41d7SSimon Glass ti,overcurrent-wait = <3>; 542d1de41d7SSimon Glass }; 543d1de41d7SSimon Glass fet4 { 544d1de41d7SSimon Glass regulator-name = "sdcard"; 545d1de41d7SSimon Glass ti,overcurrent-wait = <3>; 546d1de41d7SSimon Glass }; 547d1de41d7SSimon Glass fet5 { 548d1de41d7SSimon Glass regulator-name = "camout"; 549d1de41d7SSimon Glass regulator-always-on; 550d1de41d7SSimon Glass ti,overcurrent-wait = <3>; 551d1de41d7SSimon Glass }; 552d1de41d7SSimon Glass fet6: fet6 { 553d1de41d7SSimon Glass regulator-name = "lcd_vdd"; 554d1de41d7SSimon Glass ti,overcurrent-wait = <3>; 555d1de41d7SSimon Glass }; 556d1de41d7SSimon Glass tps65090_fet7: fet7 { 557d1de41d7SSimon Glass regulator-name = "video_mid_1a"; 558d1de41d7SSimon Glass regulator-always-on; 559d1de41d7SSimon Glass ti,overcurrent-wait = <3>; 560d1de41d7SSimon Glass }; 561d1de41d7SSimon Glass ldo1 { 562d1de41d7SSimon Glass }; 563d1de41d7SSimon Glass ldo2 { 564d1de41d7SSimon Glass }; 565d1de41d7SSimon Glass }; 566d1de41d7SSimon Glass }; 567d1de41d7SSimon Glass }; 568d1de41d7SSimon Glass }; 569d1de41d7SSimon Glass}; 570d1de41d7SSimon Glass 571d1de41d7SSimon Glass&i2c_5 { 572d1de41d7SSimon Glass status = "okay"; 573d1de41d7SSimon Glass samsung,i2c-sda-delay = <100>; 574d1de41d7SSimon Glass samsung,i2c-max-bus-freq = <66000>; 575d1de41d7SSimon Glass}; 576d1de41d7SSimon Glass 577d1de41d7SSimon Glass&i2c_7 { 578d1de41d7SSimon Glass status = "okay"; 579d1de41d7SSimon Glass samsung,i2c-sda-delay = <100>; 580d1de41d7SSimon Glass samsung,i2c-max-bus-freq = <66000>; 581d1de41d7SSimon Glass 582d1de41d7SSimon Glass ps8622-bridge@8 { 583d1de41d7SSimon Glass compatible = "parade,ps8622"; 584d1de41d7SSimon Glass reg = <0x8>; 585d1de41d7SSimon Glass sleep-gpios = <&gpc3 6 GPIO_ACTIVE_LOW>; 586d1de41d7SSimon Glass reset-gpios = <&gpc3 1 GPIO_ACTIVE_LOW>; 587d1de41d7SSimon Glass hotplug-gpios = <&gpc3 0 GPIO_ACTIVE_HIGH>; 588d1de41d7SSimon Glass power-supply = <&ldo6_reg>; 589d1de41d7SSimon Glass parade,regs = /bits/ 8 < 590d1de41d7SSimon Glass 0x02 0xa1 0x01 /* HPD low */ 591d1de41d7SSimon Glass /* 592d1de41d7SSimon Glass * SW setting: [1:0] SW output 1.2V voltage is 593d1de41d7SSimon Glass * lower to 96% 594d1de41d7SSimon Glass */ 595d1de41d7SSimon Glass 0x04 0x14 0x01 596d1de41d7SSimon Glass /* RCO SS setting: [5:4] = b01 0.5%, b10 1%, b11 1.5% */ 597d1de41d7SSimon Glass 0x04 0xe3 0x20 598d1de41d7SSimon Glass 0x04 0xe2 0x80 /* [7] RCO SS enable */ 599d1de41d7SSimon Glass /* 600d1de41d7SSimon Glass * RPHY Setting: [3:2] CDR tune wait cycle before 601d1de41d7SSimon Glass * measure for fine tune b00: 1us, 602d1de41d7SSimon Glass * 01: 0.5us, 10:2us, 11:4us 603d1de41d7SSimon Glass */ 604d1de41d7SSimon Glass 0x04 0x8a 0x0c 605d1de41d7SSimon Glass 0x04 0x89 0x08 /* [3] RFD always on */ 606d1de41d7SSimon Glass /* 607d1de41d7SSimon Glass * CTN lock in/out: 20000ppm/80000ppm. Lock out 2 times 608d1de41d7SSimon Glass */ 609d1de41d7SSimon Glass 0x04 0x71 0x2d 610d1de41d7SSimon Glass /* 2.7G CDR settings */ 611d1de41d7SSimon Glass 0x04 0x7d 0x07 /* NOF=40LSB for HBR CDR setting */ 612d1de41d7SSimon Glass 0x04 0x7b 0x00 /* [1:0] Fmin=+4bands */ 613d1de41d7SSimon Glass 0x04 0x7a 0xfd /* [7:5] DCO_FTRNG=+-40% */ 614d1de41d7SSimon Glass /* 615d1de41d7SSimon Glass * 1.62G CDR settings: 616d1de41d7SSimon Glass * [5:2]NOF=64LSB [1:0]DCO scale is 2/5 617d1de41d7SSimon Glass */ 618d1de41d7SSimon Glass 0x04 0xc0 0x12 619d1de41d7SSimon Glass 0x04 0xc1 0x92 /* Gitune=-37% */ 620d1de41d7SSimon Glass 0x04 0xc2 0x1c /* Fbstep=100% */ 621d1de41d7SSimon Glass 0x04 0x32 0x80 /* [7] LOS signal disable */ 622d1de41d7SSimon Glass /* RPIO Setting */ 623d1de41d7SSimon Glass /* [7:4] LVDS driver bias current 75% (250mV swing) */ 624d1de41d7SSimon Glass 0x04 0x00 0xb0 625d1de41d7SSimon Glass /* [7:6] Right-bar GPIO output strength is 8mA */ 626d1de41d7SSimon Glass 0x04 0x15 0x40 627d1de41d7SSimon Glass /* EQ Training State Machine Setting */ 628d1de41d7SSimon Glass 0x04 0x54 0x10 /* RCO calibration start */ 629d1de41d7SSimon Glass /* [4:0] MAX_LANE_COUNT set to one lane */ 630d1de41d7SSimon Glass 0x01 0x02 0x81 631d1de41d7SSimon Glass /* [4:0] LANE_COUNT_SET set to one lane */ 632d1de41d7SSimon Glass 0x01 0x21 0x81 633d1de41d7SSimon Glass 0x00 0x52 0x20 634d1de41d7SSimon Glass 0x00 0xf1 0x03 /* HPD CP toggle enable */ 635d1de41d7SSimon Glass 0x00 0x62 0x41 636d1de41d7SSimon Glass /* Counter number add 1ms counter delay */ 637d1de41d7SSimon Glass 0x00 0xf6 0x01 638d1de41d7SSimon Glass /* 639d1de41d7SSimon Glass * [6]PWM function control by DPCD0040f[7], default 640d1de41d7SSimon Glass * is PWM block always works 641d1de41d7SSimon Glass */ 642d1de41d7SSimon Glass 0x00 0x77 0x06 643d1de41d7SSimon Glass 0x00 0x4c 0x04 644d1de41d7SSimon Glass /* 645d1de41d7SSimon Glass * 04h Adjust VTotal tolerance to fix the 30Hz no- 646d1de41d7SSimon Glass * display issue 647d1de41d7SSimon Glass * DPCD00400='h00 Parade OUI = 'h001cf8 648d1de41d7SSimon Glass */ 649d1de41d7SSimon Glass 0x01 0xc0 0x00 650d1de41d7SSimon Glass 0x01 0xc1 0x1c /* DPCD00401='h1c */ 651d1de41d7SSimon Glass 0x01 0xc2 0xf8 /* DPCD00402='hf8 */ 652d1de41d7SSimon Glass /* DPCD403~408 = ASCII code D2SLV5='h4432534c5635 */ 653d1de41d7SSimon Glass 0x01 0xc3 0x44 654d1de41d7SSimon Glass 0x01 0xc4 0x32 /* DPCD404 */ 655d1de41d7SSimon Glass 0x01 0xc5 0x53 /* DPCD405 */ 656d1de41d7SSimon Glass 0x01 0xc6 0x4c /* DPCD406 */ 657d1de41d7SSimon Glass 0x01 0xc7 0x56 /* DPCD407 */ 658d1de41d7SSimon Glass 0x01 0xc8 0x35 /* DPCD408 */ 659d1de41d7SSimon Glass /* DPCD40A Initial Code major revision '01' */ 660d1de41d7SSimon Glass 0x01 0xca 0x01 661d1de41d7SSimon Glass /* DPCD40B Initial Code minor revision '05' */ 662d1de41d7SSimon Glass 0x01 0xcb 0x05 663d1de41d7SSimon Glass 0x01 0xa5 0xa0 /* DPCD720, Select internal PWM */ 664d1de41d7SSimon Glass /* 665d1de41d7SSimon Glass * 0xff for 100% PWM of brightness, 0h for 0% brightness 666d1de41d7SSimon Glass */ 667d1de41d7SSimon Glass 0x01 0xa7 0x00 668d1de41d7SSimon Glass /* 669d1de41d7SSimon Glass * Set LVDS output as 6bit-VESA mapping, single LVDS 670d1de41d7SSimon Glass * channel 671d1de41d7SSimon Glass */ 672d1de41d7SSimon Glass 0x01 0xcc 0x13 673d1de41d7SSimon Glass 0x02 0xb1 0x20 /* Enable SSC set by register */ 674d1de41d7SSimon Glass /* Set SSC enabled and +/-1% central spreading */ 675d1de41d7SSimon Glass 0x04 0x10 0x16 676d1de41d7SSimon Glass 0x04 0x59 0x60 /* MPU Clock source: LC => RCO */ 677d1de41d7SSimon Glass 0x04 0x54 0x14 /* LC -> RCO */ 678d1de41d7SSimon Glass 0x02 0xa1 0x91>; /* HPD high */ 679f948f5deSSimon Glass ports { 680f948f5deSSimon Glass port@0 { 681f948f5deSSimon Glass bridge_out: endpoint { 682f948f5deSSimon Glass remote-endpoint = <&panel_in>; 683f948f5deSSimon Glass }; 684f948f5deSSimon Glass }; 685f948f5deSSimon Glass 686f948f5deSSimon Glass port@1 { 687f948f5deSSimon Glass bridge_in: endpoint { 688f948f5deSSimon Glass remote-endpoint = <&dp_out>; 689f948f5deSSimon Glass }; 690f948f5deSSimon Glass }; 691f948f5deSSimon Glass }; 692d1de41d7SSimon Glass }; 693d1de41d7SSimon Glass 6948d135f5cSSimon Glass max98088: soundcodec@10 { 69593a98a6fSSimon Glass reg = <0x10>; 6968d135f5cSSimon Glass compatible = "maxim,max98088"; 69793a98a6fSSimon Glass #sound-dai-cells = <1>; 698d1de41d7SSimon Glass }; 699d1de41d7SSimon Glass}; 700d1de41d7SSimon Glass 701d1de41d7SSimon Glass#include "cros-ec-keyboard.dtsi" 702