Re: [PATCH v2 2/3] riscv: dts: spacemit: k1: Split gmac_clk_ref into independent pinctrl groups

From: Conor Dooley

Date: Thu May 28 2026 - 13:20:54 EST


On Thu, May 28, 2026 at 01:22:48PM +0800, Junhui Liu wrote:
> The gmac_clk_ref signal is optional for the GMAC controller and is not
> strictly required for all hardware designs. The pins for gmac0_clk_ref
> (GPIO 45) and gmac1_clk_ref (GPIO 46) may also be used as GPIOs for
> other functions even when the Ethernet controller is active.
>
> Split the refclk pins into independent pinctrl groups so boards can
> request them only when the reference clock path is actually needed.
>
> Among the already mainlined boards, BPI-F3, Jupiter and MusePi Pro have
> optional hardware paths for the GMAC refclk pins. BPI-F3 and Jupiter
> route both GMAC refclk pins to the PHYs through NC/0R option resistors,
> while MusePi Pro only does so for GMAC0. Keep referencing the new
> clk-ref pinctrl groups on these boards so the optional hardware paths
> remain usable if the option resistors are populated.
>
> OrangePi R2S has no publicly available schematic, so also keep the
> clk-ref groups there to preserve the previous pinmux behavior.
>
> Fixes: 60775f28cfb7 ("riscv: dts: spacemit: Add Ethernet support for K1")
> Signed-off-by: Junhui Liu <junhui.liu@xxxxxxxxxxxxx>

> diff --git a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi b/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi
> index 4e9a62d0e85b..8c57ca05dabd 100644
> --- a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi
> +++ b/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi
> @@ -27,8 +27,16 @@ gmac0-pins {
> <K1_PADCONF(11, 1)>, /* gmac0_tx_en */
> <K1_PADCONF(12, 1)>, /* gmac0_mdc */
> <K1_PADCONF(13, 1)>, /* gmac0_mdio */
> - <K1_PADCONF(14, 1)>, /* gmac0_int_n */
> - <K1_PADCONF(45, 1)>; /* gmac0_clk_ref */

The point sashiko made here seems valid, odd that these aren't added to
another group.

> + <K1_PADCONF(14, 1)>; /* gmac0_int_n */
> +
> + bias-pull-up = <0>;
> + drive-strength = <21>;
> + };
> + };
> +
> + gmac0_clk_ref_cfg: gmac0-clk-ref-cfg {
> + gmac0-clk-ref-pins {
> + pinmux = <K1_PADCONF(45, 1)>; /* gmac0_clk_ref */
>
> bias-pull-up = <0>;
> drive-strength = <21>;
> @@ -51,8 +59,16 @@ gmac1-pins {
> <K1_PADCONF(40, 1)>, /* gmac1_tx_en */
> <K1_PADCONF(41, 1)>, /* gmac1_mdc */
> <K1_PADCONF(42, 1)>, /* gmac1_mdio */
> - <K1_PADCONF(43, 1)>, /* gmac1_int_n */
> - <K1_PADCONF(46, 1)>; /* gmac1_clk_ref */
> + <K1_PADCONF(43, 1)>; /* gmac1_int_n */
> +
> + bias-pull-up = <0>;
> + drive-strength = <21>;
> + };
> + };
> +
> + gmac1_clk_ref_cfg: gmac1-clk-ref-cfg {
> + gmac1-clk-ref-pins {
> + pinmux = <K1_PADCONF(46, 1)>; /* gmac1_clk_ref */
>
> bias-pull-up = <0>;
> drive-strength = <21>;
>
> --
> 2.54.0
>

Attachment: signature.asc
Description: PGP signature