1e2e947ffSSimon Glass/* 2e2e947ffSSimon Glass * Google Veyron (and derivatives) board device tree source 3e2e947ffSSimon Glass * 4e2e947ffSSimon Glass * Copyright 2014 Google, Inc 5e2e947ffSSimon Glass * 6e2e947ffSSimon Glass * SPDX-License-Identifier: GPL-2.0 7e2e947ffSSimon Glass */ 8e2e947ffSSimon Glass 9e2e947ffSSimon Glass#include <dt-bindings/clock/rockchip,rk808.h> 10e2e947ffSSimon Glass#include <dt-bindings/input/input.h> 11e2e947ffSSimon Glass#include "rk3288.dtsi" 12c22f479cSJoseph Chen#include "rk3288-u-boot.dtsi" 13e2e947ffSSimon Glass 14e2e947ffSSimon Glass/ { 15e2e947ffSSimon Glass memory { 16e2e947ffSSimon Glass reg = <0x0 0x80000000>; 17e2e947ffSSimon Glass }; 18e2e947ffSSimon Glass 19e2e947ffSSimon Glass chosen { 20e2e947ffSSimon Glass stdout-path = &uart2; 2126ceaeeeSKever Yang u-boot,spl-boot-order = &spi_flash; 22e2e947ffSSimon Glass }; 23e2e947ffSSimon Glass 24e2e947ffSSimon Glass firmware { 25e2e947ffSSimon Glass chromeos { 26e2e947ffSSimon Glass pinctrl-names = "default"; 27e2e947ffSSimon Glass pinctrl-0 = <&fw_wp_ap>; 28e2e947ffSSimon Glass write-protect-gpio = <&gpio7 6 GPIO_ACTIVE_LOW>; 29e2e947ffSSimon Glass }; 30e2e947ffSSimon Glass }; 31e2e947ffSSimon Glass 32e2e947ffSSimon Glass backlight: backlight { 33e2e947ffSSimon Glass compatible = "pwm-backlight"; 34e2e947ffSSimon Glass brightness-levels = < 35e2e947ffSSimon Glass 0 1 2 3 4 5 6 7 36e2e947ffSSimon Glass 8 9 10 11 12 13 14 15 37e2e947ffSSimon Glass 16 17 18 19 20 21 22 23 38e2e947ffSSimon Glass 24 25 26 27 28 29 30 31 39e2e947ffSSimon Glass 32 33 34 35 36 37 38 39 40e2e947ffSSimon Glass 40 41 42 43 44 45 46 47 41e2e947ffSSimon Glass 48 49 50 51 52 53 54 55 42e2e947ffSSimon Glass 56 57 58 59 60 61 62 63 43e2e947ffSSimon Glass 64 65 66 67 68 69 70 71 44e2e947ffSSimon Glass 72 73 74 75 76 77 78 79 45e2e947ffSSimon Glass 80 81 82 83 84 85 86 87 46e2e947ffSSimon Glass 88 89 90 91 92 93 94 95 47e2e947ffSSimon Glass 96 97 98 99 100 101 102 103 48e2e947ffSSimon Glass 104 105 106 107 108 109 110 111 49e2e947ffSSimon Glass 112 113 114 115 116 117 118 119 50e2e947ffSSimon Glass 120 121 122 123 124 125 126 127 51e2e947ffSSimon Glass 128 129 130 131 132 133 134 135 52e2e947ffSSimon Glass 136 137 138 139 140 141 142 143 53e2e947ffSSimon Glass 144 145 146 147 148 149 150 151 54e2e947ffSSimon Glass 152 153 154 155 156 157 158 159 55e2e947ffSSimon Glass 160 161 162 163 164 165 166 167 56e2e947ffSSimon Glass 168 169 170 171 172 173 174 175 57e2e947ffSSimon Glass 176 177 178 179 180 181 182 183 58e2e947ffSSimon Glass 184 185 186 187 188 189 190 191 59e2e947ffSSimon Glass 192 193 194 195 196 197 198 199 60e2e947ffSSimon Glass 200 201 202 203 204 205 206 207 61e2e947ffSSimon Glass 208 209 210 211 212 213 214 215 62e2e947ffSSimon Glass 216 217 218 219 220 221 222 223 63e2e947ffSSimon Glass 224 225 226 227 228 229 230 231 64e2e947ffSSimon Glass 232 233 234 235 236 237 238 239 65e2e947ffSSimon Glass 240 241 242 243 244 245 246 247 66e2e947ffSSimon Glass 248 249 250 251 252 253 254 255>; 67e2e947ffSSimon Glass default-brightness-level = <128>; 68e2e947ffSSimon Glass enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>; 69e2e947ffSSimon Glass backlight-boot-off; 70e2e947ffSSimon Glass pinctrl-names = "default"; 71e2e947ffSSimon Glass pinctrl-0 = <&bl_en>; 72e2e947ffSSimon Glass pwms = <&pwm0 0 1000000 0>; 73e2e947ffSSimon Glass }; 74e2e947ffSSimon Glass 75e2e947ffSSimon Glass panel: panel { 76e2e947ffSSimon Glass compatible ="cnm,n116bgeea2","simple-panel"; 77e2e947ffSSimon Glass status = "okay"; 78e2e947ffSSimon Glass power-supply = <&vcc33_lcd>; 79e2e947ffSSimon Glass backlight = <&backlight>; 80e2e947ffSSimon Glass }; 81e2e947ffSSimon Glass 82e2e947ffSSimon Glass gpio_keys: gpio-keys { 83e2e947ffSSimon Glass compatible = "gpio-keys"; 84e2e947ffSSimon Glass #address-cells = <1>; 85e2e947ffSSimon Glass #size-cells = <0>; 86e2e947ffSSimon Glass 87e2e947ffSSimon Glass pinctrl-names = "default"; 88e2e947ffSSimon Glass pinctrl-0 = <&pwr_key_h>; 89e2e947ffSSimon Glass power { 90e2e947ffSSimon Glass label = "Power"; 91e2e947ffSSimon Glass gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; 92e2e947ffSSimon Glass linux,code = <KEY_POWER>; 93e2e947ffSSimon Glass debounce-interval = <100>; 94e2e947ffSSimon Glass gpio-key,wakeup; 95e2e947ffSSimon Glass }; 96e2e947ffSSimon Glass }; 97e2e947ffSSimon Glass 98e2e947ffSSimon Glass gpio-restart { 99e2e947ffSSimon Glass compatible = "gpio-restart"; 100e2e947ffSSimon Glass gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; 101e2e947ffSSimon Glass pinctrl-names = "default"; 102e2e947ffSSimon Glass pinctrl-0 = <&ap_warm_reset_h>; 103e2e947ffSSimon Glass priority = /bits/ 8 <200>; 104e2e947ffSSimon Glass }; 105e2e947ffSSimon Glass 10679d020eeSSimon Glass emmc_pwrseq: emmc-pwrseq { 10779d020eeSSimon Glass compatible = "mmc-pwrseq-emmc"; 10879d020eeSSimon Glass pinctrl-0 = <&emmc_reset>; 10979d020eeSSimon Glass pinctrl-names = "default"; 11079d020eeSSimon Glass reset-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>; 11179d020eeSSimon Glass }; 11279d020eeSSimon Glass 113e2e947ffSSimon Glass sound { 114e2e947ffSSimon Glass compatible = "rockchip,rockchip-audio-max98090"; 115e2e947ffSSimon Glass rockchip,model = "ROCKCHIP-I2S"; 116e2e947ffSSimon Glass rockchip,i2s-controller = <&i2s>; 117e2e947ffSSimon Glass rockchip,audio-codec = <&max98090>; 118e2e947ffSSimon Glass rockchip,hp-det-gpios = <&gpio6 5 GPIO_ACTIVE_HIGH>; 119e2e947ffSSimon Glass rockchip,mic-det-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; 120e2e947ffSSimon Glass rockchip,headset-codec = <&headsetcodec>; 121e2e947ffSSimon Glass pinctrl-names = "default"; 122e2e947ffSSimon Glass pinctrl-0 = <&mic_det>, <&hp_det>; 123e2e947ffSSimon Glass }; 124e2e947ffSSimon Glass 125e2e947ffSSimon Glass vdd_logic: pwm-regulator { 126e2e947ffSSimon Glass compatible = "pwm-regulator"; 127e2e947ffSSimon Glass pwms = <&pwm1 0 2000 0>; 128e2e947ffSSimon Glass 129e2e947ffSSimon Glass voltage-table = <1350000 0>, 130e2e947ffSSimon Glass <1300000 10>, 131e2e947ffSSimon Glass <1250000 20>, 132e2e947ffSSimon Glass <1200000 31>, 133e2e947ffSSimon Glass <1150000 41>, 134e2e947ffSSimon Glass <1100000 52>, 135e2e947ffSSimon Glass <1050000 62>, 136e2e947ffSSimon Glass <1000000 72>, 137e2e947ffSSimon Glass < 950000 83>; 138e2e947ffSSimon Glass 139e2e947ffSSimon Glass regulator-min-microvolt = <950000>; 140e2e947ffSSimon Glass regulator-max-microvolt = <1350000>; 141e2e947ffSSimon Glass regulator-name = "vdd_logic"; 142e2e947ffSSimon Glass regulator-ramp-delay = <4000>; 143e2e947ffSSimon Glass }; 144e2e947ffSSimon Glass 145e2e947ffSSimon Glass vcc33_sys: vcc33-sys { 146e2e947ffSSimon Glass compatible = "regulator-fixed"; 147e2e947ffSSimon Glass regulator-name = "vcc33_sys"; 148e2e947ffSSimon Glass regulator-always-on; 149e2e947ffSSimon Glass regulator-boot-on; 150e2e947ffSSimon Glass regulator-min-microvolt = <3300000>; 151e2e947ffSSimon Glass regulator-max-microvolt = <3300000>; 152e2e947ffSSimon Glass vin-supply = <&vccsys>; 153e2e947ffSSimon Glass }; 154e2e947ffSSimon Glass 155e2e947ffSSimon Glass vcc_5v: vcc-5v { 156e2e947ffSSimon Glass compatible = "regulator-fixed"; 157e2e947ffSSimon Glass regulator-name = "vcc_5v"; 158e2e947ffSSimon Glass regulator-always-on; 159e2e947ffSSimon Glass regulator-boot-on; 160e2e947ffSSimon Glass regulator-min-microvolt = <5000000>; 161e2e947ffSSimon Glass regulator-max-microvolt = <5000000>; 162e2e947ffSSimon Glass }; 163e2e947ffSSimon Glass 164e2e947ffSSimon Glass vcc50_hdmi: vcc50-hdmi { 165e2e947ffSSimon Glass compatible = "regulator-fixed"; 166e2e947ffSSimon Glass regulator-name = "vcc50_hdmi"; 167e2e947ffSSimon Glass regulator-always-on; 168e2e947ffSSimon Glass regulator-boot-on; 169e2e947ffSSimon Glass vin-supply = <&vcc_5v>; 170e2e947ffSSimon Glass }; 171e2e947ffSSimon Glass 172e2e947ffSSimon Glass bt_regulator: bt-regulator { 173e2e947ffSSimon Glass /* 174e2e947ffSSimon Glass * On the module itself this is one of these (depending 175e2e947ffSSimon Glass * on the actual card pouplated): 176e2e947ffSSimon Glass * - BT_I2S_WS_BT_RFDISABLE_L 177e2e947ffSSimon Glass * - No connect 178e2e947ffSSimon Glass */ 179e2e947ffSSimon Glass 180e2e947ffSSimon Glass compatible = "regulator-fixed"; 181e2e947ffSSimon Glass enable-active-high; 182e2e947ffSSimon Glass gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; 183e2e947ffSSimon Glass pinctrl-names = "default"; 184e2e947ffSSimon Glass pinctrl-0 = <&bt_enable_l>; 185e2e947ffSSimon Glass regulator-name = "bt_regulator"; 186e2e947ffSSimon Glass }; 187e2e947ffSSimon Glass 188e2e947ffSSimon Glass wifi_regulator: wifi-regulator { 189e2e947ffSSimon Glass /* 190e2e947ffSSimon Glass * On the module itself this is one of these (depending 191e2e947ffSSimon Glass * on the actual card populated): 192e2e947ffSSimon Glass * - SDIO_RESET_L_WL_REG_ON 193e2e947ffSSimon Glass * - PDN (power down when low) 194e2e947ffSSimon Glass */ 195e2e947ffSSimon Glass 196e2e947ffSSimon Glass compatible = "regulator-fixed"; 197e2e947ffSSimon Glass enable-active-high; 198e2e947ffSSimon Glass gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>; 199e2e947ffSSimon Glass pinctrl-names = "default"; 200e2e947ffSSimon Glass pinctrl-0 = <&wifi_enable_h>; 201e2e947ffSSimon Glass regulator-name = "wifi_regulator"; 202e2e947ffSSimon Glass 203e2e947ffSSimon Glass /* Faux input supply. See bt_regulator description. */ 204e2e947ffSSimon Glass vin-supply = <&bt_regulator>; 205e2e947ffSSimon Glass }; 206e2e947ffSSimon Glass 207e2e947ffSSimon Glass io-domains { 208e2e947ffSSimon Glass compatible = "rockchip,rk3288-io-voltage-domain"; 209e2e947ffSSimon Glass rockchip,grf = <&grf>; 210e2e947ffSSimon Glass 211e2e947ffSSimon Glass audio-supply = <&vcc18_codec>; 212e2e947ffSSimon Glass bb-supply = <&vcc33_io>; 213e2e947ffSSimon Glass dvp-supply = <&vcc_18>; 214e2e947ffSSimon Glass flash0-supply = <&vcc18_flashio>; 215e2e947ffSSimon Glass gpio1830-supply = <&vcc33_io>; 216e2e947ffSSimon Glass gpio30-supply = <&vcc33_io>; 217e2e947ffSSimon Glass lcdc-supply = <&vcc33_lcd>; 218e2e947ffSSimon Glass sdcard-supply = <&vccio_sd>; 219e2e947ffSSimon Glass wifi-supply = <&vcc18_wl>; 220e2e947ffSSimon Glass }; 221e2e947ffSSimon Glass}; 222e2e947ffSSimon Glass 223e2e947ffSSimon Glass&cpu0 { 224e2e947ffSSimon Glass cpu0-supply = <&vdd_cpu>; 225e2e947ffSSimon Glass}; 226e2e947ffSSimon Glass 227e2e947ffSSimon Glass&dmc { 228e2e947ffSSimon Glass logic-supply = <&vdd_logic>; 229e2e947ffSSimon Glass rockchip,odt-disable-freq = <333000000>; 230e2e947ffSSimon Glass rockchip,dll-disable-freq = <333000000>; 231e2e947ffSSimon Glass rockchip,sr-enable-freq = <333000000>; 232e2e947ffSSimon Glass rockchip,pd-enable-freq = <666000000>; 233e2e947ffSSimon Glass rockchip,auto-self-refresh-cnt = <0>; 234e2e947ffSSimon Glass rockchip,auto-power-down-cnt = <64>; 235e2e947ffSSimon Glass rockchip,ddr-speed-bin = <21>; 236e2e947ffSSimon Glass rockchip,trcd = <10>; 237e2e947ffSSimon Glass rockchip,trp = <10>; 238e2e947ffSSimon Glass operating-points = < 239e2e947ffSSimon Glass /* KHz uV */ 240e2e947ffSSimon Glass 200000 1050000 241e2e947ffSSimon Glass 333000 1100000 242e2e947ffSSimon Glass 533000 1150000 243e2e947ffSSimon Glass 666000 1200000 244e2e947ffSSimon Glass >; 245e2e947ffSSimon Glass}; 246e2e947ffSSimon Glass 247e2e947ffSSimon Glass&efuse { 248e2e947ffSSimon Glass status = "okay"; 249e2e947ffSSimon Glass}; 250e2e947ffSSimon Glass 251e2e947ffSSimon Glass&emmc { 252e2e947ffSSimon Glass broken-cd; 253e2e947ffSSimon Glass bus-width = <8>; 254e2e947ffSSimon Glass cap-mmc-highspeed; 255e2e947ffSSimon Glass mmc-hs200-1_8v; 25679d020eeSSimon Glass mmc-pwrseq = <&emmc_pwrseq>; 257e2e947ffSSimon Glass disable-wp; 258e2e947ffSSimon Glass non-removable; 259e2e947ffSSimon Glass num-slots = <1>; 260e2e947ffSSimon Glass pinctrl-names = "default"; 26179d020eeSSimon Glass pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8 &emmc_pwr>; 262e2e947ffSSimon Glass status = "okay"; 263e2e947ffSSimon Glass}; 264e2e947ffSSimon Glass 265e2e947ffSSimon Glass&sdio0 { 266e2e947ffSSimon Glass broken-cd; 267e2e947ffSSimon Glass bus-width = <4>; 268e2e947ffSSimon Glass cap-sd-highspeed; 269e2e947ffSSimon Glass sd-uhs-sdr12; 270e2e947ffSSimon Glass sd-uhs-sdr25; 271e2e947ffSSimon Glass sd-uhs-sdr50; 272e2e947ffSSimon Glass sd-uhs-sdr104; 273e2e947ffSSimon Glass cap-sdio-irq; 274e2e947ffSSimon Glass card-external-vcc-supply = <&wifi_regulator>; 275e2e947ffSSimon Glass clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>, <&cru SCLK_SDIO0_DRV>, 276e2e947ffSSimon Glass <&cru SCLK_SDIO0_SAMPLE>, <&rk808 RK808_CLKOUT1>; 277*c5c7b477SKever Yang clock-names = "biu", "ciu", "ciu-drv", "ciu-sample", "card-ext-clock"; 278e2e947ffSSimon Glass keep-power-in-suspend; 279e2e947ffSSimon Glass non-removable; 280e2e947ffSSimon Glass num-slots = <1>; 281e2e947ffSSimon Glass pinctrl-names = "default"; 282e2e947ffSSimon Glass pinctrl-0 = <&sdio0_clk &sdio0_cmd &sdio0_bus4>; 283e2e947ffSSimon Glass status = "okay"; 284e2e947ffSSimon Glass vmmc-supply = <&vcc33_sys>; 285e2e947ffSSimon Glass vqmmc-supply = <&vcc18_wl>; 286e2e947ffSSimon Glass}; 287e2e947ffSSimon Glass 288e2e947ffSSimon Glass&sdmmc { 289e2e947ffSSimon Glass bus-width = <4>; 290e2e947ffSSimon Glass cap-mmc-highspeed; 291e2e947ffSSimon Glass cap-sd-highspeed; 292e2e947ffSSimon Glass sd-uhs-sdr12; 293e2e947ffSSimon Glass sd-uhs-sdr25; 294e2e947ffSSimon Glass sd-uhs-sdr50; 295e2e947ffSSimon Glass sd-uhs-sdr104; 296e2e947ffSSimon Glass card-detect-delay = <200>; 297e2e947ffSSimon Glass cd-gpios = <&gpio7 5 GPIO_ACTIVE_LOW>; 298e2e947ffSSimon Glass num-slots = <1>; 299e2e947ffSSimon Glass status = "okay"; 300e2e947ffSSimon Glass vmmc-supply = <&vcc33_sd>; 301e2e947ffSSimon Glass vqmmc-supply = <&vccio_sd>; 302e2e947ffSSimon Glass}; 303e2e947ffSSimon Glass 304e2e947ffSSimon Glass&spi2 { 305e2e947ffSSimon Glass status = "okay"; 306e2e947ffSSimon Glass u-boot,dm-pre-reloc; 307e2e947ffSSimon Glass 308e2e947ffSSimon Glass spi_flash: spiflash@0 { 309e2e947ffSSimon Glass u-boot,dm-pre-reloc; 310e2e947ffSSimon Glass compatible = "spidev", "spi-flash"; 311e2e947ffSSimon Glass spi-max-frequency = <20000000>; /* Reduce for Dediprog em100 pro */ 312e2e947ffSSimon Glass reg = <0>; 313e2e947ffSSimon Glass }; 314e2e947ffSSimon Glass}; 315e2e947ffSSimon Glass 316e2e947ffSSimon Glass&i2c0 { 317e2e947ffSSimon Glass status = "okay"; 318e2e947ffSSimon Glass 319e2e947ffSSimon Glass clock-frequency = <400000>; 320e2e947ffSSimon Glass i2c-scl-falling-time-ns = <50>; /* 2.5ns measured */ 321e2e947ffSSimon Glass i2c-scl-rising-time-ns = <100>; /* 45ns measured */ 322dae594f2SSimon Glass u-boot,dm-pre-reloc; 323e2e947ffSSimon Glass 324e2e947ffSSimon Glass rk808: pmic@1b { 325e2e947ffSSimon Glass compatible = "rockchip,rk808"; 326e2e947ffSSimon Glass clock-output-names = "xin32k", "wifibt_32kin"; 327e2e947ffSSimon Glass interrupt-parent = <&gpio0>; 328e2e947ffSSimon Glass interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 329e2e947ffSSimon Glass pinctrl-names = "default"; 330e2e947ffSSimon Glass pinctrl-0 = <&pmic_int_l>; 331e2e947ffSSimon Glass reg = <0x1b>; 332e2e947ffSSimon Glass rockchip,system-power-controller; 333e2e947ffSSimon Glass wakeup-source; 334e2e947ffSSimon Glass #clock-cells = <1>; 335dae594f2SSimon Glass u-boot,dm-pre-reloc; 336e2e947ffSSimon Glass 337e2e947ffSSimon Glass vcc1-supply = <&vcc33_sys>; 338e2e947ffSSimon Glass vcc2-supply = <&vcc33_sys>; 339e2e947ffSSimon Glass vcc3-supply = <&vcc33_sys>; 340e2e947ffSSimon Glass vcc4-supply = <&vcc33_sys>; 341e2e947ffSSimon Glass vcc6-supply = <&vcc_5v>; 342e2e947ffSSimon Glass vcc7-supply = <&vcc33_sys>; 343e2e947ffSSimon Glass vcc8-supply = <&vcc33_sys>; 344e2e947ffSSimon Glass vcc9-supply = <&vcc_5v>; 345e2e947ffSSimon Glass vcc10-supply = <&vcc33_sys>; 346e2e947ffSSimon Glass vcc11-supply = <&vcc_5v>; 347e2e947ffSSimon Glass vcc12-supply = <&vcc_18>; 348e2e947ffSSimon Glass 349e2e947ffSSimon Glass vddio-supply = <&vcc33_io>; 350e2e947ffSSimon Glass 351e2e947ffSSimon Glass regulators { 352e2e947ffSSimon Glass vdd_cpu: DCDC_REG1 { 353e2e947ffSSimon Glass regulator-always-on; 354e2e947ffSSimon Glass regulator-boot-on; 355e2e947ffSSimon Glass regulator-min-microvolt = <750000>; 356e2e947ffSSimon Glass regulator-max-microvolt = <1450000>; 357e2e947ffSSimon Glass regulator-name = "vdd_arm"; 358e2e947ffSSimon Glass regulator-ramp-delay = <6001>; 359e2e947ffSSimon Glass regulator-suspend-mem-disabled; 360e2e947ffSSimon Glass }; 361e2e947ffSSimon Glass 362e2e947ffSSimon Glass vdd_gpu: DCDC_REG2 { 363e2e947ffSSimon Glass regulator-always-on; 364e2e947ffSSimon Glass regulator-boot-on; 365e2e947ffSSimon Glass regulator-min-microvolt = <800000>; 366e2e947ffSSimon Glass regulator-max-microvolt = <1250000>; 367e2e947ffSSimon Glass regulator-name = "vdd_gpu"; 368e2e947ffSSimon Glass regulator-ramp-delay = <6001>; 369e2e947ffSSimon Glass regulator-suspend-mem-disabled; 370e2e947ffSSimon Glass }; 371e2e947ffSSimon Glass 372e2e947ffSSimon Glass vcc135_ddr: DCDC_REG3 { 373e2e947ffSSimon Glass regulator-always-on; 374e2e947ffSSimon Glass regulator-boot-on; 375e2e947ffSSimon Glass regulator-name = "vcc135_ddr"; 376e2e947ffSSimon Glass regulator-suspend-mem-enabled; 377e2e947ffSSimon Glass }; 378e2e947ffSSimon Glass 379e2e947ffSSimon Glass /* 380e2e947ffSSimon Glass * vcc_18 has several aliases. (vcc18_flashio and 381e2e947ffSSimon Glass * vcc18_wl). We'll add those aliases here just to 382e2e947ffSSimon Glass * make it easier to follow the schematic. The signals 383e2e947ffSSimon Glass * are actually hooked together and only separated for 384e2e947ffSSimon Glass * power measurement purposes). 385e2e947ffSSimon Glass */ 386e2e947ffSSimon Glass vcc18_wl: vcc18_flashio: vcc_18: DCDC_REG4 { 387e2e947ffSSimon Glass regulator-always-on; 388e2e947ffSSimon Glass regulator-boot-on; 389e2e947ffSSimon Glass regulator-min-microvolt = <1800000>; 390e2e947ffSSimon Glass regulator-max-microvolt = <1800000>; 391e2e947ffSSimon Glass regulator-name = "vcc_18"; 392e2e947ffSSimon Glass regulator-suspend-mem-microvolt = <1800000>; 393e2e947ffSSimon Glass }; 394e2e947ffSSimon Glass 395e2e947ffSSimon Glass /* 396e2e947ffSSimon Glass * Note that both vcc33_io and vcc33_pmuio are always 397e2e947ffSSimon Glass * powered together. To simplify the logic in the dts 398e2e947ffSSimon Glass * we just refer to vcc33_io every time something is 399e2e947ffSSimon Glass * powered from vcc33_pmuio. In fact, on later boards 400e2e947ffSSimon Glass * (such as danger) they're the same net. 401e2e947ffSSimon Glass */ 402e2e947ffSSimon Glass vcc33_io: LDO_REG1 { 403e2e947ffSSimon Glass regulator-always-on; 404e2e947ffSSimon Glass regulator-boot-on; 405e2e947ffSSimon Glass regulator-min-microvolt = <3300000>; 406e2e947ffSSimon Glass regulator-max-microvolt = <3300000>; 407e2e947ffSSimon Glass regulator-name = "vcc33_io"; 408e2e947ffSSimon Glass regulator-suspend-mem-microvolt = <3300000>; 409e2e947ffSSimon Glass }; 410e2e947ffSSimon Glass 411e2e947ffSSimon Glass vdd_10: LDO_REG3 { 412e2e947ffSSimon Glass regulator-always-on; 413e2e947ffSSimon Glass regulator-boot-on; 414e2e947ffSSimon Glass regulator-min-microvolt = <1000000>; 415e2e947ffSSimon Glass regulator-max-microvolt = <1000000>; 416e2e947ffSSimon Glass regulator-name = "vdd_10"; 417e2e947ffSSimon Glass regulator-suspend-mem-microvolt = <1000000>; 418e2e947ffSSimon Glass }; 419e2e947ffSSimon Glass 420e2e947ffSSimon Glass vccio_sd: LDO_REG4 { 421e2e947ffSSimon Glass regulator-min-microvolt = <1800000>; 422e2e947ffSSimon Glass regulator-max-microvolt = <3300000>; 423e2e947ffSSimon Glass regulator-name = "vccio_sd"; 424e2e947ffSSimon Glass regulator-suspend-mem-disabled; 425e2e947ffSSimon Glass }; 426e2e947ffSSimon Glass 427e2e947ffSSimon Glass vcc33_sd: LDO_REG5 { 428e2e947ffSSimon Glass regulator-min-microvolt = <3300000>; 429e2e947ffSSimon Glass regulator-max-microvolt = <3300000>; 430e2e947ffSSimon Glass regulator-name = "vcc33_sd"; 431e2e947ffSSimon Glass regulator-suspend-mem-disabled; 432e2e947ffSSimon Glass }; 433e2e947ffSSimon Glass 434e2e947ffSSimon Glass vcc18_codec: LDO_REG6 { 435e2e947ffSSimon Glass regulator-always-on; 436e2e947ffSSimon Glass regulator-boot-on; 437e2e947ffSSimon Glass regulator-min-microvolt = <1800000>; 438e2e947ffSSimon Glass regulator-max-microvolt = <1800000>; 439e2e947ffSSimon Glass regulator-name = "vcc18_codec"; 440e2e947ffSSimon Glass regulator-suspend-mem-disabled; 441e2e947ffSSimon Glass }; 442e2e947ffSSimon Glass 443e2e947ffSSimon Glass vdd10_lcd_pwren_h: LDO_REG7 { 444e2e947ffSSimon Glass regulator-always-on; 445e2e947ffSSimon Glass regulator-boot-on; 446e2e947ffSSimon Glass regulator-min-microvolt = <2500000>; 447e2e947ffSSimon Glass regulator-max-microvolt = <2500000>; 448e2e947ffSSimon Glass regulator-name = "vdd10_lcd_pwren_h"; 449e2e947ffSSimon Glass regulator-suspend-mem-disabled; 450e2e947ffSSimon Glass }; 451e2e947ffSSimon Glass 452e2e947ffSSimon Glass vcc33_lcd: SWITCH_REG1 { 453e2e947ffSSimon Glass regulator-always-on; 454e2e947ffSSimon Glass regulator-boot-on; 455e2e947ffSSimon Glass regulator-name = "vcc33_lcd"; 456e2e947ffSSimon Glass regulator-suspend-mem-disabled; 457e2e947ffSSimon Glass }; 458e2e947ffSSimon Glass }; 459e2e947ffSSimon Glass }; 460e2e947ffSSimon Glass}; 461e2e947ffSSimon Glass 462e2e947ffSSimon Glass&i2c1 { 463e2e947ffSSimon Glass status = "okay"; 464e2e947ffSSimon Glass 465e2e947ffSSimon Glass clock-frequency = <400000>; 466e2e947ffSSimon Glass i2c-scl-falling-time-ns = <50>; /* 2.5ns measured */ 467e2e947ffSSimon Glass i2c-scl-rising-time-ns = <100>; /* 40ns measured */ 468e2e947ffSSimon Glass 469e2e947ffSSimon Glass tpm: tpm@20 { 470e2e947ffSSimon Glass compatible = "infineon,slb9645tt"; 471e2e947ffSSimon Glass reg = <0x20>; 472e2e947ffSSimon Glass powered-while-suspended; 473e2e947ffSSimon Glass }; 474e2e947ffSSimon Glass}; 475e2e947ffSSimon Glass 476e2e947ffSSimon Glass&i2c2 { 477e2e947ffSSimon Glass status = "okay"; 478e2e947ffSSimon Glass 479e2e947ffSSimon Glass /* 100kHz since 4.7k resistors don't rise fast enough */ 480e2e947ffSSimon Glass clock-frequency = <100000>; 481e2e947ffSSimon Glass i2c-scl-falling-time-ns = <50>; /* 10ns measured */ 482e2e947ffSSimon Glass i2c-scl-rising-time-ns = <800>; /* 600ns measured */ 483e2e947ffSSimon Glass 484e2e947ffSSimon Glass max98090: max98090@10 { 485e2e947ffSSimon Glass compatible = "maxim,max98090"; 486e2e947ffSSimon Glass reg = <0x10>; 487e2e947ffSSimon Glass interrupt-parent = <&gpio6>; 488e2e947ffSSimon Glass interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 489e2e947ffSSimon Glass pinctrl-names = "default"; 490e2e947ffSSimon Glass pinctrl-0 = <&int_codec>; 491e2e947ffSSimon Glass }; 492e2e947ffSSimon Glass}; 493e2e947ffSSimon Glass 494e2e947ffSSimon Glass&i2c3 { 495e2e947ffSSimon Glass status = "okay"; 496e2e947ffSSimon Glass 497e2e947ffSSimon Glass clock-frequency = <400000>; 498e2e947ffSSimon Glass i2c-scl-falling-time-ns = <50>; 499e2e947ffSSimon Glass i2c-scl-rising-time-ns = <300>; 500e2e947ffSSimon Glass}; 501e2e947ffSSimon Glass 502e2e947ffSSimon Glass&i2c4 { 503e2e947ffSSimon Glass status = "okay"; 504e2e947ffSSimon Glass 505e2e947ffSSimon Glass clock-frequency = <400000>; 506e2e947ffSSimon Glass i2c-scl-falling-time-ns = <50>; /* 11ns measured */ 507e2e947ffSSimon Glass i2c-scl-rising-time-ns = <300>; /* 225ns measured */ 508e2e947ffSSimon Glass 509e2e947ffSSimon Glass headsetcodec: ts3a227e@3b { 510e2e947ffSSimon Glass compatible = "ti,ts3a227e"; 511e2e947ffSSimon Glass reg = <0x3b>; 512e2e947ffSSimon Glass interrupt-parent = <&gpio0>; 513e2e947ffSSimon Glass interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 514e2e947ffSSimon Glass pinctrl-names = "default"; 515e2e947ffSSimon Glass pinctrl-0 = <&ts3a227e_int_l>; 516e2e947ffSSimon Glass ti,micbias = <7>; /* MICBIAS = 2.8V */ 517e2e947ffSSimon Glass }; 518e2e947ffSSimon Glass}; 519e2e947ffSSimon Glass 520e2e947ffSSimon Glass&i2c5 { 521e2e947ffSSimon Glass status = "okay"; 522e2e947ffSSimon Glass 523e2e947ffSSimon Glass clock-frequency = <100000>; 524e2e947ffSSimon Glass i2c-scl-falling-time-ns = <300>; 525e2e947ffSSimon Glass i2c-scl-rising-time-ns = <1000>; 526e2e947ffSSimon Glass}; 527e2e947ffSSimon Glass 528e2e947ffSSimon Glass&i2s { 529e2e947ffSSimon Glass status = "okay"; 530e2e947ffSSimon Glass clock-names = "i2s_hclk", "i2s_clk", "i2s_clk_out"; 531e2e947ffSSimon Glass clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>, <&cru SCLK_I2S0_OUT>; 532e2e947ffSSimon Glass}; 533e2e947ffSSimon Glass 534e2e947ffSSimon Glass&wdt { 535e2e947ffSSimon Glass status = "okay"; 536e2e947ffSSimon Glass}; 537e2e947ffSSimon Glass 538e2e947ffSSimon Glass&pwm0 { 539e2e947ffSSimon Glass status = "okay"; 540e2e947ffSSimon Glass}; 541e2e947ffSSimon Glass 542e2e947ffSSimon Glass&pwm1 { 543e2e947ffSSimon Glass status = "okay"; 544e2e947ffSSimon Glass}; 545e2e947ffSSimon Glass 546e2e947ffSSimon Glass&uart0 { 547e2e947ffSSimon Glass status = "okay"; 548e2e947ffSSimon Glass 549e2e947ffSSimon Glass /* Pins don't include flow control by default; add that in */ 550e2e947ffSSimon Glass pinctrl-names = "default"; 551e2e947ffSSimon Glass pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 552e2e947ffSSimon Glass /* We need to go faster than 24MHz, so adjust clock parents / rates */ 553e2e947ffSSimon Glass assigned-clocks = <&cru SCLK_UART0>; 554e2e947ffSSimon Glass assigned-clock-rates = <48000000>; 555e2e947ffSSimon Glass}; 556e2e947ffSSimon Glass 557e2e947ffSSimon Glass&uart1 { 558e2e947ffSSimon Glass status = "okay"; 559e2e947ffSSimon Glass}; 560e2e947ffSSimon Glass 561e2e947ffSSimon Glass&uart2 { 562e2e947ffSSimon Glass status = "okay"; 563e2e947ffSSimon Glass u-boot,dm-pre-reloc; 564e2e947ffSSimon Glass reg-shift = <2>; 565e2e947ffSSimon Glass}; 566e2e947ffSSimon Glass 567e2e947ffSSimon Glass&vopb { 568e2e947ffSSimon Glass status = "okay"; 569e2e947ffSSimon Glass}; 570e2e947ffSSimon Glass 571e2e947ffSSimon Glass&vopb_mmu { 572e2e947ffSSimon Glass status = "okay"; 573e2e947ffSSimon Glass}; 574e2e947ffSSimon Glass 575e2e947ffSSimon Glass&vopl { 576e2e947ffSSimon Glass status = "okay"; 577e2e947ffSSimon Glass}; 578e2e947ffSSimon Glass 579e2e947ffSSimon Glass&vopl_mmu { 580e2e947ffSSimon Glass status = "okay"; 581e2e947ffSSimon Glass}; 582e2e947ffSSimon Glass 583e2e947ffSSimon Glass&edp { 584e2e947ffSSimon Glass status = "okay"; 585e2e947ffSSimon Glass rockchip,panel = <&panel>; 586e2e947ffSSimon Glass}; 587e2e947ffSSimon Glass 588e2e947ffSSimon Glass&hdmi { 589e2e947ffSSimon Glass status = "okay"; 590e2e947ffSSimon Glass}; 591e2e947ffSSimon Glass 592e2e947ffSSimon Glass&hdmi_audio { 593e2e947ffSSimon Glass status = "okay"; 594e2e947ffSSimon Glass}; 595e2e947ffSSimon Glass 596e2e947ffSSimon Glass&gpu { 597e2e947ffSSimon Glass status = "okay"; 598e2e947ffSSimon Glass}; 599e2e947ffSSimon Glass 600e2e947ffSSimon Glass&tsadc { 601e2e947ffSSimon Glass tsadc-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ 602e2e947ffSSimon Glass tsadc-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ 603e2e947ffSSimon Glass status = "okay"; 604e2e947ffSSimon Glass}; 605e2e947ffSSimon Glass 606e2e947ffSSimon Glass&pinctrl { 607e2e947ffSSimon Glass u-boot,dm-pre-reloc; 608e2e947ffSSimon Glass pinctrl-names = "default", "sleep"; 609e2e947ffSSimon Glass pinctrl-0 = < 610e2e947ffSSimon Glass /* Common for sleep and wake, but no owners */ 611e2e947ffSSimon Glass &ddr0_retention 612e2e947ffSSimon Glass &ddrio_pwroff 613e2e947ffSSimon Glass &global_pwroff 614e2e947ffSSimon Glass 615e2e947ffSSimon Glass /* Wake only */ 616e2e947ffSSimon Glass &bt_dev_wake_awake 617e2e947ffSSimon Glass >; 618e2e947ffSSimon Glass pinctrl-1 = < 619e2e947ffSSimon Glass /* Common for sleep and wake, but no owners */ 620e2e947ffSSimon Glass &ddr0_retention 621e2e947ffSSimon Glass &ddrio_pwroff 622e2e947ffSSimon Glass &global_pwroff 623e2e947ffSSimon Glass 624e2e947ffSSimon Glass /* Sleep only */ 625e2e947ffSSimon Glass &bt_dev_wake_sleep 626e2e947ffSSimon Glass >; 627e2e947ffSSimon Glass 628e2e947ffSSimon Glass /* Add this for sdmmc pins to SD card */ 629e2e947ffSSimon Glass pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 630e2e947ffSSimon Glass drive-strength = <8>; 631e2e947ffSSimon Glass }; 632e2e947ffSSimon Glass 633e2e947ffSSimon Glass pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 634e2e947ffSSimon Glass bias-pull-up; 635e2e947ffSSimon Glass drive-strength = <8>; 636e2e947ffSSimon Glass }; 637e2e947ffSSimon Glass 638e2e947ffSSimon Glass pcfg_output_high: pcfg-output-high { 639e2e947ffSSimon Glass output-high; 640e2e947ffSSimon Glass }; 641e2e947ffSSimon Glass 642e2e947ffSSimon Glass pcfg_output_low: pcfg-output-low { 643e2e947ffSSimon Glass output-low; 644e2e947ffSSimon Glass }; 645e2e947ffSSimon Glass 646e2e947ffSSimon Glass backlight { 647e2e947ffSSimon Glass bl_en: bl-en { 648e2e947ffSSimon Glass rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>; 649e2e947ffSSimon Glass }; 650e2e947ffSSimon Glass }; 651e2e947ffSSimon Glass 652e2e947ffSSimon Glass buttons { 653e2e947ffSSimon Glass pwr_key_h: pwr-key-h { 654e2e947ffSSimon Glass rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_none>; 655e2e947ffSSimon Glass }; 656e2e947ffSSimon Glass }; 657e2e947ffSSimon Glass 658e2e947ffSSimon Glass codec { 659e2e947ffSSimon Glass hp_det: hp-det { 660e2e947ffSSimon Glass rockchip,pins = <6 5 RK_FUNC_GPIO &pcfg_pull_up>; 661e2e947ffSSimon Glass }; 662e2e947ffSSimon Glass int_codec: int-codec { 663e2e947ffSSimon Glass rockchip,pins = <6 7 RK_FUNC_GPIO &pcfg_pull_up>; 664e2e947ffSSimon Glass }; 665e2e947ffSSimon Glass mic_det: mic-det { 666e2e947ffSSimon Glass rockchip,pins = <6 11 RK_FUNC_GPIO &pcfg_pull_up>; 667e2e947ffSSimon Glass }; 668e2e947ffSSimon Glass }; 669e2e947ffSSimon Glass 670e2e947ffSSimon Glass emmc { 67179d020eeSSimon Glass emmc_reset: emmc-reset { 67279d020eeSSimon Glass rockchip,pins = <2 9 RK_FUNC_GPIO &pcfg_pull_none>; 673e2e947ffSSimon Glass }; 674e2e947ffSSimon Glass 675e2e947ffSSimon Glass /* 676e2e947ffSSimon Glass * We run eMMC at max speed; bump up drive strength. 677e2e947ffSSimon Glass * We also have external pulls, so disable the internal ones. 678e2e947ffSSimon Glass */ 679e2e947ffSSimon Glass emmc_clk: emmc-clk { 680e2e947ffSSimon Glass rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none_drv_8ma>; 681e2e947ffSSimon Glass }; 682e2e947ffSSimon Glass 683e2e947ffSSimon Glass emmc_cmd: emmc-cmd { 684e2e947ffSSimon Glass rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_none_drv_8ma>; 685e2e947ffSSimon Glass }; 686e2e947ffSSimon Glass 687e2e947ffSSimon Glass emmc_bus8: emmc-bus8 { 688e2e947ffSSimon Glass rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_none_drv_8ma>, 689e2e947ffSSimon Glass <3 1 RK_FUNC_2 &pcfg_pull_none_drv_8ma>, 690e2e947ffSSimon Glass <3 2 RK_FUNC_2 &pcfg_pull_none_drv_8ma>, 691e2e947ffSSimon Glass <3 3 RK_FUNC_2 &pcfg_pull_none_drv_8ma>, 692e2e947ffSSimon Glass <3 4 RK_FUNC_2 &pcfg_pull_none_drv_8ma>, 693e2e947ffSSimon Glass <3 5 RK_FUNC_2 &pcfg_pull_none_drv_8ma>, 694e2e947ffSSimon Glass <3 6 RK_FUNC_2 &pcfg_pull_none_drv_8ma>, 695e2e947ffSSimon Glass <3 7 RK_FUNC_2 &pcfg_pull_none_drv_8ma>; 696e2e947ffSSimon Glass }; 697e2e947ffSSimon Glass }; 698e2e947ffSSimon Glass 699e2e947ffSSimon Glass headset { 700e2e947ffSSimon Glass ts3a227e_int_l: ts3a227e-int-l { 701e2e947ffSSimon Glass rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_up>; 702e2e947ffSSimon Glass }; 703e2e947ffSSimon Glass }; 704e2e947ffSSimon Glass 705e2e947ffSSimon Glass pmic { 706e2e947ffSSimon Glass pmic_int_l: pmic-int-l { 707f4adc9a5SSimon Glass /* 708f4adc9a5SSimon Glass * Causes jerry to hang when probing bus 0 709f4adc9a5SSimon Glass * rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; 710f4adc9a5SSimon Glass */ 711e2e947ffSSimon Glass }; 712e2e947ffSSimon Glass }; 713e2e947ffSSimon Glass 714e2e947ffSSimon Glass reboot { 715e2e947ffSSimon Glass ap_warm_reset_h: ap-warm-reset-h { 716e2e947ffSSimon Glass rockchip,pins = <RK_GPIO0 13 RK_FUNC_GPIO &pcfg_pull_none>; 717e2e947ffSSimon Glass }; 718e2e947ffSSimon Glass }; 719e2e947ffSSimon Glass 720e2e947ffSSimon Glass sdio0 { 721e2e947ffSSimon Glass wifi_enable_h: wifienable-h { 722e2e947ffSSimon Glass rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>; 723e2e947ffSSimon Glass }; 724e2e947ffSSimon Glass 725e2e947ffSSimon Glass /* NOTE: mislabelled on schematic; should be bt_enable_h */ 726e2e947ffSSimon Glass bt_enable_l: bt-enable-l { 727e2e947ffSSimon Glass rockchip,pins = <4 29 RK_FUNC_GPIO &pcfg_pull_none>; 728e2e947ffSSimon Glass }; 729e2e947ffSSimon Glass 730e2e947ffSSimon Glass /* 731e2e947ffSSimon Glass * We run sdio0 at max speed; bump up drive strength. 732e2e947ffSSimon Glass * We also have external pulls, so disable the internal ones. 733e2e947ffSSimon Glass */ 734e2e947ffSSimon Glass sdio0_bus4: sdio0-bus4 { 735e2e947ffSSimon Glass rockchip,pins = <4 20 RK_FUNC_1 &pcfg_pull_none_drv_8ma>, 736e2e947ffSSimon Glass <4 21 RK_FUNC_1 &pcfg_pull_none_drv_8ma>, 737e2e947ffSSimon Glass <4 22 RK_FUNC_1 &pcfg_pull_none_drv_8ma>, 738e2e947ffSSimon Glass <4 23 RK_FUNC_1 &pcfg_pull_none_drv_8ma>; 739e2e947ffSSimon Glass }; 740e2e947ffSSimon Glass 741e2e947ffSSimon Glass sdio0_cmd: sdio0-cmd { 742e2e947ffSSimon Glass rockchip,pins = <4 24 RK_FUNC_1 &pcfg_pull_none_drv_8ma>; 743e2e947ffSSimon Glass }; 744e2e947ffSSimon Glass 745e2e947ffSSimon Glass sdio0_clk: sdio0-clk { 746e2e947ffSSimon Glass rockchip,pins = <4 25 RK_FUNC_1 &pcfg_pull_none_drv_8ma>; 747e2e947ffSSimon Glass }; 748e2e947ffSSimon Glass 749e2e947ffSSimon Glass /* 750e2e947ffSSimon Glass * These pins are only present on very new veyron boards; on 751e2e947ffSSimon Glass * older boards bt_dev_wake is simply always high. Note that 752e2e947ffSSimon Glass * gpio4_26 is a NC on old veyron boards, so it doesn't hurt 753e2e947ffSSimon Glass * to map this pin everywhere 754e2e947ffSSimon Glass */ 755e2e947ffSSimon Glass bt_dev_wake_sleep: bt-dev-wake-sleep { 756e2e947ffSSimon Glass rockchip,pins = <4 26 RK_FUNC_GPIO &pcfg_output_low>; 757e2e947ffSSimon Glass }; 758e2e947ffSSimon Glass 759e2e947ffSSimon Glass bt_dev_wake_awake: bt-dev-wake-awake { 760e2e947ffSSimon Glass rockchip,pins = <4 26 RK_FUNC_GPIO &pcfg_output_high>; 761e2e947ffSSimon Glass }; 762e2e947ffSSimon Glass }; 763e2e947ffSSimon Glass 764e2e947ffSSimon Glass sdmmc { 765e2e947ffSSimon Glass /* 766e2e947ffSSimon Glass * We run sdmmc at max speed; bump up drive strength. 767e2e947ffSSimon Glass * We also have external pulls, so disable the internal ones. 768e2e947ffSSimon Glass */ 769e2e947ffSSimon Glass sdmmc_bus4: sdmmc-bus4 { 770e2e947ffSSimon Glass rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_none_drv_8ma>, 771e2e947ffSSimon Glass <6 17 RK_FUNC_1 &pcfg_pull_none_drv_8ma>, 772e2e947ffSSimon Glass <6 18 RK_FUNC_1 &pcfg_pull_none_drv_8ma>, 773e2e947ffSSimon Glass <6 19 RK_FUNC_1 &pcfg_pull_none_drv_8ma>; 774e2e947ffSSimon Glass }; 775e2e947ffSSimon Glass 776e2e947ffSSimon Glass sdmmc_clk: sdmmc-clk { 777e2e947ffSSimon Glass rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_drv_8ma>; 778e2e947ffSSimon Glass }; 779e2e947ffSSimon Glass 780e2e947ffSSimon Glass sdmmc_cmd: sdmmc-cmd { 781e2e947ffSSimon Glass rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_none_drv_8ma>; 782e2e947ffSSimon Glass }; 783e2e947ffSSimon Glass 784e2e947ffSSimon Glass /* 785e2e947ffSSimon Glass * Builtin CD line is hooked to ground to prevent JTAG at boot 786e2e947ffSSimon Glass * (and also to get the voltage rail correct). Make we 787e2e947ffSSimon Glass * configure gpio6_C6 as GPIO so dw_mmc builtin CD doesn't 788e2e947ffSSimon Glass * think there's a card inserted 789e2e947ffSSimon Glass */ 790e2e947ffSSimon Glass sdmmc_cd_disabled: sdmmc-cd-disabled { 791e2e947ffSSimon Glass rockchip,pins = <6 22 RK_FUNC_GPIO &pcfg_pull_none>; 792e2e947ffSSimon Glass }; 793e2e947ffSSimon Glass 794e2e947ffSSimon Glass /* This is where we actually hook up CD */ 795e2e947ffSSimon Glass sdmmc_cd_gpio: sdmmc-cd-gpio { 796e2e947ffSSimon Glass rockchip,pins = <7 5 RK_FUNC_GPIO &pcfg_pull_none>; 797e2e947ffSSimon Glass }; 798e2e947ffSSimon Glass }; 799e2e947ffSSimon Glass 800e2e947ffSSimon Glass tpm { 801e2e947ffSSimon Glass tpm_int_h: tpm-int-h { 802e2e947ffSSimon Glass rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_none>; 803e2e947ffSSimon Glass }; 804e2e947ffSSimon Glass }; 805e2e947ffSSimon Glass 806e2e947ffSSimon Glass write-protect { 807e2e947ffSSimon Glass fw_wp_ap: fw-wp-ap { 808e2e947ffSSimon Glass rockchip,pins = <7 6 RK_FUNC_GPIO &pcfg_pull_none>; 809e2e947ffSSimon Glass }; 810e2e947ffSSimon Glass }; 811e2e947ffSSimon Glass}; 812e2e947ffSSimon Glass 813e2e947ffSSimon Glass&usbphy { 814e2e947ffSSimon Glass status = "okay"; 815e2e947ffSSimon Glass}; 816e2e947ffSSimon Glass 817e2e947ffSSimon Glass&usb_host0_ehci { 818e2e947ffSSimon Glass status = "okay"; 819e2e947ffSSimon Glass needs-reset-on-resume; 820e2e947ffSSimon Glass}; 821e2e947ffSSimon Glass 822e2e947ffSSimon Glass&usb_host1 { 823e2e947ffSSimon Glass status = "okay"; 824e2e947ffSSimon Glass}; 825e2e947ffSSimon Glass 826e2e947ffSSimon Glass&usb_otg { 827e2e947ffSSimon Glass dr_mode = "host"; 828e2e947ffSSimon Glass status = "okay"; 829e2e947ffSSimon Glass assigned-clocks = <&cru SCLK_USBPHY480M_SRC>; 830e2e947ffSSimon Glass assigned-clock-parents = <&cru SCLK_OTGPHY0>; 831e2e947ffSSimon Glass}; 832e2e947ffSSimon Glass 833e2e947ffSSimon Glass&sdmmc { 834e2e947ffSSimon Glass u-boot,dm-pre-reloc; 835e2e947ffSSimon Glass}; 836e2e947ffSSimon Glass 837e2e947ffSSimon Glass&gpio3 { 838e2e947ffSSimon Glass u-boot,dm-pre-reloc; 839e2e947ffSSimon Glass}; 840e2e947ffSSimon Glass 841e2e947ffSSimon Glass&gpio8 { 842e2e947ffSSimon Glass u-boot,dm-pre-reloc; 843e2e947ffSSimon Glass}; 844