Tom Rini | 10e4779 | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0+ |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 2 | /* |
| 3 | * SAMSUNG/GOOGLE Peach-Pit board device tree source |
| 4 | * |
| 5 | * Copyright (c) 2013 Samsung Electronics Co., Ltd. |
| 6 | * http://www.samsung.com |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 7 | */ |
| 8 | |
| 9 | /dts-v1/; |
Simon Glass | 78cefc0 | 2014-10-20 19:48:29 -0600 | [diff] [blame] | 10 | #include "exynos54xx.dtsi" |
Simon Glass | 6706367 | 2016-02-21 21:08:58 -0700 | [diff] [blame] | 11 | #include <dt-bindings/clock/maxim,max77802.h> |
| 12 | #include <dt-bindings/regulator/maxim,max77802.h> |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 13 | |
| 14 | / { |
| 15 | model = "Samsung/Google Peach Pit board based on Exynos5420"; |
| 16 | |
| 17 | compatible = "google,pit-rev#", "google,pit", |
| 18 | "google,peach", "samsung,exynos5420", "samsung,exynos5"; |
| 19 | |
| 20 | config { |
Simon Glass | dabafc3 | 2015-01-05 20:05:42 -0700 | [diff] [blame] | 21 | google,bad-wake-gpios = <&gpx0 6 GPIO_ACTIVE_HIGH>; |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 22 | hwid = "PIT TEST A-A 7848"; |
| 23 | lazy-init = <1>; |
| 24 | }; |
| 25 | |
| 26 | aliases { |
| 27 | serial0 = "/serial@12C30000"; |
| 28 | console = "/serial@12C30000"; |
Simon Glass | 2a61b44 | 2015-07-02 18:15:48 -0600 | [diff] [blame] | 29 | pmic = "/i2c@12CA0000"; |
Simon Glass | 9619944 | 2015-07-02 18:15:50 -0600 | [diff] [blame] | 30 | i2c104 = &i2c_tunnel; |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 31 | }; |
| 32 | |
Simon Glass | 6706367 | 2016-02-21 21:08:58 -0700 | [diff] [blame] | 33 | backlight: backlight { |
| 34 | compatible = "pwm-backlight"; |
| 35 | pwms = <&pwm 0 1000000 0>; |
| 36 | brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; |
| 37 | default-brightness-level = <7>; |
| 38 | power-supply = <&tps65090_fet1>; |
| 39 | }; |
| 40 | |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 41 | dmc { |
| 42 | mem-manuf = "samsung"; |
| 43 | mem-type = "ddr3"; |
| 44 | clock-frequency = <800000000>; |
Simon Glass | c337632 | 2014-10-07 22:01:38 -0600 | [diff] [blame] | 45 | arm-frequency = <900000000>; |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 46 | }; |
| 47 | |
| 48 | tmu@10060000 { |
| 49 | samsung,min-temp = <25>; |
| 50 | samsung,max-temp = <125>; |
| 51 | samsung,start-warning = <95>; |
| 52 | samsung,start-tripping = <105>; |
| 53 | samsung,hw-tripping = <110>; |
| 54 | samsung,efuse-min-value = <40>; |
| 55 | samsung,efuse-value = <55>; |
| 56 | samsung,efuse-max-value = <100>; |
| 57 | samsung,slope = <274761730>; |
| 58 | samsung,dc-value = <25>; |
| 59 | }; |
| 60 | |
| 61 | /* MAX77802 is on i2c bus 4 */ |
Simon Glass | 2a61b44 | 2015-07-02 18:15:48 -0600 | [diff] [blame] | 62 | i2c@12CA0000 { |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 63 | clock-frequency = <400000>; |
| 64 | power-regulator@9 { |
| 65 | compatible = "maxim,max77802-pmic"; |
| 66 | reg = <0x9>; |
| 67 | }; |
| 68 | }; |
| 69 | |
Simon Glass | 38d0bb3 | 2018-12-10 10:37:44 -0700 | [diff] [blame] | 70 | sound { |
| 71 | compatible = "google,peach-audio-max98090"; |
| 72 | |
| 73 | samsung,model = "PEACH-I2S-MAX98090"; |
| 74 | samsung,audio-codec = <&max98090>; |
| 75 | |
| 76 | cpu { |
| 77 | sound-dai = <&i2s0 0>; |
| 78 | }; |
| 79 | |
| 80 | codec { |
| 81 | sound-dai = <&max98090 0>; |
| 82 | }; |
| 83 | }; |
| 84 | |
Simon Glass | 2a61b44 | 2015-07-02 18:15:48 -0600 | [diff] [blame] | 85 | i2c@12CD0000 { /* i2c7 */ |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 86 | clock-frequency = <100000>; |
Simon Glass | 38d0bb3 | 2018-12-10 10:37:44 -0700 | [diff] [blame] | 87 | max98090: soundcodec@10 { |
Simon Glass | 15a94be | 2018-12-10 10:37:30 -0700 | [diff] [blame] | 88 | reg = <0x10>; |
Simon Glass | 38d0bb3 | 2018-12-10 10:37:44 -0700 | [diff] [blame] | 89 | compatible = "maxim,max98090"; |
| 90 | #sound-dai-cells = <1>; |
Simon Glass | 15a94be | 2018-12-10 10:37:30 -0700 | [diff] [blame] | 91 | }; |
Ajay Kumar | b5a0287 | 2014-09-05 16:53:37 +0530 | [diff] [blame] | 92 | |
Simon Glass | 5da3651 | 2015-07-02 18:16:18 -0600 | [diff] [blame] | 93 | edp-lvds-bridge@48 { |
| 94 | compatible = "parade,ps8625"; |
| 95 | reg = <0x48>; |
| 96 | sleep-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; |
| 97 | reset-gpios = <&gpy7 7 GPIO_ACTIVE_LOW>; |
| 98 | parade,regs = /bits/ 8 < |
| 99 | 0x02 0xa1 0x01 /* HPD low */ |
| 100 | /* |
| 101 | * SW setting |
| 102 | * [1:0] SW output 1.2V voltage is lower to 96% |
| 103 | */ |
| 104 | 0x04 0x14 0x01 |
| 105 | /* |
| 106 | * RCO SS setting |
| 107 | * [5:4] = b01 0.5%, b10 1%, b11 1.5% |
| 108 | */ |
| 109 | 0x04 0xe3 0x20 |
| 110 | 0x04 0xe2 0x80 /* [7] RCO SS enable */ |
| 111 | /* |
| 112 | * RPHY Setting |
| 113 | * [3:2] CDR tune wait cycle before |
| 114 | * measure for fine tune b00: 1us, |
| 115 | * 01: 0.5us, 10:2us, 11:4us. |
| 116 | */ |
| 117 | 0x04 0x8a 0x0c |
| 118 | 0x04 0x89 0x08 /* [3] RFD always on */ |
| 119 | /* |
| 120 | * CTN lock in/out: |
| 121 | * 20000ppm/80000ppm. Lock out 2 |
| 122 | * times. |
| 123 | */ |
| 124 | 0x04 0x71 0x2d |
| 125 | /* |
| 126 | * 2.7G CDR settings |
| 127 | * NOF=40LSB for HBR CDR setting |
| 128 | */ |
| 129 | 0x04 0x7d 0x07 |
| 130 | 0x04 0x7b 0x00 /* [1:0] Fmin=+4bands */ |
| 131 | 0x04 0x7a 0xfd /* [7:5] DCO_FTRNG=+-40% */ |
| 132 | /* |
| 133 | * 1.62G CDR settings |
| 134 | * [5:2]NOF=64LSB [1:0]DCO scale is 2/5 |
| 135 | */ |
| 136 | 0x04 0xc0 0x12 |
| 137 | 0x04 0xc1 0x92 /* Gitune=-37% */ |
| 138 | 0x04 0xc2 0x1c /* Fbstep=100% */ |
| 139 | 0x04 0x32 0x80 /* [7]LOS signal disable */ |
| 140 | /* |
| 141 | * RPIO Setting |
| 142 | * [7:4] LVDS driver bias current : |
| 143 | * 75% (250mV swing) |
| 144 | */ |
| 145 | 0x04 0x00 0xb0 |
| 146 | /* |
| 147 | * [7:6] Right-bar GPIO output strength is 8mA |
| 148 | */ |
| 149 | 0x04 0x15 0x40 |
| 150 | /* EQ Training State Machine Setting */ |
| 151 | 0x04 0x54 0x10 /* RCO calibration start */ |
| 152 | /* [4:0] MAX_LANE_COUNT set to one lane */ |
| 153 | 0x01 0x02 0x81 |
| 154 | /* [4:0] LANE_COUNT_SET set to one lane */ |
| 155 | 0x01 0x21 0x81 |
| 156 | 0x00 0x52 0x20 |
| 157 | 0x00 0xf1 0x03 /* HPD CP toggle enable */ |
| 158 | 0x00 0x62 0x41 |
| 159 | /* Counter number add 1ms counter delay */ |
| 160 | 0x00 0xf6 0x01 |
| 161 | /* |
| 162 | * [6]PWM function control by |
| 163 | * DPCD0040f[7], default is PWM |
| 164 | * block always works. |
| 165 | */ |
| 166 | 0x00 0x77 0x06 |
| 167 | /* |
| 168 | * 04h Adjust VTotal tolerance to |
| 169 | * fix the 30Hz no display issue |
| 170 | */ |
| 171 | 0x00 0x4c 0x04 |
| 172 | /* DPCD00400='h00, Parade OUI = 'h001cf8 */ |
| 173 | 0x01 0xc0 0x00 |
| 174 | 0x01 0xc1 0x1c /* DPCD00401='h1c */ |
| 175 | 0x01 0xc2 0xf8 /* DPCD00402='hf8 */ |
| 176 | /* |
| 177 | * DPCD403~408 = ASCII code |
| 178 | * D2SLV5='h4432534c5635 |
| 179 | */ |
| 180 | 0x01 0xc3 0x44 |
| 181 | 0x01 0xc4 0x32 /* DPCD404 */ |
| 182 | 0x01 0xc5 0x53 /* DPCD405 */ |
| 183 | 0x01 0xc6 0x4c /* DPCD406 */ |
| 184 | 0x01 0xc7 0x56 /* DPCD407 */ |
| 185 | 0x01 0xc8 0x35 /* DPCD408 */ |
| 186 | /* |
| 187 | * DPCD40A, Initial Code major revision |
| 188 | * '01' |
| 189 | */ |
| 190 | 0x01 0xca 0x01 |
| 191 | /* DPCD40B Initial Code minor revision '05' */ |
| 192 | 0x01 0xcb 0x05 |
| 193 | /* DPCD720 Select internal PWM */ |
| 194 | 0x01 0xa5 0xa0 |
| 195 | /* |
| 196 | * FFh for 100% PWM of brightness, 0h for 0% |
| 197 | * brightness |
| 198 | */ |
| 199 | 0x01 0xa7 0xff |
| 200 | /* |
| 201 | * Set LVDS output as 6bit-VESA mapping, |
| 202 | * single LVDS channel |
| 203 | */ |
| 204 | 0x01 0xcc 0x13 |
| 205 | /* Enable SSC set by register */ |
| 206 | 0x02 0xb1 0x20 |
| 207 | /* |
| 208 | * Set SSC enabled and +/-1% central |
| 209 | * spreading |
| 210 | */ |
| 211 | 0x04 0x10 0x16 |
| 212 | /* MPU Clock source: LC => RCO */ |
| 213 | 0x04 0x59 0x60 |
| 214 | 0x04 0x54 0x14 /* LC -> RCO */ |
| 215 | 0x02 0xa1 0x91>; /* HPD high */ |
Simon Glass | 6706367 | 2016-02-21 21:08:58 -0700 | [diff] [blame] | 216 | |
| 217 | ports { |
| 218 | port@0 { |
| 219 | bridge_out: endpoint { |
| 220 | remote-endpoint = <&panel_in>; |
| 221 | }; |
| 222 | }; |
| 223 | |
| 224 | port@1 { |
| 225 | bridge_in: endpoint { |
| 226 | remote-endpoint = <&dp_out>; |
| 227 | }; |
| 228 | }; |
| 229 | }; |
Ajay Kumar | b5a0287 | 2014-09-05 16:53:37 +0530 | [diff] [blame] | 230 | }; |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 231 | }; |
| 232 | |
| 233 | sound@3830000 { |
| 234 | samsung,codec-type = "max98090"; |
| 235 | }; |
| 236 | |
Simon Glass | 2a61b44 | 2015-07-02 18:15:48 -0600 | [diff] [blame] | 237 | i2c@12E10000 { /* i2c9 */ |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 238 | clock-frequency = <400000>; |
Simon Glass | 1132853 | 2015-08-22 18:31:37 -0600 | [diff] [blame] | 239 | tpm@20 { |
| 240 | compatible = "infineon,slb9645tt"; |
| 241 | reg = <0x20>; |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 242 | }; |
| 243 | }; |
| 244 | |
Simon Glass | 6706367 | 2016-02-21 21:08:58 -0700 | [diff] [blame] | 245 | panel: panel { |
| 246 | compatible = "auo,b116xw03"; |
| 247 | power-supply = <&tps65090_fet6>; |
| 248 | backlight = <&backlight>; |
| 249 | |
| 250 | port { |
| 251 | panel_in: endpoint { |
| 252 | remote-endpoint = <&bridge_out>; |
| 253 | }; |
| 254 | }; |
| 255 | }; |
| 256 | |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 257 | spi@12d30000 { /* spi1 */ |
| 258 | spi-max-frequency = <50000000>; |
| 259 | firmware_storage_spi: flash@0 { |
Neil Armstrong | a009fa7 | 2019-02-10 10:16:20 +0000 | [diff] [blame] | 260 | compatible = "jedec,spi-nor"; |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 261 | reg = <0>; |
| 262 | |
| 263 | /* |
| 264 | * A region for the kernel to store a panic event |
| 265 | * which the firmware will add to the log. |
| 266 | */ |
| 267 | elog-panic-event-offset = <0x01e00000 0x100000>; |
| 268 | |
| 269 | elog-shrink-size = <0x400>; |
| 270 | elog-full-threshold = <0xc00>; |
| 271 | }; |
| 272 | }; |
| 273 | |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 274 | xhci@12000000 { |
Simon Glass | dabafc3 | 2015-01-05 20:05:42 -0700 | [diff] [blame] | 275 | samsung,vbus-gpio = <&gph0 0 GPIO_ACTIVE_HIGH>; |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 276 | }; |
| 277 | |
| 278 | xhci@12400000 { |
Simon Glass | dabafc3 | 2015-01-05 20:05:42 -0700 | [diff] [blame] | 279 | samsung,vbus-gpio = <&gph0 1 GPIO_ACTIVE_HIGH>; |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 280 | }; |
Ajay Kumar | b5a0287 | 2014-09-05 16:53:37 +0530 | [diff] [blame] | 281 | |
| 282 | fimd@14400000 { |
| 283 | samsung,vl-freq = <60>; |
| 284 | samsung,vl-col = <1366>; |
| 285 | samsung,vl-row = <768>; |
| 286 | samsung,vl-width = <1366>; |
| 287 | samsung,vl-height = <768>; |
| 288 | |
| 289 | samsung,vl-clkp; |
| 290 | samsung,vl-dp; |
| 291 | samsung,vl-bpix = <4>; |
| 292 | |
| 293 | samsung,vl-hspw = <32>; |
| 294 | samsung,vl-hbpd = <40>; |
| 295 | samsung,vl-hfpd = <40>; |
| 296 | samsung,vl-vspw = <6>; |
| 297 | samsung,vl-vbpd = <10>; |
| 298 | samsung,vl-vfpd = <12>; |
| 299 | samsung,vl-cmd-allow-len = <0xf>; |
| 300 | |
| 301 | samsung,winid = <3>; |
| 302 | samsung,interface-mode = <1>; |
| 303 | samsung,dp-enabled = <1>; |
| 304 | samsung,dual-lcd-enabled = <0>; |
| 305 | }; |
Akshay Saraswat | fdd9df3 | 2014-06-18 17:53:58 +0530 | [diff] [blame] | 306 | }; |
Sjoerd Simons | d2f895f | 2014-11-27 16:34:08 +0100 | [diff] [blame] | 307 | |
Simon Glass | 6706367 | 2016-02-21 21:08:58 -0700 | [diff] [blame] | 308 | &dp { |
| 309 | status = "okay"; |
| 310 | samsung,color-space = <0>; |
| 311 | samsung,dynamic-range = <0>; |
| 312 | samsung,ycbcr-coeff = <0>; |
| 313 | samsung,color-depth = <1>; |
| 314 | samsung,link-rate = <0x06>; |
| 315 | samsung,lane-count = <2>; |
| 316 | samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; |
| 317 | |
| 318 | ports { |
| 319 | port@0 { |
| 320 | dp_out: endpoint { |
| 321 | remote-endpoint = <&bridge_in>; |
| 322 | }; |
| 323 | }; |
| 324 | }; |
| 325 | }; |
| 326 | |
Simon Glass | 9619944 | 2015-07-02 18:15:50 -0600 | [diff] [blame] | 327 | &spi_2 { |
| 328 | spi-max-frequency = <3125000>; |
| 329 | spi-deactivate-delay = <200>; |
| 330 | status = "okay"; |
| 331 | num-cs = <1>; |
| 332 | samsung,spi-src-clk = <0>; |
| 333 | cs-gpios = <&gpb1 2 0>; |
| 334 | |
| 335 | cros_ec: cros-ec@0 { |
| 336 | compatible = "google,cros-ec-spi"; |
| 337 | interrupt-parent = <&gpx1>; |
| 338 | interrupts = <5 0>; |
| 339 | reg = <0>; |
| 340 | spi-half-duplex; |
| 341 | spi-max-timeout-ms = <1100>; |
| 342 | ec-interrupt = <&gpx1 5 GPIO_ACTIVE_LOW>; |
| 343 | #address-cells = <1>; |
| 344 | #size-cells = <1>; |
| 345 | |
| 346 | /* |
| 347 | * This describes the flash memory within the EC. Note |
| 348 | * that the STM32L flash erases to 0, not 0xff. |
| 349 | */ |
| 350 | flash@8000000 { |
| 351 | reg = <0x08000000 0x20000>; |
| 352 | erase-value = <0>; |
| 353 | }; |
| 354 | |
| 355 | controller-data { |
| 356 | samsung,spi-feedback-delay = <1>; |
| 357 | }; |
| 358 | |
| 359 | i2c_tunnel: i2c-tunnel { |
| 360 | compatible = "google,cros-ec-i2c-tunnel"; |
| 361 | #address-cells = <1>; |
| 362 | #size-cells = <0>; |
| 363 | google,remote-bus = <0>; |
| 364 | |
| 365 | battery: sbs-battery@b { |
| 366 | compatible = "sbs,sbs-battery"; |
| 367 | reg = <0xb>; |
| 368 | sbs,poll-retry-count = <1>; |
| 369 | sbs,i2c-retry-count = <2>; |
| 370 | }; |
| 371 | |
| 372 | power-regulator@48 { |
| 373 | compatible = "ti,tps65090"; |
| 374 | reg = <0x48>; |
| 375 | |
| 376 | regulators { |
| 377 | tps65090_dcdc1: dcdc1 { |
| 378 | ti,enable-ext-control; |
| 379 | }; |
| 380 | tps65090_dcdc2: dcdc2 { |
| 381 | ti,enable-ext-control; |
| 382 | }; |
| 383 | tps65090_dcdc3: dcdc3 { |
| 384 | ti,enable-ext-control; |
| 385 | }; |
| 386 | tps65090_fet1: fet1 { |
| 387 | regulator-name = "vcd_led"; |
| 388 | }; |
| 389 | tps65090_fet2: fet2 { |
| 390 | regulator-name = "video_mid"; |
| 391 | regulator-always-on; |
| 392 | }; |
| 393 | tps65090_fet3: fet3 { |
| 394 | regulator-name = "wwan_r"; |
| 395 | regulator-always-on; |
| 396 | }; |
| 397 | tps65090_fet4: fet4 { |
| 398 | regulator-name = "sdcard"; |
| 399 | regulator-always-on; |
| 400 | }; |
| 401 | tps65090_fet5: fet5 { |
| 402 | regulator-name = "camout"; |
| 403 | regulator-always-on; |
| 404 | }; |
| 405 | tps65090_fet6: fet6 { |
| 406 | regulator-name = "lcd_vdd"; |
| 407 | }; |
| 408 | tps65090_fet7: fet7 { |
| 409 | regulator-name = "video_mid_1a"; |
| 410 | regulator-always-on; |
| 411 | }; |
| 412 | tps65090_ldo1: ldo1 { |
| 413 | }; |
| 414 | tps65090_ldo2: ldo2 { |
| 415 | }; |
| 416 | }; |
| 417 | |
| 418 | charger { |
| 419 | compatible = "ti,tps65090-charger"; |
| 420 | }; |
| 421 | }; |
| 422 | }; |
| 423 | }; |
| 424 | }; |
| 425 | |
Sjoerd Simons | d2f895f | 2014-11-27 16:34:08 +0100 | [diff] [blame] | 426 | #include "cros-ec-keyboard.dtsi" |