[PATCH 0/4] arm64: dts: rockchip: Add HINLINK H66K/H68K

Chukun Pan posted 4 patches 1 month, 2 weeks ago
.../devicetree/bindings/arm/rockchip.yaml     |   7 +
.../devicetree/bindings/vendor-prefixes.yaml  |   2 +
arch/arm64/boot/dts/rockchip/Makefile         |   2 +
.../boot/dts/rockchip/rk3568-hinlink-h66k.dts |  10 +
.../boot/dts/rockchip/rk3568-hinlink-h68k.dts |  83 +++
.../boot/dts/rockchip/rk3568-hinlink-opc.dtsi | 666 ++++++++++++++++++
6 files changed, 770 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-hinlink-h66k.dts
create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-hinlink-h68k.dts
create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi
[PATCH 0/4] arm64: dts: rockchip: Add HINLINK H66K/H68K
Posted by Chukun Pan 1 month, 2 weeks ago
The HINLINK H66K and H68K are development boards with the Rockchip
RK3568 SoC. These boards are all SoM plus expansion board structures.

Both boards can be booted from eMMC or SD-card using the
U-Boot 2025.07 generic-rk3568 target.

The SoM board has CPU, RAM, eMMC and RK809 PMIC.
There is no schematic for this part.

The rest of the schematic can be found here:
https://www.hinlink.cn/wp-content/uploads/2024/03/20250329151432672651.pdf
https://files.seeedstudio.com/wiki/LinkStar_V2/H68K_V2_Schematic.pdf

It should be noted that there is a version of SeeedStudio called
LinkStar H68K, which is different from HINLINK H68K only in the shell.

The HINLINK H68K has two versions distinguished by the shell, and there
is no actual difference. This series is tested on H68K and H68K-V2.

difference |      H66K/H68K    |  H66K/H68K-V2
           | 1x USB 3.0 Type-A | 1x USB 3.0 Type-A
    USB    | 2x USB 2.0 Type-A | 1x USB 2.0 Type-A
           |                   | 1x USB 2.0 (M.2 slot)

Chukun Pan (4):
  dt-bindings: vendor-prefixes: Add HINLINK
  dt-bindings: arm: rockchip: Add HINLINK H66K / H68K
  arm64: dts: rockchip: Add HINLINK H68K
  arm64: dts: rockchip: Add HINLINK H66K

 .../devicetree/bindings/arm/rockchip.yaml     |   7 +
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 arch/arm64/boot/dts/rockchip/Makefile         |   2 +
 .../boot/dts/rockchip/rk3568-hinlink-h66k.dts |  10 +
 .../boot/dts/rockchip/rk3568-hinlink-h68k.dts |  83 +++
 .../boot/dts/rockchip/rk3568-hinlink-opc.dtsi | 666 ++++++++++++++++++
 6 files changed, 770 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-hinlink-h66k.dts
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-hinlink-h68k.dts
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi

-- 
2.25.1
Re: [PATCH 0/4] arm64: dts: rockchip: Add HINLINK H66K/H68K
Posted by Heiko Stuebner 1 month, 1 week ago
On Mon, 18 Aug 2025 18:00:05 +0800, Chukun Pan wrote:
> The HINLINK H66K and H68K are development boards with the Rockchip
> RK3568 SoC. These boards are all SoM plus expansion board structures.
> 
> Both boards can be booted from eMMC or SD-card using the
> U-Boot 2025.07 generic-rk3568 target.
> 
> The SoM board has CPU, RAM, eMMC and RK809 PMIC.
> There is no schematic for this part.
> 
> [...]

Applied, thanks!

[1/4] dt-bindings: vendor-prefixes: Add HINLINK
      commit: 7d11b8c260ea68ce8f420ad467b04b21ea34b011
[2/4] dt-bindings: arm: rockchip: Add HINLINK H66K / H68K
      commit: 4bef07b79ab1ef7d963eaa2c37948030e418d538
[3/4] arm64: dts: rockchip: Add HINLINK H68K
      commit: 86a504b82f8d0e34f99ab9607712e7942c919fa3
[4/4] arm64: dts: rockchip: Add HINLINK H66K
      commit: bb9ef44f05c9558d58e3c9da141e93af1aa11c1f

Best regards,
-- 
Heiko Stuebner <heiko@sntech.de>
Re: [PATCH 0/4] arm64: dts: rockchip: Add HINLINK H66K/H68K
Posted by Erik Beck 1 month ago
On Sun, 24 Aug 2025 12:54:40 +0200
Heiko Stuebner <heiko@sntech.de> wrote:

> On Mon, 18 Aug 2025 18:00:05 +0800, Chukun Pan wrote:
> > The HINLINK H66K and H68K are development boards with the Rockchip
> > RK3568 SoC. These boards are all SoM plus expansion board structures.
> > 
> > Both boards can be booted from eMMC or SD-card using the
> > U-Boot 2025.07 generic-rk3568 target.
> > 
> > The SoM board has CPU, RAM, eMMC and RK809 PMIC.
> > There is no schematic for this part.
> > 
> > [...]  
> 
> Applied, thanks!

Hi, apologies in advance if I'm going against protocol, but I'm still really
new at the techniques for Linux patch development.

As you may recall, I've been working on a similar patch for the nearly
identical SeeedStudio LinkStar H68K (v1). I found this recent work from
Chukun earlier today; my work, in part, relied on an offshoot of Chukun's
work from circa 2022 and other inspirations from other rk3568 boards. 
(See
https://lore.kernel.org/linux-devicetree/20250723135008.1077970-1-amadeus@jmu.edu.cn/
for example.)

Chukun's work from 18 August 2025 is better and more complete than where my
code currently is, with one exception: the gmac0/1 phy-modes.

As I worked on my dts, I discovered that the 1Gb ethernet ports, using an
RTL8211, don't support rgmii-id mode; only rgmii.
(https://www.realtek.com/Product/Index?id=3976&cate_id=786). 

Changing this makes a huge difference in the ethernet throughput speed. With
rgmii-id mode specified, throughput is about 6.5 Mbs. Changing this to rgmii
mode increases throughput to about 960 Mbs. 

I tested this on Chukun's code by making that change, and essentially
backporting to my OpenWRT testing profile, using kernel 6.12 and U-Boot 25.04
(also backporting the Hinlink dts to U-Boot).

I saw this over 100x speed difference both with my tree and Chukun's. 

I'll make a note of this in Chukun's patch email for the dts shortly.

I'd like to help support further development of the HinLink/Linkstar patches,
and am happy to base whatever assistance I can provide off Chukun's work. 

Please advise on how I can best contribute.

Regards,

Erik

> 
> [1/4] dt-bindings: vendor-prefixes: Add HINLINK
>       commit: 7d11b8c260ea68ce8f420ad467b04b21ea34b011
> [2/4] dt-bindings: arm: rockchip: Add HINLINK H66K / H68K
>       commit: 4bef07b79ab1ef7d963eaa2c37948030e418d538
> [3/4] arm64: dts: rockchip: Add HINLINK H68K
>       commit: 86a504b82f8d0e34f99ab9607712e7942c919fa3
> [4/4] arm64: dts: rockchip: Add HINLINK H66K
>       commit: bb9ef44f05c9558d58e3c9da141e93af1aa11c1f
> 
> Best regards,
Re: [PATCH 0/4] arm64: dts: rockchip: Add HINLINK H66K/H68K
Posted by Andrew Lunn 1 month ago
> As I worked on my dts, I discovered that the 1Gb ethernet ports, using an
> RTL8211, don't support rgmii-id mode; only rgmii.
> (https://www.realtek.com/Product/Index?id=3976&cate_id=786). 

Which exact RTL8211 does the board use? You link to information for
the RTL8211FD(I)-CG, which i assume is supported in Linux as RTL8211F.

https://elixir.bootlin.com/linux/v6.16.3/source/drivers/net/phy/realtek/realtek_main.c#L519

This indicates it supports all four RGMII modes. And in general, all
PHY drivers in Linux for RGMII PHYs support all four RGMII modes.

> Changing this makes a huge difference in the ethernet throughput speed. With
> rgmii-id mode specified, throughput is about 6.5 Mbs. Changing this to rgmii
> mode increases throughput to about 960 Mbs. 

Here is some more information about that the four RGMII modes mean,
and how you should use them in Linux:

https://elixir.bootlin.com/linux/v6.16.3/source/Documentation/devicetree/bindings/net/ethernet-controller.yaml#L264

	Andrew
Re: [PATCH 0/4] arm64: dts: rockchip: Add HINLINK H66K/H68K
Posted by Erik Beck 1 month ago

> On Aug 30, 2025, at 17:30, Andrew Lunn <andrew@lunn.ch> wrote:
> 
> 
>> 
>> As I worked on my dts, I discovered that the 1Gb ethernet ports, using an
>> RTL8211, don't support rgmii-id mode; only rgmii.
>> (https://www.realtek.com/Product/Index?id=3976&cate_id=786).
> 
> Which exact RTL8211 does the board use? You link to information for
> the RTL8211FD(I)-CG, which i assume is supported in Linux as RTL8211F.

Thanks Andrew; It isn't clear to me which specific variation it has. I'll take another look at the boot logs and see. The silkscreen on the chips are faint, but will look there too.
> 
> https://elixir.bootlin.com/linux/v6.16.3/source/drivers/net/phy/realtek/realtek_main.c#L519
> 
> This indicates it supports all four RGMII modes. And in general, all
> PHY drivers in Linux for RGMII PHYs support all four RGMII modes.
> 
>> Changing this makes a huge difference in the ethernet throughput speed. With
>> rgmii-id mode specified, throughput is about 6.5 Mbs. Changing this to rgmii
>> mode increases throughput to about 960 Mbs.
> 
> Here is some more information about that the four RGMII modes mean,
> and how you should use them in Linux:
> 
> https://elixir.bootlin.com/linux/v6.16.3/source/Documentation/devicetree/bindings/net/ethernet-controller.yaml#L264
> 
>    Andrew

Thank you!
> 
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
Re: [PATCH 0/4] arm64: dts: rockchip: Add HINLINK H66K/H68K
Posted by Erik Beck 1 month ago
On Sat, 30 Aug 2025 18:20:50 -0400
Erik Beck <xunil@tahomasoft.com> wrote:

> > On Aug 30, 2025, at 17:30, Andrew Lunn <andrew@lunn.ch> wrote:
> > 
> >   
> >> 
> >> As I worked on my dts, I discovered that the 1Gb ethernet ports, using an
> >> RTL8211, don't support rgmii-id mode; only rgmii.
> >> (https://www.realtek.com/Product/Index?id=3976&cate_id=786).  
> > 
> > Which exact RTL8211 does the board use? You link to information for
> > the RTL8211FD(I)-CG, which i assume is supported in Linux as RTL8211F.  
> 
> Thanks Andrew; It isn't clear to me which specific variation it has. I'll
> take another look at the boot logs and see. The silkscreen on the chips are
> faint, but will look there too.

dmesg reports it is an RTL8211F.

> > 
> > https://elixir.bootlin.com/linux/v6.16.3/source/drivers/net/phy/realtek/realtek_main.c#L519
> > 
> > This indicates it supports all four RGMII modes. And in general, all
> > PHY drivers in Linux for RGMII PHYs support all four RGMII modes.
> >   
> >> Changing this makes a huge difference in the ethernet throughput speed.
> >> With rgmii-id mode specified, throughput is about 6.5 Mbs. Changing this
> >> to rgmii mode increases throughput to about 960 Mbs.  
> > 
> > Here is some more information about that the four RGMII modes mean,
> > and how you should use them in Linux:
> > 
> > https://elixir.bootlin.com/linux/v6.16.3/source/Documentation/devicetree/bindings/net/ethernet-controller.yaml#L264
> > 
> >    Andrew  
> 
> Thank you!
> > 
> > _______________________________________________
> > Linux-rockchip mailing list
> > Linux-rockchip@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-rockchip  
Re: [PATCH 0/4] arm64: dts: rockchip: Add HINLINK H66K/H68K
Posted by Conor Dooley 1 month, 2 weeks ago
On Mon, Aug 18, 2025 at 06:00:05PM +0800, Chukun Pan wrote:

>   dt-bindings: vendor-prefixes: Add HINLINK
>   dt-bindings: arm: rockchip: Add HINLINK H66K / H68K

Acked-by: Conor Dooley <conor.dooley@microchip.com>