272 lines
6.1 KiB
Diff
272 lines
6.1 KiB
Diff
|
From 4c09666816df62c1b8ab13410b8d0cc9234c608f Mon Sep 17 00:00:00 2001
|
||
|
From: ashthespy <ashthespy@gmail.com>
|
||
|
Date: Wed, 15 Jan 2020 14:54:14 +0100
|
||
|
Subject: [PATCH 01/23] arm64: dts: rockchip: add ROCK Pi S DTS support
|
||
|
|
||
|
ROCK Pi S is RK3308 based SBC from radxa.com. ROCK Pi S has a,
|
||
|
- 256MB/512MB DDR3 RAM
|
||
|
- SD, NAND flash (optional on board 1/2/4/8Gb)
|
||
|
- 100MB ethernet, PoE (optional)
|
||
|
- Onboard 802.11 b/g/n wifi + Bluetooth 4.0 Module
|
||
|
- USB2.0 Type-A HOST x1
|
||
|
- USB3.0 Type-C OTG x1
|
||
|
- 26-pin expansion header
|
||
|
- USB Type-C DC 5V Power Supply
|
||
|
|
||
|
This patch enables
|
||
|
- Console
|
||
|
- NAND Flash
|
||
|
- SD Card
|
||
|
|
||
|
Signed-off-by: Akash Gajjar <akash@openedev.com>
|
||
|
---
|
||
|
Changes for v2
|
||
|
- Use pwm-supply for vdd_core node instead of vi-supply
|
||
|
- Add USB2.0 node support
|
||
|
|
||
|
Changes for v3
|
||
|
- Use small S on dts file name
|
||
|
- Add missing semicolon
|
||
|
- Remove USB2.0 node support
|
||
|
|
||
|
.../devicetree/bindings/arm/rockchip.yaml | 5 +
|
||
|
arch/arm64/boot/dts/rockchip/Makefile | 1 +
|
||
|
.../boot/dts/rockchip/rk3308-rock-pi-s.dts | 221 ++++++++++++++++++
|
||
|
3 files changed, 227 insertions(+)
|
||
|
create mode 100644 arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
|
||
|
---
|
||
|
.../boot/dts/rockchip/rk3308-rock-pi-s.dts | 221 ++++++++++++++++++
|
||
|
2 files changed, 222 insertions(+)
|
||
|
create mode 100644 arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
|
||
|
|
||
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
|
||
|
new file mode 100644
|
||
|
index 000000000000..4fccae43f008
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
|
||
|
@@ -0,0 +1,221 @@
|
||
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||
|
+/*
|
||
|
+ * Copyright (c) 2019 Akash Gajjar <akash@openedev.com>
|
||
|
+ * Copyright (c) 2019 Jagan Teki <jagan@openedev.com>
|
||
|
+ */
|
||
|
+
|
||
|
+/dts-v1/;
|
||
|
+#include "rk3308.dtsi"
|
||
|
+
|
||
|
+/ {
|
||
|
+ model = "Radxa ROCK Pi S";
|
||
|
+ compatible = "radxa,rockpis", "rockchip,rk3308";
|
||
|
+
|
||
|
+ chosen {
|
||
|
+ stdout-path = "serial0:1500000n8";
|
||
|
+ };
|
||
|
+
|
||
|
+ leds {
|
||
|
+ compatible = "gpio-leds";
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&green_led_gio>, <&heartbeat_led_gpio>;
|
||
|
+
|
||
|
+ green-led {
|
||
|
+ label = "rockpis:green:power";
|
||
|
+ gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||
|
+ linux,default-trigger = "default-on";
|
||
|
+ default-state = "on";
|
||
|
+ };
|
||
|
+
|
||
|
+ blue-led {
|
||
|
+ label = "rockpis:blue:user";
|
||
|
+ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||
|
+ default-state = "on";
|
||
|
+ linux,default-trigger = "heartbeat";
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ sdio_pwrseq: sdio-pwrseq {
|
||
|
+ compatible = "mmc-pwrseq-simple";
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&wifi_enable_h>;
|
||
|
+ reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||
|
+ };
|
||
|
+
|
||
|
+ vcc5v0_sys: vcc5v0-sys {
|
||
|
+ compatible = "regulator-fixed";
|
||
|
+ regulator-name = "vcc5v0_sys";
|
||
|
+ regulator-always-on;
|
||
|
+ regulator-boot-on;
|
||
|
+ regulator-min-microvolt = <5000000>;
|
||
|
+ regulator-max-microvolt = <5000000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ vdd_core: vdd-core {
|
||
|
+ compatible = "pwm-regulator";
|
||
|
+ pwms = <&pwm0 0 5000 1>;
|
||
|
+ regulator-name = "vdd_core";
|
||
|
+ regulator-min-microvolt = <827000>;
|
||
|
+ regulator-max-microvolt = <1340000>;
|
||
|
+ regulator-init-microvolt = <1015000>;
|
||
|
+ regulator-settling-time-up-us = <250>;
|
||
|
+ regulator-always-on;
|
||
|
+ regulator-boot-on;
|
||
|
+ pwm-supply = <&vcc5v0_sys>;
|
||
|
+ };
|
||
|
+
|
||
|
+ vdd_log: vdd-log {
|
||
|
+ compatible = "regulator-fixed";
|
||
|
+ regulator-name = "vdd_log";
|
||
|
+ regulator-always-on;
|
||
|
+ regulator-boot-on;
|
||
|
+ regulator-min-microvolt = <1050000>;
|
||
|
+ regulator-max-microvolt = <1050000>;
|
||
|
+ vin-supply = <&vcc5v0_sys>;
|
||
|
+ };
|
||
|
+
|
||
|
+ vcc_ddr: 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: vcc-1v8 {
|
||
|
+ 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: 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_otg: vcc5v0-otg {
|
||
|
+ compatible = "regulator-fixed";
|
||
|
+ regulator-name = "vcc5v0_otg";
|
||
|
+ regulator-always-on;
|
||
|
+ gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
|
||
|
+ enable-active-high;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&otg_vbus_drv>;
|
||
|
+ vin-supply = <&vcc5v0_sys>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&cpu0 {
|
||
|
+ cpu-supply = <&vdd_core>;
|
||
|
+};
|
||
|
+
|
||
|
+&emmc {
|
||
|
+ bus-width = <4>;
|
||
|
+ cap-mmc-highspeed;
|
||
|
+ mmc-hs200-1_8v;
|
||
|
+ supports-sd;
|
||
|
+ disable-wp;
|
||
|
+ non-removable;
|
||
|
+ num-slots = <1>;
|
||
|
+ vin-supply = <&vcc_io>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&i2c1 {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&sdmmc {
|
||
|
+ bus-width = <4>;
|
||
|
+ cap-mmc-highspeed;
|
||
|
+ cap-sd-highspeed;
|
||
|
+ max-frequeency = <150000000>;
|
||
|
+ supports-sd;
|
||
|
+ disable-wp;
|
||
|
+ num-slots = <1>;
|
||
|
+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
|
||
|
+ card-detect-delay = <800>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&spi2 {
|
||
|
+ status = "okay";
|
||
|
+ max-freq = <10000000>;
|
||
|
+};
|
||
|
+
|
||
|
+&pinctrl {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&rtc_32k>;
|
||
|
+
|
||
|
+ leds {
|
||
|
+ green_led_gio: green-led-gpio {
|
||
|
+ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
+ };
|
||
|
+
|
||
|
+ heartbeat_led_gpio: heartbeat-led-gpio {
|
||
|
+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ usb {
|
||
|
+ otg_vbus_drv: otg-vbus-drv {
|
||
|
+ rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ sdio-pwrseq {
|
||
|
+ wifi_enable_h: wifi-enable-h {
|
||
|
+ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
+ };
|
||
|
+
|
||
|
+ wifi_host_wake: wifi-host-wake {
|
||
|
+ rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&pwm0 {
|
||
|
+ status = "okay";
|
||
|
+ pinctrl-0 = <&pwm0_pin_pull_down>;
|
||
|
+};
|
||
|
+
|
||
|
+&saradc {
|
||
|
+ vref-supply = <&vcc_1v8>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&sdio {
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+ bus-width = <4>;
|
||
|
+ max-frequency = <1000000>;
|
||
|
+ cap-sd-highspeed;
|
||
|
+ cap-sdio-irq;
|
||
|
+ supports-sdio;
|
||
|
+ keep-power-in-suspend;
|
||
|
+ mmc-pwrseq = <&sdio_pwrseq>;
|
||
|
+ non-removable;
|
||
|
+ sd-uhs-sdr104;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&uart0 {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&uart4 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart4_xfer &uart4_rts &uart4_cts>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
--
|
||
|
2.25.1
|
||
|
|