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