1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * Google Snow board device tree source 3 * Google Snow board device tree source 4 * 4 * 5 * Copyright (c) 2012 Google, Inc 5 * Copyright (c) 2012 Google, Inc 6 */ 6 */ 7 7 8 #include <dt-bindings/gpio/gpio.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/clock/maxim,max77686.h> 9 #include <dt-bindings/clock/maxim,max77686.h> 10 #include <dt-bindings/interrupt-controller/irq 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/sound/samsung-i2s.h> 12 #include <dt-bindings/sound/samsung-i2s.h> 13 #include "exynos5250.dtsi" 13 #include "exynos5250.dtsi" 14 14 15 / { 15 / { 16 aliases { 16 aliases { 17 i2c104 = &i2c_104; 17 i2c104 = &i2c_104; 18 mmc0 = &mmc_0; /* eMMC */ 18 mmc0 = &mmc_0; /* eMMC */ 19 mmc1 = &mmc_2; /* SD */ 19 mmc1 = &mmc_2; /* SD */ 20 mmc2 = &mmc_3; /* WiFi */ 20 mmc2 = &mmc_3; /* WiFi */ 21 }; 21 }; 22 22 23 memory@40000000 { 23 memory@40000000 { 24 device_type = "memory"; 24 device_type = "memory"; 25 reg = <0x40000000 0x80000000>; 25 reg = <0x40000000 0x80000000>; 26 }; 26 }; 27 27 28 chosen { 28 chosen { 29 bootargs = "console=tty1"; 29 bootargs = "console=tty1"; 30 stdout-path = "serial3:115200n 30 stdout-path = "serial3:115200n8"; 31 }; 31 }; 32 32 33 gpio-keys { 33 gpio-keys { 34 compatible = "gpio-keys"; 34 compatible = "gpio-keys"; 35 pinctrl-names = "default"; 35 pinctrl-names = "default"; 36 pinctrl-0 = <&power_key_irq &l 36 pinctrl-0 = <&power_key_irq &lid_irq>; 37 37 38 power-key { 38 power-key { 39 label = "Power"; 39 label = "Power"; 40 gpios = <&gpx1 3 GPIO_ 40 gpios = <&gpx1 3 GPIO_ACTIVE_LOW>; 41 linux,code = <KEY_POWE 41 linux,code = <KEY_POWER>; 42 wakeup-source; 42 wakeup-source; 43 }; 43 }; 44 44 45 lid-switch { 45 lid-switch { 46 label = "Lid"; 46 label = "Lid"; 47 gpios = <&gpx3 5 GPIO_ 47 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; 48 linux,input-type = <5> 48 linux,input-type = <5>; /* EV_SW */ 49 linux,code = <0>; /* S 49 linux,code = <0>; /* SW_LID */ 50 debounce-interval = <1 50 debounce-interval = <1>; 51 wakeup-source; 51 wakeup-source; 52 }; 52 }; 53 }; 53 }; 54 54 55 vbat: vbat-fixed-regulator { 55 vbat: vbat-fixed-regulator { 56 compatible = "regulator-fixed" 56 compatible = "regulator-fixed"; 57 regulator-name = "vbat-supply" 57 regulator-name = "vbat-supply"; 58 regulator-boot-on; 58 regulator-boot-on; 59 }; 59 }; 60 60 61 i2c-arbitrator { 61 i2c-arbitrator { 62 compatible = "i2c-arb-gpio-cha 62 compatible = "i2c-arb-gpio-challenge"; >> 63 #address-cells = <1>; >> 64 #size-cells = <0>; >> 65 63 i2c-parent = <&i2c_4>; 66 i2c-parent = <&i2c_4>; 64 67 65 our-claim-gpios = <&gpf0 3 GPI !! 68 our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>; 66 their-claim-gpios = <&gpe0 4 G 69 their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>; 67 slew-delay-us = <10>; 70 slew-delay-us = <10>; 68 wait-retry-us = <3000>; 71 wait-retry-us = <3000>; 69 wait-free-us = <50000>; 72 wait-free-us = <50000>; 70 73 71 pinctrl-names = "default"; 74 pinctrl-names = "default"; 72 pinctrl-0 = <&arb_our_claim &a 75 pinctrl-0 = <&arb_our_claim &arb_their_claim>; 73 76 74 /* Use ID 104 as a hint that w 77 /* Use ID 104 as a hint that we're on physical bus 4 */ 75 i2c_104: i2c-arb { !! 78 i2c_104: i2c@0 { >> 79 reg = <0>; 76 #address-cells = <1>; 80 #address-cells = <1>; 77 #size-cells = <0>; 81 #size-cells = <0>; 78 82 79 battery: sbs-battery@b 83 battery: sbs-battery@b { 80 compatible = " 84 compatible = "sbs,sbs-battery"; 81 reg = <0xb>; 85 reg = <0xb>; 82 sbs,poll-retry 86 sbs,poll-retry-count = <1>; 83 }; 87 }; 84 88 85 cros_ec: embedded-cont 89 cros_ec: embedded-controller@1e { 86 compatible = " 90 compatible = "google,cros-ec-i2c"; 87 reg = <0x1e>; 91 reg = <0x1e>; 88 interrupts = < 92 interrupts = <6 IRQ_TYPE_NONE>; 89 interrupt-pare 93 interrupt-parent = <&gpx1>; 90 pinctrl-names 94 pinctrl-names = "default"; 91 pinctrl-0 = <& 95 pinctrl-0 = <&ec_irq>; 92 wakeup-source; 96 wakeup-source; 93 }; 97 }; 94 98 95 power-regulator@48 { 99 power-regulator@48 { 96 compatible = " 100 compatible = "ti,tps65090"; 97 reg = <0x48>; 101 reg = <0x48>; 98 102 99 /* 103 /* 100 * Config irq 104 * Config irq to disable internal pulls 101 * even though 105 * even though we run in polling mode. 102 */ 106 */ 103 pinctrl-names 107 pinctrl-names = "default"; 104 pinctrl-0 = <& 108 pinctrl-0 = <&tps65090_irq>; 105 109 106 vsys1-supply = 110 vsys1-supply = <&vbat>; 107 vsys2-supply = 111 vsys2-supply = <&vbat>; 108 vsys3-supply = 112 vsys3-supply = <&vbat>; 109 infet1-supply 113 infet1-supply = <&vbat>; 110 infet2-supply 114 infet2-supply = <&vbat>; 111 infet3-supply 115 infet3-supply = <&vbat>; 112 infet4-supply 116 infet4-supply = <&vbat>; 113 infet5-supply 117 infet5-supply = <&vbat>; 114 infet6-supply 118 infet6-supply = <&vbat>; 115 infet7-supply 119 infet7-supply = <&vbat>; 116 vsys-l1-supply 120 vsys-l1-supply = <&vbat>; 117 vsys-l2-supply 121 vsys-l2-supply = <&vbat>; 118 122 119 regulators { 123 regulators { 120 dcdc1 124 dcdc1 { 121 125 ti,enable-ext-control; 122 }; 126 }; 123 dcdc2 127 dcdc2 { 124 128 ti,enable-ext-control; 125 }; 129 }; 126 dcdc3 130 dcdc3 { 127 131 ti,enable-ext-control; 128 }; 132 }; 129 fet1: 133 fet1: fet1 { 130 134 regulator-name = "vcd_led"; 131 135 ti,overcurrent-wait = <3>; 132 }; 136 }; 133 tps650 137 tps65090_fet2: fet2 { 134 138 regulator-name = "video_mid"; 135 139 regulator-always-on; 136 140 ti,overcurrent-wait = <3>; 137 }; 141 }; 138 fet3 { 142 fet3 { 139 143 regulator-name = "wwan_r"; 140 144 regulator-always-on; 141 145 ti,overcurrent-wait = <3>; 142 }; 146 }; 143 fet4 { 147 fet4 { 144 148 regulator-name = "sdcard"; 145 149 ti,overcurrent-wait = <3>; 146 }; 150 }; 147 fet5 { 151 fet5 { 148 152 regulator-name = "camout"; 149 153 regulator-always-on; 150 154 ti,overcurrent-wait = <3>; 151 }; 155 }; 152 fet6: 156 fet6: fet6 { 153 157 regulator-name = "lcd_vdd"; 154 158 ti,overcurrent-wait = <3>; 155 }; 159 }; 156 tps650 160 tps65090_fet7: fet7 { 157 161 regulator-name = "video_mid_1a"; 158 162 regulator-always-on; 159 163 ti,overcurrent-wait = <3>; 160 }; 164 }; 161 ldo1 { 165 ldo1 { 162 }; 166 }; 163 ldo2 { 167 ldo2 { 164 }; 168 }; 165 }; 169 }; 166 170 167 charger { 171 charger { 168 compat 172 compatible = "ti,tps65090-charger"; 169 }; 173 }; 170 }; 174 }; 171 }; 175 }; 172 }; 176 }; 173 177 174 sound { 178 sound { 175 samsung,i2s-controller = <&i2s 179 samsung,i2s-controller = <&i2s0>; 176 }; 180 }; 177 181 178 usb3_vbus_reg: regulator-usb3 { 182 usb3_vbus_reg: regulator-usb3 { 179 compatible = "regulator-fixed" 183 compatible = "regulator-fixed"; 180 regulator-name = "P5.0V_USB3CO 184 regulator-name = "P5.0V_USB3CON"; 181 regulator-min-microvolt = <500 185 regulator-min-microvolt = <5000000>; 182 regulator-max-microvolt = <500 186 regulator-max-microvolt = <5000000>; 183 gpio = <&gpx2 7 GPIO_ACTIVE_HI 187 gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>; 184 pinctrl-names = "default"; 188 pinctrl-names = "default"; 185 pinctrl-0 = <&usb3_vbus_en>; 189 pinctrl-0 = <&usb3_vbus_en>; 186 enable-active-high; 190 enable-active-high; 187 }; 191 }; 188 192 189 fixed-rate-clocks { 193 fixed-rate-clocks { 190 xxti { 194 xxti { 191 compatible = "samsung, 195 compatible = "samsung,clock-xxti"; 192 clock-frequency = <240 196 clock-frequency = <24000000>; 193 }; 197 }; 194 }; 198 }; 195 199 196 backlight: backlight { 200 backlight: backlight { 197 compatible = "pwm-backlight"; 201 compatible = "pwm-backlight"; 198 pwms = <&pwm 0 1000000 0>; 202 pwms = <&pwm 0 1000000 0>; 199 brightness-levels = <0 100 500 203 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; 200 default-brightness-level = <7> 204 default-brightness-level = <7>; 201 enable-gpios = <&gpx3 0 GPIO_A 205 enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>; 202 power-supply = <&fet1>; 206 power-supply = <&fet1>; 203 pinctrl-0 = <&pwm0_out>; 207 pinctrl-0 = <&pwm0_out>; 204 pinctrl-names = "default"; 208 pinctrl-names = "default"; 205 }; 209 }; 206 210 207 panel: panel { 211 panel: panel { 208 compatible = "auo,b116xw03"; 212 compatible = "auo,b116xw03"; 209 power-supply = <&fet6>; 213 power-supply = <&fet6>; 210 backlight = <&backlight>; 214 backlight = <&backlight>; 211 215 212 port { 216 port { 213 panel_in: endpoint { 217 panel_in: endpoint { 214 remote-endpoin 218 remote-endpoint = <&bridge_out>; 215 }; 219 }; 216 }; 220 }; 217 }; 221 }; 218 222 219 mmc3_pwrseq: mmc3-pwrseq { 223 mmc3_pwrseq: mmc3-pwrseq { 220 compatible = "mmc-pwrseq-simpl 224 compatible = "mmc-pwrseq-simple"; 221 reset-gpios = <&gpx0 2 GPIO_AC 225 reset-gpios = <&gpx0 2 GPIO_ACTIVE_LOW>, /* WIFI_RSTn */ 222 <&gpx0 1 GPIO_AC 226 <&gpx0 1 GPIO_ACTIVE_LOW>; /* WIFI_EN */ 223 clocks = <&max77686 MAX77686_C 227 clocks = <&max77686 MAX77686_CLK_PMIC>; 224 clock-names = "ext_clock"; 228 clock-names = "ext_clock"; 225 }; 229 }; 226 }; 230 }; 227 231 228 &clock { 232 &clock { 229 assigned-clocks = <&clock CLK_FOUT_EPL 233 assigned-clocks = <&clock CLK_FOUT_EPLL>; 230 assigned-clock-rates = <49152000>; 234 assigned-clock-rates = <49152000>; 231 }; 235 }; 232 236 233 &clock_audss { 237 &clock_audss { 234 assigned-clocks = <&clock_audss EXYNOS 238 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>; 235 assigned-clock-parents = <&clock CLK_F 239 assigned-clock-parents = <&clock CLK_FOUT_EPLL>; 236 }; 240 }; 237 241 238 &cpu0 { 242 &cpu0 { 239 cpu0-supply = <&buck2_reg>; 243 cpu0-supply = <&buck2_reg>; 240 }; 244 }; 241 245 242 &dp { 246 &dp { 243 status = "okay"; 247 status = "okay"; 244 pinctrl-names = "default"; 248 pinctrl-names = "default"; 245 pinctrl-0 = <&dp_hpd>; 249 pinctrl-0 = <&dp_hpd>; 246 samsung,color-space = <0>; 250 samsung,color-space = <0>; 247 samsung,color-depth = <1>; 251 samsung,color-depth = <1>; 248 samsung,link-rate = <0x0a>; 252 samsung,link-rate = <0x0a>; 249 samsung,lane-count = <2>; 253 samsung,lane-count = <2>; 250 hpd-gpios = <&gpx0 7 GPIO_ACTIVE_HIGH> 254 hpd-gpios = <&gpx0 7 GPIO_ACTIVE_HIGH>; 251 255 252 ports { 256 ports { 253 port { 257 port { 254 dp_out: endpoint { 258 dp_out: endpoint { 255 remote-endpoin 259 remote-endpoint = <&bridge_in>; 256 }; 260 }; 257 }; 261 }; 258 }; 262 }; 259 }; 263 }; 260 264 261 &ehci { 265 &ehci { 262 samsung,vbus-gpio = <&gpx1 1 GPIO_ACTI 266 samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; 263 }; 267 }; 264 268 265 &fimd { 269 &fimd { 266 status = "okay"; 270 status = "okay"; 267 samsung,invert-vclk; 271 samsung,invert-vclk; 268 }; 272 }; 269 273 270 &hdmi { 274 &hdmi { 271 status = "okay"; 275 status = "okay"; 272 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH> 276 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>; 273 pinctrl-names = "default"; 277 pinctrl-names = "default"; 274 pinctrl-0 = <&hdmi_hpd_irq>; 278 pinctrl-0 = <&hdmi_hpd_irq>; 275 ddc = <&i2c_2>; 279 ddc = <&i2c_2>; 276 hdmi-en-supply = <&tps65090_fet7>; 280 hdmi-en-supply = <&tps65090_fet7>; 277 vdd-supply = <&ldo8_reg>; 281 vdd-supply = <&ldo8_reg>; 278 vdd_osc-supply = <&ldo10_reg>; 282 vdd_osc-supply = <&ldo10_reg>; 279 vdd_pll-supply = <&ldo8_reg>; 283 vdd_pll-supply = <&ldo8_reg>; 280 }; 284 }; 281 285 282 &hdmicec { 286 &hdmicec { 283 status = "okay"; 287 status = "okay"; 284 }; 288 }; 285 289 286 &i2c_0 { 290 &i2c_0 { 287 status = "okay"; 291 status = "okay"; 288 samsung,i2c-sda-delay = <100>; 292 samsung,i2c-sda-delay = <100>; 289 samsung,i2c-max-bus-freq = <378000>; 293 samsung,i2c-max-bus-freq = <378000>; 290 294 291 max77686: pmic@9 { 295 max77686: pmic@9 { 292 compatible = "maxim,max77686"; 296 compatible = "maxim,max77686"; 293 interrupt-parent = <&gpx3>; 297 interrupt-parent = <&gpx3>; 294 interrupts = <2 IRQ_TYPE_LEVEL 298 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 295 pinctrl-names = "default"; 299 pinctrl-names = "default"; 296 pinctrl-0 = <&max77686_irq>; 300 pinctrl-0 = <&max77686_irq>; 297 wakeup-source; 301 wakeup-source; 298 reg = <0x09>; 302 reg = <0x09>; 299 #clock-cells = <1>; 303 #clock-cells = <1>; 300 304 301 voltage-regulators { 305 voltage-regulators { 302 ldo1_reg: LDO1 { 306 ldo1_reg: LDO1 { 303 regulator-name 307 regulator-name = "P1.0V_LDO_OUT1"; 304 regulator-min- 308 regulator-min-microvolt = <1000000>; 305 regulator-max- 309 regulator-max-microvolt = <1000000>; 306 regulator-alwa 310 regulator-always-on; 307 }; 311 }; 308 312 309 ldo2_reg: LDO2 { 313 ldo2_reg: LDO2 { 310 regulator-name 314 regulator-name = "P1.8V_LDO_OUT2"; 311 regulator-min- 315 regulator-min-microvolt = <1800000>; 312 regulator-max- 316 regulator-max-microvolt = <1800000>; 313 regulator-alwa 317 regulator-always-on; 314 }; 318 }; 315 319 316 ldo3_reg: LDO3 { 320 ldo3_reg: LDO3 { 317 regulator-name 321 regulator-name = "P1.8V_LDO_OUT3"; 318 regulator-min- 322 regulator-min-microvolt = <1800000>; 319 regulator-max- 323 regulator-max-microvolt = <1800000>; 320 regulator-alwa 324 regulator-always-on; 321 }; 325 }; 322 326 323 ldo7_reg: LDO7 { 327 ldo7_reg: LDO7 { 324 regulator-name 328 regulator-name = "P1.1V_LDO_OUT7"; 325 regulator-min- 329 regulator-min-microvolt = <1100000>; 326 regulator-max- 330 regulator-max-microvolt = <1100000>; 327 regulator-alwa 331 regulator-always-on; 328 }; 332 }; 329 333 330 ldo8_reg: LDO8 { 334 ldo8_reg: LDO8 { 331 regulator-name 335 regulator-name = "P1.0V_LDO_OUT8"; 332 regulator-min- 336 regulator-min-microvolt = <1000000>; 333 regulator-max- 337 regulator-max-microvolt = <1000000>; 334 regulator-alwa 338 regulator-always-on; 335 }; 339 }; 336 340 337 ldo10_reg: LDO10 { 341 ldo10_reg: LDO10 { 338 regulator-name 342 regulator-name = "P1.8V_LDO_OUT10"; 339 regulator-min- 343 regulator-min-microvolt = <1800000>; 340 regulator-max- 344 regulator-max-microvolt = <1800000>; 341 regulator-alwa 345 regulator-always-on; 342 }; 346 }; 343 347 344 ldo12_reg: LDO12 { 348 ldo12_reg: LDO12 { 345 regulator-name 349 regulator-name = "P3.0V_LDO_OUT12"; 346 regulator-min- 350 regulator-min-microvolt = <3000000>; 347 regulator-max- 351 regulator-max-microvolt = <3000000>; 348 regulator-alwa 352 regulator-always-on; 349 }; 353 }; 350 354 351 ldo14_reg: LDO14 { 355 ldo14_reg: LDO14 { 352 regulator-name 356 regulator-name = "P1.8V_LDO_OUT14"; 353 regulator-min- 357 regulator-min-microvolt = <1800000>; 354 regulator-max- 358 regulator-max-microvolt = <1800000>; 355 regulator-alwa 359 regulator-always-on; 356 }; 360 }; 357 361 358 ldo15_reg: LDO15 { 362 ldo15_reg: LDO15 { 359 regulator-name 363 regulator-name = "P1.0V_LDO_OUT15"; 360 regulator-min- 364 regulator-min-microvolt = <1000000>; 361 regulator-max- 365 regulator-max-microvolt = <1000000>; 362 regulator-alwa 366 regulator-always-on; 363 }; 367 }; 364 368 365 ldo16_reg: LDO16 { 369 ldo16_reg: LDO16 { 366 regulator-name 370 regulator-name = "P1.8V_LDO_OUT16"; 367 regulator-min- 371 regulator-min-microvolt = <1800000>; 368 regulator-max- 372 regulator-max-microvolt = <1800000>; 369 regulator-alwa 373 regulator-always-on; 370 }; 374 }; 371 375 372 buck1_reg: BUCK1 { 376 buck1_reg: BUCK1 { 373 regulator-name 377 regulator-name = "vdd_mif"; 374 regulator-min- 378 regulator-min-microvolt = <950000>; 375 regulator-max- 379 regulator-max-microvolt = <1300000>; 376 regulator-alwa 380 regulator-always-on; 377 regulator-boot 381 regulator-boot-on; 378 }; 382 }; 379 383 380 buck2_reg: BUCK2 { 384 buck2_reg: BUCK2 { 381 regulator-name 385 regulator-name = "vdd_arm"; 382 regulator-min- 386 regulator-min-microvolt = <850000>; 383 regulator-max- 387 regulator-max-microvolt = <1350000>; 384 regulator-alwa 388 regulator-always-on; 385 regulator-boot 389 regulator-boot-on; 386 }; 390 }; 387 391 388 buck3_reg: BUCK3 { 392 buck3_reg: BUCK3 { 389 regulator-name 393 regulator-name = "vdd_int"; 390 regulator-min- 394 regulator-min-microvolt = <900000>; 391 regulator-max- 395 regulator-max-microvolt = <1200000>; 392 regulator-alwa 396 regulator-always-on; 393 regulator-boot 397 regulator-boot-on; 394 }; 398 }; 395 399 396 buck4_reg: BUCK4 { 400 buck4_reg: BUCK4 { 397 regulator-name 401 regulator-name = "vdd_g3d"; 398 regulator-min- 402 regulator-min-microvolt = <850000>; 399 regulator-max- 403 regulator-max-microvolt = <1300000>; 400 regulator-alwa 404 regulator-always-on; 401 regulator-boot 405 regulator-boot-on; 402 }; 406 }; 403 407 404 buck5_reg: BUCK5 { 408 buck5_reg: BUCK5 { 405 regulator-name 409 regulator-name = "P1.8V_BUCK_OUT5"; 406 regulator-min- 410 regulator-min-microvolt = <1800000>; 407 regulator-max- 411 regulator-max-microvolt = <1800000>; 408 regulator-alwa 412 regulator-always-on; 409 regulator-boot 413 regulator-boot-on; 410 }; 414 }; 411 415 412 buck6_reg: BUCK6 { 416 buck6_reg: BUCK6 { 413 regulator-name 417 regulator-name = "P1.35V_BUCK_OUT6"; 414 regulator-min- 418 regulator-min-microvolt = <1350000>; 415 regulator-max- 419 regulator-max-microvolt = <1350000>; 416 regulator-alwa 420 regulator-always-on; 417 }; 421 }; 418 422 419 buck7_reg: BUCK7 { 423 buck7_reg: BUCK7 { 420 regulator-name 424 regulator-name = "P2.0V_BUCK_OUT7"; 421 regulator-min- 425 regulator-min-microvolt = <2000000>; 422 regulator-max- 426 regulator-max-microvolt = <2000000>; 423 regulator-alwa 427 regulator-always-on; 424 }; 428 }; 425 429 426 buck8_reg: BUCK8 { 430 buck8_reg: BUCK8 { 427 regulator-name 431 regulator-name = "P2.85V_BUCK_OUT8"; 428 regulator-min- 432 regulator-min-microvolt = <2850000>; 429 regulator-max- 433 regulator-max-microvolt = <2850000>; 430 regulator-alwa 434 regulator-always-on; 431 }; 435 }; 432 }; 436 }; 433 }; 437 }; 434 }; 438 }; 435 439 436 &i2c_1 { 440 &i2c_1 { 437 status = "okay"; 441 status = "okay"; 438 samsung,i2c-sda-delay = <100>; 442 samsung,i2c-sda-delay = <100>; 439 samsung,i2c-max-bus-freq = <378000>; 443 samsung,i2c-max-bus-freq = <378000>; 440 444 441 trackpad@67 { 445 trackpad@67 { 442 reg = <0x67>; 446 reg = <0x67>; 443 compatible = "cypress,cyapa"; 447 compatible = "cypress,cyapa"; 444 interrupts = <2 IRQ_TYPE_NONE> 448 interrupts = <2 IRQ_TYPE_NONE>; 445 interrupt-parent = <&gpx1>; 449 interrupt-parent = <&gpx1>; 446 wakeup-source; 450 wakeup-source; 447 }; 451 }; 448 }; 452 }; 449 453 450 /* 454 /* 451 * Disabled pullups since external part has it 455 * Disabled pullups since external part has its own pullups and 452 * double-pulling gets us out of spec in some 456 * double-pulling gets us out of spec in some cases. 453 */ 457 */ 454 &i2c2_bus { 458 &i2c2_bus { 455 samsung,pin-pud = <EXYNOS_PIN_PULL_NON 459 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 456 }; 460 }; 457 461 458 &i2c_2 { 462 &i2c_2 { 459 status = "okay"; 463 status = "okay"; 460 /* used by HDMI DDC */ 464 /* used by HDMI DDC */ 461 samsung,i2c-sda-delay = <100>; 465 samsung,i2c-sda-delay = <100>; 462 samsung,i2c-max-bus-freq = <66000>; 466 samsung,i2c-max-bus-freq = <66000>; 463 }; 467 }; 464 468 465 &i2c_3 { 469 &i2c_3 { 466 status = "okay"; 470 status = "okay"; 467 samsung,i2c-sda-delay = <100>; 471 samsung,i2c-sda-delay = <100>; 468 samsung,i2c-max-bus-freq = <66000>; 472 samsung,i2c-max-bus-freq = <66000>; 469 }; 473 }; 470 474 471 &i2c_4 { 475 &i2c_4 { 472 status = "okay"; 476 status = "okay"; 473 samsung,i2c-sda-delay = <100>; 477 samsung,i2c-sda-delay = <100>; 474 samsung,i2c-max-bus-freq = <66000>; 478 samsung,i2c-max-bus-freq = <66000>; 475 }; 479 }; 476 480 477 &i2c_5 { 481 &i2c_5 { 478 status = "okay"; 482 status = "okay"; 479 samsung,i2c-sda-delay = <100>; 483 samsung,i2c-sda-delay = <100>; 480 samsung,i2c-max-bus-freq = <66000>; 484 samsung,i2c-max-bus-freq = <66000>; 481 }; 485 }; 482 486 483 &i2c_7 { 487 &i2c_7 { 484 status = "okay"; 488 status = "okay"; 485 samsung,i2c-sda-delay = <100>; 489 samsung,i2c-sda-delay = <100>; 486 samsung,i2c-max-bus-freq = <66000>; 490 samsung,i2c-max-bus-freq = <66000>; 487 491 488 ptn3460: lvds-bridge@20 { 492 ptn3460: lvds-bridge@20 { 489 compatible = "nxp,ptn3460"; 493 compatible = "nxp,ptn3460"; 490 reg = <0x20>; 494 reg = <0x20>; 491 powerdown-gpios = <&gpy2 5 GPI 495 powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>; 492 reset-gpios = <&gpx1 5 GPIO_AC 496 reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>; 493 edid-emulation = <5>; 497 edid-emulation = <5>; 494 498 495 ports { 499 ports { 496 #address-cells = <1>; 500 #address-cells = <1>; 497 #size-cells = <0>; 501 #size-cells = <0>; 498 502 499 port@0 { 503 port@0 { 500 reg = <0>; 504 reg = <0>; 501 505 502 bridge_out: en 506 bridge_out: endpoint { 503 remote 507 remote-endpoint = <&panel_in>; 504 }; 508 }; 505 }; 509 }; 506 510 507 port@1 { 511 port@1 { 508 reg = <1>; 512 reg = <1>; 509 513 510 bridge_in: end 514 bridge_in: endpoint { 511 remote 515 remote-endpoint = <&dp_out>; 512 }; 516 }; 513 }; 517 }; 514 }; 518 }; 515 }; 519 }; 516 }; 520 }; 517 521 518 &i2c_8 { 522 &i2c_8 { 519 status = "okay"; 523 status = "okay"; 520 /* used by HDMI PHY */ 524 /* used by HDMI PHY */ 521 samsung,i2c-sda-delay = <100>; 525 samsung,i2c-sda-delay = <100>; 522 samsung,i2c-max-bus-freq = <378000>; 526 samsung,i2c-max-bus-freq = <378000>; 523 }; 527 }; 524 528 525 &i2s0 { 529 &i2s0 { 526 assigned-clocks = <&i2s0 CLK_I2S_RCLK_ 530 assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>; 527 assigned-clock-parents = <&clock_audss 531 assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>; 528 status = "okay"; 532 status = "okay"; 529 }; 533 }; 530 534 531 &mali { 535 &mali { 532 mali-supply = <&buck4_reg>; 536 mali-supply = <&buck4_reg>; 533 status = "okay"; 537 status = "okay"; 534 }; 538 }; 535 539 536 &mixer { 540 &mixer { 537 status = "okay"; 541 status = "okay"; 538 }; 542 }; 539 543 540 /* eMMC flash */ 544 /* eMMC flash */ 541 &mmc_0 { 545 &mmc_0 { 542 status = "okay"; 546 status = "okay"; 543 non-removable; 547 non-removable; 544 samsung,dw-mshc-ciu-div = <3>; 548 samsung,dw-mshc-ciu-div = <3>; 545 samsung,dw-mshc-sdr-timing = <2 3>; 549 samsung,dw-mshc-sdr-timing = <2 3>; 546 samsung,dw-mshc-ddr-timing = <1 2>; 550 samsung,dw-mshc-ddr-timing = <1 2>; 547 pinctrl-names = "default"; 551 pinctrl-names = "default"; 548 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd 552 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>; 549 bus-width = <8>; 553 bus-width = <8>; 550 cap-mmc-highspeed; 554 cap-mmc-highspeed; 551 mmc-ddr-1_8v; 555 mmc-ddr-1_8v; 552 }; 556 }; 553 557 554 /* uSD card */ 558 /* uSD card */ 555 &mmc_2 { 559 &mmc_2 { 556 status = "okay"; 560 status = "okay"; 557 card-detect-delay = <200>; 561 card-detect-delay = <200>; 558 samsung,dw-mshc-ciu-div = <3>; 562 samsung,dw-mshc-ciu-div = <3>; 559 samsung,dw-mshc-sdr-timing = <2 3>; 563 samsung,dw-mshc-sdr-timing = <2 3>; 560 samsung,dw-mshc-ddr-timing = <1 2>; 564 samsung,dw-mshc-ddr-timing = <1 2>; 561 pinctrl-names = "default"; 565 pinctrl-names = "default"; 562 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd 566 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 563 bus-width = <4>; 567 bus-width = <4>; 564 wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>; 568 wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>; 565 cap-sd-highspeed; 569 cap-sd-highspeed; 566 }; 570 }; 567 571 568 /* 572 /* 569 * On Snow we've got SIP WiFi and so can keep 573 * On Snow we've got SIP WiFi and so can keep drive strengths low to 570 * reduce EMI. 574 * reduce EMI. 571 * 575 * 572 * WiFi SDIO module 576 * WiFi SDIO module 573 */ 577 */ 574 &mmc_3 { 578 &mmc_3 { 575 status = "okay"; 579 status = "okay"; 576 non-removable; 580 non-removable; 577 cap-sdio-irq; 581 cap-sdio-irq; 578 keep-power-in-suspend; 582 keep-power-in-suspend; 579 samsung,dw-mshc-ciu-div = <3>; 583 samsung,dw-mshc-ciu-div = <3>; 580 samsung,dw-mshc-sdr-timing = <2 3>; 584 samsung,dw-mshc-sdr-timing = <2 3>; 581 samsung,dw-mshc-ddr-timing = <1 2>; 585 samsung,dw-mshc-ddr-timing = <1 2>; 582 pinctrl-names = "default"; 586 pinctrl-names = "default"; 583 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bu 587 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4 &wifi_en &wifi_rst>; 584 bus-width = <4>; 588 bus-width = <4>; 585 cap-sd-highspeed; 589 cap-sd-highspeed; 586 mmc-pwrseq = <&mmc3_pwrseq>; 590 mmc-pwrseq = <&mmc3_pwrseq>; 587 }; 591 }; 588 592 589 &pinctrl_0 { 593 &pinctrl_0 { 590 wifi_en: wifi-en-pins { 594 wifi_en: wifi-en-pins { 591 samsung,pins = "gpx0-1"; 595 samsung,pins = "gpx0-1"; 592 samsung,pin-function = <EXYNOS 596 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 593 samsung,pin-pud = <EXYNOS_PIN_ 597 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 594 samsung,pin-drv = <EXYNOS4_PIN 598 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 595 }; 599 }; 596 600 597 wifi_rst: wifi-rst-pins { 601 wifi_rst: wifi-rst-pins { 598 samsung,pins = "gpx0-2"; 602 samsung,pins = "gpx0-2"; 599 samsung,pin-function = <EXYNOS 603 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 600 samsung,pin-pud = <EXYNOS_PIN_ 604 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 601 samsung,pin-drv = <EXYNOS4_PIN 605 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 602 }; 606 }; 603 607 604 power_key_irq: power-key-irq-pins { 608 power_key_irq: power-key-irq-pins { 605 samsung,pins = "gpx1-3"; 609 samsung,pins = "gpx1-3"; 606 samsung,pin-function = <EXYNOS 610 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 607 samsung,pin-pud = <EXYNOS_PIN_ 611 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 608 samsung,pin-drv = <EXYNOS4_PIN 612 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 609 }; 613 }; 610 614 611 ec_irq: ec-irq-pins { 615 ec_irq: ec-irq-pins { 612 samsung,pins = "gpx1-6"; 616 samsung,pins = "gpx1-6"; 613 samsung,pin-function = <EXYNOS 617 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 614 samsung,pin-pud = <EXYNOS_PIN_ 618 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 615 samsung,pin-drv = <EXYNOS4_PIN 619 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 616 }; 620 }; 617 621 618 tps65090_irq: tps65090-irq-pins { 622 tps65090_irq: tps65090-irq-pins { 619 samsung,pins = "gpx2-6"; 623 samsung,pins = "gpx2-6"; 620 samsung,pin-function = <EXYNOS 624 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 621 samsung,pin-pud = <EXYNOS_PIN_ 625 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 622 samsung,pin-drv = <EXYNOS4_PIN 626 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 623 }; 627 }; 624 628 625 usb3_vbus_en: usb3-vbus-en-pins { 629 usb3_vbus_en: usb3-vbus-en-pins { 626 samsung,pins = "gpx2-7"; 630 samsung,pins = "gpx2-7"; 627 samsung,pin-function = <EXYNOS 631 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 628 samsung,pin-pud = <EXYNOS_PIN_ 632 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 629 samsung,pin-drv = <EXYNOS4_PIN 633 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 630 }; 634 }; 631 635 632 max77686_irq: max77686-irq-pins { 636 max77686_irq: max77686-irq-pins { 633 samsung,pins = "gpx3-2"; 637 samsung,pins = "gpx3-2"; 634 samsung,pin-function = <EXYNOS 638 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 635 samsung,pin-pud = <EXYNOS_PIN_ 639 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 636 samsung,pin-drv = <EXYNOS4_PIN 640 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 637 }; 641 }; 638 642 639 lid_irq: lid-irq-pins { 643 lid_irq: lid-irq-pins { 640 samsung,pins = "gpx3-5"; 644 samsung,pins = "gpx3-5"; 641 samsung,pin-function = <EXYNOS 645 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 642 samsung,pin-pud = <EXYNOS_PIN_ 646 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 643 samsung,pin-drv = <EXYNOS4_PIN 647 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 644 }; 648 }; 645 649 646 hdmi_hpd_irq: hdmi-hpd-irq-pins { 650 hdmi_hpd_irq: hdmi-hpd-irq-pins { 647 samsung,pins = "gpx3-7"; 651 samsung,pins = "gpx3-7"; 648 samsung,pin-function = <EXYNOS 652 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 649 samsung,pin-pud = <EXYNOS_PIN_ 653 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; 650 samsung,pin-drv = <EXYNOS4_PIN 654 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 651 }; 655 }; 652 }; 656 }; 653 657 654 &pinctrl_1 { 658 &pinctrl_1 { 655 arb_their_claim: arb-their-claim-pins 659 arb_their_claim: arb-their-claim-pins { 656 samsung,pins = "gpe0-4"; 660 samsung,pins = "gpe0-4"; 657 samsung,pin-function = <EXYNOS 661 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 658 samsung,pin-pud = <EXYNOS_PIN_ 662 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 659 samsung,pin-drv = <EXYNOS4_PIN 663 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 660 }; 664 }; 661 665 662 arb_our_claim: arb-our-claim-pins { 666 arb_our_claim: arb-our-claim-pins { 663 samsung,pins = "gpf0-3"; 667 samsung,pins = "gpf0-3"; 664 samsung,pin-function = <EXYNOS 668 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 665 samsung,pin-pud = <EXYNOS_PIN_ 669 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 666 samsung,pin-drv = <EXYNOS4_PIN 670 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 667 }; 671 }; 668 }; 672 }; 669 673 670 &pmu_system_controller { 674 &pmu_system_controller { 671 assigned-clocks = <&pmu_system_control 675 assigned-clocks = <&pmu_system_controller 0>; 672 assigned-clock-parents = <&clock CLK_F 676 assigned-clock-parents = <&clock CLK_FIN_PLL>; 673 }; 677 }; 674 678 675 &rtc { 679 &rtc { 676 status = "okay"; 680 status = "okay"; 677 clocks = <&clock CLK_RTC>, <&max77686 681 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; 678 clock-names = "rtc", "rtc_src"; 682 clock-names = "rtc", "rtc_src"; 679 }; 683 }; 680 684 681 &sd3_bus4 { 685 &sd3_bus4 { 682 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1 686 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 683 }; 687 }; 684 688 685 &sd3_clk { 689 &sd3_clk { 686 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1 690 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 687 }; 691 }; 688 692 689 &sd3_cmd { 693 &sd3_cmd { 690 samsung,pin-pud = <EXYNOS_PIN_PULL_UP> 694 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 691 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1 695 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 692 }; 696 }; 693 697 694 &spi_1 { 698 &spi_1 { 695 status = "okay"; 699 status = "okay"; 696 samsung,spi-src-clk = <0>; 700 samsung,spi-src-clk = <0>; 697 num-cs = <1>; 701 num-cs = <1>; 698 cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>; 702 cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>; 699 }; 703 }; 700 704 701 &usbdrd { 705 &usbdrd { 702 vdd10-supply = <&ldo15_reg>; 706 vdd10-supply = <&ldo15_reg>; 703 vdd33-supply = <&ldo12_reg>; 707 vdd33-supply = <&ldo12_reg>; 704 }; 708 }; 705 709 706 &usbdrd_dwc3 { 710 &usbdrd_dwc3 { 707 dr_mode = "host"; 711 dr_mode = "host"; 708 }; 712 }; 709 713 710 &usbdrd_phy { 714 &usbdrd_phy { 711 vbus-supply = <&usb3_vbus_reg>; 715 vbus-supply = <&usb3_vbus_reg>; 712 }; 716 }; 713 717 714 #include "../cros-ec-keyboard.dtsi" 718 #include "../cros-ec-keyboard.dtsi"
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.