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

Conor Dooley conor at kernel.org
Thu May 28 10:13:14 PDT 2026


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 at pigmoral.tech>

> 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
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-riscv/attachments/20260528/e9d863f7/attachment.sig>


More information about the linux-riscv mailing list