1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2724ba675SRob Herring/* 3724ba675SRob Herring * Google Veyron (and derivatives) board device tree source 4724ba675SRob Herring * 5724ba675SRob Herring * Copyright 2015 Google, Inc 6724ba675SRob Herring */ 7724ba675SRob Herring 8724ba675SRob Herring#include <dt-bindings/clock/rockchip,rk808.h> 9724ba675SRob Herring#include <dt-bindings/input/input.h> 10724ba675SRob Herring#include "rk3288.dtsi" 11724ba675SRob Herring 12724ba675SRob Herring/ { 13724ba675SRob Herring aliases { 14724ba675SRob Herring mmc0 = &emmc; 15724ba675SRob Herring }; 16724ba675SRob Herring 17724ba675SRob Herring chosen { 18724ba675SRob Herring stdout-path = "serial2:115200n8"; 19724ba675SRob Herring }; 20724ba675SRob Herring 21724ba675SRob Herring /* 22724ba675SRob Herring * The default coreboot on veyron devices ignores memory@0 nodes 23724ba675SRob Herring * and would instead create another memory node. 24724ba675SRob Herring */ 25724ba675SRob Herring memory { 26724ba675SRob Herring device_type = "memory"; 27724ba675SRob Herring reg = <0x0 0x0 0x0 0x80000000>; 28724ba675SRob Herring }; 29724ba675SRob Herring 30724ba675SRob Herring 31724ba675SRob Herring power_button: power-button { 32724ba675SRob Herring compatible = "gpio-keys"; 33724ba675SRob Herring pinctrl-names = "default"; 34724ba675SRob Herring pinctrl-0 = <&pwr_key_l>; 35724ba675SRob Herring 36724ba675SRob Herring key-power { 37724ba675SRob Herring label = "Power"; 38724ba675SRob Herring gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 39724ba675SRob Herring linux,code = <KEY_POWER>; 40724ba675SRob Herring debounce-interval = <100>; 41724ba675SRob Herring wakeup-source; 42724ba675SRob Herring }; 43724ba675SRob Herring }; 44724ba675SRob Herring 45724ba675SRob Herring gpio-restart { 46724ba675SRob Herring compatible = "gpio-restart"; 47724ba675SRob Herring gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 48724ba675SRob Herring pinctrl-names = "default"; 49724ba675SRob Herring pinctrl-0 = <&ap_warm_reset_h>; 50724ba675SRob Herring priority = <200>; 51724ba675SRob Herring }; 52724ba675SRob Herring 53724ba675SRob Herring emmc_pwrseq: emmc-pwrseq { 54724ba675SRob Herring compatible = "mmc-pwrseq-emmc"; 55724ba675SRob Herring pinctrl-0 = <&emmc_reset>; 56724ba675SRob Herring pinctrl-names = "default"; 57724ba675SRob Herring reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>; 58724ba675SRob Herring }; 59724ba675SRob Herring 60724ba675SRob Herring sdio_pwrseq: sdio-pwrseq { 61724ba675SRob Herring compatible = "mmc-pwrseq-simple"; 62724ba675SRob Herring clocks = <&rk808 RK808_CLKOUT1>; 63724ba675SRob Herring clock-names = "ext_clock"; 64724ba675SRob Herring pinctrl-names = "default"; 65724ba675SRob Herring pinctrl-0 = <&wifi_enable_h>; 66724ba675SRob Herring 67724ba675SRob Herring /* 68724ba675SRob Herring * Depending on the actual card populated GPIO4 D4 69724ba675SRob Herring * correspond to one of these signals on the module: 70724ba675SRob Herring * 71724ba675SRob Herring * D4: 72724ba675SRob Herring * - SDIO_RESET_L_WL_REG_ON 73724ba675SRob Herring * - PDN (power down when low) 74724ba675SRob Herring */ 75724ba675SRob Herring reset-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>; 76724ba675SRob Herring }; 77724ba675SRob Herring 78*2c3944d9SJohan Jonker vcc_5v: regulator-vcc-5v { 79724ba675SRob Herring compatible = "regulator-fixed"; 80724ba675SRob Herring regulator-name = "vcc_5v"; 81724ba675SRob Herring regulator-always-on; 82724ba675SRob Herring regulator-boot-on; 83724ba675SRob Herring regulator-min-microvolt = <5000000>; 84724ba675SRob Herring regulator-max-microvolt = <5000000>; 85724ba675SRob Herring }; 86724ba675SRob Herring 87*2c3944d9SJohan Jonker vcc33_sys: regulator-vcc33-sys { 88724ba675SRob Herring compatible = "regulator-fixed"; 89724ba675SRob Herring regulator-name = "vcc33_sys"; 90724ba675SRob Herring regulator-always-on; 91724ba675SRob Herring regulator-boot-on; 92724ba675SRob Herring regulator-min-microvolt = <3300000>; 93724ba675SRob Herring regulator-max-microvolt = <3300000>; 94724ba675SRob Herring }; 95724ba675SRob Herring 96*2c3944d9SJohan Jonker vcc50_hdmi: regulator-vcc50-hdmi { 97724ba675SRob Herring compatible = "regulator-fixed"; 98724ba675SRob Herring regulator-name = "vcc50_hdmi"; 99724ba675SRob Herring regulator-always-on; 100724ba675SRob Herring regulator-boot-on; 101724ba675SRob Herring vin-supply = <&vcc_5v>; 102724ba675SRob Herring }; 103724ba675SRob Herring 104*2c3944d9SJohan Jonker vdd_logic: regulator-vdd-logic { 105724ba675SRob Herring compatible = "pwm-regulator"; 106724ba675SRob Herring regulator-name = "vdd_logic"; 107724ba675SRob Herring 108724ba675SRob Herring pwms = <&pwm1 0 1994 0>; 109724ba675SRob Herring pwm-supply = <&vcc33_sys>; 110724ba675SRob Herring 111724ba675SRob Herring pwm-dutycycle-range = <0x7b 0>; 112724ba675SRob Herring pwm-dutycycle-unit = <0x94>; 113724ba675SRob Herring 114724ba675SRob Herring regulator-always-on; 115724ba675SRob Herring regulator-boot-on; 116724ba675SRob Herring regulator-min-microvolt = <950000>; 117724ba675SRob Herring regulator-max-microvolt = <1350000>; 118724ba675SRob Herring regulator-ramp-delay = <4000>; 119724ba675SRob Herring }; 120724ba675SRob Herring}; 121724ba675SRob Herring 122724ba675SRob Herring&cpu0 { 123724ba675SRob Herring cpu0-supply = <&vdd_cpu>; 124724ba675SRob Herring}; 125724ba675SRob Herring 126724ba675SRob Herring&cpu_crit { 127724ba675SRob Herring temperature = <100000>; 128724ba675SRob Herring}; 129724ba675SRob Herring 130724ba675SRob Herring/* rk3288-c used in Veyron Chrome-devices has slightly changed OPPs */ 131724ba675SRob Herring&cpu_opp_table { 132724ba675SRob Herring /delete-node/ opp-312000000; 133724ba675SRob Herring 134724ba675SRob Herring opp-1512000000 { 135724ba675SRob Herring opp-microvolt = <1250000>; 136724ba675SRob Herring }; 137724ba675SRob Herring opp-1608000000 { 138724ba675SRob Herring opp-microvolt = <1300000>; 139724ba675SRob Herring }; 140724ba675SRob Herring opp-1704000000 { 141724ba675SRob Herring opp-hz = /bits/ 64 <1704000000>; 142724ba675SRob Herring opp-microvolt = <1350000>; 143724ba675SRob Herring }; 144724ba675SRob Herring opp-1800000000 { 145724ba675SRob Herring opp-hz = /bits/ 64 <1800000000>; 146724ba675SRob Herring opp-microvolt = <1400000>; 147724ba675SRob Herring }; 148724ba675SRob Herring}; 149724ba675SRob Herring 150724ba675SRob Herring&emmc { 151724ba675SRob Herring status = "okay"; 152724ba675SRob Herring 153724ba675SRob Herring bus-width = <8>; 154724ba675SRob Herring cap-mmc-highspeed; 155724ba675SRob Herring rockchip,default-sample-phase = <158>; 156724ba675SRob Herring disable-wp; 157724ba675SRob Herring mmc-hs200-1_8v; 158724ba675SRob Herring mmc-pwrseq = <&emmc_pwrseq>; 159724ba675SRob Herring non-removable; 160724ba675SRob Herring pinctrl-names = "default"; 161724ba675SRob Herring pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 162724ba675SRob Herring}; 163724ba675SRob Herring 164724ba675SRob Herring&gpu { 165724ba675SRob Herring mali-supply = <&vdd_gpu>; 166724ba675SRob Herring status = "okay"; 167724ba675SRob Herring}; 168724ba675SRob Herring 169724ba675SRob Herring&gpu_alert0 { 170724ba675SRob Herring temperature = <72500>; 171724ba675SRob Herring}; 172724ba675SRob Herring 173724ba675SRob Herring&gpu_crit { 174724ba675SRob Herring temperature = <100000>; 175724ba675SRob Herring}; 176724ba675SRob Herring 177724ba675SRob Herring&hdmi { 178724ba675SRob Herring pinctrl-names = "default", "unwedge"; 179724ba675SRob Herring pinctrl-0 = <&hdmi_ddc>; 180724ba675SRob Herring pinctrl-1 = <&hdmi_ddc_unwedge>; 181724ba675SRob Herring status = "okay"; 182724ba675SRob Herring}; 183724ba675SRob Herring 184724ba675SRob Herring&i2c0 { 185724ba675SRob Herring status = "okay"; 186724ba675SRob Herring 187724ba675SRob Herring clock-frequency = <400000>; 188724ba675SRob Herring i2c-scl-falling-time-ns = <50>; /* 2.5ns measured */ 189724ba675SRob Herring i2c-scl-rising-time-ns = <100>; /* 45ns measured */ 190724ba675SRob Herring 191724ba675SRob Herring rk808: pmic@1b { 192724ba675SRob Herring compatible = "rockchip,rk808"; 193724ba675SRob Herring reg = <0x1b>; 194724ba675SRob Herring clock-output-names = "xin32k", "wifibt_32kin"; 195724ba675SRob Herring interrupt-parent = <&gpio0>; 196724ba675SRob Herring interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 197724ba675SRob Herring pinctrl-names = "default"; 198724ba675SRob Herring pinctrl-0 = <&pmic_int_l>; 199724ba675SRob Herring rockchip,system-power-controller; 200724ba675SRob Herring wakeup-source; 201724ba675SRob Herring #clock-cells = <1>; 202724ba675SRob Herring 203724ba675SRob Herring vcc1-supply = <&vcc33_sys>; 204724ba675SRob Herring vcc2-supply = <&vcc33_sys>; 205724ba675SRob Herring vcc3-supply = <&vcc33_sys>; 206724ba675SRob Herring vcc4-supply = <&vcc33_sys>; 207724ba675SRob Herring vcc6-supply = <&vcc_5v>; 208724ba675SRob Herring vcc7-supply = <&vcc33_sys>; 209724ba675SRob Herring vcc8-supply = <&vcc33_sys>; 210724ba675SRob Herring vcc12-supply = <&vcc_18>; 211724ba675SRob Herring vddio-supply = <&vcc33_io>; 212724ba675SRob Herring 213724ba675SRob Herring regulators { 214724ba675SRob Herring vdd_cpu: DCDC_REG1 { 215724ba675SRob Herring regulator-name = "vdd_arm"; 216724ba675SRob Herring regulator-always-on; 217724ba675SRob Herring regulator-boot-on; 218724ba675SRob Herring regulator-min-microvolt = <750000>; 219724ba675SRob Herring regulator-max-microvolt = <1450000>; 220724ba675SRob Herring regulator-ramp-delay = <6001>; 221724ba675SRob Herring regulator-state-mem { 222724ba675SRob Herring regulator-off-in-suspend; 223724ba675SRob Herring }; 224724ba675SRob Herring }; 225724ba675SRob Herring 226724ba675SRob Herring vdd_gpu: DCDC_REG2 { 227724ba675SRob Herring regulator-name = "vdd_gpu"; 228724ba675SRob Herring regulator-always-on; 229724ba675SRob Herring regulator-boot-on; 230724ba675SRob Herring regulator-min-microvolt = <800000>; 231724ba675SRob Herring regulator-max-microvolt = <1250000>; 232724ba675SRob Herring regulator-ramp-delay = <6001>; 233724ba675SRob Herring regulator-state-mem { 234724ba675SRob Herring regulator-off-in-suspend; 235724ba675SRob Herring }; 236724ba675SRob Herring }; 237724ba675SRob Herring 238724ba675SRob Herring vcc135_ddr: DCDC_REG3 { 239724ba675SRob Herring regulator-name = "vcc135_ddr"; 240724ba675SRob Herring regulator-always-on; 241724ba675SRob Herring regulator-boot-on; 242724ba675SRob Herring regulator-state-mem { 243724ba675SRob Herring regulator-on-in-suspend; 244724ba675SRob Herring }; 245724ba675SRob Herring }; 246724ba675SRob Herring 247724ba675SRob Herring /* 248724ba675SRob Herring * vcc_18 has several aliases. (vcc18_flashio and 249724ba675SRob Herring * vcc18_wl). We'll add those aliases here just to 250724ba675SRob Herring * make it easier to follow the schematic. The signals 251724ba675SRob Herring * are actually hooked together and only separated for 252724ba675SRob Herring * power measurement purposes). 253724ba675SRob Herring */ 254724ba675SRob Herring vcc18_wl: vcc18_flashio: vcc_18: DCDC_REG4 { 255724ba675SRob Herring regulator-name = "vcc_18"; 256724ba675SRob Herring regulator-always-on; 257724ba675SRob Herring regulator-boot-on; 258724ba675SRob Herring regulator-min-microvolt = <1800000>; 259724ba675SRob Herring regulator-max-microvolt = <1800000>; 260724ba675SRob Herring regulator-state-mem { 261724ba675SRob Herring regulator-on-in-suspend; 262724ba675SRob Herring regulator-suspend-microvolt = <1800000>; 263724ba675SRob Herring }; 264724ba675SRob Herring }; 265724ba675SRob Herring 266724ba675SRob Herring /* 267724ba675SRob Herring * Note that both vcc33_io and vcc33_pmuio are always 268724ba675SRob Herring * powered together. To simplify the logic in the dts 269724ba675SRob Herring * we just refer to vcc33_io every time something is 270724ba675SRob Herring * powered from vcc33_pmuio. In fact, on later boards 271724ba675SRob Herring * (such as danger) they're the same net. 272724ba675SRob Herring */ 273724ba675SRob Herring vcc33_io: LDO_REG1 { 274724ba675SRob Herring regulator-name = "vcc33_io"; 275724ba675SRob Herring regulator-always-on; 276724ba675SRob Herring regulator-boot-on; 277724ba675SRob Herring regulator-min-microvolt = <3300000>; 278724ba675SRob Herring regulator-max-microvolt = <3300000>; 279724ba675SRob Herring regulator-state-mem { 280724ba675SRob Herring regulator-on-in-suspend; 281724ba675SRob Herring regulator-suspend-microvolt = <3300000>; 282724ba675SRob Herring }; 283724ba675SRob Herring }; 284724ba675SRob Herring 285724ba675SRob Herring vdd_10: LDO_REG3 { 286724ba675SRob Herring regulator-name = "vdd_10"; 287724ba675SRob Herring regulator-always-on; 288724ba675SRob Herring regulator-boot-on; 289724ba675SRob Herring regulator-min-microvolt = <1000000>; 290724ba675SRob Herring regulator-max-microvolt = <1000000>; 291724ba675SRob Herring regulator-state-mem { 292724ba675SRob Herring regulator-on-in-suspend; 293724ba675SRob Herring regulator-suspend-microvolt = <1000000>; 294724ba675SRob Herring }; 295724ba675SRob Herring }; 296724ba675SRob Herring 297724ba675SRob Herring vdd10_lcd_pwren_h: LDO_REG7 { 298724ba675SRob Herring regulator-name = "vdd10_lcd_pwren_h"; 299724ba675SRob Herring regulator-always-on; 300724ba675SRob Herring regulator-boot-on; 301724ba675SRob Herring regulator-min-microvolt = <2500000>; 302724ba675SRob Herring regulator-max-microvolt = <2500000>; 303724ba675SRob Herring regulator-state-mem { 304724ba675SRob Herring regulator-off-in-suspend; 305724ba675SRob Herring }; 306724ba675SRob Herring }; 307724ba675SRob Herring 308724ba675SRob Herring vcc33_lcd: SWITCH_REG1 { 309724ba675SRob Herring regulator-name = "vcc33_lcd"; 310724ba675SRob Herring regulator-always-on; 311724ba675SRob Herring regulator-boot-on; 312724ba675SRob Herring regulator-state-mem { 313724ba675SRob Herring regulator-off-in-suspend; 314724ba675SRob Herring }; 315724ba675SRob Herring }; 316724ba675SRob Herring }; 317724ba675SRob Herring }; 318724ba675SRob Herring}; 319724ba675SRob Herring 320724ba675SRob Herring&i2c1 { 321724ba675SRob Herring status = "okay"; 322724ba675SRob Herring 323724ba675SRob Herring clock-frequency = <400000>; 324724ba675SRob Herring i2c-scl-falling-time-ns = <50>; /* 2.5ns measured */ 325724ba675SRob Herring i2c-scl-rising-time-ns = <100>; /* 40ns measured */ 326724ba675SRob Herring 327724ba675SRob Herring tpm: tpm@20 { 328724ba675SRob Herring compatible = "infineon,slb9645tt"; 329724ba675SRob Herring reg = <0x20>; 330724ba675SRob Herring powered-while-suspended; 331724ba675SRob Herring }; 332724ba675SRob Herring}; 333724ba675SRob Herring 334724ba675SRob Herring&i2c2 { 335724ba675SRob Herring status = "okay"; 336724ba675SRob Herring 337724ba675SRob Herring /* 100kHz since 4.7k resistors don't rise fast enough */ 338724ba675SRob Herring clock-frequency = <100000>; 339724ba675SRob Herring i2c-scl-falling-time-ns = <50>; /* 10ns measured */ 340724ba675SRob Herring i2c-scl-rising-time-ns = <800>; /* 600ns measured */ 341724ba675SRob Herring}; 342724ba675SRob Herring 343724ba675SRob Herring&i2c4 { 344724ba675SRob Herring status = "okay"; 345724ba675SRob Herring 346724ba675SRob Herring clock-frequency = <400000>; 347724ba675SRob Herring i2c-scl-falling-time-ns = <50>; /* 11ns measured */ 348724ba675SRob Herring i2c-scl-rising-time-ns = <300>; /* 225ns measured */ 349724ba675SRob Herring}; 350724ba675SRob Herring 351724ba675SRob Herring&io_domains { 352724ba675SRob Herring status = "okay"; 353724ba675SRob Herring 354724ba675SRob Herring bb-supply = <&vcc33_io>; 355724ba675SRob Herring dvp-supply = <&vcc_18>; 356724ba675SRob Herring flash0-supply = <&vcc18_flashio>; 357724ba675SRob Herring gpio1830-supply = <&vcc33_io>; 358724ba675SRob Herring gpio30-supply = <&vcc33_io>; 359724ba675SRob Herring lcdc-supply = <&vcc33_lcd>; 360724ba675SRob Herring wifi-supply = <&vcc18_wl>; 361724ba675SRob Herring}; 362724ba675SRob Herring 363724ba675SRob Herring&pwm1 { 364724ba675SRob Herring status = "okay"; 365724ba675SRob Herring}; 366724ba675SRob Herring 367724ba675SRob Herring&sdio0 { 368724ba675SRob Herring status = "okay"; 369724ba675SRob Herring 370724ba675SRob Herring bus-width = <4>; 371724ba675SRob Herring cap-sd-highspeed; 372724ba675SRob Herring cap-sdio-irq; 373724ba675SRob Herring keep-power-in-suspend; 374724ba675SRob Herring mmc-pwrseq = <&sdio_pwrseq>; 375724ba675SRob Herring non-removable; 376724ba675SRob Herring pinctrl-names = "default"; 377724ba675SRob Herring pinctrl-0 = <&sdio0_clk &sdio0_cmd &sdio0_bus4>; 378724ba675SRob Herring sd-uhs-sdr12; 379724ba675SRob Herring sd-uhs-sdr25; 380724ba675SRob Herring sd-uhs-sdr50; 381724ba675SRob Herring sd-uhs-sdr104; 382724ba675SRob Herring vmmc-supply = <&vcc33_sys>; 383724ba675SRob Herring vqmmc-supply = <&vcc18_wl>; 384724ba675SRob Herring}; 385724ba675SRob Herring 386724ba675SRob Herring&spi2 { 387724ba675SRob Herring status = "okay"; 388724ba675SRob Herring 389724ba675SRob Herring rx-sample-delay-ns = <12>; 390724ba675SRob Herring 391724ba675SRob Herring flash@0 { 392724ba675SRob Herring compatible = "jedec,spi-nor"; 393724ba675SRob Herring spi-max-frequency = <50000000>; 394724ba675SRob Herring reg = <0>; 395724ba675SRob Herring }; 396724ba675SRob Herring}; 397724ba675SRob Herring 398724ba675SRob Herring&tsadc { 399724ba675SRob Herring status = "okay"; 400724ba675SRob Herring 401724ba675SRob Herring rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ 402724ba675SRob Herring rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ 403724ba675SRob Herring rockchip,hw-tshut-temp = <125000>; 404724ba675SRob Herring}; 405724ba675SRob Herring 406724ba675SRob Herring&uart0 { 407724ba675SRob Herring status = "okay"; 408724ba675SRob Herring 409724ba675SRob Herring /* Pins don't include flow control by default; add that in */ 410724ba675SRob Herring pinctrl-names = "default"; 411724ba675SRob Herring pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 412724ba675SRob Herring}; 413724ba675SRob Herring 414724ba675SRob Herring&uart1 { 415724ba675SRob Herring status = "okay"; 416724ba675SRob Herring}; 417724ba675SRob Herring 418724ba675SRob Herring&uart2 { 419724ba675SRob Herring status = "okay"; 420724ba675SRob Herring}; 421724ba675SRob Herring 422724ba675SRob Herring&usbphy { 423724ba675SRob Herring status = "okay"; 424724ba675SRob Herring}; 425724ba675SRob Herring 426724ba675SRob Herring&usb_host0_ehci { 427724ba675SRob Herring status = "okay"; 428724ba675SRob Herring 429724ba675SRob Herring needs-reset-on-resume; 430724ba675SRob Herring}; 431724ba675SRob Herring 432724ba675SRob Herring&usb_host1 { 433724ba675SRob Herring status = "okay"; 434724ba675SRob Herring snps,need-phy-for-wake; 435724ba675SRob Herring}; 436724ba675SRob Herring 437724ba675SRob Herring&usb_otg { 438724ba675SRob Herring status = "okay"; 439724ba675SRob Herring 440724ba675SRob Herring assigned-clocks = <&cru SCLK_USBPHY480M_SRC>; 441724ba675SRob Herring assigned-clock-parents = <&usbphy0>; 442724ba675SRob Herring dr_mode = "host"; 443724ba675SRob Herring snps,need-phy-for-wake; 444724ba675SRob Herring}; 445724ba675SRob Herring 446724ba675SRob Herring&vopb { 447724ba675SRob Herring status = "okay"; 448724ba675SRob Herring}; 449724ba675SRob Herring 450724ba675SRob Herring&vopb_mmu { 451724ba675SRob Herring status = "okay"; 452724ba675SRob Herring}; 453724ba675SRob Herring 454724ba675SRob Herring&wdt { 455724ba675SRob Herring status = "okay"; 456724ba675SRob Herring}; 457724ba675SRob Herring 458724ba675SRob Herring&pinctrl { 459724ba675SRob Herring pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 460724ba675SRob Herring bias-disable; 461724ba675SRob Herring drive-strength = <8>; 462724ba675SRob Herring }; 463724ba675SRob Herring 464724ba675SRob Herring pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 465724ba675SRob Herring bias-pull-up; 466724ba675SRob Herring drive-strength = <8>; 467724ba675SRob Herring }; 468724ba675SRob Herring 469724ba675SRob Herring pcfg_output_high: pcfg-output-high { 470724ba675SRob Herring output-high; 471724ba675SRob Herring }; 472724ba675SRob Herring 473724ba675SRob Herring pcfg_output_low: pcfg-output-low { 474724ba675SRob Herring output-low; 475724ba675SRob Herring }; 476724ba675SRob Herring 477724ba675SRob Herring buttons { 478724ba675SRob Herring pwr_key_l: pwr-key-l { 479724ba675SRob Herring rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 480724ba675SRob Herring }; 481724ba675SRob Herring }; 482724ba675SRob Herring 483724ba675SRob Herring emmc { 484724ba675SRob Herring emmc_reset: emmc-reset { 485724ba675SRob Herring rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 486724ba675SRob Herring }; 487724ba675SRob Herring 488724ba675SRob Herring /* 489724ba675SRob Herring * We run eMMC at max speed; bump up drive strength. 490724ba675SRob Herring * We also have external pulls, so disable the internal ones. 491724ba675SRob Herring */ 492724ba675SRob Herring emmc_clk: emmc-clk { 493724ba675SRob Herring rockchip,pins = <3 RK_PC2 2 &pcfg_pull_none_drv_8ma>; 494724ba675SRob Herring }; 495724ba675SRob Herring 496724ba675SRob Herring emmc_cmd: emmc-cmd { 497724ba675SRob Herring rockchip,pins = <3 RK_PC0 2 &pcfg_pull_none_drv_8ma>; 498724ba675SRob Herring }; 499724ba675SRob Herring 500724ba675SRob Herring emmc_bus8: emmc-bus8 { 501724ba675SRob Herring rockchip,pins = <3 RK_PA0 2 &pcfg_pull_none_drv_8ma>, 502724ba675SRob Herring <3 RK_PA1 2 &pcfg_pull_none_drv_8ma>, 503724ba675SRob Herring <3 RK_PA2 2 &pcfg_pull_none_drv_8ma>, 504724ba675SRob Herring <3 RK_PA3 2 &pcfg_pull_none_drv_8ma>, 505724ba675SRob Herring <3 RK_PA4 2 &pcfg_pull_none_drv_8ma>, 506724ba675SRob Herring <3 RK_PA5 2 &pcfg_pull_none_drv_8ma>, 507724ba675SRob Herring <3 RK_PA6 2 &pcfg_pull_none_drv_8ma>, 508724ba675SRob Herring <3 RK_PA7 2 &pcfg_pull_none_drv_8ma>; 509724ba675SRob Herring }; 510724ba675SRob Herring }; 511724ba675SRob Herring 512724ba675SRob Herring pmic { 513724ba675SRob Herring pmic_int_l: pmic-int-l { 514724ba675SRob Herring rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 515724ba675SRob Herring }; 516724ba675SRob Herring }; 517724ba675SRob Herring 518724ba675SRob Herring reboot { 519724ba675SRob Herring ap_warm_reset_h: ap-warm-reset-h { 520724ba675SRob Herring rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 521724ba675SRob Herring }; 522724ba675SRob Herring }; 523724ba675SRob Herring 524724ba675SRob Herring recovery-switch { 525724ba675SRob Herring rec_mode_l: rec-mode-l { 526724ba675SRob Herring rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 527724ba675SRob Herring }; 528724ba675SRob Herring }; 529724ba675SRob Herring 530724ba675SRob Herring sdio0 { 531724ba675SRob Herring wifi_enable_h: wifienable-h { 532724ba675SRob Herring rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 533724ba675SRob Herring }; 534724ba675SRob Herring 535724ba675SRob Herring /* NOTE: mislabelled on schematic; should be bt_enable_h */ 536724ba675SRob Herring bt_enable_l: bt-enable-l { 537724ba675SRob Herring rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 538724ba675SRob Herring }; 539724ba675SRob Herring 540724ba675SRob Herring bt_host_wake: bt-host-wake { 541724ba675SRob Herring rockchip,pins = <4 RK_PD7 RK_FUNC_GPIO &pcfg_pull_down>; 542724ba675SRob Herring }; 543724ba675SRob Herring 544724ba675SRob Herring bt_host_wake_l: bt-host-wake-l { 545724ba675SRob Herring rockchip,pins = <4 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>; 546724ba675SRob Herring }; 547724ba675SRob Herring 548724ba675SRob Herring /* 549724ba675SRob Herring * We run sdio0 at max speed; bump up drive strength. 550724ba675SRob Herring * We also have external pulls, so disable the internal ones. 551724ba675SRob Herring */ 552724ba675SRob Herring sdio0_bus4: sdio0-bus4 { 553724ba675SRob Herring rockchip,pins = <4 RK_PC4 1 &pcfg_pull_none_drv_8ma>, 554724ba675SRob Herring <4 RK_PC5 1 &pcfg_pull_none_drv_8ma>, 555724ba675SRob Herring <4 RK_PC6 1 &pcfg_pull_none_drv_8ma>, 556724ba675SRob Herring <4 RK_PC7 1 &pcfg_pull_none_drv_8ma>; 557724ba675SRob Herring }; 558724ba675SRob Herring 559724ba675SRob Herring sdio0_cmd: sdio0-cmd { 560724ba675SRob Herring rockchip,pins = <4 RK_PD0 1 &pcfg_pull_none_drv_8ma>; 561724ba675SRob Herring }; 562724ba675SRob Herring 563724ba675SRob Herring sdio0_clk: sdio0-clk { 564724ba675SRob Herring rockchip,pins = <4 RK_PD1 1 &pcfg_pull_none_drv_8ma>; 565724ba675SRob Herring }; 566724ba675SRob Herring 567724ba675SRob Herring /* 568724ba675SRob Herring * These pins are only present on very new veyron boards; on 569724ba675SRob Herring * older boards bt_dev_wake is simply always high. Note that 570724ba675SRob Herring * gpio4_D2 is a NC on old veyron boards, so it doesn't hurt 571724ba675SRob Herring * to map this pin everywhere 572724ba675SRob Herring */ 573724ba675SRob Herring bt_dev_wake_sleep: bt-dev-wake-sleep { 574724ba675SRob Herring rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_low>; 575724ba675SRob Herring }; 576724ba675SRob Herring 577724ba675SRob Herring bt_dev_wake_awake: bt-dev-wake-awake { 578724ba675SRob Herring rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_high>; 579724ba675SRob Herring }; 580724ba675SRob Herring 581724ba675SRob Herring bt_dev_wake: bt-dev-wake { 582724ba675SRob Herring rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 583724ba675SRob Herring }; 584724ba675SRob Herring }; 585724ba675SRob Herring 586724ba675SRob Herring tpm { 587724ba675SRob Herring tpm_int_h: tpm-int-h { 588724ba675SRob Herring rockchip,pins = <7 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 589724ba675SRob Herring }; 590724ba675SRob Herring }; 591724ba675SRob Herring 592724ba675SRob Herring write-protect { 593724ba675SRob Herring fw_wp_ap: fw-wp-ap { 594724ba675SRob Herring rockchip,pins = <7 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 595724ba675SRob Herring }; 596724ba675SRob Herring }; 597724ba675SRob Herring}; 598