1d1824cf9SSebastian Reichel// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2d1824cf9SSebastian Reichel 3d1824cf9SSebastian Reichel/dts-v1/; 4d1824cf9SSebastian Reichel 5d1824cf9SSebastian Reichel#include <dt-bindings/gpio/gpio.h> 6db02f866SSebastian Reichel#include <dt-bindings/leds/common.h> 7d1824cf9SSebastian Reichel#include <dt-bindings/pinctrl/rockchip.h> 8d1824cf9SSebastian Reichel#include "rk3588s.dtsi" 9d1824cf9SSebastian Reichel 10d1824cf9SSebastian Reichel/ { 11d1824cf9SSebastian Reichel model = "Radxa ROCK 5 Model A"; 12d1824cf9SSebastian Reichel compatible = "radxa,rock-5a", "rockchip,rk3588s"; 13d1824cf9SSebastian Reichel 14d1824cf9SSebastian Reichel aliases { 15991f136cSChristopher Obbard mmc0 = &sdhci; 16*c75b725eSFUKAUMI Naoki mmc1 = &sdmmc; 17d1824cf9SSebastian Reichel serial2 = &uart2; 18d1824cf9SSebastian Reichel }; 19d1824cf9SSebastian Reichel 20fb031e62SSebastian Reichel analog-sound { 21fb031e62SSebastian Reichel compatible = "audio-graph-card"; 22fb031e62SSebastian Reichel label = "rk3588-es8316"; 23fb031e62SSebastian Reichel 24fb031e62SSebastian Reichel widgets = "Microphone", "Mic Jack", 25fb031e62SSebastian Reichel "Headphone", "Headphones"; 26fb031e62SSebastian Reichel 27fb031e62SSebastian Reichel routing = "MIC2", "Mic Jack", 28fb031e62SSebastian Reichel "Headphones", "HPOL", 29fb031e62SSebastian Reichel "Headphones", "HPOR"; 30fb031e62SSebastian Reichel 31fb031e62SSebastian Reichel dais = <&i2s0_8ch_p0>; 32fb031e62SSebastian Reichel }; 33fb031e62SSebastian Reichel 34d1824cf9SSebastian Reichel chosen { 35d1824cf9SSebastian Reichel stdout-path = "serial2:1500000n8"; 36d1824cf9SSebastian Reichel }; 3775fdcbc8SSebastian Reichel 38db02f866SSebastian Reichel leds { 39db02f866SSebastian Reichel compatible = "gpio-leds"; 40db02f866SSebastian Reichel pinctrl-names = "default"; 41db02f866SSebastian Reichel pinctrl-0 = <&io_led>; 42db02f866SSebastian Reichel 43db02f866SSebastian Reichel io-led { 44db02f866SSebastian Reichel color = <LED_COLOR_ID_BLUE>; 45db02f866SSebastian Reichel function = LED_FUNCTION_STATUS; 46db02f866SSebastian Reichel gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; 47db02f866SSebastian Reichel linux,default-trigger = "heartbeat"; 48db02f866SSebastian Reichel }; 49db02f866SSebastian Reichel }; 50db02f866SSebastian Reichel 51dd4464ecSSebastian Reichel fan: pwm-fan { 52dd4464ecSSebastian Reichel compatible = "pwm-fan"; 53dd4464ecSSebastian Reichel cooling-levels = <0 95 145 195 255>; 54dd4464ecSSebastian Reichel fan-supply = <&vcc_5v0>; 55dd4464ecSSebastian Reichel pwms = <&pwm3 0 50000 0>; 56dd4464ecSSebastian Reichel #cooling-cells = <2>; 57dd4464ecSSebastian Reichel }; 58dd4464ecSSebastian Reichel 5975fdcbc8SSebastian Reichel vcc12v_dcin: vcc12v-dcin-regulator { 6075fdcbc8SSebastian Reichel compatible = "regulator-fixed"; 6175fdcbc8SSebastian Reichel regulator-name = "vcc12v_dcin"; 6275fdcbc8SSebastian Reichel regulator-always-on; 6375fdcbc8SSebastian Reichel regulator-boot-on; 6475fdcbc8SSebastian Reichel regulator-min-microvolt = <12000000>; 6575fdcbc8SSebastian Reichel regulator-max-microvolt = <12000000>; 6675fdcbc8SSebastian Reichel }; 6775fdcbc8SSebastian Reichel 681642bf66SSebastian Reichel vcc5v0_host: vcc5v0-host-regulator { 691642bf66SSebastian Reichel compatible = "regulator-fixed"; 701642bf66SSebastian Reichel regulator-name = "vcc5v0_host"; 711642bf66SSebastian Reichel regulator-boot-on; 721642bf66SSebastian Reichel regulator-always-on; 731642bf66SSebastian Reichel regulator-min-microvolt = <5000000>; 741642bf66SSebastian Reichel regulator-max-microvolt = <5000000>; 751642bf66SSebastian Reichel enable-active-high; 761642bf66SSebastian Reichel gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>; 771642bf66SSebastian Reichel pinctrl-names = "default"; 781642bf66SSebastian Reichel pinctrl-0 = <&vcc5v0_host_en>; 791642bf66SSebastian Reichel vin-supply = <&vcc5v0_sys>; 801642bf66SSebastian Reichel }; 811642bf66SSebastian Reichel 8275fdcbc8SSebastian Reichel vcc5v0_sys: vcc5v0-sys-regulator { 8375fdcbc8SSebastian Reichel compatible = "regulator-fixed"; 8475fdcbc8SSebastian Reichel regulator-name = "vcc5v0_sys"; 8575fdcbc8SSebastian Reichel regulator-always-on; 8675fdcbc8SSebastian Reichel regulator-boot-on; 8775fdcbc8SSebastian Reichel regulator-min-microvolt = <5000000>; 8875fdcbc8SSebastian Reichel regulator-max-microvolt = <5000000>; 8975fdcbc8SSebastian Reichel vin-supply = <&vcc12v_dcin>; 9075fdcbc8SSebastian Reichel }; 9175fdcbc8SSebastian Reichel 9253bf040eSSebastian Reichel vcc_5v0: vcc-5v0-regulator { 9353bf040eSSebastian Reichel compatible = "regulator-fixed"; 9453bf040eSSebastian Reichel regulator-name = "vcc_5v0"; 9553bf040eSSebastian Reichel regulator-min-microvolt = <5000000>; 9653bf040eSSebastian Reichel regulator-max-microvolt = <5000000>; 9753bf040eSSebastian Reichel regulator-boot-on; 9853bf040eSSebastian Reichel regulator-always-on; 9953bf040eSSebastian Reichel enable-active-high; 10053bf040eSSebastian Reichel gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; 10153bf040eSSebastian Reichel pinctrl-names = "default"; 10253bf040eSSebastian Reichel pinctrl-0 = <&vcc_5v0_en>; 10353bf040eSSebastian Reichel vin-supply = <&vcc5v0_sys>; 10453bf040eSSebastian Reichel }; 10553bf040eSSebastian Reichel 10675fdcbc8SSebastian Reichel vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator { 10775fdcbc8SSebastian Reichel compatible = "regulator-fixed"; 10875fdcbc8SSebastian Reichel regulator-name = "vcc_1v1_nldo_s3"; 10975fdcbc8SSebastian Reichel regulator-always-on; 11075fdcbc8SSebastian Reichel regulator-boot-on; 11175fdcbc8SSebastian Reichel regulator-min-microvolt = <1100000>; 11275fdcbc8SSebastian Reichel regulator-max-microvolt = <1100000>; 11375fdcbc8SSebastian Reichel vin-supply = <&vcc5v0_sys>; 11475fdcbc8SSebastian Reichel }; 11575fdcbc8SSebastian Reichel}; 11675fdcbc8SSebastian Reichel 1174bbca5c7SSebastian Reichel&cpu_b0 { 1184bbca5c7SSebastian Reichel cpu-supply = <&vdd_cpu_big0_s0>; 1194bbca5c7SSebastian Reichel}; 1204bbca5c7SSebastian Reichel 1214bbca5c7SSebastian Reichel&cpu_b1 { 1224bbca5c7SSebastian Reichel cpu-supply = <&vdd_cpu_big0_s0>; 1234bbca5c7SSebastian Reichel}; 1244bbca5c7SSebastian Reichel 1254bbca5c7SSebastian Reichel&cpu_b2 { 1264bbca5c7SSebastian Reichel cpu-supply = <&vdd_cpu_big1_s0>; 1274bbca5c7SSebastian Reichel}; 1284bbca5c7SSebastian Reichel 1294bbca5c7SSebastian Reichel&cpu_b3 { 1304bbca5c7SSebastian Reichel cpu-supply = <&vdd_cpu_big1_s0>; 1314bbca5c7SSebastian Reichel}; 1324bbca5c7SSebastian Reichel 13375fdcbc8SSebastian Reichel&cpu_l0 { 13475fdcbc8SSebastian Reichel cpu-supply = <&vdd_cpu_lit_s0>; 13575fdcbc8SSebastian Reichel}; 13675fdcbc8SSebastian Reichel 13775fdcbc8SSebastian Reichel&cpu_l1 { 13875fdcbc8SSebastian Reichel cpu-supply = <&vdd_cpu_lit_s0>; 13975fdcbc8SSebastian Reichel}; 14075fdcbc8SSebastian Reichel 14175fdcbc8SSebastian Reichel&cpu_l2 { 14275fdcbc8SSebastian Reichel cpu-supply = <&vdd_cpu_lit_s0>; 14375fdcbc8SSebastian Reichel}; 14475fdcbc8SSebastian Reichel 14575fdcbc8SSebastian Reichel&cpu_l3 { 14675fdcbc8SSebastian Reichel cpu-supply = <&vdd_cpu_lit_s0>; 147d1824cf9SSebastian Reichel}; 148d1824cf9SSebastian Reichel 1494bbca5c7SSebastian Reichel&i2c0 { 1504bbca5c7SSebastian Reichel pinctrl-names = "default"; 1514bbca5c7SSebastian Reichel pinctrl-0 = <&i2c0m2_xfer>; 1524bbca5c7SSebastian Reichel status = "okay"; 1534bbca5c7SSebastian Reichel 1544bbca5c7SSebastian Reichel vdd_cpu_big0_s0: regulator@42 { 1554bbca5c7SSebastian Reichel compatible = "rockchip,rk8602"; 1564bbca5c7SSebastian Reichel reg = <0x42>; 1574bbca5c7SSebastian Reichel fcs,suspend-voltage-selector = <1>; 1584bbca5c7SSebastian Reichel regulator-name = "vdd_cpu_big0_s0"; 1594bbca5c7SSebastian Reichel regulator-always-on; 1604bbca5c7SSebastian Reichel regulator-boot-on; 1614bbca5c7SSebastian Reichel regulator-min-microvolt = <550000>; 1624bbca5c7SSebastian Reichel regulator-max-microvolt = <1050000>; 1634bbca5c7SSebastian Reichel regulator-ramp-delay = <2300>; 1644bbca5c7SSebastian Reichel vin-supply = <&vcc5v0_sys>; 1654bbca5c7SSebastian Reichel 1664bbca5c7SSebastian Reichel regulator-state-mem { 1674bbca5c7SSebastian Reichel regulator-off-in-suspend; 1684bbca5c7SSebastian Reichel }; 1694bbca5c7SSebastian Reichel }; 1704bbca5c7SSebastian Reichel 1714bbca5c7SSebastian Reichel vdd_cpu_big1_s0: regulator@43 { 1724bbca5c7SSebastian Reichel compatible = "rockchip,rk8603", "rockchip,rk8602"; 1734bbca5c7SSebastian Reichel reg = <0x43>; 1744bbca5c7SSebastian Reichel fcs,suspend-voltage-selector = <1>; 1754bbca5c7SSebastian Reichel regulator-name = "vdd_cpu_big1_s0"; 1764bbca5c7SSebastian Reichel regulator-always-on; 1774bbca5c7SSebastian Reichel regulator-boot-on; 1784bbca5c7SSebastian Reichel regulator-min-microvolt = <550000>; 1794bbca5c7SSebastian Reichel regulator-max-microvolt = <1050000>; 1804bbca5c7SSebastian Reichel regulator-ramp-delay = <2300>; 1814bbca5c7SSebastian Reichel vin-supply = <&vcc5v0_sys>; 1824bbca5c7SSebastian Reichel 1834bbca5c7SSebastian Reichel regulator-state-mem { 1844bbca5c7SSebastian Reichel regulator-off-in-suspend; 1854bbca5c7SSebastian Reichel }; 1864bbca5c7SSebastian Reichel }; 1874bbca5c7SSebastian Reichel}; 1884bbca5c7SSebastian Reichel 18989c88080SSebastian Reichel&i2c2 { 19089c88080SSebastian Reichel status = "okay"; 19189c88080SSebastian Reichel 192afc3925fSSebastian Reichel vdd_npu_s0: regulator@42 { 193afc3925fSSebastian Reichel compatible = "rockchip,rk8602"; 194afc3925fSSebastian Reichel reg = <0x42>; 195afc3925fSSebastian Reichel fcs,suspend-voltage-selector = <1>; 196afc3925fSSebastian Reichel regulator-name = "vdd_npu_s0"; 197afc3925fSSebastian Reichel regulator-always-on; 198afc3925fSSebastian Reichel regulator-boot-on; 199afc3925fSSebastian Reichel regulator-min-microvolt = <550000>; 200afc3925fSSebastian Reichel regulator-max-microvolt = <950000>; 201afc3925fSSebastian Reichel regulator-ramp-delay = <2300>; 202afc3925fSSebastian Reichel vin-supply = <&vcc5v0_sys>; 203afc3925fSSebastian Reichel 204afc3925fSSebastian Reichel regulator-state-mem { 205afc3925fSSebastian Reichel regulator-off-in-suspend; 206afc3925fSSebastian Reichel }; 207afc3925fSSebastian Reichel }; 208afc3925fSSebastian Reichel 20989c88080SSebastian Reichel eeprom: eeprom@50 { 21089c88080SSebastian Reichel compatible = "belling,bl24c16a", "atmel,24c16"; 21189c88080SSebastian Reichel reg = <0x50>; 21289c88080SSebastian Reichel pagesize = <16>; 21389c88080SSebastian Reichel }; 21489c88080SSebastian Reichel}; 21589c88080SSebastian Reichel 216aa00cf88SSebastian Reichel&i2c3 { 217aa00cf88SSebastian Reichel status = "okay"; 218aa00cf88SSebastian Reichel}; 219aa00cf88SSebastian Reichel 220aa00cf88SSebastian Reichel&i2c5 { 221aa00cf88SSebastian Reichel status = "okay"; 222aa00cf88SSebastian Reichel pinctrl-names = "default"; 223aa00cf88SSebastian Reichel pinctrl-0 = <&i2c5m2_xfer>; 224aa00cf88SSebastian Reichel}; 225aa00cf88SSebastian Reichel 226fb031e62SSebastian Reichel&i2c7 { 227fb031e62SSebastian Reichel status = "okay"; 228fb031e62SSebastian Reichel 229fb031e62SSebastian Reichel es8316: audio-codec@11 { 230fb031e62SSebastian Reichel compatible = "everest,es8316"; 231fb031e62SSebastian Reichel reg = <0x11>; 232fb031e62SSebastian Reichel clocks = <&cru I2S0_8CH_MCLKOUT>; 233fb031e62SSebastian Reichel clock-names = "mclk"; 234fb031e62SSebastian Reichel assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 235fb031e62SSebastian Reichel assigned-clock-rates = <12288000>; 236fb031e62SSebastian Reichel #sound-dai-cells = <0>; 237fb031e62SSebastian Reichel 238fb031e62SSebastian Reichel port { 239fb031e62SSebastian Reichel es8316_p0_0: endpoint { 240fb031e62SSebastian Reichel remote-endpoint = <&i2s0_8ch_p0_0>; 241fb031e62SSebastian Reichel }; 242fb031e62SSebastian Reichel }; 243fb031e62SSebastian Reichel }; 244fb031e62SSebastian Reichel}; 245fb031e62SSebastian Reichel 246fb031e62SSebastian Reichel&i2s0_8ch { 247fb031e62SSebastian Reichel pinctrl-names = "default"; 248fb031e62SSebastian Reichel pinctrl-0 = <&i2s0_lrck 249fb031e62SSebastian Reichel &i2s0_mclk 250fb031e62SSebastian Reichel &i2s0_sclk 251fb031e62SSebastian Reichel &i2s0_sdi0 252fb031e62SSebastian Reichel &i2s0_sdo0>; 253fb031e62SSebastian Reichel status = "okay"; 254fb031e62SSebastian Reichel 255fb031e62SSebastian Reichel i2s0_8ch_p0: port { 256fb031e62SSebastian Reichel i2s0_8ch_p0_0: endpoint { 257fb031e62SSebastian Reichel dai-format = "i2s"; 258fb031e62SSebastian Reichel mclk-fs = <256>; 259fb031e62SSebastian Reichel remote-endpoint = <&es8316_p0_0>; 260fb031e62SSebastian Reichel }; 261fb031e62SSebastian Reichel }; 262fb031e62SSebastian Reichel}; 263fb031e62SSebastian Reichel 264d1824cf9SSebastian Reichel&gmac1 { 265d1824cf9SSebastian Reichel clock_in_out = "output"; 266d1824cf9SSebastian Reichel phy-handle = <&rgmii_phy1>; 267cda0c2eaSLucas Tanure phy-mode = "rgmii"; 268d1824cf9SSebastian Reichel pinctrl-0 = <&gmac1_miim 269d1824cf9SSebastian Reichel &gmac1_tx_bus2 270d1824cf9SSebastian Reichel &gmac1_rx_bus2 271d1824cf9SSebastian Reichel &gmac1_rgmii_clk 272d1824cf9SSebastian Reichel &gmac1_rgmii_bus>; 273d1824cf9SSebastian Reichel pinctrl-names = "default"; 274d1824cf9SSebastian Reichel tx_delay = <0x3a>; 275cda0c2eaSLucas Tanure rx_delay = <0x3e>; 276d1824cf9SSebastian Reichel status = "okay"; 277d1824cf9SSebastian Reichel}; 278d1824cf9SSebastian Reichel 279d1824cf9SSebastian Reichel&mdio1 { 280d1824cf9SSebastian Reichel rgmii_phy1: ethernet-phy@1 { 281d1824cf9SSebastian Reichel /* RTL8211F */ 282d1824cf9SSebastian Reichel compatible = "ethernet-phy-id001c.c916"; 283d1824cf9SSebastian Reichel reg = <0x1>; 284d1824cf9SSebastian Reichel pinctrl-names = "default"; 285d1824cf9SSebastian Reichel pinctrl-0 = <&rtl8211f_rst>; 286d1824cf9SSebastian Reichel reset-assert-us = <20000>; 287d1824cf9SSebastian Reichel reset-deassert-us = <100000>; 288d1824cf9SSebastian Reichel reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 289d1824cf9SSebastian Reichel }; 290d1824cf9SSebastian Reichel}; 291d1824cf9SSebastian Reichel 292d1824cf9SSebastian Reichel&pinctrl { 293db02f866SSebastian Reichel leds { 294db02f866SSebastian Reichel io_led: io-led { 295db02f866SSebastian Reichel rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 296db02f866SSebastian Reichel }; 297db02f866SSebastian Reichel }; 298db02f866SSebastian Reichel 29953bf040eSSebastian Reichel power { 30053bf040eSSebastian Reichel vcc_5v0_en: vcc-5v0-en { 30153bf040eSSebastian Reichel rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 30253bf040eSSebastian Reichel }; 30353bf040eSSebastian Reichel }; 30453bf040eSSebastian Reichel 305d1824cf9SSebastian Reichel rtl8211f { 306d1824cf9SSebastian Reichel rtl8211f_rst: rtl8211f-rst { 307d1824cf9SSebastian Reichel rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 308d1824cf9SSebastian Reichel }; 309d1824cf9SSebastian Reichel }; 3101642bf66SSebastian Reichel 3111642bf66SSebastian Reichel usb { 3121642bf66SSebastian Reichel vcc5v0_host_en: vcc5v0-host-en { 3131642bf66SSebastian Reichel rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 3141642bf66SSebastian Reichel }; 3151642bf66SSebastian Reichel }; 3161642bf66SSebastian Reichel 3171642bf66SSebastian Reichel wifibt { 3181642bf66SSebastian Reichel wl_reset: wl-reset { 3191642bf66SSebastian Reichel rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; 3201642bf66SSebastian Reichel }; 3211642bf66SSebastian Reichel 3221642bf66SSebastian Reichel wl_dis: wl-dis { 3231642bf66SSebastian Reichel rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_output_high>; 3241642bf66SSebastian Reichel }; 3251642bf66SSebastian Reichel 3261642bf66SSebastian Reichel wl_wake_host: wl-wake-host { 3271642bf66SSebastian Reichel rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>; 3281642bf66SSebastian Reichel }; 3291642bf66SSebastian Reichel 3301642bf66SSebastian Reichel bt_dis: bt-dis { 3311642bf66SSebastian Reichel rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_output_high>; 3321642bf66SSebastian Reichel }; 3331642bf66SSebastian Reichel 3341642bf66SSebastian Reichel bt_wake_host: bt-wake-host { 3351642bf66SSebastian Reichel rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 3361642bf66SSebastian Reichel }; 3371642bf66SSebastian Reichel }; 338d1824cf9SSebastian Reichel}; 339d1824cf9SSebastian Reichel 340dd4464ecSSebastian Reichel&pwm3 { 341dd4464ecSSebastian Reichel pinctrl-names = "default"; 342dd4464ecSSebastian Reichel pinctrl-0 = <&pwm3m1_pins>; 343dd4464ecSSebastian Reichel status = "okay"; 344dd4464ecSSebastian Reichel}; 345dd4464ecSSebastian Reichel 34643465c67SSebastian Reichel&saradc { 34743465c67SSebastian Reichel vref-supply = <&avcc_1v8_s0>; 34843465c67SSebastian Reichel status = "okay"; 34943465c67SSebastian Reichel}; 35043465c67SSebastian Reichel 351d1824cf9SSebastian Reichel&sdhci { 352d1824cf9SSebastian Reichel bus-width = <8>; 353d1824cf9SSebastian Reichel no-sdio; 354d1824cf9SSebastian Reichel no-sd; 355d1824cf9SSebastian Reichel non-removable; 356d1824cf9SSebastian Reichel mmc-hs400-1_8v; 357d1824cf9SSebastian Reichel mmc-hs400-enhanced-strobe; 358d1824cf9SSebastian Reichel status = "okay"; 359d1824cf9SSebastian Reichel}; 360d1824cf9SSebastian Reichel 361ea3e66e7SLucas Tanure&sdmmc { 362ea3e66e7SLucas Tanure bus-width = <4>; 363ea3e66e7SLucas Tanure cap-mmc-highspeed; 364ea3e66e7SLucas Tanure cap-sd-highspeed; 365*c75b725eSFUKAUMI Naoki cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 366ea3e66e7SLucas Tanure disable-wp; 367ea3e66e7SLucas Tanure max-frequency = <150000000>; 368ea3e66e7SLucas Tanure no-sdio; 369ea3e66e7SLucas Tanure no-mmc; 370ea3e66e7SLucas Tanure sd-uhs-sdr104; 371ea3e66e7SLucas Tanure vmmc-supply = <&vcc_3v3_s0>; 372ea3e66e7SLucas Tanure vqmmc-supply = <&vccio_sd_s0>; 373ea3e66e7SLucas Tanure status = "okay"; 374ea3e66e7SLucas Tanure}; 375ea3e66e7SLucas Tanure 37675fdcbc8SSebastian Reichel&spi2 { 37775fdcbc8SSebastian Reichel status = "okay"; 37875fdcbc8SSebastian Reichel assigned-clocks = <&cru CLK_SPI2>; 37975fdcbc8SSebastian Reichel assigned-clock-rates = <200000000>; 38075fdcbc8SSebastian Reichel num-cs = <1>; 38175fdcbc8SSebastian Reichel pinctrl-names = "default"; 38275fdcbc8SSebastian Reichel pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>; 38375fdcbc8SSebastian Reichel 38475fdcbc8SSebastian Reichel pmic@0 { 38575fdcbc8SSebastian Reichel compatible = "rockchip,rk806"; 38675fdcbc8SSebastian Reichel reg = <0x0>; 38775fdcbc8SSebastian Reichel interrupt-parent = <&gpio0>; 38875fdcbc8SSebastian Reichel interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 38975fdcbc8SSebastian Reichel pinctrl-names = "default"; 39075fdcbc8SSebastian Reichel pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 39175fdcbc8SSebastian Reichel <&rk806_dvs2_null>, <&rk806_dvs3_null>; 39275fdcbc8SSebastian Reichel spi-max-frequency = <1000000>; 39375fdcbc8SSebastian Reichel 39475fdcbc8SSebastian Reichel vcc1-supply = <&vcc5v0_sys>; 39575fdcbc8SSebastian Reichel vcc2-supply = <&vcc5v0_sys>; 39675fdcbc8SSebastian Reichel vcc3-supply = <&vcc5v0_sys>; 39775fdcbc8SSebastian Reichel vcc4-supply = <&vcc5v0_sys>; 39875fdcbc8SSebastian Reichel vcc5-supply = <&vcc5v0_sys>; 39975fdcbc8SSebastian Reichel vcc6-supply = <&vcc5v0_sys>; 40075fdcbc8SSebastian Reichel vcc7-supply = <&vcc5v0_sys>; 40175fdcbc8SSebastian Reichel vcc8-supply = <&vcc5v0_sys>; 40275fdcbc8SSebastian Reichel vcc9-supply = <&vcc5v0_sys>; 40375fdcbc8SSebastian Reichel vcc10-supply = <&vcc5v0_sys>; 40475fdcbc8SSebastian Reichel vcc11-supply = <&vcc_2v0_pldo_s3>; 40575fdcbc8SSebastian Reichel vcc12-supply = <&vcc5v0_sys>; 40675fdcbc8SSebastian Reichel vcc13-supply = <&vcc_1v1_nldo_s3>; 40775fdcbc8SSebastian Reichel vcc14-supply = <&vcc_1v1_nldo_s3>; 40875fdcbc8SSebastian Reichel vcca-supply = <&vcc5v0_sys>; 40975fdcbc8SSebastian Reichel 41075fdcbc8SSebastian Reichel gpio-controller; 41175fdcbc8SSebastian Reichel #gpio-cells = <2>; 41275fdcbc8SSebastian Reichel 41375fdcbc8SSebastian Reichel rk806_dvs1_null: dvs1-null-pins { 41475fdcbc8SSebastian Reichel pins = "gpio_pwrctrl2"; 41575fdcbc8SSebastian Reichel function = "pin_fun0"; 41675fdcbc8SSebastian Reichel }; 41775fdcbc8SSebastian Reichel 41875fdcbc8SSebastian Reichel rk806_dvs2_null: dvs2-null-pins { 41975fdcbc8SSebastian Reichel pins = "gpio_pwrctrl2"; 42075fdcbc8SSebastian Reichel function = "pin_fun0"; 42175fdcbc8SSebastian Reichel }; 42275fdcbc8SSebastian Reichel 42375fdcbc8SSebastian Reichel rk806_dvs3_null: dvs3-null-pins { 42475fdcbc8SSebastian Reichel pins = "gpio_pwrctrl3"; 42575fdcbc8SSebastian Reichel function = "pin_fun0"; 42675fdcbc8SSebastian Reichel }; 42775fdcbc8SSebastian Reichel 42875fdcbc8SSebastian Reichel regulators { 42975fdcbc8SSebastian Reichel vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 { 43075fdcbc8SSebastian Reichel regulator-name = "vdd_gpu_s0"; 43175fdcbc8SSebastian Reichel regulator-boot-on; 43275fdcbc8SSebastian Reichel regulator-min-microvolt = <550000>; 43375fdcbc8SSebastian Reichel regulator-max-microvolt = <950000>; 43475fdcbc8SSebastian Reichel regulator-ramp-delay = <12500>; 43575fdcbc8SSebastian Reichel regulator-enable-ramp-delay = <400>; 43675fdcbc8SSebastian Reichel 43775fdcbc8SSebastian Reichel regulator-state-mem { 43875fdcbc8SSebastian Reichel regulator-off-in-suspend; 43975fdcbc8SSebastian Reichel }; 44075fdcbc8SSebastian Reichel }; 44175fdcbc8SSebastian Reichel 44275fdcbc8SSebastian Reichel vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 { 44375fdcbc8SSebastian Reichel regulator-name = "vdd_cpu_lit_s0"; 44475fdcbc8SSebastian Reichel regulator-always-on; 44575fdcbc8SSebastian Reichel regulator-boot-on; 44675fdcbc8SSebastian Reichel regulator-min-microvolt = <550000>; 44775fdcbc8SSebastian Reichel regulator-max-microvolt = <950000>; 44875fdcbc8SSebastian Reichel regulator-ramp-delay = <12500>; 44975fdcbc8SSebastian Reichel 45075fdcbc8SSebastian Reichel regulator-state-mem { 45175fdcbc8SSebastian Reichel regulator-off-in-suspend; 45275fdcbc8SSebastian Reichel }; 45375fdcbc8SSebastian Reichel }; 45475fdcbc8SSebastian Reichel 45575fdcbc8SSebastian Reichel vdd_log_s0: dcdc-reg3 { 45675fdcbc8SSebastian Reichel regulator-name = "vdd_log_s0"; 45775fdcbc8SSebastian Reichel regulator-always-on; 45875fdcbc8SSebastian Reichel regulator-boot-on; 45975fdcbc8SSebastian Reichel regulator-min-microvolt = <675000>; 46075fdcbc8SSebastian Reichel regulator-max-microvolt = <750000>; 46175fdcbc8SSebastian Reichel regulator-ramp-delay = <12500>; 46275fdcbc8SSebastian Reichel 46375fdcbc8SSebastian Reichel regulator-state-mem { 46475fdcbc8SSebastian Reichel regulator-off-in-suspend; 46575fdcbc8SSebastian Reichel regulator-suspend-microvolt = <750000>; 46675fdcbc8SSebastian Reichel }; 46775fdcbc8SSebastian Reichel }; 46875fdcbc8SSebastian Reichel 46975fdcbc8SSebastian Reichel vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 { 47075fdcbc8SSebastian Reichel regulator-name = "vdd_vdenc_s0"; 47175fdcbc8SSebastian Reichel regulator-always-on; 47275fdcbc8SSebastian Reichel regulator-boot-on; 47375fdcbc8SSebastian Reichel regulator-min-microvolt = <550000>; 47475fdcbc8SSebastian Reichel regulator-max-microvolt = <950000>; 47575fdcbc8SSebastian Reichel regulator-ramp-delay = <12500>; 47675fdcbc8SSebastian Reichel 47775fdcbc8SSebastian Reichel regulator-state-mem { 47875fdcbc8SSebastian Reichel regulator-off-in-suspend; 47975fdcbc8SSebastian Reichel }; 48075fdcbc8SSebastian Reichel }; 48175fdcbc8SSebastian Reichel 48275fdcbc8SSebastian Reichel vdd_ddr_s0: dcdc-reg5 { 48375fdcbc8SSebastian Reichel regulator-name = "vdd_ddr_s0"; 48475fdcbc8SSebastian Reichel regulator-always-on; 48575fdcbc8SSebastian Reichel regulator-boot-on; 48675fdcbc8SSebastian Reichel regulator-min-microvolt = <675000>; 48775fdcbc8SSebastian Reichel regulator-max-microvolt = <900000>; 48875fdcbc8SSebastian Reichel regulator-ramp-delay = <12500>; 48975fdcbc8SSebastian Reichel 49075fdcbc8SSebastian Reichel regulator-state-mem { 49175fdcbc8SSebastian Reichel regulator-off-in-suspend; 49275fdcbc8SSebastian Reichel regulator-suspend-microvolt = <850000>; 49375fdcbc8SSebastian Reichel }; 49475fdcbc8SSebastian Reichel }; 49575fdcbc8SSebastian Reichel 49675fdcbc8SSebastian Reichel vdd2_ddr_s3: dcdc-reg6 { 49775fdcbc8SSebastian Reichel regulator-name = "vdd2_ddr_s3"; 49875fdcbc8SSebastian Reichel regulator-always-on; 49975fdcbc8SSebastian Reichel regulator-boot-on; 50075fdcbc8SSebastian Reichel 50175fdcbc8SSebastian Reichel regulator-state-mem { 50275fdcbc8SSebastian Reichel regulator-on-in-suspend; 50375fdcbc8SSebastian Reichel }; 50475fdcbc8SSebastian Reichel }; 50575fdcbc8SSebastian Reichel 50675fdcbc8SSebastian Reichel vcc_2v0_pldo_s3: dcdc-reg7 { 50775fdcbc8SSebastian Reichel regulator-name = "vdd_2v0_pldo_s3"; 50875fdcbc8SSebastian Reichel regulator-always-on; 50975fdcbc8SSebastian Reichel regulator-boot-on; 51075fdcbc8SSebastian Reichel regulator-min-microvolt = <2000000>; 51175fdcbc8SSebastian Reichel regulator-max-microvolt = <2000000>; 51275fdcbc8SSebastian Reichel regulator-ramp-delay = <12500>; 51375fdcbc8SSebastian Reichel 51475fdcbc8SSebastian Reichel regulator-state-mem { 51575fdcbc8SSebastian Reichel regulator-on-in-suspend; 51675fdcbc8SSebastian Reichel regulator-suspend-microvolt = <2000000>; 51775fdcbc8SSebastian Reichel }; 51875fdcbc8SSebastian Reichel }; 51975fdcbc8SSebastian Reichel 52075fdcbc8SSebastian Reichel vcc_3v3_s3: dcdc-reg8 { 52175fdcbc8SSebastian Reichel regulator-name = "vcc_3v3_s3"; 52275fdcbc8SSebastian Reichel regulator-always-on; 52375fdcbc8SSebastian Reichel regulator-boot-on; 52475fdcbc8SSebastian Reichel regulator-min-microvolt = <3300000>; 52575fdcbc8SSebastian Reichel regulator-max-microvolt = <3300000>; 52675fdcbc8SSebastian Reichel 52775fdcbc8SSebastian Reichel regulator-state-mem { 52875fdcbc8SSebastian Reichel regulator-on-in-suspend; 52975fdcbc8SSebastian Reichel regulator-suspend-microvolt = <3300000>; 53075fdcbc8SSebastian Reichel }; 53175fdcbc8SSebastian Reichel }; 53275fdcbc8SSebastian Reichel 53375fdcbc8SSebastian Reichel vddq_ddr_s0: dcdc-reg9 { 53475fdcbc8SSebastian Reichel regulator-name = "vddq_ddr_s0"; 53575fdcbc8SSebastian Reichel regulator-always-on; 53675fdcbc8SSebastian Reichel regulator-boot-on; 53775fdcbc8SSebastian Reichel 53875fdcbc8SSebastian Reichel regulator-state-mem { 53975fdcbc8SSebastian Reichel regulator-off-in-suspend; 54075fdcbc8SSebastian Reichel }; 54175fdcbc8SSebastian Reichel }; 54275fdcbc8SSebastian Reichel 54375fdcbc8SSebastian Reichel vcc_1v8_s3: dcdc-reg10 { 54475fdcbc8SSebastian Reichel regulator-name = "vcc_1v8_s3"; 54575fdcbc8SSebastian Reichel regulator-always-on; 54675fdcbc8SSebastian Reichel regulator-boot-on; 54775fdcbc8SSebastian Reichel regulator-min-microvolt = <1800000>; 54875fdcbc8SSebastian Reichel regulator-max-microvolt = <1800000>; 54975fdcbc8SSebastian Reichel 55075fdcbc8SSebastian Reichel regulator-state-mem { 55175fdcbc8SSebastian Reichel regulator-on-in-suspend; 55275fdcbc8SSebastian Reichel regulator-suspend-microvolt = <1800000>; 55375fdcbc8SSebastian Reichel }; 55475fdcbc8SSebastian Reichel }; 55575fdcbc8SSebastian Reichel 55675fdcbc8SSebastian Reichel avcc_1v8_s0: pldo-reg1 { 55775fdcbc8SSebastian Reichel regulator-name = "avcc_1v8_s0"; 55875fdcbc8SSebastian Reichel regulator-always-on; 55975fdcbc8SSebastian Reichel regulator-boot-on; 56075fdcbc8SSebastian Reichel regulator-min-microvolt = <1800000>; 56175fdcbc8SSebastian Reichel regulator-max-microvolt = <1800000>; 56275fdcbc8SSebastian Reichel 56375fdcbc8SSebastian Reichel regulator-state-mem { 56475fdcbc8SSebastian Reichel regulator-off-in-suspend; 56575fdcbc8SSebastian Reichel }; 56675fdcbc8SSebastian Reichel }; 56775fdcbc8SSebastian Reichel 56875fdcbc8SSebastian Reichel vcc_1v8_s0: pldo-reg2 { 56975fdcbc8SSebastian Reichel regulator-name = "vcc_1v8_s0"; 57075fdcbc8SSebastian Reichel regulator-always-on; 57175fdcbc8SSebastian Reichel regulator-boot-on; 57275fdcbc8SSebastian Reichel regulator-min-microvolt = <1800000>; 57375fdcbc8SSebastian Reichel regulator-max-microvolt = <1800000>; 57475fdcbc8SSebastian Reichel 57575fdcbc8SSebastian Reichel regulator-state-mem { 57675fdcbc8SSebastian Reichel regulator-off-in-suspend; 57775fdcbc8SSebastian Reichel regulator-suspend-microvolt = <1800000>; 57875fdcbc8SSebastian Reichel }; 57975fdcbc8SSebastian Reichel }; 58075fdcbc8SSebastian Reichel 58175fdcbc8SSebastian Reichel avdd_1v2_s0: pldo-reg3 { 58275fdcbc8SSebastian Reichel regulator-name = "avdd_1v2_s0"; 58375fdcbc8SSebastian Reichel regulator-always-on; 58475fdcbc8SSebastian Reichel regulator-boot-on; 58575fdcbc8SSebastian Reichel regulator-min-microvolt = <1200000>; 58675fdcbc8SSebastian Reichel regulator-max-microvolt = <1200000>; 58775fdcbc8SSebastian Reichel 58875fdcbc8SSebastian Reichel regulator-state-mem { 58975fdcbc8SSebastian Reichel regulator-off-in-suspend; 59075fdcbc8SSebastian Reichel }; 59175fdcbc8SSebastian Reichel }; 59275fdcbc8SSebastian Reichel 59375fdcbc8SSebastian Reichel vcc_3v3_s0: pldo-reg4 { 59475fdcbc8SSebastian Reichel regulator-name = "vcc_3v3_s0"; 59575fdcbc8SSebastian Reichel regulator-always-on; 59675fdcbc8SSebastian Reichel regulator-boot-on; 59775fdcbc8SSebastian Reichel regulator-min-microvolt = <3300000>; 59875fdcbc8SSebastian Reichel regulator-max-microvolt = <3300000>; 59975fdcbc8SSebastian Reichel regulator-ramp-delay = <12500>; 60075fdcbc8SSebastian Reichel 60175fdcbc8SSebastian Reichel regulator-state-mem { 60275fdcbc8SSebastian Reichel regulator-off-in-suspend; 60375fdcbc8SSebastian Reichel }; 60475fdcbc8SSebastian Reichel }; 60575fdcbc8SSebastian Reichel 60675fdcbc8SSebastian Reichel vccio_sd_s0: pldo-reg5 { 60775fdcbc8SSebastian Reichel regulator-name = "vccio_sd_s0"; 60875fdcbc8SSebastian Reichel regulator-always-on; 60975fdcbc8SSebastian Reichel regulator-boot-on; 61075fdcbc8SSebastian Reichel regulator-min-microvolt = <1800000>; 61175fdcbc8SSebastian Reichel regulator-max-microvolt = <3300000>; 61275fdcbc8SSebastian Reichel regulator-ramp-delay = <12500>; 61375fdcbc8SSebastian Reichel 61475fdcbc8SSebastian Reichel regulator-state-mem { 61575fdcbc8SSebastian Reichel regulator-off-in-suspend; 61675fdcbc8SSebastian Reichel }; 61775fdcbc8SSebastian Reichel }; 61875fdcbc8SSebastian Reichel 61975fdcbc8SSebastian Reichel pldo6_s3: pldo-reg6 { 62075fdcbc8SSebastian Reichel regulator-name = "pldo6_s3"; 62175fdcbc8SSebastian Reichel regulator-always-on; 62275fdcbc8SSebastian Reichel regulator-boot-on; 62375fdcbc8SSebastian Reichel regulator-min-microvolt = <1800000>; 62475fdcbc8SSebastian Reichel regulator-max-microvolt = <1800000>; 62575fdcbc8SSebastian Reichel 62675fdcbc8SSebastian Reichel regulator-state-mem { 62775fdcbc8SSebastian Reichel regulator-on-in-suspend; 62875fdcbc8SSebastian Reichel regulator-suspend-microvolt = <1800000>; 62975fdcbc8SSebastian Reichel }; 63075fdcbc8SSebastian Reichel }; 63175fdcbc8SSebastian Reichel 63275fdcbc8SSebastian Reichel vdd_0v75_s3: nldo-reg1 { 63375fdcbc8SSebastian Reichel regulator-name = "vdd_0v75_s3"; 63475fdcbc8SSebastian Reichel regulator-always-on; 63575fdcbc8SSebastian Reichel regulator-boot-on; 63675fdcbc8SSebastian Reichel regulator-min-microvolt = <750000>; 63775fdcbc8SSebastian Reichel regulator-max-microvolt = <750000>; 63875fdcbc8SSebastian Reichel 63975fdcbc8SSebastian Reichel regulator-state-mem { 64075fdcbc8SSebastian Reichel regulator-on-in-suspend; 64175fdcbc8SSebastian Reichel regulator-suspend-microvolt = <750000>; 64275fdcbc8SSebastian Reichel }; 64375fdcbc8SSebastian Reichel }; 64475fdcbc8SSebastian Reichel 64575fdcbc8SSebastian Reichel vdd_ddr_pll_s0: nldo-reg2 { 64675fdcbc8SSebastian Reichel regulator-name = "vdd_ddr_pll_s0"; 64775fdcbc8SSebastian Reichel regulator-always-on; 64875fdcbc8SSebastian Reichel regulator-boot-on; 64975fdcbc8SSebastian Reichel regulator-min-microvolt = <850000>; 65075fdcbc8SSebastian Reichel regulator-max-microvolt = <850000>; 65175fdcbc8SSebastian Reichel 65275fdcbc8SSebastian Reichel regulator-state-mem { 65375fdcbc8SSebastian Reichel regulator-off-in-suspend; 65475fdcbc8SSebastian Reichel regulator-suspend-microvolt = <850000>; 65575fdcbc8SSebastian Reichel }; 65675fdcbc8SSebastian Reichel }; 65775fdcbc8SSebastian Reichel 65875fdcbc8SSebastian Reichel avdd_0v75_s0: nldo-reg3 { 65975fdcbc8SSebastian Reichel regulator-name = "avdd_0v75_s0"; 66075fdcbc8SSebastian Reichel regulator-always-on; 66175fdcbc8SSebastian Reichel regulator-boot-on; 66275fdcbc8SSebastian Reichel regulator-min-microvolt = <750000>; 66375fdcbc8SSebastian Reichel regulator-max-microvolt = <750000>; 66475fdcbc8SSebastian Reichel 66575fdcbc8SSebastian Reichel regulator-state-mem { 66675fdcbc8SSebastian Reichel regulator-off-in-suspend; 66775fdcbc8SSebastian Reichel }; 66875fdcbc8SSebastian Reichel }; 66975fdcbc8SSebastian Reichel 67075fdcbc8SSebastian Reichel vdd_0v85_s0: nldo-reg4 { 67175fdcbc8SSebastian Reichel regulator-name = "vdd_0v85_s0"; 67275fdcbc8SSebastian Reichel regulator-always-on; 67375fdcbc8SSebastian Reichel regulator-boot-on; 67475fdcbc8SSebastian Reichel regulator-min-microvolt = <850000>; 67575fdcbc8SSebastian Reichel regulator-max-microvolt = <850000>; 67675fdcbc8SSebastian Reichel 67775fdcbc8SSebastian Reichel regulator-state-mem { 67875fdcbc8SSebastian Reichel regulator-off-in-suspend; 67975fdcbc8SSebastian Reichel }; 68075fdcbc8SSebastian Reichel }; 68175fdcbc8SSebastian Reichel 68275fdcbc8SSebastian Reichel vdd_0v75_s0: nldo-reg5 { 68375fdcbc8SSebastian Reichel regulator-name = "vdd_0v75_s0"; 68475fdcbc8SSebastian Reichel regulator-always-on; 68575fdcbc8SSebastian Reichel regulator-boot-on; 68675fdcbc8SSebastian Reichel regulator-min-microvolt = <750000>; 68775fdcbc8SSebastian Reichel regulator-max-microvolt = <750000>; 68875fdcbc8SSebastian Reichel 68975fdcbc8SSebastian Reichel regulator-state-mem { 69075fdcbc8SSebastian Reichel regulator-off-in-suspend; 69175fdcbc8SSebastian Reichel }; 69275fdcbc8SSebastian Reichel }; 69375fdcbc8SSebastian Reichel }; 69475fdcbc8SSebastian Reichel }; 69575fdcbc8SSebastian Reichel}; 69675fdcbc8SSebastian Reichel 6971642bf66SSebastian Reichel&u2phy2 { 6981642bf66SSebastian Reichel status = "okay"; 6991642bf66SSebastian Reichel}; 7001642bf66SSebastian Reichel 7011642bf66SSebastian Reichel&u2phy2_host { 7021642bf66SSebastian Reichel status = "okay"; 7031642bf66SSebastian Reichel phy-supply = <&vcc5v0_host>; 7041642bf66SSebastian Reichel}; 7051642bf66SSebastian Reichel 7061642bf66SSebastian Reichel&u2phy3 { 7071642bf66SSebastian Reichel status = "okay"; 7081642bf66SSebastian Reichel}; 7091642bf66SSebastian Reichel 7101642bf66SSebastian Reichel&u2phy3_host { 7111642bf66SSebastian Reichel phy-supply = <&vcc5v0_host>; 7121642bf66SSebastian Reichel status = "okay"; 7131642bf66SSebastian Reichel}; 7141642bf66SSebastian Reichel 715d1824cf9SSebastian Reichel&uart2 { 716d1824cf9SSebastian Reichel pinctrl-0 = <&uart2m0_xfer>; 717d1824cf9SSebastian Reichel status = "okay"; 718d1824cf9SSebastian Reichel}; 7191642bf66SSebastian Reichel 7201642bf66SSebastian Reichel&usb_host0_ehci { 7211642bf66SSebastian Reichel status = "okay"; 7221642bf66SSebastian Reichel pinctrl-names = "default"; 7231642bf66SSebastian Reichel pinctrl-0 = <&wl_reset &wl_dis &wl_wake_host &bt_dis &bt_wake_host>; 7241642bf66SSebastian Reichel}; 7251642bf66SSebastian Reichel 7261642bf66SSebastian Reichel&usb_host0_ohci { 7271642bf66SSebastian Reichel status = "okay"; 7281642bf66SSebastian Reichel}; 7291642bf66SSebastian Reichel 7301642bf66SSebastian Reichel&usb_host1_ehci { 7311642bf66SSebastian Reichel status = "okay"; 7321642bf66SSebastian Reichel}; 7331642bf66SSebastian Reichel 7341642bf66SSebastian Reichel&usb_host1_ohci { 7351642bf66SSebastian Reichel status = "okay"; 7361642bf66SSebastian Reichel}; 737