[PATCH 1/2] arm64: dts: rockchip: Add Radxa ROCK S0
Kever Yang
kever.yang at rock-chips.com
Fri Aug 2 08:16:59 CEST 2024
On 2024/7/31 03:48, Jonas Karlman wrote:
> Radxa ROCK S0 is a single-board computer based on the Rockchip RK3308B
> SoC in an ultra-compact form factor.
>
> Add initial support for eMMC, SD-card, Ethernet, WiFi/BT and USB.
>
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
> Link: https://lore.kernel.org/r/20240521212247.1240226-3-jonas@kwiboo.se
> Signed-off-by: Heiko Stuebner <heiko at sntech.de>
>
> [ upstream commit: adeb5d2a4ba47910238b3c4f5fd960cc0c26a98b ]
>
> (cherry picked from commit e291d457b0378f2cb3d3ebb597032ca862cdb973)
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
> .../src/arm64/rockchip/rk3308-rock-s0.dts | 293 ++++++++++++++++++
> 1 file changed, 293 insertions(+)
> create mode 100644 dts/upstream/src/arm64/rockchip/rk3308-rock-s0.dts
>
> diff --git a/dts/upstream/src/arm64/rockchip/rk3308-rock-s0.dts b/dts/upstream/src/arm64/rockchip/rk3308-rock-s0.dts
> new file mode 100644
> index 000000000000..bd6419a5c20a
> --- /dev/null
> +++ b/dts/upstream/src/arm64/rockchip/rk3308-rock-s0.dts
> @@ -0,0 +1,293 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/leds/common.h>
> +#include "rk3308.dtsi"
> +
> +/ {
> + model = "Radxa ROCK S0";
> + compatible = "radxa,rock-s0", "rockchip,rk3308";
> +
> + aliases {
> + ethernet0 = &gmac;
> + mmc0 = &emmc;
> + mmc1 = &sdmmc;
> + mmc2 = &sdio;
> + };
> +
> + chosen {
> + stdout-path = "serial0:1500000n8";
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pwr_led>;
> +
> + led-green {
> + color = <LED_COLOR_ID_GREEN>;
> + default-state = "on";
> + function = LED_FUNCTION_HEARTBEAT;
> + gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
> + linux,default-trigger = "heartbeat";
> + };
> + };
> +
> + vdd_log: regulator-1v04-vdd-log {
> + compatible = "regulator-fixed";
> + regulator-name = "vdd_log";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1040000>;
> + regulator-max-microvolt = <1040000>;
> + vin-supply = <&vcc5v0_sys>;
> + };
> +
> + vcc_ddr: regulator-1v5-vcc-ddr {
> + compatible = "regulator-fixed";
> + regulator-name = "vcc_ddr";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1500000>;
> + regulator-max-microvolt = <1500000>;
> + vin-supply = <&vcc5v0_sys>;
> + };
> +
> + vcc_1v8: regulator-1v8-vcc {
> + compatible = "regulator-fixed";
> + regulator-name = "vcc_1v8";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + vin-supply = <&vcc_io>;
> + };
> +
> + vcc_io: regulator-3v3-vcc-io {
> + compatible = "regulator-fixed";
> + regulator-name = "vcc_io";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + vin-supply = <&vcc5v0_sys>;
> + };
> +
> + vcc5v0_sys: regulator-5v0-vcc-sys {
> + compatible = "regulator-fixed";
> + regulator-name = "vcc5v0_sys";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + };
> +
> + vdd_core: regulator-vdd-core {
> + compatible = "pwm-regulator";
> + pwms = <&pwm0 0 5000 1>;
> + pwm-supply = <&vcc5v0_sys>;
> + regulator-name = "vdd_core";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <827000>;
> + regulator-max-microvolt = <1340000>;
> + regulator-settling-time-up-us = <250>;
> + };
> +
> + sdio_pwrseq: sdio-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + pinctrl-names = "default";
> + pinctrl-0 = <&wifi_reg_on>;
> + reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
> + };
> +};
> +
> +&cpu0 {
> + cpu-supply = <&vdd_core>;
> +};
> +
> +&emmc {
> + cap-mmc-highspeed;
> + no-sd;
> + no-sdio;
> + non-removable;
> + pinctrl-names = "default";
> + pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_pwren>;
> + vmmc-supply = <&vcc_io>;
> + status = "okay";
> +};
> +
> +&gmac {
> + clock_in_out = "output";
> + phy-handle = <&rtl8201f>;
> + phy-supply = <&vcc_io>;
> + status = "okay";
> +
> + mdio {
> + compatible = "snps,dwmac-mdio";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + rtl8201f: ethernet-phy at 1 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <1>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&mac_rst>;
> + reset-assert-us = <20000>;
> + reset-deassert-us = <50000>;
> + reset-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
> + };
> + };
> +};
> +
> +&io_domains {
> + vccio0-supply = <&vcc_io>;
> + vccio1-supply = <&vcc_io>;
> + vccio2-supply = <&vcc_io>;
> + vccio3-supply = <&vcc_io>;
> + vccio4-supply = <&vcc_1v8>;
> + vccio5-supply = <&vcc_io>;
> + status = "okay";
> +};
> +
> +&pinctrl {
> + pinctrl-names = "default";
> + pinctrl-0 = <&rtc_32k>;
> +
> + bluetooth {
> + bt_reg_on: bt-reg-on {
> + rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> +
> + bt_wake_host: bt-wake-host {
> + rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
> + };
> +
> + host_wake_bt: host-wake-bt {
> + rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> + };
> +
> + gmac {
> + mac_rst: mac-rst {
> + rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> + };
> +
> + leds {
> + pwr_led: pwr-led {
> + rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> + };
> +
> + wifi {
> + wifi_reg_on: wifi-reg-on {
> + rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> +
> + wifi_wake_host: wifi-wake-host {
> + rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
> + };
> + };
> +};
> +
> +&pwm0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pwm0_pin_pull_down>;
> + status = "okay";
> +};
> +
> +&saradc {
> + vref-supply = <&vcc_1v8>;
> + status = "okay";
> +};
> +
> +&sdio {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + cap-sd-highspeed;
> + cap-sdio-irq;
> + keep-power-in-suspend;
> + max-frequency = <50000000>;
> + mmc-pwrseq = <&sdio_pwrseq>;
> + no-mmc;
> + no-sd;
> + non-removable;
> + vmmc-supply = <&vcc_io>;
> + vqmmc-supply = <&vcc_1v8>;
> + status = "okay";
> +
> + brcmf: wifi at 1 {
> + compatible = "brcm,bcm43430a1-fmac", "brcm,bcm4329-fmac";
> + reg = <1>;
> + interrupt-parent = <&gpio0>;
> + interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "host-wake";
> + pinctrl-names = "default";
> + pinctrl-0 = <&wifi_wake_host>;
> + };
> +};
> +
> +&sdmmc {
> + cap-mmc-highspeed;
> + cap-sd-highspeed;
> + disable-wp;
> + vmmc-supply = <&vcc_io>;
> + status = "okay";
> +};
> +
> +&u2phy {
> + status = "okay";
> +};
> +
> +&u2phy_host {
> + status = "okay";
> +};
> +
> +&u2phy_otg {
> + status = "okay";
> +};
> +
> +&uart0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart0_xfer>;
> + status = "okay";
> +};
> +
> +&uart4 {
> + uart-has-rtscts;
> + status = "okay";
> +
> + bluetooth {
> + compatible = "brcm,bcm43430a1-bt";
> + clocks = <&cru SCLK_RTC32K>;
> + clock-names = "lpo";
> + interrupt-parent = <&gpio4>;
> + interrupts = <RK_PB4 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "host-wakeup";
> + device-wakeup-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
> + shutdown-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&bt_reg_on &bt_wake_host &host_wake_bt>;
> + vbat-supply = <&vcc_io>;
> + vddio-supply = <&vcc_1v8>;
> + };
> +};
> +
> +&usb_host_ehci {
> + status = "okay";
> +};
> +
> +&usb_host_ohci {
> + status = "okay";
> +};
> +
> +&usb20_otg {
> + dr_mode = "peripheral";
> + status = "okay";
> +};
> +
> +&wdt {
> + status = "okay";
> +};
More information about the U-Boot
mailing list