1bfbc663dSIvan Sergeev// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2bfbc663dSIvan Sergeev 3bfbc663dSIvan Sergeev/dts-v1/; 4bfbc663dSIvan Sergeev 5bfbc663dSIvan Sergeev#include <dt-bindings/gpio/gpio.h> 6bfbc663dSIvan Sergeev#include <dt-bindings/pwm/pwm.h> 7bfbc663dSIvan Sergeev#include <dt-bindings/pinctrl/rockchip.h> 8bfbc663dSIvan Sergeev#include <dt-bindings/soc/rockchip,vop2.h> 9bfbc663dSIvan Sergeev#include <dt-bindings/leds/common.h> 10bfbc663dSIvan Sergeev#include "rk3566.dtsi" 11bfbc663dSIvan Sergeev 12bfbc663dSIvan Sergeev/ { 13bfbc663dSIvan Sergeev aliases { 14bfbc663dSIvan Sergeev ethernet0 = &gmac1; 15bfbc663dSIvan Sergeev mmc0 = &sdhci; 16bfbc663dSIvan Sergeev mmc1 = &sdmmc0; 17bfbc663dSIvan Sergeev }; 18bfbc663dSIvan Sergeev 19bfbc663dSIvan Sergeev chosen: chosen { 20bfbc663dSIvan Sergeev stdout-path = "serial2:1500000n8"; 21bfbc663dSIvan Sergeev }; 22bfbc663dSIvan Sergeev 23bfbc663dSIvan Sergeev ext_cam_clk: clock-25000000-cam { 24bfbc663dSIvan Sergeev compatible = "fixed-clock"; 25bfbc663dSIvan Sergeev clock-frequency = <25000000>; 26bfbc663dSIvan Sergeev clock-output-names = "ext_cam_clk"; 27bfbc663dSIvan Sergeev #clock-cells = <0>; 28bfbc663dSIvan Sergeev }; 29bfbc663dSIvan Sergeev 30bfbc663dSIvan Sergeev can_mcp2515_osc: clock-8000000-mcp2515 { 31bfbc663dSIvan Sergeev compatible = "fixed-clock"; 32bfbc663dSIvan Sergeev clock-frequency = <8000000>; 33bfbc663dSIvan Sergeev #clock-cells = <0>; 34bfbc663dSIvan Sergeev }; 35bfbc663dSIvan Sergeev 36bfbc663dSIvan Sergeev hdmi-con { 37bfbc663dSIvan Sergeev compatible = "hdmi-connector"; 38bfbc663dSIvan Sergeev type = "a"; 39bfbc663dSIvan Sergeev 40bfbc663dSIvan Sergeev port { 41bfbc663dSIvan Sergeev hdmi_con_in: endpoint { 42bfbc663dSIvan Sergeev remote-endpoint = <&hdmi_out_con>; 43bfbc663dSIvan Sergeev }; 44bfbc663dSIvan Sergeev }; 45bfbc663dSIvan Sergeev }; 46bfbc663dSIvan Sergeev 47bfbc663dSIvan Sergeev leds: leds { 48bfbc663dSIvan Sergeev compatible = "gpio-leds"; 49bfbc663dSIvan Sergeev 50bfbc663dSIvan Sergeev led-0 { 51bfbc663dSIvan Sergeev color = <LED_COLOR_ID_BLUE>; 52bfbc663dSIvan Sergeev function = LED_FUNCTION_POWER; 53bfbc663dSIvan Sergeev gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; 54bfbc663dSIvan Sergeev linux,default-trigger = "default-on"; 55bfbc663dSIvan Sergeev pinctrl-names = "default"; 56bfbc663dSIvan Sergeev pinctrl-0 =<&blue_led>; 57bfbc663dSIvan Sergeev }; 58bfbc663dSIvan Sergeev 59bfbc663dSIvan Sergeev led-1 { 60bfbc663dSIvan Sergeev color = <LED_COLOR_ID_GREEN>; 61bfbc663dSIvan Sergeev function = LED_FUNCTION_HEARTBEAT; 62bfbc663dSIvan Sergeev gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; 63bfbc663dSIvan Sergeev linux,default-trigger = "heartbeat"; 64bfbc663dSIvan Sergeev pinctrl-names = "default"; 65bfbc663dSIvan Sergeev pinctrl-0 =<&heartbeat_led>; 66bfbc663dSIvan Sergeev }; 67bfbc663dSIvan Sergeev }; 68bfbc663dSIvan Sergeev 69bfbc663dSIvan Sergeev fan: pwm-fan { 70bfbc663dSIvan Sergeev compatible = "pwm-fan"; 71bfbc663dSIvan Sergeev #cooling-cells = <2>; 72bfbc663dSIvan Sergeev cooling-levels = <0 50 100 150 200 255>; 73bfbc663dSIvan Sergeev pwms = <&pwm7 0 50000 0>; 74bfbc663dSIvan Sergeev }; 75bfbc663dSIvan Sergeev 76bfbc663dSIvan Sergeev rk809-sound { 77bfbc663dSIvan Sergeev compatible = "simple-audio-card"; 78bfbc663dSIvan Sergeev simple-audio-card,format = "i2s"; 79bfbc663dSIvan Sergeev simple-audio-card,name = "Analog RK809"; 80bfbc663dSIvan Sergeev simple-audio-card,mclk-fs = <256>; 81bfbc663dSIvan Sergeev 82bfbc663dSIvan Sergeev simple-audio-card,cpu { 83bfbc663dSIvan Sergeev sound-dai = <&i2s1_8ch>; 84bfbc663dSIvan Sergeev }; 85bfbc663dSIvan Sergeev 86bfbc663dSIvan Sergeev simple-audio-card,codec { 87bfbc663dSIvan Sergeev sound-dai = <&rk809>; 88bfbc663dSIvan Sergeev }; 89bfbc663dSIvan Sergeev }; 90bfbc663dSIvan Sergeev 91bfbc663dSIvan Sergeev sdio_pwrseq: sdio-pwrseq { 92bfbc663dSIvan Sergeev compatible = "mmc-pwrseq-simple"; 93bfbc663dSIvan Sergeev clocks = <&rk809 1>; 94bfbc663dSIvan Sergeev clock-names = "ext_clock"; 95bfbc663dSIvan Sergeev pinctrl-names = "default"; 96bfbc663dSIvan Sergeev pinctrl-0 = <&wifi_enable_h>; 97bfbc663dSIvan Sergeev post-power-on-delay-ms = <200>; 98bfbc663dSIvan Sergeev reset-gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>; 99bfbc663dSIvan Sergeev }; 100bfbc663dSIvan Sergeev 101bfbc663dSIvan Sergeev vbus: regulator-vbus { 102bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 103bfbc663dSIvan Sergeev regulator-name = "vbus"; 104bfbc663dSIvan Sergeev regulator-always-on; 105bfbc663dSIvan Sergeev regulator-boot-on; 106bfbc663dSIvan Sergeev regulator-min-microvolt = <5000000>; 107bfbc663dSIvan Sergeev regulator-max-microvolt = <5000000>; 108bfbc663dSIvan Sergeev }; 109bfbc663dSIvan Sergeev 110bfbc663dSIvan Sergeev vcc12v_dcin: regulator-vcc12v-dcin { 111bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 112bfbc663dSIvan Sergeev regulator-name = "vcc12v_dcin"; 113bfbc663dSIvan Sergeev regulator-always-on; 114bfbc663dSIvan Sergeev regulator-boot-on; 115bfbc663dSIvan Sergeev regulator-min-microvolt = <12000000>; 116bfbc663dSIvan Sergeev regulator-max-microvolt = <12000000>; 117bfbc663dSIvan Sergeev }; 118bfbc663dSIvan Sergeev 119bfbc663dSIvan Sergeev vcc3v3_pcie: regulator-vcc3v3-pcie { 120bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 121bfbc663dSIvan Sergeev regulator-name = "vcc3v3_pcie"; 122bfbc663dSIvan Sergeev enable-active-high; 123bfbc663dSIvan Sergeev gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 124bfbc663dSIvan Sergeev pinctrl-names = "default"; 125bfbc663dSIvan Sergeev pinctrl-0 = <&pcie_drv>; 126bfbc663dSIvan Sergeev regulator-always-on; 127bfbc663dSIvan Sergeev regulator-boot-on; 128bfbc663dSIvan Sergeev regulator-min-microvolt = <3300000>; 129bfbc663dSIvan Sergeev regulator-max-microvolt = <3300000>; 130bfbc663dSIvan Sergeev vin-supply = <&vcc12v_dcin>; 131bfbc663dSIvan Sergeev }; 132bfbc663dSIvan Sergeev 133bfbc663dSIvan Sergeev vcc3v3_sys: regulator-vcc3v3-sys { 134bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 135bfbc663dSIvan Sergeev regulator-name = "vcc3v3_sys"; 136bfbc663dSIvan Sergeev regulator-always-on; 137bfbc663dSIvan Sergeev regulator-boot-on; 138bfbc663dSIvan Sergeev regulator-min-microvolt = <3300000>; 139bfbc663dSIvan Sergeev regulator-max-microvolt = <3300000>; 140bfbc663dSIvan Sergeev vin-supply = <&vbus>; 141bfbc663dSIvan Sergeev }; 142bfbc663dSIvan Sergeev 143bfbc663dSIvan Sergeev vcc5v0_host: regulator-vcc5v0-host { 144bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 145bfbc663dSIvan Sergeev enable-active-high; 146bfbc663dSIvan Sergeev gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 147bfbc663dSIvan Sergeev pinctrl-names = "default"; 148bfbc663dSIvan Sergeev pinctrl-0 = <&vcc5v0_host_en>; 149bfbc663dSIvan Sergeev regulator-name = "vcc5v0_host3"; 150bfbc663dSIvan Sergeev regulator-always-on; 151bfbc663dSIvan Sergeev regulator-min-microvolt = <5000000>; 152bfbc663dSIvan Sergeev regulator-max-microvolt = <5000000>; 153bfbc663dSIvan Sergeev }; 154bfbc663dSIvan Sergeev 155bfbc663dSIvan Sergeev vcc5v0_otg: regulator-vcc5v0-otg { 156bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 157bfbc663dSIvan Sergeev enable-active-high; 158bfbc663dSIvan Sergeev gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 159bfbc663dSIvan Sergeev pinctrl-names = "default"; 160bfbc663dSIvan Sergeev pinctrl-0 = <&vcc5v0_otg_en>; 161bfbc663dSIvan Sergeev regulator-name = "vcc5v0_otg3"; 162bfbc663dSIvan Sergeev regulator-always-on; 163bfbc663dSIvan Sergeev regulator-min-microvolt = <5000000>; 164bfbc663dSIvan Sergeev regulator-max-microvolt = <5000000>; 165bfbc663dSIvan Sergeev }; 166bfbc663dSIvan Sergeev 167bfbc663dSIvan Sergeev vcc5v0_sys: regulator-vcc5v0-sys { 168bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 169bfbc663dSIvan Sergeev regulator-name = "vcc5v0_sys"; 170bfbc663dSIvan Sergeev regulator-always-on; 171bfbc663dSIvan Sergeev regulator-boot-on; 172bfbc663dSIvan Sergeev regulator-min-microvolt = <5000000>; 173bfbc663dSIvan Sergeev regulator-max-microvolt = <5000000>; 174bfbc663dSIvan Sergeev vin-supply = <&vbus>; 175bfbc663dSIvan Sergeev }; 176bfbc663dSIvan Sergeev 177bfbc663dSIvan Sergeev vcc5v0_usb: regulator-vcc5v0-usb { 178bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 179bfbc663dSIvan Sergeev regulator-name = "vcc5v0_usb"; 180bfbc663dSIvan Sergeev regulator-always-on; 181bfbc663dSIvan Sergeev regulator-boot-on; 182bfbc663dSIvan Sergeev regulator-min-microvolt = <5000000>; 183bfbc663dSIvan Sergeev regulator-max-microvolt = <5000000>; 184bfbc663dSIvan Sergeev vin-supply = <&vbus>; 185bfbc663dSIvan Sergeev }; 186bfbc663dSIvan Sergeev 187bfbc663dSIvan Sergeev vcc5v0_usb2b: regulator-vcc5v0-usb2b { 188bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 189bfbc663dSIvan Sergeev enable-active-high; 190bfbc663dSIvan Sergeev gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; 191bfbc663dSIvan Sergeev pinctrl-names = "default"; 192bfbc663dSIvan Sergeev pinctrl-0 = <&vcc5v0_usb2b_en>; 193bfbc663dSIvan Sergeev regulator-name = "vcc5v0_usb2b"; 194bfbc663dSIvan Sergeev regulator-always-on; 195bfbc663dSIvan Sergeev regulator-min-microvolt = <5000000>; 196bfbc663dSIvan Sergeev regulator-max-microvolt = <5000000>; 197bfbc663dSIvan Sergeev }; 198bfbc663dSIvan Sergeev 199bfbc663dSIvan Sergeev vcc5v0_usb2t: regulator-vcc5v0-usb2t { 200bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 201bfbc663dSIvan Sergeev enable-active-high; 202bfbc663dSIvan Sergeev gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; 203bfbc663dSIvan Sergeev pinctrl-names = "default"; 204bfbc663dSIvan Sergeev pinctrl-0 = <&vcc5v0_usb2t_en>; 205bfbc663dSIvan Sergeev regulator-name = "vcc5v0_usb2t"; 206bfbc663dSIvan Sergeev regulator-always-on; 207bfbc663dSIvan Sergeev regulator-min-microvolt = <5000000>; 208bfbc663dSIvan Sergeev regulator-max-microvolt = <5000000>; 209bfbc663dSIvan Sergeev }; 210bfbc663dSIvan Sergeev 211bfbc663dSIvan Sergeev vcc_5v: regulator-vcc-5v { 212bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 213bfbc663dSIvan Sergeev regulator-name = "vcc_5v"; 214bfbc663dSIvan Sergeev regulator-always-on; 215bfbc663dSIvan Sergeev regulator-boot-on; 216bfbc663dSIvan Sergeev regulator-min-microvolt = <5000000>; 217bfbc663dSIvan Sergeev regulator-max-microvolt = <5000000>; 218bfbc663dSIvan Sergeev vin-supply = <&vcc12v_dcin>; 219bfbc663dSIvan Sergeev }; 220bfbc663dSIvan Sergeev 221bfbc663dSIvan Sergeev vcc_sd: regulator-vcc-sd { 222bfbc663dSIvan Sergeev compatible = "regulator-fixed"; 223bfbc663dSIvan Sergeev regulator-max-microvolt = <3300000>; 224bfbc663dSIvan Sergeev regulator-min-microvolt = <3300000>; 225bfbc663dSIvan Sergeev regulator-name = "vcc_sd"; 226bfbc663dSIvan Sergeev vin-supply = <&vcc3v3_sys>; 227bfbc663dSIvan Sergeev }; 228bfbc663dSIvan Sergeev}; 229bfbc663dSIvan Sergeev 230bfbc663dSIvan Sergeev&combphy1 { 231bfbc663dSIvan Sergeev status = "okay"; 232bfbc663dSIvan Sergeev}; 233bfbc663dSIvan Sergeev 234bfbc663dSIvan Sergeev&combphy2 { 235bfbc663dSIvan Sergeev status = "okay"; 236bfbc663dSIvan Sergeev}; 237bfbc663dSIvan Sergeev 238bfbc663dSIvan Sergeev&cpu0 { 239bfbc663dSIvan Sergeev cpu-supply = <&vdd_cpu>; 240bfbc663dSIvan Sergeev}; 241bfbc663dSIvan Sergeev 242bfbc663dSIvan Sergeev&cpu1 { 243bfbc663dSIvan Sergeev cpu-supply = <&vdd_cpu>; 244bfbc663dSIvan Sergeev}; 245bfbc663dSIvan Sergeev 246bfbc663dSIvan Sergeev&cpu2 { 247bfbc663dSIvan Sergeev cpu-supply = <&vdd_cpu>; 248bfbc663dSIvan Sergeev}; 249bfbc663dSIvan Sergeev 250bfbc663dSIvan Sergeev&cpu3 { 251bfbc663dSIvan Sergeev cpu-supply = <&vdd_cpu>; 252bfbc663dSIvan Sergeev}; 253bfbc663dSIvan Sergeev 254bfbc663dSIvan Sergeev&gmac1 { 255bfbc663dSIvan Sergeev assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; 256bfbc663dSIvan Sergeev assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>; 257bfbc663dSIvan Sergeev assigned-clock-rates = <0>, <125000000>; 258bfbc663dSIvan Sergeev clock_in_out = "input"; 259bfbc663dSIvan Sergeev phy-handle = <&rgmii_phy0>; 260bfbc663dSIvan Sergeev phy-mode = "rgmii-id"; 261bfbc663dSIvan Sergeev pinctrl-names = "default"; 262bfbc663dSIvan Sergeev pinctrl-0 = <&gmac1m0_miim 263bfbc663dSIvan Sergeev &gmac1m0_tx_bus2 264bfbc663dSIvan Sergeev &gmac1m0_rx_bus2 265bfbc663dSIvan Sergeev &gmac1m0_rgmii_clk 266bfbc663dSIvan Sergeev &gmac1m0_clkinout 267bfbc663dSIvan Sergeev &gmac1m0_rgmii_bus>; 268bfbc663dSIvan Sergeev status = "okay"; 269bfbc663dSIvan Sergeev}; 270bfbc663dSIvan Sergeev 271bfbc663dSIvan Sergeev&mdio1 { 272bfbc663dSIvan Sergeev rgmii_phy0: phy@0 { 273bfbc663dSIvan Sergeev compatible = "ethernet-phy-ieee802.3-c22"; 274bfbc663dSIvan Sergeev reset-delay-us = <20000>; 275bfbc663dSIvan Sergeev reset-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_LOW>; 276bfbc663dSIvan Sergeev reset-post-delay-us = <100000>; 277bfbc663dSIvan Sergeev reg = <0x0>; 278bfbc663dSIvan Sergeev }; 279bfbc663dSIvan Sergeev}; 280bfbc663dSIvan Sergeev 281bfbc663dSIvan Sergeev&gpu { 282bfbc663dSIvan Sergeev mali-supply = <&vdd_gpu>; 283bfbc663dSIvan Sergeev status = "okay"; 284bfbc663dSIvan Sergeev}; 285bfbc663dSIvan Sergeev 286bfbc663dSIvan Sergeev&hdmi { 287bfbc663dSIvan Sergeev avdd-0v9-supply = <&vdda0v9_image>; 288bfbc663dSIvan Sergeev avdd-1v8-supply = <&vcca1v8_image>; 289bfbc663dSIvan Sergeev status = "okay"; 290bfbc663dSIvan Sergeev}; 291bfbc663dSIvan Sergeev 292bfbc663dSIvan Sergeev&hdmi_in { 293bfbc663dSIvan Sergeev hdmi_in_vp0: endpoint { 294bfbc663dSIvan Sergeev remote-endpoint = <&vp0_out_hdmi>; 295bfbc663dSIvan Sergeev }; 296bfbc663dSIvan Sergeev}; 297bfbc663dSIvan Sergeev 298bfbc663dSIvan Sergeev&hdmi_out { 299bfbc663dSIvan Sergeev hdmi_out_con: endpoint { 300bfbc663dSIvan Sergeev remote-endpoint = <&hdmi_con_in>; 301bfbc663dSIvan Sergeev }; 302bfbc663dSIvan Sergeev}; 303bfbc663dSIvan Sergeev 304bfbc663dSIvan Sergeev&hdmi_sound { 305bfbc663dSIvan Sergeev status = "okay"; 306bfbc663dSIvan Sergeev}; 307bfbc663dSIvan Sergeev 308bfbc663dSIvan Sergeev&i2c0 { 309bfbc663dSIvan Sergeev status = "okay"; 310bfbc663dSIvan Sergeev 311bfbc663dSIvan Sergeev vdd_cpu: regulator@1c { 312bfbc663dSIvan Sergeev compatible = "tcs,tcs4525"; 313bfbc663dSIvan Sergeev reg = <0x1c>; 314bfbc663dSIvan Sergeev regulator-name = "vdd_cpu"; 315bfbc663dSIvan Sergeev regulator-min-microvolt = <712500>; 316bfbc663dSIvan Sergeev regulator-max-microvolt = <1390000>; 317bfbc663dSIvan Sergeev regulator-initial-mode = <1>; 318bfbc663dSIvan Sergeev regulator-ramp-delay = <2300>; 319bfbc663dSIvan Sergeev regulator-boot-on; 320bfbc663dSIvan Sergeev regulator-always-on; 321bfbc663dSIvan Sergeev vin-supply = <&vcc5v0_sys>; 322bfbc663dSIvan Sergeev fcs,suspend-voltage-selector = <1>; 323bfbc663dSIvan Sergeev 324bfbc663dSIvan Sergeev regulator-state-mem { 325bfbc663dSIvan Sergeev regulator-off-in-suspend; 326bfbc663dSIvan Sergeev }; 327bfbc663dSIvan Sergeev }; 328bfbc663dSIvan Sergeev 329bfbc663dSIvan Sergeev rk809: pmic@20 { 330bfbc663dSIvan Sergeev compatible = "rockchip,rk809"; 331bfbc663dSIvan Sergeev reg = <0x20>; 332bfbc663dSIvan Sergeev interrupt-parent = <&gpio0>; 333bfbc663dSIvan Sergeev interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 334bfbc663dSIvan Sergeev assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 335bfbc663dSIvan Sergeev assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 336bfbc663dSIvan Sergeev #clock-cells = <1>; 337bfbc663dSIvan Sergeev clock-names = "mclk"; 338bfbc663dSIvan Sergeev clocks = <&cru I2S1_MCLKOUT_TX>; 339bfbc663dSIvan Sergeev pinctrl-names = "default", "pmic-sleep", 340bfbc663dSIvan Sergeev "pmic-power-off", "pmic-reset"; 341bfbc663dSIvan Sergeev pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>; 342bfbc663dSIvan Sergeev #sound-dai-cells = <0>; 343bfbc663dSIvan Sergeev system-power-controller; 344bfbc663dSIvan Sergeev wakeup-source; 345bfbc663dSIvan Sergeev 346bfbc663dSIvan Sergeev vcc1-supply = <&vcc3v3_sys>; 347bfbc663dSIvan Sergeev vcc2-supply = <&vcc3v3_sys>; 348bfbc663dSIvan Sergeev vcc3-supply = <&vcc3v3_sys>; 349bfbc663dSIvan Sergeev vcc4-supply = <&vcc3v3_sys>; 350bfbc663dSIvan Sergeev vcc5-supply = <&vcc3v3_sys>; 351bfbc663dSIvan Sergeev vcc6-supply = <&vcc3v3_sys>; 352bfbc663dSIvan Sergeev vcc7-supply = <&vcc3v3_sys>; 353bfbc663dSIvan Sergeev vcc8-supply = <&vcc3v3_sys>; 354bfbc663dSIvan Sergeev vcc9-supply = <&vcc3v3_sys>; 355bfbc663dSIvan Sergeev 356bfbc663dSIvan Sergeev regulators { 357bfbc663dSIvan Sergeev vdd_logic: DCDC_REG1 { 358bfbc663dSIvan Sergeev regulator-always-on; 359bfbc663dSIvan Sergeev regulator-boot-on; 360bfbc663dSIvan Sergeev regulator-min-microvolt = <500000>; 361bfbc663dSIvan Sergeev regulator-max-microvolt = <1350000>; 362bfbc663dSIvan Sergeev regulator-ramp-delay = <6001>; 363bfbc663dSIvan Sergeev regulator-initial-mode = <0x2>; 364bfbc663dSIvan Sergeev regulator-name = "vdd_logic"; 365bfbc663dSIvan Sergeev 366bfbc663dSIvan Sergeev regulator-state-mem { 367bfbc663dSIvan Sergeev regulator-off-in-suspend; 368bfbc663dSIvan Sergeev }; 369bfbc663dSIvan Sergeev }; 370bfbc663dSIvan Sergeev 371bfbc663dSIvan Sergeev vdd_gpu: DCDC_REG2 { 372bfbc663dSIvan Sergeev regulator-always-on; 373bfbc663dSIvan Sergeev regulator-boot-on; 374bfbc663dSIvan Sergeev regulator-min-microvolt = <500000>; 375bfbc663dSIvan Sergeev regulator-max-microvolt = <1350000>; 376bfbc663dSIvan Sergeev regulator-ramp-delay = <6001>; 377bfbc663dSIvan Sergeev regulator-initial-mode = <0x2>; 378bfbc663dSIvan Sergeev regulator-name = "vdd_gpu"; 379bfbc663dSIvan Sergeev 380bfbc663dSIvan Sergeev regulator-state-mem { 381bfbc663dSIvan Sergeev regulator-off-in-suspend; 382bfbc663dSIvan Sergeev }; 383bfbc663dSIvan Sergeev }; 384bfbc663dSIvan Sergeev 385bfbc663dSIvan Sergeev vcc_ddr: DCDC_REG3 { 386bfbc663dSIvan Sergeev regulator-always-on; 387bfbc663dSIvan Sergeev regulator-boot-on; 388bfbc663dSIvan Sergeev regulator-initial-mode = <0x2>; 389bfbc663dSIvan Sergeev regulator-name = "vcc_ddr"; 390bfbc663dSIvan Sergeev 391bfbc663dSIvan Sergeev regulator-state-mem { 392bfbc663dSIvan Sergeev regulator-on-in-suspend; 393bfbc663dSIvan Sergeev }; 394bfbc663dSIvan Sergeev }; 395bfbc663dSIvan Sergeev 396bfbc663dSIvan Sergeev vdd_npu: DCDC_REG4 { 397bfbc663dSIvan Sergeev regulator-always-on; 398bfbc663dSIvan Sergeev regulator-boot-on; 399bfbc663dSIvan Sergeev regulator-min-microvolt = <500000>; 400bfbc663dSIvan Sergeev regulator-max-microvolt = <1350000>; 401bfbc663dSIvan Sergeev regulator-ramp-delay = <6001>; 402bfbc663dSIvan Sergeev regulator-initial-mode = <0x2>; 403bfbc663dSIvan Sergeev regulator-name = "vdd_npu"; 404bfbc663dSIvan Sergeev 405bfbc663dSIvan Sergeev regulator-state-mem { 406bfbc663dSIvan Sergeev regulator-off-in-suspend; 407bfbc663dSIvan Sergeev }; 408bfbc663dSIvan Sergeev }; 409bfbc663dSIvan Sergeev 410bfbc663dSIvan Sergeev vdda0v9_image: LDO_REG1 { 411bfbc663dSIvan Sergeev regulator-boot-on; 412bfbc663dSIvan Sergeev regulator-always-on; 413bfbc663dSIvan Sergeev regulator-min-microvolt = <900000>; 414bfbc663dSIvan Sergeev regulator-max-microvolt = <900000>; 415bfbc663dSIvan Sergeev regulator-name = "vdda0v9_image"; 416bfbc663dSIvan Sergeev 417bfbc663dSIvan Sergeev regulator-state-mem { 418bfbc663dSIvan Sergeev regulator-off-in-suspend; 419bfbc663dSIvan Sergeev }; 420bfbc663dSIvan Sergeev }; 421bfbc663dSIvan Sergeev 422bfbc663dSIvan Sergeev vdda_0v9: LDO_REG2 { 423bfbc663dSIvan Sergeev regulator-always-on; 424bfbc663dSIvan Sergeev regulator-boot-on; 425bfbc663dSIvan Sergeev regulator-min-microvolt = <900000>; 426bfbc663dSIvan Sergeev regulator-max-microvolt = <900000>; 427bfbc663dSIvan Sergeev regulator-name = "vdda_0v9"; 428bfbc663dSIvan Sergeev 429bfbc663dSIvan Sergeev regulator-state-mem { 430bfbc663dSIvan Sergeev regulator-off-in-suspend; 431bfbc663dSIvan Sergeev }; 432bfbc663dSIvan Sergeev }; 433bfbc663dSIvan Sergeev 434bfbc663dSIvan Sergeev vdda0v9_pmu: LDO_REG3 { 435bfbc663dSIvan Sergeev regulator-always-on; 436bfbc663dSIvan Sergeev regulator-boot-on; 437bfbc663dSIvan Sergeev regulator-min-microvolt = <900000>; 438bfbc663dSIvan Sergeev regulator-max-microvolt = <900000>; 439bfbc663dSIvan Sergeev regulator-name = "vdda0v9_pmu"; 440bfbc663dSIvan Sergeev 441bfbc663dSIvan Sergeev regulator-state-mem { 442bfbc663dSIvan Sergeev regulator-on-in-suspend; 443bfbc663dSIvan Sergeev regulator-suspend-microvolt = <900000>; 444bfbc663dSIvan Sergeev }; 445bfbc663dSIvan Sergeev }; 446bfbc663dSIvan Sergeev 447bfbc663dSIvan Sergeev vccio_acodec: LDO_REG4 { 448bfbc663dSIvan Sergeev regulator-always-on; 449bfbc663dSIvan Sergeev regulator-boot-on; 450bfbc663dSIvan Sergeev regulator-min-microvolt = <3000000>; 451bfbc663dSIvan Sergeev regulator-max-microvolt = <3000000>; 452bfbc663dSIvan Sergeev regulator-name = "vccio_acodec"; 453bfbc663dSIvan Sergeev 454bfbc663dSIvan Sergeev regulator-state-mem { 455bfbc663dSIvan Sergeev regulator-off-in-suspend; 456bfbc663dSIvan Sergeev }; 457bfbc663dSIvan Sergeev }; 458bfbc663dSIvan Sergeev 459bfbc663dSIvan Sergeev vccio_sd: LDO_REG5 { 460bfbc663dSIvan Sergeev regulator-always-on; 461bfbc663dSIvan Sergeev regulator-boot-on; 462bfbc663dSIvan Sergeev regulator-min-microvolt = <1800000>; 463bfbc663dSIvan Sergeev regulator-max-microvolt = <3300000>; 464bfbc663dSIvan Sergeev regulator-name = "vccio_sd"; 465bfbc663dSIvan Sergeev 466bfbc663dSIvan Sergeev regulator-state-mem { 467bfbc663dSIvan Sergeev regulator-off-in-suspend; 468bfbc663dSIvan Sergeev }; 469bfbc663dSIvan Sergeev }; 470bfbc663dSIvan Sergeev 471bfbc663dSIvan Sergeev vcc3v3_pmu: LDO_REG6 { 472bfbc663dSIvan Sergeev regulator-always-on; 473bfbc663dSIvan Sergeev regulator-boot-on; 474bfbc663dSIvan Sergeev regulator-min-microvolt = <3300000>; 475bfbc663dSIvan Sergeev regulator-max-microvolt = <3300000>; 476bfbc663dSIvan Sergeev regulator-name = "vcc3v3_pmu"; 477bfbc663dSIvan Sergeev 478bfbc663dSIvan Sergeev regulator-state-mem { 479bfbc663dSIvan Sergeev regulator-on-in-suspend; 480bfbc663dSIvan Sergeev regulator-suspend-microvolt = <3300000>; 481bfbc663dSIvan Sergeev }; 482bfbc663dSIvan Sergeev }; 483bfbc663dSIvan Sergeev 484bfbc663dSIvan Sergeev vcca_1v8: LDO_REG7 { 485bfbc663dSIvan Sergeev regulator-always-on; 486bfbc663dSIvan Sergeev regulator-boot-on; 487bfbc663dSIvan Sergeev regulator-min-microvolt = <1800000>; 488bfbc663dSIvan Sergeev regulator-max-microvolt = <1800000>; 489bfbc663dSIvan Sergeev regulator-name = "vcca_1v8"; 490bfbc663dSIvan Sergeev 491bfbc663dSIvan Sergeev regulator-state-mem { 492bfbc663dSIvan Sergeev regulator-off-in-suspend; 493bfbc663dSIvan Sergeev }; 494bfbc663dSIvan Sergeev }; 495bfbc663dSIvan Sergeev 496bfbc663dSIvan Sergeev vcca1v8_pmu: LDO_REG8 { 497bfbc663dSIvan Sergeev regulator-always-on; 498bfbc663dSIvan Sergeev regulator-boot-on; 499bfbc663dSIvan Sergeev regulator-min-microvolt = <1800000>; 500bfbc663dSIvan Sergeev regulator-max-microvolt = <1800000>; 501bfbc663dSIvan Sergeev regulator-name = "vcca1v8_pmu"; 502bfbc663dSIvan Sergeev 503bfbc663dSIvan Sergeev regulator-state-mem { 504bfbc663dSIvan Sergeev regulator-on-in-suspend; 505bfbc663dSIvan Sergeev regulator-suspend-microvolt = <1800000>; 506bfbc663dSIvan Sergeev }; 507bfbc663dSIvan Sergeev }; 508bfbc663dSIvan Sergeev 509bfbc663dSIvan Sergeev vcca1v8_image: LDO_REG9 { 510bfbc663dSIvan Sergeev regulator-always-on; 511bfbc663dSIvan Sergeev regulator-boot-on; 512bfbc663dSIvan Sergeev regulator-min-microvolt = <1800000>; 513bfbc663dSIvan Sergeev regulator-max-microvolt = <1800000>; 514bfbc663dSIvan Sergeev regulator-name = "vcca1v8_image"; 515bfbc663dSIvan Sergeev 516bfbc663dSIvan Sergeev regulator-state-mem { 517bfbc663dSIvan Sergeev regulator-off-in-suspend; 518bfbc663dSIvan Sergeev }; 519bfbc663dSIvan Sergeev }; 520bfbc663dSIvan Sergeev 521bfbc663dSIvan Sergeev vcc_1v8: DCDC_REG5 { 522bfbc663dSIvan Sergeev regulator-always-on; 523bfbc663dSIvan Sergeev regulator-boot-on; 524bfbc663dSIvan Sergeev regulator-min-microvolt = <1800000>; 525bfbc663dSIvan Sergeev regulator-max-microvolt = <1800000>; 526bfbc663dSIvan Sergeev regulator-name = "vcc_1v8"; 527bfbc663dSIvan Sergeev 528bfbc663dSIvan Sergeev regulator-state-mem { 529bfbc663dSIvan Sergeev regulator-off-in-suspend; 530bfbc663dSIvan Sergeev }; 531bfbc663dSIvan Sergeev }; 532bfbc663dSIvan Sergeev 533bfbc663dSIvan Sergeev vcc_3v3: SWITCH_REG1 { 534bfbc663dSIvan Sergeev regulator-always-on; 535bfbc663dSIvan Sergeev regulator-boot-on; 536bfbc663dSIvan Sergeev regulator-name = "vcc_3v3"; 537bfbc663dSIvan Sergeev 538bfbc663dSIvan Sergeev regulator-state-mem { 539bfbc663dSIvan Sergeev regulator-off-in-suspend; 540bfbc663dSIvan Sergeev }; 541bfbc663dSIvan Sergeev }; 542bfbc663dSIvan Sergeev 543bfbc663dSIvan Sergeev vcc3v3_sd: SWITCH_REG2 { 544bfbc663dSIvan Sergeev regulator-always-on; 545bfbc663dSIvan Sergeev regulator-boot-on; 546bfbc663dSIvan Sergeev regulator-name = "vcc3v3_sd"; 547bfbc663dSIvan Sergeev 548bfbc663dSIvan Sergeev regulator-state-mem { 549bfbc663dSIvan Sergeev regulator-off-in-suspend; 550bfbc663dSIvan Sergeev }; 551bfbc663dSIvan Sergeev }; 552bfbc663dSIvan Sergeev }; 553bfbc663dSIvan Sergeev 554bfbc663dSIvan Sergeev codec { 555bfbc663dSIvan Sergeev rockchip,mic-in-differential; 556bfbc663dSIvan Sergeev }; 557bfbc663dSIvan Sergeev }; 558bfbc663dSIvan Sergeev}; 559bfbc663dSIvan Sergeev 560bfbc663dSIvan Sergeev&i2c2 { 561bfbc663dSIvan Sergeev pinctrl-0 = <&i2c2m1_xfer>; 562bfbc663dSIvan Sergeev}; 563bfbc663dSIvan Sergeev 564bfbc663dSIvan Sergeev&i2c3 { 565bfbc663dSIvan Sergeev status = "okay"; 566bfbc663dSIvan Sergeev 567bfbc663dSIvan Sergeev tft_tp: touchscreen@48 { 568bfbc663dSIvan Sergeev compatible = "ti,tsc2007"; 569bfbc663dSIvan Sergeev reg = <0x48>; 570bfbc663dSIvan Sergeev status = "okay"; 571bfbc663dSIvan Sergeev ti,x-plate-ohms = <660>; 572bfbc663dSIvan Sergeev ti,rt-thr = <3000>; 573bfbc663dSIvan Sergeev ti,fuzzx = <32>; 574bfbc663dSIvan Sergeev ti,fuzzy = <16>; 575bfbc663dSIvan Sergeev }; 576bfbc663dSIvan Sergeev}; 577bfbc663dSIvan Sergeev 578bfbc663dSIvan Sergeev&i2s0_8ch { 579bfbc663dSIvan Sergeev status = "okay"; 580bfbc663dSIvan Sergeev}; 581bfbc663dSIvan Sergeev 582bfbc663dSIvan Sergeev&i2s1_8ch { 583bfbc663dSIvan Sergeev pinctrl-names = "default"; 584bfbc663dSIvan Sergeev pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>; 585bfbc663dSIvan Sergeev rockchip,trcm-sync-tx-only; 586bfbc663dSIvan Sergeev status = "okay"; 587bfbc663dSIvan Sergeev}; 588bfbc663dSIvan Sergeev 589bfbc663dSIvan Sergeev&spi1 { 590bfbc663dSIvan Sergeev pinctrl-names = "default"; 591bfbc663dSIvan Sergeev pinctrl-0 = <&spi1m1_cs0 &spi1m1_pins>; 592bfbc663dSIvan Sergeev 593bfbc663dSIvan Sergeev can_mcp2515: can@0 { 594bfbc663dSIvan Sergeev compatible = "microchip,mcp2515"; 595bfbc663dSIvan Sergeev reg = <0x00>; 596bfbc663dSIvan Sergeev clocks = <&can_mcp2515_osc>; 597bfbc663dSIvan Sergeev interrupt-parent = <&gpio4>; 598bfbc663dSIvan Sergeev interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 599bfbc663dSIvan Sergeev pinctrl-names = "default"; 600bfbc663dSIvan Sergeev pinctrl-0 = <&mcp2515_int_pin>; 601bfbc663dSIvan Sergeev spi-max-frequency = <10000000>; 602bfbc663dSIvan Sergeev vdd-supply = <&vcc3v3_sys>; 603bfbc663dSIvan Sergeev xceiver-supply = <&vcc3v3_sys>; 604bfbc663dSIvan Sergeev }; 605bfbc663dSIvan Sergeev}; 606bfbc663dSIvan Sergeev 607bfbc663dSIvan Sergeev&spi3 { 608bfbc663dSIvan Sergeev pinctrl-names = "default"; 609bfbc663dSIvan Sergeev pinctrl-0 = <&spi3m1_cs0 &spi3m1_pins>; 610bfbc663dSIvan Sergeev}; 611bfbc663dSIvan Sergeev 612bfbc663dSIvan Sergeev&pcie2x1 { 613bfbc663dSIvan Sergeev pinctrl-names = "default"; 614bfbc663dSIvan Sergeev pinctrl-0 = <&pcie_reset_h>; 615bfbc663dSIvan Sergeev reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; 616bfbc663dSIvan Sergeev vpcie3v3-supply = <&vcc3v3_pcie>; 617bfbc663dSIvan Sergeev status = "okay"; 618bfbc663dSIvan Sergeev}; 619bfbc663dSIvan Sergeev 620bfbc663dSIvan Sergeev&pinctrl { 621bfbc663dSIvan Sergeev bt { 622bfbc663dSIvan Sergeev bt_enable: bt-enable-h { 623bfbc663dSIvan Sergeev rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>; 624bfbc663dSIvan Sergeev }; 625bfbc663dSIvan Sergeev 626bfbc663dSIvan Sergeev bt_host_wake: bt-host-wake-l { 627bfbc663dSIvan Sergeev rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 628bfbc663dSIvan Sergeev }; 629bfbc663dSIvan Sergeev 630bfbc663dSIvan Sergeev bt_wake: bt-wake-l { 631bfbc663dSIvan Sergeev rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 632bfbc663dSIvan Sergeev }; 633bfbc663dSIvan Sergeev }; 634bfbc663dSIvan Sergeev 635bfbc663dSIvan Sergeev pcie { 636bfbc663dSIvan Sergeev pcie_drv: pcie-drv { 637bfbc663dSIvan Sergeev rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 638bfbc663dSIvan Sergeev }; 639bfbc663dSIvan Sergeev 640bfbc663dSIvan Sergeev pcie_reset_h: pcie-reset-h { 641bfbc663dSIvan Sergeev rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 642bfbc663dSIvan Sergeev }; 643bfbc663dSIvan Sergeev }; 644bfbc663dSIvan Sergeev 645bfbc663dSIvan Sergeev pmic { 646bfbc663dSIvan Sergeev pmic_int: pmic-int { 647bfbc663dSIvan Sergeev rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 648bfbc663dSIvan Sergeev }; 649bfbc663dSIvan Sergeev }; 650bfbc663dSIvan Sergeev 651bfbc663dSIvan Sergeev sdio-pwrseq { 652bfbc663dSIvan Sergeev wifi_enable_h: wifi-enable-h { 653bfbc663dSIvan Sergeev rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 654bfbc663dSIvan Sergeev }; 655bfbc663dSIvan Sergeev 656bfbc663dSIvan Sergeev wifi_host_wake: wifi-host-wake-l { 657bfbc663dSIvan Sergeev rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_down>; 658bfbc663dSIvan Sergeev }; 659bfbc663dSIvan Sergeev }; 660bfbc663dSIvan Sergeev 661bfbc663dSIvan Sergeev usb { 662bfbc663dSIvan Sergeev vcc5v0_host_en: vcc5v0-host-en { 663bfbc663dSIvan Sergeev rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 664bfbc663dSIvan Sergeev }; 665bfbc663dSIvan Sergeev 666bfbc663dSIvan Sergeev vcc5v0_otg_en: vcc5v0-otg-en { 667bfbc663dSIvan Sergeev rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 668bfbc663dSIvan Sergeev }; 669bfbc663dSIvan Sergeev 670bfbc663dSIvan Sergeev vcc5v0_usb2t_en: vcc5v0-usb2t-en { 671bfbc663dSIvan Sergeev rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 672bfbc663dSIvan Sergeev }; 673bfbc663dSIvan Sergeev 674bfbc663dSIvan Sergeev vcc5v0_usb2b_en: vcc5v0-usb2b-en { 675bfbc663dSIvan Sergeev rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; 676bfbc663dSIvan Sergeev }; 677bfbc663dSIvan Sergeev }; 678bfbc663dSIvan Sergeev 679bfbc663dSIvan Sergeev work-led { 680bfbc663dSIvan Sergeev heartbeat_led: led-heartbeat { 681bfbc663dSIvan Sergeev rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 682bfbc663dSIvan Sergeev }; 683bfbc663dSIvan Sergeev 684bfbc663dSIvan Sergeev blue_led: led-blue { 685bfbc663dSIvan Sergeev rockchip,pins = <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 686bfbc663dSIvan Sergeev }; 687bfbc663dSIvan Sergeev }; 688bfbc663dSIvan Sergeev 689bfbc663dSIvan Sergeev mcp2515 { 690bfbc663dSIvan Sergeev mcp2515_int_pin: mcp2515-int-pin { 691bfbc663dSIvan Sergeev rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 692bfbc663dSIvan Sergeev }; 693bfbc663dSIvan Sergeev }; 694bfbc663dSIvan Sergeev}; 695bfbc663dSIvan Sergeev 696bfbc663dSIvan Sergeev&pmu_io_domains { 697bfbc663dSIvan Sergeev pmuio1-supply = <&vcc3v3_pmu>; 698bfbc663dSIvan Sergeev pmuio2-supply = <&vcc3v3_pmu>; 699bfbc663dSIvan Sergeev vccio1-supply = <&vcc_3v3>; 700bfbc663dSIvan Sergeev vccio2-supply = <&vcc_1v8>; 701bfbc663dSIvan Sergeev vccio3-supply = <&vccio_sd>; 702bfbc663dSIvan Sergeev vccio4-supply = <&vcc_1v8>; 703bfbc663dSIvan Sergeev vccio5-supply = <&vcc_3v3>; 704bfbc663dSIvan Sergeev vccio6-supply = <&vcc_3v3>; 705bfbc663dSIvan Sergeev vccio7-supply = <&vcc_3v3>; 706bfbc663dSIvan Sergeev status = "okay"; 707bfbc663dSIvan Sergeev}; 708bfbc663dSIvan Sergeev 709bfbc663dSIvan Sergeev&pwm0 { 710bfbc663dSIvan Sergeev pinctrl-names = "default"; 711bfbc663dSIvan Sergeev pinctrl-0 = <&pwm0m1_pins>; 712bfbc663dSIvan Sergeev}; 713bfbc663dSIvan Sergeev 714bfbc663dSIvan Sergeev&pwm12 { 715bfbc663dSIvan Sergeev pinctrl-names = "default"; 716bfbc663dSIvan Sergeev pinctrl-0 = <&pwm12m1_pins>; 717bfbc663dSIvan Sergeev}; 718bfbc663dSIvan Sergeev 719bfbc663dSIvan Sergeev&pwm13 { 720bfbc663dSIvan Sergeev pinctrl-names = "default"; 721bfbc663dSIvan Sergeev pinctrl-0 = <&pwm13m1_pins>; 722bfbc663dSIvan Sergeev}; 723bfbc663dSIvan Sergeev 724bfbc663dSIvan Sergeev&pwm14 { 725bfbc663dSIvan Sergeev pinctrl-names = "default"; 726bfbc663dSIvan Sergeev pinctrl-0 = <&pwm14m1_pins>; 727bfbc663dSIvan Sergeev}; 728bfbc663dSIvan Sergeev 729bfbc663dSIvan Sergeev&pwm15 { 730bfbc663dSIvan Sergeev pinctrl-names = "default"; 731bfbc663dSIvan Sergeev pinctrl-0 = <&pwm15m1_pins>; 732bfbc663dSIvan Sergeev}; 733bfbc663dSIvan Sergeev 734bfbc663dSIvan Sergeev&saradc { 735bfbc663dSIvan Sergeev vref-supply = <&vcca_1v8>; 736bfbc663dSIvan Sergeev status = "okay"; 737bfbc663dSIvan Sergeev}; 738bfbc663dSIvan Sergeev 739bfbc663dSIvan Sergeev&sdhci { 740bfbc663dSIvan Sergeev bus-width = <8>; 741bfbc663dSIvan Sergeev max-frequency = <200000000>; 742bfbc663dSIvan Sergeev non-removable; 743bfbc663dSIvan Sergeev pinctrl-names = "default"; 744bfbc663dSIvan Sergeev pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>; 745bfbc663dSIvan Sergeev status = "okay"; 746bfbc663dSIvan Sergeev}; 747bfbc663dSIvan Sergeev 748bfbc663dSIvan Sergeev&sdmmc0 { 749bfbc663dSIvan Sergeev max-frequency = <150000000>; 750bfbc663dSIvan Sergeev bus-width = <4>; 751bfbc663dSIvan Sergeev cap-mmc-highspeed; 752bfbc663dSIvan Sergeev cap-sd-highspeed; 753bfbc663dSIvan Sergeev disable-wp; 754bfbc663dSIvan Sergeev pinctrl-names = "default"; 755bfbc663dSIvan Sergeev pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 756bfbc663dSIvan Sergeev vmmc-supply = <&vcc_sd>; 757bfbc663dSIvan Sergeev vqmmc-supply = <&vccio_sd>; 758bfbc663dSIvan Sergeev status = "okay"; 759bfbc663dSIvan Sergeev}; 760bfbc663dSIvan Sergeev 761bfbc663dSIvan Sergeev&sdmmc1 { 762bfbc663dSIvan Sergeev /* WiFi & BT combo module AMPAK AP6256 */ 763bfbc663dSIvan Sergeev #address-cells = <1>; 764bfbc663dSIvan Sergeev #size-cells = <0>; 765bfbc663dSIvan Sergeev bus-width = <4>; 766bfbc663dSIvan Sergeev cap-sd-highspeed; 767bfbc663dSIvan Sergeev cap-sdio-irq; 768bfbc663dSIvan Sergeev disable-wp; 769bfbc663dSIvan Sergeev keep-power-in-suspend; 770bfbc663dSIvan Sergeev max-frequency = <150000000>; 771bfbc663dSIvan Sergeev mmc-pwrseq = <&sdio_pwrseq>; 772bfbc663dSIvan Sergeev non-removable; 773bfbc663dSIvan Sergeev pinctrl-names = "default"; 774bfbc663dSIvan Sergeev pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>; 775bfbc663dSIvan Sergeev rockchip,default-sample-phase = <90>; 776bfbc663dSIvan Sergeev status = "okay"; 777bfbc663dSIvan Sergeev 778*7ec0987dSKrzysztof Kozlowski wifi@1 { 779bfbc663dSIvan Sergeev compatible = "brcm,bcm4329-fmac"; 780bfbc663dSIvan Sergeev reg = <1>; 781bfbc663dSIvan Sergeev interrupt-parent = <&gpio2>; 782bfbc663dSIvan Sergeev interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; 783bfbc663dSIvan Sergeev interrupt-names = "host-wake"; 784bfbc663dSIvan Sergeev pinctrl-names = "default"; 785bfbc663dSIvan Sergeev pinctrl-0 = <&wifi_host_wake>; 786bfbc663dSIvan Sergeev brcm,drive-strength = <10>; 787bfbc663dSIvan Sergeev }; 788bfbc663dSIvan Sergeev}; 789bfbc663dSIvan Sergeev 790bfbc663dSIvan Sergeev&sfc { 791bfbc663dSIvan Sergeev #address-cells = <1>; 792bfbc663dSIvan Sergeev #size-cells = <0>; 793bfbc663dSIvan Sergeev status = "okay"; 794bfbc663dSIvan Sergeev}; 795bfbc663dSIvan Sergeev 796bfbc663dSIvan Sergeev&tsadc { 797bfbc663dSIvan Sergeev status = "okay"; 798bfbc663dSIvan Sergeev}; 799bfbc663dSIvan Sergeev 800bfbc663dSIvan Sergeev&uart1 { 801bfbc663dSIvan Sergeev dma-names = "tx","rx"; 802bfbc663dSIvan Sergeev pinctrl-names = "default"; 803bfbc663dSIvan Sergeev pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>; 804bfbc663dSIvan Sergeev uart-has-rtscts; 805bfbc663dSIvan Sergeev status = "okay"; 806bfbc663dSIvan Sergeev 807bfbc663dSIvan Sergeev bluetooth { 808bfbc663dSIvan Sergeev compatible = "brcm,bcm4345c5"; 809bfbc663dSIvan Sergeev clocks = <&rk809 1>; 810bfbc663dSIvan Sergeev clock-names = "lpo"; 811bfbc663dSIvan Sergeev device-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>; 812bfbc663dSIvan Sergeev host-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; 813bfbc663dSIvan Sergeev shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>; 814bfbc663dSIvan Sergeev pinctrl-names = "default"; 815bfbc663dSIvan Sergeev pinctrl-0 = <&bt_host_wake &bt_wake &bt_enable>; 816bfbc663dSIvan Sergeev vbat-supply = <&vcc3v3_sys>; 817bfbc663dSIvan Sergeev vddio-supply = <&vcca1v8_pmu>; 818bfbc663dSIvan Sergeev }; 819bfbc663dSIvan Sergeev}; 820bfbc663dSIvan Sergeev 821bfbc663dSIvan Sergeev&uart2 { 822bfbc663dSIvan Sergeev status = "okay"; 823bfbc663dSIvan Sergeev}; 824bfbc663dSIvan Sergeev 825bfbc663dSIvan Sergeev&uart5 { 826bfbc663dSIvan Sergeev pinctrl-names = "default"; 827bfbc663dSIvan Sergeev pinctrl-0 = <&uart5m1_xfer>; 828bfbc663dSIvan Sergeev}; 829bfbc663dSIvan Sergeev 830bfbc663dSIvan Sergeev&uart7 { 831bfbc663dSIvan Sergeev pinctrl-names = "default"; 832bfbc663dSIvan Sergeev pinctrl-0 = <&uart7m2_xfer>; 833bfbc663dSIvan Sergeev}; 834bfbc663dSIvan Sergeev 835bfbc663dSIvan Sergeev&usb2phy0 { 836bfbc663dSIvan Sergeev status = "okay"; 837bfbc663dSIvan Sergeev}; 838bfbc663dSIvan Sergeev 839bfbc663dSIvan Sergeev&usb2phy0_host { 840bfbc663dSIvan Sergeev phy-supply = <&vcc5v0_host>; 841bfbc663dSIvan Sergeev status = "okay"; 842bfbc663dSIvan Sergeev}; 843bfbc663dSIvan Sergeev 844bfbc663dSIvan Sergeev&usb2phy0_otg { 845bfbc663dSIvan Sergeev phy-supply = <&vcc5v0_otg>; 846bfbc663dSIvan Sergeev status = "okay"; 847bfbc663dSIvan Sergeev}; 848bfbc663dSIvan Sergeev 849bfbc663dSIvan Sergeev&usb2phy1 { 850bfbc663dSIvan Sergeev status = "okay"; 851bfbc663dSIvan Sergeev}; 852bfbc663dSIvan Sergeev 853bfbc663dSIvan Sergeev&usb2phy1_host { 854bfbc663dSIvan Sergeev phy-supply = <&vcc5v0_usb2t>; 855bfbc663dSIvan Sergeev status = "okay"; 856bfbc663dSIvan Sergeev}; 857bfbc663dSIvan Sergeev 858bfbc663dSIvan Sergeev&usb2phy1_otg { 859bfbc663dSIvan Sergeev phy-supply = <&vcc5v0_usb2b>; 860bfbc663dSIvan Sergeev status = "okay"; 861bfbc663dSIvan Sergeev}; 862bfbc663dSIvan Sergeev 863bfbc663dSIvan Sergeev&usb_host0_ehci { 864bfbc663dSIvan Sergeev status = "okay"; 865bfbc663dSIvan Sergeev}; 866bfbc663dSIvan Sergeev 867bfbc663dSIvan Sergeev&usb_host0_ohci { 868bfbc663dSIvan Sergeev status = "okay"; 869bfbc663dSIvan Sergeev}; 870bfbc663dSIvan Sergeev 871bfbc663dSIvan Sergeev&usb_host0_xhci { 872bfbc663dSIvan Sergeev dr_mode = "host"; 873bfbc663dSIvan Sergeev extcon = <&usb2phy0>; 874bfbc663dSIvan Sergeev status = "okay"; 875bfbc663dSIvan Sergeev}; 876bfbc663dSIvan Sergeev 877bfbc663dSIvan Sergeev&usb_host1_ehci { 878bfbc663dSIvan Sergeev status = "okay"; 879bfbc663dSIvan Sergeev}; 880bfbc663dSIvan Sergeev 881bfbc663dSIvan Sergeev&usb_host1_ohci { 882bfbc663dSIvan Sergeev status = "okay"; 883bfbc663dSIvan Sergeev}; 884bfbc663dSIvan Sergeev 885bfbc663dSIvan Sergeev&usb_host1_xhci { 886bfbc663dSIvan Sergeev status = "okay"; 887bfbc663dSIvan Sergeev}; 888bfbc663dSIvan Sergeev 889bfbc663dSIvan Sergeev&vop { 890bfbc663dSIvan Sergeev assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 891bfbc663dSIvan Sergeev assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 892bfbc663dSIvan Sergeev status = "okay"; 893bfbc663dSIvan Sergeev}; 894bfbc663dSIvan Sergeev 895bfbc663dSIvan Sergeev&vop_mmu { 896bfbc663dSIvan Sergeev status = "okay"; 897bfbc663dSIvan Sergeev}; 898bfbc663dSIvan Sergeev 899bfbc663dSIvan Sergeev&vp0 { 900bfbc663dSIvan Sergeev vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 901bfbc663dSIvan Sergeev reg = <ROCKCHIP_VOP2_EP_HDMI0>; 902bfbc663dSIvan Sergeev remote-endpoint = <&hdmi_in_vp0>; 903bfbc663dSIvan Sergeev }; 904bfbc663dSIvan Sergeev}; 905