[PATCH v2 2/2] drivers: clk: n5x: Use FIELD_GET for EMAC clock source selection

Chen Huei Lok chen.huei.lok at altera.com
Tue Jun 23 04:07:52 CEST 2026


Replace the open-coded mask-and-shift with FIELD_GET() to extract the
EMAC clock source select bit. This is purely a readability change and
aligns the N5X clock driver with the Agilex clock driver, which already
uses FIELD_GET() for the same register field.

Signed-off-by: Chen Huei Lok <chen.huei.lok at altera.com>
---

Changes in v2:
- New patch: use FIELD_GET() for the EMAC clock source select field, for
  consistency with the Agilex clock driver (Tien Fong's v1 review nit).

 drivers/clk/altera/clk-n5x.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/clk/altera/clk-n5x.c b/drivers/clk/altera/clk-n5x.c
index e0ddaa8e944..d75c77d5a38 100644
--- a/drivers/clk/altera/clk-n5x.c
+++ b/drivers/clk/altera/clk-n5x.c
@@ -10,6 +10,7 @@
 #include <dm/lists.h>
 #include <dm/util.h>
 #include <dt-bindings/clock/n5x-clock.h>
+#include <linux/bitfield.h>
 
 struct socfpga_clk_plat {
 	void __iomem *regs;
@@ -325,14 +326,11 @@ static u32 clk_get_emac_clk_hz(struct socfpga_clk_plat *plat, u32 emac_id)
 	/* Get EMAC clock source */
 	ctl = CM_REG_READL(plat, CLKMGR_PERPLL_EMACCTL);
 	if (emac_id == N5X_EMAC0_CLK)
-		ctl = (ctl & CLKMGR_PERPLLGRP_EMACCTL_EMAC0SELB_MASK) >>
-		       CLKMGR_PERPLLGRP_EMACCTL_EMAC0SELB_OFFSET;
+		ctl = FIELD_GET(CLKMGR_PERPLLGRP_EMACCTL_EMAC0SELB_MASK, ctl);
 	else if (emac_id == N5X_EMAC1_CLK)
-		ctl = (ctl & CLKMGR_PERPLLGRP_EMACCTL_EMAC1SELB_MASK) >>
-		       CLKMGR_PERPLLGRP_EMACCTL_EMAC1SELB_OFFSET;
+		ctl = FIELD_GET(CLKMGR_PERPLLGRP_EMACCTL_EMAC1SELB_MASK, ctl);
 	else if (emac_id == N5X_EMAC2_CLK)
-		ctl = (ctl & CLKMGR_PERPLLGRP_EMACCTL_EMAC2SELB_MASK) >>
-		       CLKMGR_PERPLLGRP_EMACCTL_EMAC2SELB_OFFSET;
+		ctl = FIELD_GET(CLKMGR_PERPLLGRP_EMACCTL_EMAC2SELB_MASK, ctl);
 	else
 		return 0;
 
-- 
2.43.7



More information about the U-Boot mailing list