Enable the Gigabit Ethernet Interfaces (GBETH) populated on the RZ/G3E SMARC EVK
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Tested-by: Biju Das <biju.das.jz@bp.renesas.com>
Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com>
---
.../boot/dts/renesas/rzg3e-smarc-som.dtsi | 106 ++++++++++++++++++
1 file changed, 106 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi b/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
index f99a09d04ddd..4b4c7f3381ad 100644
--- a/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
+++ b/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
@@ -26,6 +26,8 @@ / {
compatible = "renesas,rzg3e-smarcm", "renesas,r9a09g047e57", "renesas,r9a09g047";
aliases {
+ ethernet0 = ð0;
+ ethernet1 = ð1;
i2c2 = &i2c2;
mmc0 = &sdhi0;
mmc2 = &sdhi2;
@@ -77,6 +79,74 @@ &audio_extal_clk {
clock-frequency = <48000000>;
};
+ð0 {
+ phy-handle = <&phy0>;
+ phy-mode = "rgmii-id";
+
+ pinctrl-0 = <ð0_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "snps,dwmac-mdio";
+
+ phy0: ethernet-phy@7 {
+ compatible = "ethernet-phy-id0022.1640",
+ "ethernet-phy-ieee802.3-c22";
+ reg = <7>;
+ interrupts-extended = <&icu 3 IRQ_TYPE_LEVEL_LOW>;
+ rxc-skew-psec = <1400>;
+ txc-skew-psec = <1400>;
+ rxdv-skew-psec = <0>;
+ txdv-skew-psec = <0>;
+ rxd0-skew-psec = <0>;
+ rxd1-skew-psec = <0>;
+ rxd2-skew-psec = <0>;
+ rxd3-skew-psec = <0>;
+ txd0-skew-psec = <0>;
+ txd1-skew-psec = <0>;
+ txd2-skew-psec = <0>;
+ txd3-skew-psec = <0>;
+ };
+ };
+};
+
+ð1 {
+ phy-handle = <&phy1>;
+ phy-mode = "rgmii-id";
+
+ pinctrl-0 = <ð1_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "snps,dwmac-mdio";
+
+ phy1: ethernet-phy@7 {
+ compatible = "ethernet-phy-id0022.1640",
+ "ethernet-phy-ieee802.3-c22";
+ reg = <7>;
+ interrupts-extended = <&icu 16 IRQ_TYPE_LEVEL_LOW>;
+ rxc-skew-psec = <1400>;
+ txc-skew-psec = <1400>;
+ rxdv-skew-psec = <0>;
+ txdv-skew-psec = <0>;
+ rxd0-skew-psec = <0>;
+ rxd1-skew-psec = <0>;
+ rxd2-skew-psec = <0>;
+ rxd3-skew-psec = <0>;
+ txd0-skew-psec = <0>;
+ txd1-skew-psec = <0>;
+ txd2-skew-psec = <0>;
+ txd3-skew-psec = <0>;
+ };
+ };
+};
+
&gpu {
status = "okay";
mali-supply = <®_vdd0p8v_others>;
@@ -103,6 +173,42 @@ raa215300: pmic@12 {
};
&pinctrl {
+ eth0_pins: eth0 {
+ pinmux = <RZG3E_PORT_PINMUX(A, 1, 1)>, /* MDC */
+ <RZG3E_PORT_PINMUX(A, 0, 1)>, /* MDIO */
+ <RZG3E_PORT_PINMUX(C, 2, 15)>, /* PHY_INTR (IRQ2) */
+ <RZG3E_PORT_PINMUX(C, 1, 1)>, /* RXD3 */
+ <RZG3E_PORT_PINMUX(C, 0, 1)>, /* RXD2 */
+ <RZG3E_PORT_PINMUX(B, 7, 1)>, /* RXD1 */
+ <RZG3E_PORT_PINMUX(B, 6, 1)>, /* RXD0 */
+ <RZG3E_PORT_PINMUX(B, 0, 1)>, /* RXC */
+ <RZG3E_PORT_PINMUX(A, 2, 1)>, /* RX_CTL */
+ <RZG3E_PORT_PINMUX(B, 5, 1)>, /* TXD3 */
+ <RZG3E_PORT_PINMUX(B, 4, 1)>, /* TXD2 */
+ <RZG3E_PORT_PINMUX(B, 3, 1)>, /* TXD1 */
+ <RZG3E_PORT_PINMUX(B, 2, 1)>, /* TXD0 */
+ <RZG3E_PORT_PINMUX(B, 1, 1)>, /* TXC */
+ <RZG3E_PORT_PINMUX(A, 3, 1)>; /* TX_CTL */
+ };
+
+ eth1_pins: eth1 {
+ pinmux = <RZG3E_PORT_PINMUX(D, 1, 1)>, /* MDC */
+ <RZG3E_PORT_PINMUX(D, 0, 1)>, /* MDIO */
+ <RZG3E_PORT_PINMUX(F, 2, 15)>, /* PHY_INTR (IRQ15) */
+ <RZG3E_PORT_PINMUX(F, 1, 1)>, /* RXD3 */
+ <RZG3E_PORT_PINMUX(F, 0, 1)>, /* RXD2 */
+ <RZG3E_PORT_PINMUX(E, 7, 1)>, /* RXD1 */
+ <RZG3E_PORT_PINMUX(E, 6, 1)>, /* RXD0 */
+ <RZG3E_PORT_PINMUX(E, 0, 1)>, /* RXC */
+ <RZG3E_PORT_PINMUX(D, 2, 1)>, /* RX_CTL */
+ <RZG3E_PORT_PINMUX(E, 5, 1)>, /* TXD3 */
+ <RZG3E_PORT_PINMUX(E, 4, 1)>, /* TXD2 */
+ <RZG3E_PORT_PINMUX(E, 3, 1)>, /* TXD1 */
+ <RZG3E_PORT_PINMUX(E, 2, 1)>, /* TXD0 */
+ <RZG3E_PORT_PINMUX(E, 1, 1)>, /* TXC */
+ <RZG3E_PORT_PINMUX(D, 3, 1)>; /* TX_CTL */
+ };
+
i2c2_pins: i2c {
pinmux = <RZG3E_PORT_PINMUX(3, 4, 1)>, /* SCL2 */
<RZG3E_PORT_PINMUX(3, 5, 1)>; /* SDA2 */
--
2.25.1
Hi John,
Thank you for the patch.
On Wed, Jun 11, 2025 at 7:20 AM John Madieu
<john.madieu.xa@bp.renesas.com> wrote:
>
> Enable the Gigabit Ethernet Interfaces (GBETH) populated on the RZ/G3E SMARC EVK
>
> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
> Tested-by: Biju Das <biju.das.jz@bp.renesas.com>
> Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com>
> ---
> .../boot/dts/renesas/rzg3e-smarc-som.dtsi | 106 ++++++++++++++++++
> 1 file changed, 106 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi b/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
> index f99a09d04ddd..4b4c7f3381ad 100644
> --- a/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
> +++ b/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
> @@ -26,6 +26,8 @@ / {
> compatible = "renesas,rzg3e-smarcm", "renesas,r9a09g047e57", "renesas,r9a09g047";
>
> aliases {
> + ethernet0 = ð0;
> + ethernet1 = ð1;
> i2c2 = &i2c2;
> mmc0 = &sdhi0;
> mmc2 = &sdhi2;
> @@ -77,6 +79,74 @@ &audio_extal_clk {
> clock-frequency = <48000000>;
> };
>
> +ð0 {
> + phy-handle = <&phy0>;
> + phy-mode = "rgmii-id";
> +
> + pinctrl-0 = <ð0_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + mdio {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "snps,dwmac-mdio";
> +
> + phy0: ethernet-phy@7 {
> + compatible = "ethernet-phy-id0022.1640",
> + "ethernet-phy-ieee802.3-c22";
> + reg = <7>;
> + interrupts-extended = <&icu 3 IRQ_TYPE_LEVEL_LOW>;
> + rxc-skew-psec = <1400>;
> + txc-skew-psec = <1400>;
> + rxdv-skew-psec = <0>;
> + txdv-skew-psec = <0>;
> + rxd0-skew-psec = <0>;
> + rxd1-skew-psec = <0>;
> + rxd2-skew-psec = <0>;
> + rxd3-skew-psec = <0>;
> + txd0-skew-psec = <0>;
> + txd1-skew-psec = <0>;
> + txd2-skew-psec = <0>;
> + txd3-skew-psec = <0>;
> + };
> + };
> +};
> +
> +ð1 {
> + phy-handle = <&phy1>;
> + phy-mode = "rgmii-id";
> +
> + pinctrl-0 = <ð1_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + mdio {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "snps,dwmac-mdio";
> +
> + phy1: ethernet-phy@7 {
> + compatible = "ethernet-phy-id0022.1640",
> + "ethernet-phy-ieee802.3-c22";
> + reg = <7>;
> + interrupts-extended = <&icu 16 IRQ_TYPE_LEVEL_LOW>;
> + rxc-skew-psec = <1400>;
> + txc-skew-psec = <1400>;
> + rxdv-skew-psec = <0>;
> + txdv-skew-psec = <0>;
> + rxd0-skew-psec = <0>;
> + rxd1-skew-psec = <0>;
> + rxd2-skew-psec = <0>;
> + rxd3-skew-psec = <0>;
> + txd0-skew-psec = <0>;
> + txd1-skew-psec = <0>;
> + txd2-skew-psec = <0>;
> + txd3-skew-psec = <0>;
> + };
> + };
> +};
> +
> &gpu {
> status = "okay";
> mali-supply = <®_vdd0p8v_others>;
> @@ -103,6 +173,42 @@ raa215300: pmic@12 {
> };
>
> &pinctrl {
> + eth0_pins: eth0 {
> + pinmux = <RZG3E_PORT_PINMUX(A, 1, 1)>, /* MDC */
> + <RZG3E_PORT_PINMUX(A, 0, 1)>, /* MDIO */
> + <RZG3E_PORT_PINMUX(C, 2, 15)>, /* PHY_INTR (IRQ2) */
> + <RZG3E_PORT_PINMUX(C, 1, 1)>, /* RXD3 */
> + <RZG3E_PORT_PINMUX(C, 0, 1)>, /* RXD2 */
> + <RZG3E_PORT_PINMUX(B, 7, 1)>, /* RXD1 */
> + <RZG3E_PORT_PINMUX(B, 6, 1)>, /* RXD0 */
> + <RZG3E_PORT_PINMUX(B, 0, 1)>, /* RXC */
> + <RZG3E_PORT_PINMUX(A, 2, 1)>, /* RX_CTL */
> + <RZG3E_PORT_PINMUX(B, 5, 1)>, /* TXD3 */
> + <RZG3E_PORT_PINMUX(B, 4, 1)>, /* TXD2 */
> + <RZG3E_PORT_PINMUX(B, 3, 1)>, /* TXD1 */
> + <RZG3E_PORT_PINMUX(B, 2, 1)>, /* TXD0 */
> + <RZG3E_PORT_PINMUX(B, 1, 1)>, /* TXC */
> + <RZG3E_PORT_PINMUX(A, 3, 1)>; /* TX_CTL */
like RZ/V2H on RZ/G3E PFC_OEN BITS(0,1) need to be configured based on
RGMII/MII mode?
Cheers,
Prabhakar
> + };
> +
> + eth1_pins: eth1 {
> + pinmux = <RZG3E_PORT_PINMUX(D, 1, 1)>, /* MDC */
> + <RZG3E_PORT_PINMUX(D, 0, 1)>, /* MDIO */
> + <RZG3E_PORT_PINMUX(F, 2, 15)>, /* PHY_INTR (IRQ15) */
> + <RZG3E_PORT_PINMUX(F, 1, 1)>, /* RXD3 */
> + <RZG3E_PORT_PINMUX(F, 0, 1)>, /* RXD2 */
> + <RZG3E_PORT_PINMUX(E, 7, 1)>, /* RXD1 */
> + <RZG3E_PORT_PINMUX(E, 6, 1)>, /* RXD0 */
> + <RZG3E_PORT_PINMUX(E, 0, 1)>, /* RXC */
> + <RZG3E_PORT_PINMUX(D, 2, 1)>, /* RX_CTL */
> + <RZG3E_PORT_PINMUX(E, 5, 1)>, /* TXD3 */
> + <RZG3E_PORT_PINMUX(E, 4, 1)>, /* TXD2 */
> + <RZG3E_PORT_PINMUX(E, 3, 1)>, /* TXD1 */
> + <RZG3E_PORT_PINMUX(E, 2, 1)>, /* TXD0 */
> + <RZG3E_PORT_PINMUX(E, 1, 1)>, /* TXC */
> + <RZG3E_PORT_PINMUX(D, 3, 1)>; /* TX_CTL */
> + };
> +
> i2c2_pins: i2c {
> pinmux = <RZG3E_PORT_PINMUX(3, 4, 1)>, /* SCL2 */
> <RZG3E_PORT_PINMUX(3, 5, 1)>; /* SDA2 */
> --
> 2.25.1
>
>
Hi John,
On Wed, 11 Jun 2025 at 11:00, John Madieu <john.madieu.xa@bp.renesas.com> wrote:
> Enable the Gigabit Ethernet Interfaces (GBETH) populated on the RZ/G3E SMARC EVK
>
> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
> Tested-by: Biju Das <biju.das.jz@bp.renesas.com>
> Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com>
Thanks for your patch!
> --- a/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
> +++ b/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
> @@ -77,6 +79,74 @@ &audio_extal_clk {
> clock-frequency = <48000000>;
> };
>
> +ð0 {
> + phy-handle = <&phy0>;
> + phy-mode = "rgmii-id";
> +
> + pinctrl-0 = <ð0_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + mdio {
&mdio0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "snps,dwmac-mdio";
No need for these three properties, as they are already present in the
SoC-specific DTS with the exact same values.
Same for the second interface.
The rest LGTM, so with the above fixed:
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
© 2016 - 2026 Red Hat, Inc.