Skip to contentSkip to conversation

arm64: dts: rockchip: Add rk3576 evb2 board

PATCH Superseded Chaoyi Chen 4 participants 8 messages Jan 21 – Jan 22

Subsystems (2)

v4 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

v4 cover arm64: dts: rockchip: Add rk3576 evb2 board

From: Chaoyi Chen <[email protected]>

Hi,

This series add support for rk3576 evb2 board.

General features for rk3576 evb2 board:
- Rockchip RK3576
- LPDDR4/4X
- eMMC5.1
- RK806-2x2pcs + DiscretePower
- 1x HDMI2.1 TX / HDMI2.0 RX
- 1x full size DP1.4 TX (Only 2 Lanes)
- 2x 10/100/1000M Ethernet
- 5x SATA3.0 7Pin Slot
- 2x USB3.2 Gen1 Host
- 3x USB2.0 Host
- WIFI/BT
- ...

To make the USB hub work, the additional patch from usb-next is required:

[0] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-next&id=00fcc9c86a134c488fd857b5460a7925228272c1
[1] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-next&id=fa3bb5011f33cccd246072954e64d64483d0d774

Changes in v4:
- Link to v3: https://lore.kernel.org/all/[email protected]/
- Move the USB hub code into a separate patch series, and that series have already been merged into usb-next.
- Fix supply and reset for usb hub.
- Add cd-gpios for sdmmc.

Changes in v3:
- Link to v2: https://lore.kernel.org/all/[email protected]/
- Add binding for WCH CH334/CH335 hub controller.
- Add alias for mmc.
- Rename some usb vbus regulator.
- Add DP regulator.
- Change gmac phy-mode to rgmii-id.
- Add target-supply for sata.
- Change vcc-supply for ufshc.
- Add usb hub.
- ...

Changes in v2:
- Link to v1: https://lore.kernel.org/all/[email protected]/
- Enable hdmi_sound and sai6.
- Add more cpu-supply.
- Use regulator to control sata power.
- Remove "cap-mmc-highspeed" prop in sdmmc.
- Add regulator supply for ufshc.
- Add the missing vcc3v3_hubreset regulator.
- Add otg capability for usb_drd0_dwc3.

Chaoyi Chen (2):
dt-bindings: arm: rockchip: Add rk3576 evb2 board
arm64: dts: rockchip: Add rk3576 evb2 board

 .../devicetree/bindings/arm/rockchip.yaml     |    4 +-
 arch/arm64/boot/dts/rockchip/Makefile         |    1 +
 .../boot/dts/rockchip/rk3576-evb2-v10.dts     | 1004 +++++++++++++++++
 3 files changed, 1008 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts
Signature · 7 lines
2.51.1


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

PATCH v4 1/2 dt-bindings: arm: rockchip: Add rk3576 evb2 board

From: Chaoyi Chen <[email protected]>

Add devicetree binding for the rk3576 evb2 board.

---
(no changes since v1)

---
 Documentation/devicetree/bindings/arm/rockchip.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/arm/rockchip.yaml +3 -1
index 6aceaa8acbb2..59ed57082003 100644
@@ -1136,7 +1136,9 @@ properties:
 
       - description: Rockchip RK3576 Evaluation board
         items:
-          - const: rockchip,rk3576-evb1-v10
+          - enum:
+              - rockchip,rk3576-evb1-v10
+              - rockchip,rk3576-evb2-v10
           - const: rockchip,rk3576
 
       - description: Rockchip RK3588 Evaluation board

--
2.51.1

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

#2 lore raw

PATCH v4 2/2 arm64: dts: rockchip: Add rk3576 evb2 board

In reply to Chaoyi Chen

From: Chaoyi Chen <[email protected]>

General features for rk3576 evb2 board:
- Rockchip RK3576
- LPDDR4/4X
- eMMC5.1
- RK806-2x2pcs + DiscretePower
- 1x HDMI2.1 TX / HDMI2.0 RX
- 1x full size DP1.4 TX (Only 2 Lanes)
- 2x 10/100/1000M Ethernet
- 5x SATA3.0 7Pin Slot
- 2x USB3.2 Gen1 Host
- 3x USB2.0 Host
- WIFI/BT
- ...

Tested with eMMC/SDMMC/HDMI/USB/Ethernet/WIFI/BT module.

---
Changes in v4:
- Fix supply and reset for usb hub.
- Add cd-gpios for sdmmc.

Changes in v3:
- Add alias for mmc.
- Rename some usb vbus regulator.
- Add DP regulator.
- Change gmac phy-mode to rgmii-id.
- Add target-supply for sata.
- Change vcc-supply for ufshc.
- Add usb hub.
- ...

Changes in v2:
- Enable hdmi_sound and sai6.
- Add more cpu-supply.
- Use regulator to control sata power.
- Remove "cap-mmc-highspeed" prop in sdmmc.
- Add regulator supply for ufshc.
- Add the missing vcc3v3_hubreset regulator.
- Add otg capability for usb_drd0_dwc3.

---
 arch/arm64/boot/dts/rockchip/Makefile         |    1 +
 .../boot/dts/rockchip/rk3576-evb2-v10.dts     | 1004 +++++++++++++++++
 2 files changed, 1005 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts
arch/arm64/boot/dts/rockchip/Makefile +1 -0
index c7617e06e1c1..cff95657d406 100644
@@ -153,6 +153,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-wolfvision-pf5-io-expander.dtbo
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-armsom-sige5.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-armsom-sige5-v1.2-wifibt.dtbo
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-evb1-v10.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-evb2-v10.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-luckfox-omni3576.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-nanopi-m5.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-roc-pc.dtb
arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +1004 -0

1,004 lines not on this page · raw message

--
2.51.1

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

#3 lore raw
Quoted 16 lines · Chaoyi Chen

From: Chaoyi Chen <[email protected]>

General features for rk3576 evb2 board:
- Rockchip RK3576
- LPDDR4/4X
- eMMC5.1
- RK806-2x2pcs + DiscretePower
- 1x HDMI2.1 TX / HDMI2.0 RX
- 1x full size DP1.4 TX (Only 2 Lanes)
- 2x 10/100/1000M Ethernet
- 5x SATA3.0 7Pin Slot
- 2x USB3.2 Gen1 Host
- 3x USB2.0 Host
- WIFI/BT
- ...

Quoted 5 lines

Tested with eMMC/SDMMC/HDMI/USB/Ethernet/WIFI/BT module.

---

---8<----

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts line 867

Quoted 8 lines
arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +8 -0
+
+&sdio {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	bus-width = <4>;
+	cap-sd-highspeed;
+	cap-sdio-irq;
+	disable-wp;

disable-wp is not used for SDIO case, could be removed.

Quoted 32 lines
arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +32 -0
+	keep-power-in-suspend;
+	max-frequency = <150000000>;
+	mmc-pwrseq = <&sdio_pwrseq>;
+	no-sd;
+	no-mmc;
+	non-removable;
+	pinctrl-names = "default";
+	pinctrl-0 = <&sdmmc1m0_bus4 &sdmmc1m0_clk &sdmmc1m0_cmd>;
+	sd-uhs-sdr104;
+	status = "okay";
+
+	brcmf: wifi@1 {
+		compatible = "brcm,bcm4329-fmac";
+		reg = <1>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "host-wake";
+		pinctrl-names = "default";
+		pinctrl-0 = <&wifi_host_wake>;
+	};
+};
+
+&sdhci {
+	bus-width = <8>;
+	full-pwr-cycle-in-suspend;
+	mmc-hs400-1_8v;
+	mmc-hs400-enhanced-strobe;
+	no-sdio;
+	no-sd;
+	non-removable;
+	status = "okay";
+};

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts line 909

Quoted 10 lines
arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +10 -0
+
+&sdmmc {
+	bus-width = <4>;
+	cap-sd-highspeed;
+	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
+	disable-wp;
+	no-sdio;
+	no-mmc;
+	sd-uhs-sdr104;
+	vqmmc-supply = <&vccio_sd_s0>;

Should use vmmc-supply to contrl the power, the same as EVB1[1].

[1] https://lore.kernel.org/linux-rockchip/[email protected]/T/#u

Quoted 7 lines
arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +7 -0
+	status = "okay";
+};
+
+&u2phy0 {
+	status = "okay";
+};
+
#4 lore raw

Hi Shawn,

Quoted 34 lines · Shawn Lin
Quoted 16 lines · Chaoyi Chen

From: Chaoyi Chen <[email protected]>

General features for rk3576 evb2 board:
     - Rockchip RK3576
     - LPDDR4/4X
     - eMMC5.1
     - RK806-2x2pcs + DiscretePower
     - 1x HDMI2.1 TX / HDMI2.0 RX
     - 1x full size DP1.4 TX (Only 2 Lanes)
     - 2x 10/100/1000M Ethernet
     - 5x SATA3.0 7Pin Slot
     - 2x USB3.2 Gen1 Host
     - 3x USB2.0 Host
     - WIFI/BT
     - ...

Quoted 5 lines

Tested with eMMC/SDMMC/HDMI/USB/Ethernet/WIFI/BT module.

---

---8<----

Quoted 8 lines

+
+&sdio {
+    #address-cells = <1>;
+    #size-cells = <0>;
+    bus-width = <4>;
+    cap-sd-highspeed;
+    cap-sdio-irq;
+    disable-wp;

Quoted 3 lines

disable-wp is not used for SDIO case, could be removed.

Will fix in v5.

Quoted 45 lines
Quoted 32 lines

+    keep-power-in-suspend;
+    max-frequency = <150000000>;
+    mmc-pwrseq = <&sdio_pwrseq>;
+    no-sd;
+    no-mmc;
+    non-removable;
+    pinctrl-names = "default";
+    pinctrl-0 = <&sdmmc1m0_bus4 &sdmmc1m0_clk &sdmmc1m0_cmd>; +    sd-uhs-sdr104;
+    status = "okay";

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +22 -0
+
+    brcmf: wifi@1 {
+        compatible = "brcm,bcm4329-fmac";
+        reg = <1>;
+        interrupt-parent = <&gpio0>;
+        interrupts = <RK_PB0 IRQ_TYPE_LEVEL_HIGH>;
+        interrupt-names = "host-wake";
+        pinctrl-names = "default";
+        pinctrl-0 = <&wifi_host_wake>;
+    };
+};
+
+&sdhci {
+    bus-width = <8>;
+    full-pwr-cycle-in-suspend;
+    mmc-hs400-1_8v;
+    mmc-hs400-enhanced-strobe;
+    no-sdio;
+    no-sd;
+    non-removable;
+    status = "okay";
+};

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts line 909

Quoted 10 lines
arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +10 -0
+
+&sdmmc {
+    bus-width = <4>;
+    cap-sd-highspeed;
+    cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
+    disable-wp;
+    no-sdio;
+    no-mmc;
+    sd-uhs-sdr104;
+    vqmmc-supply = <&vccio_sd_s0>;

Should use vmmc-supply to contrl the power, the same as EVB1[1].

Quoted 2 lines

[1] https://lore.kernel.org/linux-rockchip/[email protected]/T/#u

That make sense. Will fix in v5.

Quoted 11 lines
Quoted 7 lines

+    status = "okay";

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +6 -0
+};
+
+&u2phy0 {
+    status = "okay";
+};
+
Signature · 8 lines
Best, 
Chaoyi


_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip
#5 lore raw
In reply to Chaoyi Chen

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts line 756

Quoted 10 lines

+&mdio0 {

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +9 -0
+	rgmii_phy0: ethernet-phy@1 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0x1>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&rgmii_phy0_rst>;
+		reset-assert-us = <20000>;
+		reset-deassert-us = <100000>;
+		reset-gpios = <&gpio3 RK_PD3 GPIO_ACTIVE_LOW>;
+		tx-internal-delay-ps = <1900>;

What PHY is this? Does it actually implement this property?

It is also close to the 2000ps default. Have you put the board in an environment chamber and run tests at -20C to +70C to see if it will work with the default 2000ps?

Andrew

#6 lore raw

Hi Andrew,

Quoted 13 lines · Andrew Lunn

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts line 756

Quoted 10 lines

+&mdio0 {

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +9 -0
+	rgmii_phy0: ethernet-phy@1 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0x1>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&rgmii_phy0_rst>;
+		reset-assert-us = <20000>;
+		reset-deassert-us = <100000>;
+		reset-gpios = <&gpio3 RK_PD3 GPIO_ACTIVE_LOW>;
+		tx-internal-delay-ps = <1900>;

What PHY is this? Does it actually implement this property?

Quoted 4 lines

It is also close to the 2000ps default. Have you put the board in an environment chamber and run tests at -20C to +70C to see if it will work with the default 2000ps?

It is MotorComm yt8xxx PHY. I chose 1950 here because I find that the MotorComm PHY binding only offer the options of 1950 or 2100.

Signature · 7 lines
Best, 
Chaoyi

_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip
#7 lore raw
Quoted 16 lines · Chaoyi Chen

Hi Andrew,

Quoted 13 lines · Andrew Lunn

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts line 756

Quoted 10 lines

+&mdio0 {

arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts new file +9 -0
+	rgmii_phy0: ethernet-phy@1 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0x1>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&rgmii_phy0_rst>;
+		reset-assert-us = <20000>;
+		reset-deassert-us = <100000>;
+		reset-gpios = <&gpio3 RK_PD3 GPIO_ACTIVE_LOW>;
+		tx-internal-delay-ps = <1900>;

What PHY is this? Does it actually implement this property?

Quoted 7 lines
Quoted 4 lines

It is also close to the 2000ps default. Have you put the board in an environment chamber and run tests at -20C to +70C to see if it will work with the default 2000ps?

It is MotorComm yt8xxx PHY. I chose 1950 here because I find that the MotorComm PHY binding only offer the options of 1950 or 2100.

Without the property it should default to something near to 2000. Most MAC/PHY pairs should work without this property, if the board is designed correctly. So i suggest you only have a tx-internal-delay-ps if it is required.

Andrew