Skip to contentSkip to conversation

Add initial devicetree for Turing RK1

PATCH Superseded Sam Edwards 3 participants 6 messages Oct 7, 2023 – Oct 10, 2023

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover Add initial devicetree for Turing RK1

Hi list,

The Turing RK1 is an upcoming RK3588-based SoM built on the NVIDIA Jetson-style SO-DIMM form factor, meant for compatibility with Jetson carrier boards (but by far primarily the Turing Pi 2 cluster board, from the same vendor).

This patch series adds the initial devicetree, which enables most of the card's I/O functions. I also have USB and thermal management working, but this depends on other patches that haven't yet made their way upstream.

Reviewers, be on your toes: this is my first DT contribution to the kernel. Please be tough but patient! :)

Thanks,
Sam

Sam Edwards (3):
dt-bindings: vendor-prefixes: add turing
dt-bindings: arm: rockchip: Add Turing RK1
arm64: dts: rockchip: Add Turing RK1 SoM support

 .../devicetree/bindings/arm/rockchip.yaml     |   5 +
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../boot/dts/rockchip/rk3588-turing-rk1.dts   | 627 ++++++++++++++++++
 4 files changed, 635 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dts
Signature · 1 line
2.41.0
#1 lore raw

PATCH 1/3 dt-bindings: vendor-prefixes: add turing

Add vendor prefix for Turing Machines, Inc.
(https://turingpi.com)

---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/vendor-prefixes.yaml +2 -0
index 573578db9509..07f164e1ca2e 100644
@@ -1420,6 +1420,8 @@ patternProperties:
     description: Truly Semiconductors Limited
   "^tsd,.*":
     description: Theobroma Systems Design und Consulting GmbH
+  "^turing,.*":
+    description: Turing Machines, Inc.
   "^tyan,.*":
     description: Tyan Computer Corporation
   "^u-blox,.*":
Signature · 1 line
2.41.0
#3 lore raw

PATCH 2/3 dt-bindings: arm: rockchip: Add Turing RK1

In reply to Sam Edwards

Add the Turing RK1, a Jetson-compatible system-on-module (SoM) powered by RK3588, from Turing Machines, Inc.

---
 Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
 1 file changed, 5 insertions(+)
Documentation/devicetree/bindings/arm/rockchip.yaml +5 -0
index ca5389862887..13b6cdc5ef82 100644
@@ -870,6 +870,11 @@ properties:
           - const: tronsmart,orion-r68-meta
           - const: rockchip,rk3368
 
+      - description: Turing RK1
+        items:
+          - const: turing,rk1
+          - const: rockchip,rk3588
+
       - description: Xunlong Orange Pi R1 Plus / LTS
         items:
           - enum:
Signature · 1 line
2.41.0
#4 lore raw

PATCH 3/3 arm64: dts: rockchip: Add Turing RK1 SoM support

In reply to Sam Edwards

The Turing RK1 is an upcoming RK3588-based SoM from Turing Machines, designed on the Jetson SO-DIMM form factor and meant to be compatible with most Jetson carrier boards (but especially the Turing Pi 2 cluster board from the same vendor). It has the typical I/O you'd expect from a Jetson board, including:

- Two UARTs (UART9 for console, UART2 is auxiliary)
- PCI Express (2.0 x1 + 3.0 x4)
- Gigabit Ethernet
- On-board eMMC
- PWM fan w/ tach
- USB-OTG [1]
- HDMI and MIPI DSI [1]
- Miscellaneous external GPIO, I²C, SPI lines [1]

Beyond that, it is pretty similar to the RK3588 EVB (in terms of PMICs, RTC, etc).

This patch introduces a devicetree to enable most[1] of the SoM I/O.

[1] These peripherals are not addressed with this patch.

---
 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../boot/dts/rockchip/rk3588-turing-rk1.dts   | 627 ++++++++++++++++++
 2 files changed, 628 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dts
arch/arm64/boot/dts/rockchip/Makefile +1 -0
index e7728007fd1b..bedca9f68b8d 100644
@@ -102,6 +102,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6b-io.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-v10.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nanopc-t6.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-turing-rk1.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/rk3588-turing-rk1.dts new file +627 -0

627 lines not on this page · raw message

Signature · 1 line
2.41.0
maintainer
#5 lore raw

Re: [PATCH 3/3] arm64: dts: rockchip: Add Turing RK1 SoM support

Hi Sam,

Am Samstag, 7. Oktober 2023, 06:36:00 CEST schrieb Sam Edwards:

Quoted 18 lines

The Turing RK1 is an upcoming RK3588-based SoM from Turing Machines, designed on the Jetson SO-DIMM form factor and meant to be compatible with most Jetson carrier boards (but especially the Turing Pi 2 cluster board from the same vendor). It has the typical I/O you'd expect from a Jetson board, including:

- Two UARTs (UART9 for console, UART2 is auxiliary)
- PCI Express (2.0 x1 + 3.0 x4)
- Gigabit Ethernet
- On-board eMMC
- PWM fan w/ tach
- USB-OTG [1]
- HDMI and MIPI DSI [1]
- Miscellaneous external GPIO, I²C, SPI lines [1]

Beyond that, it is pretty similar to the RK3588 EVB (in terms of PMICs, RTC, etc).

Quoted 8 lines

This patch introduces a devicetree to enable most[1] of the SoM I/O.

[1] These peripherals are not addressed with this patch.

---
 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../boot/dts/rockchip/rk3588-turing-rk1.dts   | 627 ++++++++++++++++++

This is more a general concern. You're introducing the rk1 as a dts file but the from looking at the module-page and your patch description this is "just" a SOM that most likely cannot run without some sort of carrier board.

In the rockchip devicetree directory you can see a number of som boards as som-dtsi + base-board forming a full product. Simply because the number of usable peripherals will highly depend on what baseboard is used.

Thanks
Heiko