101950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 201950c46SEmmanuel Vadot/* 301950c46SEmmanuel Vadot * Copyright (c) 2023 Theobroma Systems Design und Consulting GmbH 401950c46SEmmanuel Vadot */ 501950c46SEmmanuel Vadot 601950c46SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 701950c46SEmmanuel Vadot#include <dt-bindings/leds/common.h> 801950c46SEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h> 901950c46SEmmanuel Vadot#include "rk3588.dtsi" 1001950c46SEmmanuel Vadot 1101950c46SEmmanuel Vadot/ { 1201950c46SEmmanuel Vadot compatible = "tsd,rk3588-tiger", "rockchip,rk3588"; 1301950c46SEmmanuel Vadot 1401950c46SEmmanuel Vadot aliases { 1501950c46SEmmanuel Vadot mmc0 = &sdhci; 1601950c46SEmmanuel Vadot rtc0 = &rtc_twi; 1701950c46SEmmanuel Vadot }; 1801950c46SEmmanuel Vadot 1901950c46SEmmanuel Vadot emmc_pwrseq: emmc-pwrseq { 2001950c46SEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 2101950c46SEmmanuel Vadot pinctrl-0 = <&emmc_reset>; 2201950c46SEmmanuel Vadot pinctrl-names = "default"; 2301950c46SEmmanuel Vadot reset-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>; 2401950c46SEmmanuel Vadot }; 2501950c46SEmmanuel Vadot 26*7d0873ebSEmmanuel Vadot extcon_usb3: extcon-usb3 { 27*7d0873ebSEmmanuel Vadot compatible = "linux,extcon-usb-gpio"; 28*7d0873ebSEmmanuel Vadot id-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; 29*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 30*7d0873ebSEmmanuel Vadot pinctrl-0 = <&usb3_id>; 31*7d0873ebSEmmanuel Vadot status = "disabled"; 32*7d0873ebSEmmanuel Vadot }; 33*7d0873ebSEmmanuel Vadot 3401950c46SEmmanuel Vadot leds { 3501950c46SEmmanuel Vadot compatible = "gpio-leds"; 3601950c46SEmmanuel Vadot pinctrl-names = "default"; 3701950c46SEmmanuel Vadot pinctrl-0 = <&module_led_pin>; 3801950c46SEmmanuel Vadot 3901950c46SEmmanuel Vadot /* Named LED1 on the board */ 4001950c46SEmmanuel Vadot led-1 { 4101950c46SEmmanuel Vadot gpios = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; 4201950c46SEmmanuel Vadot function = LED_FUNCTION_HEARTBEAT; 4301950c46SEmmanuel Vadot linux,default-trigger = "heartbeat"; 4401950c46SEmmanuel Vadot color = <LED_COLOR_ID_AMBER>; 4501950c46SEmmanuel Vadot }; 4601950c46SEmmanuel Vadot }; 4701950c46SEmmanuel Vadot 4801950c46SEmmanuel Vadot /* 4901950c46SEmmanuel Vadot * 100MHz reference clock for PCIe peripherals from PI6C557-05BLE 5001950c46SEmmanuel Vadot * clock generator. 5101950c46SEmmanuel Vadot * The clock output is gated via the OE pin on the clock generator. 5201950c46SEmmanuel Vadot * This is modeled as a fixed-clock plus a gpio-gate-clock. 5301950c46SEmmanuel Vadot */ 5401950c46SEmmanuel Vadot pcie_refclk_gen: pcie-refclk-gen-clock { 5501950c46SEmmanuel Vadot compatible = "fixed-clock"; 5601950c46SEmmanuel Vadot #clock-cells = <0>; 57*7d0873ebSEmmanuel Vadot clock-frequency = <100000000>; 5801950c46SEmmanuel Vadot }; 5901950c46SEmmanuel Vadot 6001950c46SEmmanuel Vadot pcie_refclk: pcie-refclk-clock { 6101950c46SEmmanuel Vadot compatible = "gpio-gate-clock"; 6201950c46SEmmanuel Vadot clocks = <&pcie_refclk_gen>; 6301950c46SEmmanuel Vadot #clock-cells = <0>; 6401950c46SEmmanuel Vadot enable-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; /* PCIE30X4_CLKREQN_M1_L */ 6501950c46SEmmanuel Vadot }; 6601950c46SEmmanuel Vadot 6701950c46SEmmanuel Vadot vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator { 6801950c46SEmmanuel Vadot compatible = "regulator-fixed"; 6901950c46SEmmanuel Vadot regulator-name = "vcc_1v1_nldo_s3"; 7001950c46SEmmanuel Vadot regulator-always-on; 7101950c46SEmmanuel Vadot regulator-boot-on; 7201950c46SEmmanuel Vadot regulator-min-microvolt = <1100000>; 7301950c46SEmmanuel Vadot regulator-max-microvolt = <1100000>; 7401950c46SEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 7501950c46SEmmanuel Vadot }; 7601950c46SEmmanuel Vadot 7701950c46SEmmanuel Vadot vcc_1v2_s3: vcc-1v2-s3-regulator { 7801950c46SEmmanuel Vadot compatible = "regulator-fixed"; 7901950c46SEmmanuel Vadot regulator-name = "vcc_1v2_s3"; 8001950c46SEmmanuel Vadot regulator-always-on; 8101950c46SEmmanuel Vadot regulator-boot-on; 8201950c46SEmmanuel Vadot regulator-min-microvolt = <1200000>; 8301950c46SEmmanuel Vadot regulator-max-microvolt = <1200000>; 8401950c46SEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 8501950c46SEmmanuel Vadot }; 8601950c46SEmmanuel Vadot 8701950c46SEmmanuel Vadot vcc5v0_sys: vcc5v0-sys-regulator { 8801950c46SEmmanuel Vadot compatible = "regulator-fixed"; 8901950c46SEmmanuel Vadot regulator-name = "vcc5v0_sys"; 9001950c46SEmmanuel Vadot regulator-always-on; 9101950c46SEmmanuel Vadot regulator-boot-on; 9201950c46SEmmanuel Vadot regulator-min-microvolt = <5000000>; 9301950c46SEmmanuel Vadot regulator-max-microvolt = <5000000>; 9401950c46SEmmanuel Vadot vin-supply = <&vcc5v0_baseboard>; 9501950c46SEmmanuel Vadot }; 9601950c46SEmmanuel Vadot}; 9701950c46SEmmanuel Vadot 9801950c46SEmmanuel Vadot&cpu_b0 { 9901950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu_big0_s0>; 10001950c46SEmmanuel Vadot}; 10101950c46SEmmanuel Vadot 10201950c46SEmmanuel Vadot&cpu_b1 { 10301950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu_big0_s0>; 10401950c46SEmmanuel Vadot}; 10501950c46SEmmanuel Vadot 10601950c46SEmmanuel Vadot&cpu_b2 { 10701950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu_big1_s0>; 10801950c46SEmmanuel Vadot}; 10901950c46SEmmanuel Vadot 11001950c46SEmmanuel Vadot&cpu_b3 { 11101950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu_big1_s0>; 11201950c46SEmmanuel Vadot}; 11301950c46SEmmanuel Vadot 11401950c46SEmmanuel Vadot&cpu_l0 { 11501950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu_lit_s0>; 11601950c46SEmmanuel Vadot}; 11701950c46SEmmanuel Vadot 11801950c46SEmmanuel Vadot&cpu_l1 { 11901950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu_lit_s0>; 12001950c46SEmmanuel Vadot}; 12101950c46SEmmanuel Vadot 12201950c46SEmmanuel Vadot&cpu_l2 { 12301950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu_lit_s0>; 12401950c46SEmmanuel Vadot}; 12501950c46SEmmanuel Vadot 12601950c46SEmmanuel Vadot&cpu_l3 { 12701950c46SEmmanuel Vadot cpu-supply = <&vdd_cpu_lit_s0>; 12801950c46SEmmanuel Vadot}; 12901950c46SEmmanuel Vadot 13001950c46SEmmanuel Vadot&gmac0 { 13101950c46SEmmanuel Vadot clock_in_out = "output"; 13201950c46SEmmanuel Vadot phy-handle = <&rgmii_phy>; 13301950c46SEmmanuel Vadot phy-mode = "rgmii"; 13401950c46SEmmanuel Vadot phy-supply = <&vcc_1v2_s3>; 13501950c46SEmmanuel Vadot pinctrl-names = "default"; 13601950c46SEmmanuel Vadot pinctrl-0 = <&gmac0_miim 13701950c46SEmmanuel Vadot &gmac0_rx_bus2 13801950c46SEmmanuel Vadot &gmac0_tx_bus2 13901950c46SEmmanuel Vadot &gmac0_rgmii_clk 14001950c46SEmmanuel Vadot &gmac0_rgmii_bus 14101950c46SEmmanuel Vadot ð0_pins 14201950c46SEmmanuel Vadot ð_reset>; 14301950c46SEmmanuel Vadot tx_delay = <0x10>; 14401950c46SEmmanuel Vadot rx_delay = <0x10>; 14501950c46SEmmanuel Vadot snps,reset-gpio = <&gpio4 RK_PC3 GPIO_ACTIVE_LOW>; 14601950c46SEmmanuel Vadot snps,reset-active-low; 14701950c46SEmmanuel Vadot snps,reset-delays-us = <0 10000 100000>; 14801950c46SEmmanuel Vadot}; 14901950c46SEmmanuel Vadot 150*7d0873ebSEmmanuel Vadot&gpu { 151*7d0873ebSEmmanuel Vadot mali-supply = <&vdd_gpu_s0>; 152*7d0873ebSEmmanuel Vadot status = "okay"; 153*7d0873ebSEmmanuel Vadot}; 154*7d0873ebSEmmanuel Vadot 15501950c46SEmmanuel Vadot&i2c1 { 15601950c46SEmmanuel Vadot pinctrl-0 = <&i2c1m0_xfer>; 15701950c46SEmmanuel Vadot}; 15801950c46SEmmanuel Vadot 15901950c46SEmmanuel Vadot&i2c1m0_xfer { 16001950c46SEmmanuel Vadot rockchip,pins = 16101950c46SEmmanuel Vadot /* i2c1_scl_m0 */ 16201950c46SEmmanuel Vadot <0 RK_PB5 9 &pcfg_pull_none_drv_level_0>, 16301950c46SEmmanuel Vadot /* i2c1_sda_m0 */ 16401950c46SEmmanuel Vadot <0 RK_PB6 9 &pcfg_pull_none_drv_level_0>; 16501950c46SEmmanuel Vadot}; 16601950c46SEmmanuel Vadot 16701950c46SEmmanuel Vadot&i2c2 { 16801950c46SEmmanuel Vadot pinctrl-0 = <&i2c2m3_xfer>; 16901950c46SEmmanuel Vadot status = "okay"; 17001950c46SEmmanuel Vadot}; 17101950c46SEmmanuel Vadot 17201950c46SEmmanuel Vadot&i2c2m3_xfer { 17301950c46SEmmanuel Vadot rockchip,pins = 17401950c46SEmmanuel Vadot /* i2c2_scl_m3 */ 17501950c46SEmmanuel Vadot <1 RK_PC5 9 &pcfg_pull_none_drv_level_0>, 17601950c46SEmmanuel Vadot /* i2c2_sda_m3 */ 17701950c46SEmmanuel Vadot <1 RK_PC4 9 &pcfg_pull_none_drv_level_0>; 17801950c46SEmmanuel Vadot}; 17901950c46SEmmanuel Vadot 18001950c46SEmmanuel Vadot&i2c3 { 18101950c46SEmmanuel Vadot pinctrl-0 = <&i2c3m0_xfer>; 18201950c46SEmmanuel Vadot}; 18301950c46SEmmanuel Vadot 18401950c46SEmmanuel Vadot&i2c4 { 18501950c46SEmmanuel Vadot pinctrl-0 = <&i2c4m4_xfer>; 18601950c46SEmmanuel Vadot status = "okay"; 18701950c46SEmmanuel Vadot 18801950c46SEmmanuel Vadot vdd_npu_s0: regulator@42 { 18901950c46SEmmanuel Vadot compatible = "rockchip,rk8602"; 19001950c46SEmmanuel Vadot reg = <0x42>; 19101950c46SEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 19201950c46SEmmanuel Vadot regulator-name = "vdd_npu_s0"; 19301950c46SEmmanuel Vadot regulator-always-on; 19401950c46SEmmanuel Vadot regulator-boot-on; 19501950c46SEmmanuel Vadot regulator-min-microvolt = <550000>; 19601950c46SEmmanuel Vadot regulator-max-microvolt = <950000>; 19701950c46SEmmanuel Vadot regulator-ramp-delay = <2300>; 19801950c46SEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 19901950c46SEmmanuel Vadot 20001950c46SEmmanuel Vadot regulator-state-mem { 20101950c46SEmmanuel Vadot regulator-off-in-suspend; 20201950c46SEmmanuel Vadot }; 20301950c46SEmmanuel Vadot }; 20401950c46SEmmanuel Vadot}; 20501950c46SEmmanuel Vadot 20601950c46SEmmanuel Vadot&i2c5 { 20701950c46SEmmanuel Vadot pinctrl-0 = <&i2c5m1_xfer>; 20801950c46SEmmanuel Vadot}; 20901950c46SEmmanuel Vadot 21001950c46SEmmanuel Vadot&i2c5m1_xfer { 21101950c46SEmmanuel Vadot rockchip,pins = 21201950c46SEmmanuel Vadot /* i2c5_scl_m1 */ 21301950c46SEmmanuel Vadot <4 RK_PB6 9 &pcfg_pull_none_drv_level_0>, 21401950c46SEmmanuel Vadot /* i2c5_sda_m1 */ 21501950c46SEmmanuel Vadot <4 RK_PB7 9 &pcfg_pull_none_drv_level_0>; 21601950c46SEmmanuel Vadot}; 21701950c46SEmmanuel Vadot 21801950c46SEmmanuel Vadot&i2c6 { 21901950c46SEmmanuel Vadot /* 22001950c46SEmmanuel Vadot * Mule-ATtiny can handle up to Fast mode Plus (1MHz) on I2C bus, 22101950c46SEmmanuel Vadot * but SOC can handle only up to (400kHz). 22201950c46SEmmanuel Vadot */ 22301950c46SEmmanuel Vadot clock-frequency = <400000>; 22401950c46SEmmanuel Vadot status = "okay"; 22501950c46SEmmanuel Vadot 22601950c46SEmmanuel Vadot fan@18 { 22701950c46SEmmanuel Vadot compatible = "ti,amc6821"; 22801950c46SEmmanuel Vadot reg = <0x18>; 22901950c46SEmmanuel Vadot }; 23001950c46SEmmanuel Vadot 23101950c46SEmmanuel Vadot rtc_twi: rtc@6f { 23201950c46SEmmanuel Vadot compatible = "isil,isl1208"; 23301950c46SEmmanuel Vadot reg = <0x6f>; 23401950c46SEmmanuel Vadot }; 23501950c46SEmmanuel Vadot}; 23601950c46SEmmanuel Vadot 23701950c46SEmmanuel Vadot&i2c6m0_xfer { 23801950c46SEmmanuel Vadot rockchip,pins = 23901950c46SEmmanuel Vadot /* i2c6_scl_m0 */ 24001950c46SEmmanuel Vadot <0 RK_PD0 9 &pcfg_pull_none_drv_level_0>, 24101950c46SEmmanuel Vadot /* i2c6_sda_m0 */ 24201950c46SEmmanuel Vadot <0 RK_PC7 9 &pcfg_pull_none_drv_level_0>; 24301950c46SEmmanuel Vadot}; 24401950c46SEmmanuel Vadot 24501950c46SEmmanuel Vadot&i2c7 { 24601950c46SEmmanuel Vadot status = "okay"; 24701950c46SEmmanuel Vadot 24801950c46SEmmanuel Vadot vdd_cpu_big0_s0: regulator@42 { 24901950c46SEmmanuel Vadot compatible = "rockchip,rk8602"; 25001950c46SEmmanuel Vadot reg = <0x42>; 25101950c46SEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 25201950c46SEmmanuel Vadot regulator-name = "vdd_cpu_big0_s0"; 25301950c46SEmmanuel Vadot regulator-always-on; 25401950c46SEmmanuel Vadot regulator-boot-on; 25501950c46SEmmanuel Vadot regulator-min-microvolt = <550000>; 25601950c46SEmmanuel Vadot regulator-max-microvolt = <1050000>; 25701950c46SEmmanuel Vadot regulator-ramp-delay = <2300>; 25801950c46SEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 25901950c46SEmmanuel Vadot 26001950c46SEmmanuel Vadot regulator-state-mem { 26101950c46SEmmanuel Vadot regulator-off-in-suspend; 26201950c46SEmmanuel Vadot }; 26301950c46SEmmanuel Vadot }; 26401950c46SEmmanuel Vadot 26501950c46SEmmanuel Vadot vdd_cpu_big1_s0: regulator@43 { 26601950c46SEmmanuel Vadot compatible = "rockchip,rk8603", "rockchip,rk8602"; 26701950c46SEmmanuel Vadot reg = <0x43>; 26801950c46SEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 26901950c46SEmmanuel Vadot regulator-name = "vdd_cpu_big1_s0"; 27001950c46SEmmanuel Vadot regulator-always-on; 27101950c46SEmmanuel Vadot regulator-boot-on; 27201950c46SEmmanuel Vadot regulator-min-microvolt = <550000>; 27301950c46SEmmanuel Vadot regulator-max-microvolt = <1050000>; 27401950c46SEmmanuel Vadot regulator-ramp-delay = <2300>; 27501950c46SEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 27601950c46SEmmanuel Vadot 27701950c46SEmmanuel Vadot regulator-state-mem { 27801950c46SEmmanuel Vadot regulator-off-in-suspend; 27901950c46SEmmanuel Vadot }; 28001950c46SEmmanuel Vadot }; 28101950c46SEmmanuel Vadot}; 28201950c46SEmmanuel Vadot 28301950c46SEmmanuel Vadot&i2c7m0_xfer { 28401950c46SEmmanuel Vadot rockchip,pins = 28501950c46SEmmanuel Vadot /* i2c7_scl_m0 */ 28601950c46SEmmanuel Vadot <1 RK_PD0 9 &pcfg_pull_none_drv_level_0>, 28701950c46SEmmanuel Vadot /* i2c7_sda_m0 */ 28801950c46SEmmanuel Vadot <1 RK_PD1 9 &pcfg_pull_none_drv_level_0>; 28901950c46SEmmanuel Vadot}; 29001950c46SEmmanuel Vadot 29101950c46SEmmanuel Vadot&i2c8 { 29201950c46SEmmanuel Vadot pinctrl-0 = <&i2c8m2_xfer>; 29301950c46SEmmanuel Vadot}; 29401950c46SEmmanuel Vadot 29501950c46SEmmanuel Vadot&mdio0 { 29601950c46SEmmanuel Vadot rgmii_phy: ethernet-phy@6 { 29701950c46SEmmanuel Vadot /* KSZ9031 or KSZ9131 */ 29801950c46SEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c22"; 29901950c46SEmmanuel Vadot reg = <0x6>; 30001950c46SEmmanuel Vadot clocks = <&cru REFCLKO25M_ETH0_OUT>; 30101950c46SEmmanuel Vadot }; 30201950c46SEmmanuel Vadot}; 30301950c46SEmmanuel Vadot 30401950c46SEmmanuel Vadot&pcie3x4 { 30501950c46SEmmanuel Vadot /* 30601950c46SEmmanuel Vadot * The board has a gpio-controlled "pcie_refclk" generator, 30701950c46SEmmanuel Vadot * so add it to the list of clocks. 30801950c46SEmmanuel Vadot */ 30901950c46SEmmanuel Vadot clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>, 31001950c46SEmmanuel Vadot <&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>, 31101950c46SEmmanuel Vadot <&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>, 31201950c46SEmmanuel Vadot <&pcie_refclk>; 31301950c46SEmmanuel Vadot clock-names = "aclk_mst", "aclk_slv", 31401950c46SEmmanuel Vadot "aclk_dbi", "pclk", 31501950c46SEmmanuel Vadot "aux", "pipe", 31601950c46SEmmanuel Vadot "ref"; 31701950c46SEmmanuel Vadot reset-gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_HIGH>; 31801950c46SEmmanuel Vadot}; 31901950c46SEmmanuel Vadot 32001950c46SEmmanuel Vadot&pinctrl { 32101950c46SEmmanuel Vadot emmc { 32201950c46SEmmanuel Vadot emmc_reset: emmc-reset { 32301950c46SEmmanuel Vadot rockchip,pins = <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 32401950c46SEmmanuel Vadot }; 32501950c46SEmmanuel Vadot }; 32601950c46SEmmanuel Vadot 32701950c46SEmmanuel Vadot ethernet { 32801950c46SEmmanuel Vadot eth_reset: eth-reset { 32901950c46SEmmanuel Vadot rockchip,pins = <4 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 33001950c46SEmmanuel Vadot }; 33101950c46SEmmanuel Vadot }; 33201950c46SEmmanuel Vadot 33301950c46SEmmanuel Vadot leds { 33401950c46SEmmanuel Vadot module_led_pin: module-led-pin { 33501950c46SEmmanuel Vadot rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 33601950c46SEmmanuel Vadot }; 33701950c46SEmmanuel Vadot }; 338*7d0873ebSEmmanuel Vadot 339*7d0873ebSEmmanuel Vadot usb3 { 340*7d0873ebSEmmanuel Vadot usb3_id: usb3-id { 341*7d0873ebSEmmanuel Vadot rockchip,pins = 342*7d0873ebSEmmanuel Vadot <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 343*7d0873ebSEmmanuel Vadot }; 344*7d0873ebSEmmanuel Vadot }; 345*7d0873ebSEmmanuel Vadot}; 346*7d0873ebSEmmanuel Vadot 347*7d0873ebSEmmanuel Vadot&pwm0 { 348*7d0873ebSEmmanuel Vadot pinctrl-0 = <&pwm0m1_pins>; 349*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 35001950c46SEmmanuel Vadot}; 35101950c46SEmmanuel Vadot 35201950c46SEmmanuel Vadot&saradc { 35301950c46SEmmanuel Vadot vref-supply = <&vcc_1v8_s0>; 35401950c46SEmmanuel Vadot status = "okay"; 35501950c46SEmmanuel Vadot}; 35601950c46SEmmanuel Vadot 35701950c46SEmmanuel Vadot&sdhci { 35801950c46SEmmanuel Vadot bus-width = <8>; 35901950c46SEmmanuel Vadot cap-mmc-highspeed; 36001950c46SEmmanuel Vadot mmc-ddr-1_8v; 36101950c46SEmmanuel Vadot mmc-hs200-1_8v; 36201950c46SEmmanuel Vadot mmc-hs400-1_8v; 36301950c46SEmmanuel Vadot mmc-hs400-enhanced-strobe; 36401950c46SEmmanuel Vadot mmc-pwrseq = <&emmc_pwrseq>; 36501950c46SEmmanuel Vadot no-sdio; 36601950c46SEmmanuel Vadot no-sd; 36701950c46SEmmanuel Vadot non-removable; 36801950c46SEmmanuel Vadot pinctrl-names = "default"; 36901950c46SEmmanuel Vadot pinctrl-0 = <&emmc_bus8 &emmc_cmd &emmc_clk &emmc_data_strobe>; 37001950c46SEmmanuel Vadot supports-cqe; 37101950c46SEmmanuel Vadot vmmc-supply = <&vcc_3v3_s3>; 37201950c46SEmmanuel Vadot vqmmc-supply = <&vcc_1v8_s3>; 37301950c46SEmmanuel Vadot status = "okay"; 37401950c46SEmmanuel Vadot}; 37501950c46SEmmanuel Vadot 37601950c46SEmmanuel Vadot&sdmmc { 37701950c46SEmmanuel Vadot bus-width = <4>; 37801950c46SEmmanuel Vadot cap-sd-highspeed; 37901950c46SEmmanuel Vadot max-frequency = <150000000>; 38001950c46SEmmanuel Vadot vqmmc-supply = <&vccio_sd_s0>; 38101950c46SEmmanuel Vadot}; 38201950c46SEmmanuel Vadot 38301950c46SEmmanuel Vadot&spi0 { 38401950c46SEmmanuel Vadot pinctrl-0 = <&spi0m1_cs0 &spi0m1_cs1 &spi0m3_pins>; 38501950c46SEmmanuel Vadot}; 38601950c46SEmmanuel Vadot 38701950c46SEmmanuel Vadot&spi2 { 38801950c46SEmmanuel Vadot assigned-clocks = <&cru CLK_SPI2>; 38901950c46SEmmanuel Vadot assigned-clock-rates = <200000000>; 39001950c46SEmmanuel Vadot num-cs = <1>; 39101950c46SEmmanuel Vadot pinctrl-names = "default"; 39201950c46SEmmanuel Vadot pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>; 39301950c46SEmmanuel Vadot status = "okay"; 39401950c46SEmmanuel Vadot 39501950c46SEmmanuel Vadot pmic@0 { 39601950c46SEmmanuel Vadot compatible = "rockchip,rk806"; 39701950c46SEmmanuel Vadot reg = <0x0>; 39801950c46SEmmanuel Vadot interrupt-parent = <&gpio0>; 39901950c46SEmmanuel Vadot interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 40001950c46SEmmanuel Vadot gpio-controller; 40101950c46SEmmanuel Vadot #gpio-cells = <2>; 40201950c46SEmmanuel Vadot pinctrl-names = "default"; 40301950c46SEmmanuel Vadot pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 40401950c46SEmmanuel Vadot <&rk806_dvs2_null>, <&rk806_dvs3_null>; 40501950c46SEmmanuel Vadot spi-max-frequency = <1000000>; 40601950c46SEmmanuel Vadot system-power-controller; 40701950c46SEmmanuel Vadot vcc1-supply = <&vcc5v0_sys>; 40801950c46SEmmanuel Vadot vcc2-supply = <&vcc5v0_sys>; 40901950c46SEmmanuel Vadot vcc3-supply = <&vcc5v0_sys>; 41001950c46SEmmanuel Vadot vcc4-supply = <&vcc5v0_sys>; 41101950c46SEmmanuel Vadot vcc5-supply = <&vcc5v0_sys>; 41201950c46SEmmanuel Vadot vcc6-supply = <&vcc5v0_sys>; 41301950c46SEmmanuel Vadot vcc7-supply = <&vcc5v0_sys>; 41401950c46SEmmanuel Vadot vcc8-supply = <&vcc5v0_sys>; 41501950c46SEmmanuel Vadot vcc9-supply = <&vcc5v0_sys>; 41601950c46SEmmanuel Vadot vcc10-supply = <&vcc5v0_sys>; 41701950c46SEmmanuel Vadot vcc11-supply = <&vcc_2v0_pldo_s3>; 41801950c46SEmmanuel Vadot vcc12-supply = <&vcc5v0_sys>; 41901950c46SEmmanuel Vadot vcc13-supply = <&vcc_1v1_nldo_s3>; 42001950c46SEmmanuel Vadot vcc14-supply = <&vcc_1v1_nldo_s3>; 42101950c46SEmmanuel Vadot vcca-supply = <&vcc5v0_sys>; 42201950c46SEmmanuel Vadot 42301950c46SEmmanuel Vadot rk806_dvs1_null: dvs1-null-pins { 424*7d0873ebSEmmanuel Vadot pins = "gpio_pwrctrl1"; 42501950c46SEmmanuel Vadot function = "pin_fun0"; 42601950c46SEmmanuel Vadot }; 42701950c46SEmmanuel Vadot 42801950c46SEmmanuel Vadot rk806_dvs2_null: dvs2-null-pins { 42901950c46SEmmanuel Vadot pins = "gpio_pwrctrl2"; 43001950c46SEmmanuel Vadot function = "pin_fun0"; 43101950c46SEmmanuel Vadot }; 43201950c46SEmmanuel Vadot 43301950c46SEmmanuel Vadot rk806_dvs3_null: dvs3-null-pins { 43401950c46SEmmanuel Vadot pins = "gpio_pwrctrl3"; 43501950c46SEmmanuel Vadot function = "pin_fun0"; 43601950c46SEmmanuel Vadot }; 43701950c46SEmmanuel Vadot 43801950c46SEmmanuel Vadot regulators { 43901950c46SEmmanuel Vadot vdd_gpu_s0: dcdc-reg1 { 44001950c46SEmmanuel Vadot regulator-boot-on; 44101950c46SEmmanuel Vadot regulator-min-microvolt = <550000>; 44201950c46SEmmanuel Vadot regulator-max-microvolt = <950000>; 44301950c46SEmmanuel Vadot regulator-ramp-delay = <12500>; 44401950c46SEmmanuel Vadot regulator-name = "vdd_gpu_s0"; 44501950c46SEmmanuel Vadot regulator-enable-ramp-delay = <400>; 44601950c46SEmmanuel Vadot 44701950c46SEmmanuel Vadot regulator-state-mem { 44801950c46SEmmanuel Vadot regulator-off-in-suspend; 44901950c46SEmmanuel Vadot }; 45001950c46SEmmanuel Vadot }; 45101950c46SEmmanuel Vadot 45201950c46SEmmanuel Vadot vdd_cpu_lit_s0: dcdc-reg2 { 45301950c46SEmmanuel Vadot regulator-name = "vdd_cpu_lit_s0"; 45401950c46SEmmanuel Vadot regulator-always-on; 45501950c46SEmmanuel Vadot regulator-boot-on; 45601950c46SEmmanuel Vadot regulator-min-microvolt = <550000>; 45701950c46SEmmanuel Vadot regulator-max-microvolt = <950000>; 45801950c46SEmmanuel Vadot regulator-ramp-delay = <12500>; 45901950c46SEmmanuel Vadot 46001950c46SEmmanuel Vadot regulator-state-mem { 46101950c46SEmmanuel Vadot regulator-off-in-suspend; 46201950c46SEmmanuel Vadot }; 46301950c46SEmmanuel Vadot }; 46401950c46SEmmanuel Vadot 46501950c46SEmmanuel Vadot vdd_log_s0: dcdc-reg3 { 46601950c46SEmmanuel Vadot regulator-name = "vdd_log_s0"; 46701950c46SEmmanuel Vadot regulator-always-on; 46801950c46SEmmanuel Vadot regulator-boot-on; 46901950c46SEmmanuel Vadot regulator-min-microvolt = <675000>; 47001950c46SEmmanuel Vadot regulator-max-microvolt = <750000>; 47101950c46SEmmanuel Vadot regulator-ramp-delay = <12500>; 47201950c46SEmmanuel Vadot 47301950c46SEmmanuel Vadot regulator-state-mem { 47401950c46SEmmanuel Vadot regulator-off-in-suspend; 47501950c46SEmmanuel Vadot regulator-suspend-microvolt = <750000>; 47601950c46SEmmanuel Vadot }; 47701950c46SEmmanuel Vadot }; 47801950c46SEmmanuel Vadot 47901950c46SEmmanuel Vadot vdd_vdenc_s0: dcdc-reg4 { 48001950c46SEmmanuel Vadot regulator-name = "vdd_vdenc_s0"; 48101950c46SEmmanuel Vadot regulator-always-on; 48201950c46SEmmanuel Vadot regulator-boot-on; 48301950c46SEmmanuel Vadot regulator-min-microvolt = <550000>; 48401950c46SEmmanuel Vadot regulator-max-microvolt = <950000>; 48501950c46SEmmanuel Vadot regulator-ramp-delay = <12500>; 48601950c46SEmmanuel Vadot 48701950c46SEmmanuel Vadot regulator-state-mem { 48801950c46SEmmanuel Vadot regulator-off-in-suspend; 48901950c46SEmmanuel Vadot }; 49001950c46SEmmanuel Vadot }; 49101950c46SEmmanuel Vadot 49201950c46SEmmanuel Vadot vdd_ddr_s0: dcdc-reg5 { 49301950c46SEmmanuel Vadot regulator-name = "vdd_ddr_s0"; 49401950c46SEmmanuel Vadot regulator-always-on; 49501950c46SEmmanuel Vadot regulator-boot-on; 49601950c46SEmmanuel Vadot regulator-min-microvolt = <675000>; 49701950c46SEmmanuel Vadot regulator-max-microvolt = <900000>; 49801950c46SEmmanuel Vadot regulator-ramp-delay = <12500>; 49901950c46SEmmanuel Vadot 50001950c46SEmmanuel Vadot regulator-state-mem { 50101950c46SEmmanuel Vadot regulator-off-in-suspend; 50201950c46SEmmanuel Vadot regulator-suspend-microvolt = <850000>; 50301950c46SEmmanuel Vadot }; 50401950c46SEmmanuel Vadot }; 50501950c46SEmmanuel Vadot 50601950c46SEmmanuel Vadot vdd2_ddr_s3: dcdc-reg6 { 50701950c46SEmmanuel Vadot regulator-name = "vdd2_ddr_s3"; 50801950c46SEmmanuel Vadot regulator-always-on; 50901950c46SEmmanuel Vadot regulator-boot-on; 51001950c46SEmmanuel Vadot 51101950c46SEmmanuel Vadot regulator-state-mem { 51201950c46SEmmanuel Vadot regulator-on-in-suspend; 51301950c46SEmmanuel Vadot }; 51401950c46SEmmanuel Vadot }; 51501950c46SEmmanuel Vadot 51601950c46SEmmanuel Vadot vcc_2v0_pldo_s3: dcdc-reg7 { 51701950c46SEmmanuel Vadot regulator-name = "vcc_2v0_pldo_s3"; 51801950c46SEmmanuel Vadot regulator-always-on; 51901950c46SEmmanuel Vadot regulator-boot-on; 52001950c46SEmmanuel Vadot regulator-min-microvolt = <2000000>; 52101950c46SEmmanuel Vadot regulator-max-microvolt = <2000000>; 52201950c46SEmmanuel Vadot regulator-ramp-delay = <12500>; 52301950c46SEmmanuel Vadot 52401950c46SEmmanuel Vadot regulator-state-mem { 52501950c46SEmmanuel Vadot regulator-on-in-suspend; 52601950c46SEmmanuel Vadot regulator-suspend-microvolt = <2000000>; 52701950c46SEmmanuel Vadot }; 52801950c46SEmmanuel Vadot }; 52901950c46SEmmanuel Vadot 53001950c46SEmmanuel Vadot vcc_3v3_s3: dcdc-reg8 { 53101950c46SEmmanuel Vadot regulator-name = "vcc_3v3_s3"; 53201950c46SEmmanuel Vadot regulator-always-on; 53301950c46SEmmanuel Vadot regulator-boot-on; 53401950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 53501950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 53601950c46SEmmanuel Vadot 53701950c46SEmmanuel Vadot regulator-state-mem { 53801950c46SEmmanuel Vadot regulator-on-in-suspend; 53901950c46SEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 54001950c46SEmmanuel Vadot }; 54101950c46SEmmanuel Vadot }; 54201950c46SEmmanuel Vadot 54301950c46SEmmanuel Vadot vddq_ddr_s0: dcdc-reg9 { 54401950c46SEmmanuel Vadot regulator-name = "vddq_ddr_s0"; 54501950c46SEmmanuel Vadot regulator-always-on; 54601950c46SEmmanuel Vadot regulator-boot-on; 54701950c46SEmmanuel Vadot 54801950c46SEmmanuel Vadot regulator-state-mem { 54901950c46SEmmanuel Vadot regulator-off-in-suspend; 55001950c46SEmmanuel Vadot }; 55101950c46SEmmanuel Vadot }; 55201950c46SEmmanuel Vadot 55301950c46SEmmanuel Vadot vcc_1v8_s3: dcdc-reg10 { 55401950c46SEmmanuel Vadot regulator-name = "vcc_1v8_s3"; 55501950c46SEmmanuel Vadot regulator-always-on; 55601950c46SEmmanuel Vadot regulator-boot-on; 55701950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 55801950c46SEmmanuel Vadot regulator-max-microvolt = <1800000>; 55901950c46SEmmanuel Vadot 56001950c46SEmmanuel Vadot regulator-state-mem { 56101950c46SEmmanuel Vadot regulator-on-in-suspend; 56201950c46SEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 56301950c46SEmmanuel Vadot }; 56401950c46SEmmanuel Vadot }; 56501950c46SEmmanuel Vadot 56601950c46SEmmanuel Vadot vcca_1v8_s0: pldo-reg1 { 56701950c46SEmmanuel Vadot regulator-name = "vcca_1v8_s0"; 56801950c46SEmmanuel Vadot regulator-always-on; 56901950c46SEmmanuel Vadot regulator-boot-on; 57001950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 57101950c46SEmmanuel Vadot regulator-max-microvolt = <1800000>; 57201950c46SEmmanuel Vadot 57301950c46SEmmanuel Vadot regulator-state-mem { 57401950c46SEmmanuel Vadot regulator-off-in-suspend; 57501950c46SEmmanuel Vadot }; 57601950c46SEmmanuel Vadot }; 57701950c46SEmmanuel Vadot 57801950c46SEmmanuel Vadot vcc_1v8_s0: pldo-reg2 { 57901950c46SEmmanuel Vadot regulator-name = "vcc_1v8_s0"; 58001950c46SEmmanuel Vadot regulator-always-on; 58101950c46SEmmanuel Vadot regulator-boot-on; 58201950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 58301950c46SEmmanuel Vadot regulator-max-microvolt = <1800000>; 58401950c46SEmmanuel Vadot 58501950c46SEmmanuel Vadot regulator-state-mem { 58601950c46SEmmanuel Vadot regulator-off-in-suspend; 58701950c46SEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 58801950c46SEmmanuel Vadot }; 58901950c46SEmmanuel Vadot }; 59001950c46SEmmanuel Vadot 59101950c46SEmmanuel Vadot vdda_1v2_s0: pldo-reg3 { 59201950c46SEmmanuel Vadot regulator-name = "vdda_1v2_s0"; 59301950c46SEmmanuel Vadot regulator-always-on; 59401950c46SEmmanuel Vadot regulator-boot-on; 59501950c46SEmmanuel Vadot regulator-min-microvolt = <1200000>; 59601950c46SEmmanuel Vadot regulator-max-microvolt = <1200000>; 59701950c46SEmmanuel Vadot 59801950c46SEmmanuel Vadot regulator-state-mem { 59901950c46SEmmanuel Vadot regulator-off-in-suspend; 60001950c46SEmmanuel Vadot }; 60101950c46SEmmanuel Vadot }; 60201950c46SEmmanuel Vadot 60301950c46SEmmanuel Vadot vcca_3v3_s0: pldo-reg4 { 60401950c46SEmmanuel Vadot regulator-name = "vcca_3v3_s0"; 60501950c46SEmmanuel Vadot regulator-always-on; 60601950c46SEmmanuel Vadot regulator-boot-on; 60701950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 60801950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 60901950c46SEmmanuel Vadot regulator-ramp-delay = <12500>; 61001950c46SEmmanuel Vadot 61101950c46SEmmanuel Vadot regulator-state-mem { 61201950c46SEmmanuel Vadot regulator-off-in-suspend; 61301950c46SEmmanuel Vadot }; 61401950c46SEmmanuel Vadot }; 61501950c46SEmmanuel Vadot 61601950c46SEmmanuel Vadot vccio_sd_s0: pldo-reg5 { 61701950c46SEmmanuel Vadot regulator-name = "vccio_sd_s0"; 61801950c46SEmmanuel Vadot regulator-always-on; 61901950c46SEmmanuel Vadot regulator-boot-on; 62001950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 62101950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 62201950c46SEmmanuel Vadot regulator-ramp-delay = <12500>; 62301950c46SEmmanuel Vadot 62401950c46SEmmanuel Vadot regulator-state-mem { 62501950c46SEmmanuel Vadot regulator-off-in-suspend; 62601950c46SEmmanuel Vadot }; 62701950c46SEmmanuel Vadot }; 62801950c46SEmmanuel Vadot 62901950c46SEmmanuel Vadot pldo6_s3: pldo-reg6 { 63001950c46SEmmanuel Vadot regulator-name = "pldo6_s3"; 63101950c46SEmmanuel Vadot regulator-always-on; 63201950c46SEmmanuel Vadot regulator-boot-on; 63301950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 63401950c46SEmmanuel Vadot regulator-max-microvolt = <1800000>; 63501950c46SEmmanuel Vadot 63601950c46SEmmanuel Vadot regulator-state-mem { 63701950c46SEmmanuel Vadot regulator-on-in-suspend; 63801950c46SEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 63901950c46SEmmanuel Vadot }; 64001950c46SEmmanuel Vadot }; 64101950c46SEmmanuel Vadot 64201950c46SEmmanuel Vadot vdd_0v75_s3: nldo-reg1 { 64301950c46SEmmanuel Vadot regulator-name = "vdd_0v75_s3"; 64401950c46SEmmanuel Vadot regulator-always-on; 64501950c46SEmmanuel Vadot regulator-boot-on; 64601950c46SEmmanuel Vadot regulator-min-microvolt = <750000>; 64701950c46SEmmanuel Vadot regulator-max-microvolt = <750000>; 64801950c46SEmmanuel Vadot 64901950c46SEmmanuel Vadot regulator-state-mem { 65001950c46SEmmanuel Vadot regulator-on-in-suspend; 65101950c46SEmmanuel Vadot regulator-suspend-microvolt = <750000>; 65201950c46SEmmanuel Vadot }; 65301950c46SEmmanuel Vadot }; 65401950c46SEmmanuel Vadot 65501950c46SEmmanuel Vadot vdda_ddr_pll_s0: nldo-reg2 { 65601950c46SEmmanuel Vadot regulator-name = "vdda_ddr_pll_s0"; 65701950c46SEmmanuel Vadot regulator-always-on; 65801950c46SEmmanuel Vadot regulator-boot-on; 65901950c46SEmmanuel Vadot regulator-min-microvolt = <850000>; 66001950c46SEmmanuel Vadot regulator-max-microvolt = <850000>; 66101950c46SEmmanuel Vadot 66201950c46SEmmanuel Vadot regulator-state-mem { 66301950c46SEmmanuel Vadot regulator-off-in-suspend; 66401950c46SEmmanuel Vadot regulator-suspend-microvolt = <850000>; 66501950c46SEmmanuel Vadot }; 66601950c46SEmmanuel Vadot }; 66701950c46SEmmanuel Vadot 66801950c46SEmmanuel Vadot vdda_0v75_s0: nldo-reg3 { 66901950c46SEmmanuel Vadot regulator-name = "vdda_0v75_s0"; 67001950c46SEmmanuel Vadot regulator-always-on; 67101950c46SEmmanuel Vadot regulator-boot-on; 67201950c46SEmmanuel Vadot regulator-min-microvolt = <750000>; 67301950c46SEmmanuel Vadot regulator-max-microvolt = <750000>; 67401950c46SEmmanuel Vadot 67501950c46SEmmanuel Vadot regulator-state-mem { 67601950c46SEmmanuel Vadot regulator-off-in-suspend; 67701950c46SEmmanuel Vadot }; 67801950c46SEmmanuel Vadot }; 67901950c46SEmmanuel Vadot 68001950c46SEmmanuel Vadot vdda_0v85_s0: nldo-reg4 { 68101950c46SEmmanuel Vadot regulator-name = "vdda_0v85_s0"; 68201950c46SEmmanuel Vadot regulator-always-on; 68301950c46SEmmanuel Vadot regulator-boot-on; 68401950c46SEmmanuel Vadot regulator-min-microvolt = <850000>; 68501950c46SEmmanuel Vadot regulator-max-microvolt = <850000>; 68601950c46SEmmanuel Vadot 68701950c46SEmmanuel Vadot regulator-state-mem { 68801950c46SEmmanuel Vadot regulator-off-in-suspend; 68901950c46SEmmanuel Vadot }; 69001950c46SEmmanuel Vadot }; 69101950c46SEmmanuel Vadot 69201950c46SEmmanuel Vadot vdd_0v75_s0: nldo-reg5 { 69301950c46SEmmanuel Vadot regulator-name = "vdd_0v75_s0"; 69401950c46SEmmanuel Vadot regulator-always-on; 69501950c46SEmmanuel Vadot regulator-boot-on; 69601950c46SEmmanuel Vadot regulator-min-microvolt = <750000>; 69701950c46SEmmanuel Vadot regulator-max-microvolt = <750000>; 69801950c46SEmmanuel Vadot 69901950c46SEmmanuel Vadot regulator-state-mem { 70001950c46SEmmanuel Vadot regulator-off-in-suspend; 70101950c46SEmmanuel Vadot }; 70201950c46SEmmanuel Vadot }; 70301950c46SEmmanuel Vadot }; 70401950c46SEmmanuel Vadot }; 70501950c46SEmmanuel Vadot}; 70601950c46SEmmanuel Vadot 70701950c46SEmmanuel Vadot&tsadc { 70801950c46SEmmanuel Vadot status = "okay"; 70901950c46SEmmanuel Vadot}; 71001950c46SEmmanuel Vadot 711*7d0873ebSEmmanuel Vadot/* Routed to UART0 on the Q7 connector */ 712*7d0873ebSEmmanuel Vadot&uart2 { 713*7d0873ebSEmmanuel Vadot pinctrl-0 = <&uart2m2_xfer>; 714*7d0873ebSEmmanuel Vadot}; 715*7d0873ebSEmmanuel Vadot 71601950c46SEmmanuel Vadot/* Mule-ATtiny UPDI */ 71701950c46SEmmanuel Vadot&uart4 { 71801950c46SEmmanuel Vadot pinctrl-0 = <&uart4m2_xfer>; 71901950c46SEmmanuel Vadot status = "okay"; 72001950c46SEmmanuel Vadot}; 721