Skip to contentSkip to conversation

Add Support for RK3588s Indiedroid Nova

PATCH Applied Chris Morgan 4 participants 10 messages May 31, 2023 – Jun 6, 2023

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v2 cover Add Support for RK3588s Indiedroid Nova

From: Chris Morgan <[email protected]>

Add support for the RK3588s based Indiedroid Nova. Note that this series is dependent on regulator support for the RK806 being upstreamed.

https://lore.kernel.org/linux-rockchip/[email protected]/

Changes Since V1:
- Removed changes to ES8328 codec and added a note that a permanent fix will be needed to cope with a 1hz mismatch between requested frequency and actual frequency.
- Fixed vendor-prefixes.yaml change to alphabetical order.

Chris Morgan (5):
arm64: dts: rockchip: add default pinctrl for rk3588 emmc
arm64: dts: rockchip: Add sdio node to rk3588
dt-bindings: vendor-prefixes: add Indiedroid
dt-bindings: arm: rockchip: Add Indiedroid Nova
arm64: dts: rockchip: Add Indiedroid Nova board

 .../devicetree/bindings/arm/rockchip.yaml     |   5 +
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../dts/rockchip/rk3588s-indiedroid-nova.dts  | 764 ++++++++++++++++++
 arch/arm64/boot/dts/rockchip/rk3588s.dtsi     |  18 +
 5 files changed, 790 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts
Signature · 1 line
2.34.1
#1 lore raw

PATCH v2 1/5 arm64: dts: rockchip: add default pinctrl for rk3588 emmc

From: Chris Morgan <[email protected]>

Add a default pinctrl definition for the rk3588 emmc.

---
 arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 3 +++
 1 file changed, 3 insertions(+)
arch/arm64/boot/dts/rockchip/rk3588s.dtsi +3 -0
index 657c019d27fa..571cdec24a66 100644
@@ -1187,6 +1187,9 @@ sdhci: mmc@fe2e0000 {
 			 <&cru TMCLK_EMMC>;
 		clock-names = "core", "bus", "axi", "block", "timer";
 		max-frequency = <200000000>;
+		pinctrl-0 = <&emmc_rstnout>, <&emmc_bus8>, <&emmc_clk>,
+			    <&emmc_cmd>, <&emmc_data_strobe>;
+		pinctrl-names = "default";
 		resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>,
 			 <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>,
 			 <&cru SRST_T_EMMC>;
Signature · 1 line
2.34.1
Reviewed-by on v2 1/5
#2 lore raw

Re: [PATCH V2 1/5] arm64: dts: rockchip: add default pinctrl for rk3588 emmc

Hi,

Quoted 5 lines · Chris Morgan

From: Chris Morgan <[email protected]>

Add a default pinctrl definition for the rk3588 emmc.

-- Sebastian

Quoted 21 lines
---
 arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 3 +++
 1 file changed, 3 insertions(+)
arch/arm64/boot/dts/rockchip/rk3588s.dtsi +3 -0
index 657c019d27fa..571cdec24a66 100644
@@ -1187,6 +1187,9 @@ sdhci: mmc@fe2e0000 {
 			 <&cru TMCLK_EMMC>;
 		clock-names = "core", "bus", "axi", "block", "timer";
 		max-frequency = <200000000>;
+		pinctrl-0 = <&emmc_rstnout>, <&emmc_bus8>, <&emmc_clk>,
+			    <&emmc_cmd>, <&emmc_data_strobe>;
+		pinctrl-names = "default";
 		resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>,
 			 <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>,
 			 <&cru SRST_T_EMMC>;
Signature · 1 line
2.34.1

_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip

#3 lore raw

PATCH v2 2/5 arm64: dts: rockchip: Add sdio node to rk3588

In reply to Chris Morgan

From: Chris Morgan <[email protected]>

Add SDIO node for rk3588/rk3588s.

---
 arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
arch/arm64/boot/dts/rockchip/rk3588s.dtsi +15 -0
index 571cdec24a66..6335d5648bc3 100644
@@ -1176,6 +1176,21 @@ sdmmc: mmc@fe2c0000 {
 		status = "disabled";
 	};
 
+	sdio: mmc@fe2d0000 {
+		compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc";
+		reg = <0x00 0xfe2d0000 0x00 0x4000>;
+		interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH 0>;
+		clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>,
+			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
+		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+		fifo-depth = <0x100>;
+		max-frequency = <200000000>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&sdiom1_pins>;
+		power-domains = <&power RK3588_PD_SDIO>;
+		status = "disabled";
+	};
+
 	sdhci: mmc@fe2e0000 {
 		compatible = "rockchip,rk3588-dwcmshc";
 		reg = <0x0 0xfe2e0000 0x0 0x10000>;
Signature · 1 line
2.34.1
Reviewed-by on v2 2/5
#4 lore raw

Re: [PATCH V2 2/5] arm64: dts: rockchip: Add sdio node to rk3588

Hi,

Quoted 6 lines · Chris Morgan

From: Chris Morgan <[email protected]>

Add SDIO node for rk3588/rk3588s.

---

-- Sebastian

Quoted 32 lines
 arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
arch/arm64/boot/dts/rockchip/rk3588s.dtsi +15 -0
index 571cdec24a66..6335d5648bc3 100644
@@ -1176,6 +1176,21 @@ sdmmc: mmc@fe2c0000 {
 		status = "disabled";
 	};
 
+	sdio: mmc@fe2d0000 {
+		compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc";
+		reg = <0x00 0xfe2d0000 0x00 0x4000>;
+		interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH 0>;
+		clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>,
+			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
+		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+		fifo-depth = <0x100>;
+		max-frequency = <200000000>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&sdiom1_pins>;
+		power-domains = <&power RK3588_PD_SDIO>;
+		status = "disabled";
+	};
+
 	sdhci: mmc@fe2e0000 {
 		compatible = "rockchip,rk3588-dwcmshc";
 		reg = <0x0 0xfe2e0000 0x0 0x10000>;
Signature · 1 line
2.34.1
#5 lore raw

PATCH v2 3/5 dt-bindings: vendor-prefixes: add Indiedroid

In reply to Chris Morgan

From: Chris Morgan <[email protected]>

Indiedroid is a sub-brand of Ameridroid for their line of single board computers.
https://indiedroid.us/

---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/vendor-prefixes.yaml +2 -0
index 82d39ab0231b..580f32086d55 100644
@@ -617,6 +617,8 @@ patternProperties:
     description: Integrated Micro-Electronics Inc.
   "^incircuit,.*":
     description: In-Circuit GmbH
+  "^indiedroid,.*":
+    description: Indiedroid
   "^inet-tek,.*":
     description: Shenzhen iNet Mobile Internet Technology Co., Ltd
   "^infineon,.*":
Signature · 1 line
2.34.1
#7 lore raw

PATCH v2 4/5 dt-bindings: arm: rockchip: Add Indiedroid Nova

In reply to Chris Morgan

From: Chris Morgan <[email protected]>

Add Indiedroid Nova, an rk3588s based single board computer.

---
 Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
 1 file changed, 5 insertions(+)
Documentation/devicetree/bindings/arm/rockchip.yaml +5 -0
index ec141c937b8b..3c5a204bcd81 100644
@@ -542,6 +542,11 @@ properties:
               - khadas,edge-v
           - const: rockchip,rk3399
 
+      - description: Indiedroid Nova SBC
+        items:
+          - const: indiedroid,nova
+          - const: rockchip,rk3588s
+
       - description: Khadas Edge2 series boards
         items:
           - const: khadas,edge2
Signature · 1 line
2.34.1
#8 lore raw

PATCH v2 5/5 arm64: dts: rockchip: Add Indiedroid Nova board

In reply to Chris Morgan

From: Chris Morgan <[email protected]>

The Indiedroid Nova is an SBC from a sub-brand of Ameridroid that includes the following hardware:

- A 40-pin GPIO header
- 2 USB-A 3.0 ports
- 2 USB-A 2.0 ports
- A USB-C 2.0 OTG port (used for USB power delivery)
- A USB-C 3.0 port that can do display port output.
- A Micro HDMI 2.1 port.
- A 1GB ethernet port.
- An RT8821CS based WiFi/Bluetooth module.
- A user replaceable eMMC module.
- An SDMMC card slot.
- A MIPI DSI connector.
- A MIPI CSI connector.
- A 3.5mm TRRS audio jack with microphone input.
- An 2 pin socket for an RTC battery.
- A 4 pin socket for a debug port.
- A power button (connected to PMIC), a reset button (connected to SoC reset), a boot button, and a recovery button (both connected to the ADC).
- 4GB, 8GB, or 16GB of system RAM.

This initial devicetree includes support for the WiFi, bluetooth, analog audio out/in, SDMMC, eMMC, RTC, UART debugging, and has the regulator values from the schematics. ADC, graphics output, GPU, USB, and wired ethernet are still pending additional upstream changes.

Analog audio will require changes to handle a difference between the requested clock frequency of 12288000 and the actual clock freqency of 12287999 before it will work properly. This will be done in a subsequent patch series.

---
 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../dts/rockchip/rk3588s-indiedroid-nova.dts  | 764 ++++++++++++++++++
 2 files changed, 765 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts
arch/arm64/boot/dts/rockchip/Makefile +1 -0
index 2d585bbb8f3a..99f11db8158d 100644
@@ -94,5 +94,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3a.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-io.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-v10.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-indiedroid-nova.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-khadas-edge2.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-rock-5a.dtb
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts new file +764 -0

764 lines not on this page · raw message

Signature · 1 line
2.34.1
maintainer Applied
#9 lore raw
In reply to Chris Morgan
Quoted 9 lines · Chris Morgan

From: Chris Morgan <[email protected]>

Add support for the RK3588s based Indiedroid Nova. Note that this series is dependent on regulator support for the RK806 being upstreamed.

https://lore.kernel.org/linux-rockchip/[email protected]/

[...]

Applied, thanks!

[1/5] arm64: dts: rockchip: add default pinctrl for rk3588 emmc

      commit: 47ecb3905715a73b336103cc8d225877ab50143e
[2/5] arm64: dts: rockchip: Add sdio node to rk3588
      commit: 725c47d78ddefd04a94391fafa5f99414c7f88db
[3/5] dt-bindings: vendor-prefixes: add Indiedroid
      commit: e78a863151ede8725fcb360c627e90f76fa584f3
[4/5] dt-bindings: arm: rockchip: Add Indiedroid Nova
      commit: 81154abafbe88ca7a723e34d67748a6a514ac882
[5/5] arm64: dts: rockchip: Add Indiedroid Nova board
      commit: 3900160e164bcba23a111a3ba80f06aff7764c34

Dropped a double empty line and adapted the fixed regulators to add the "foo-regulator" suffix to them.

Best regards,

Signature · 1 line
Heiko Stuebner <[email protected]>