summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Zhang <18255117159@163.com>2026-04-30 18:54:51 +0300
committerMark Brown <broonie@kernel.org>2026-05-11 15:05:07 +0300
commit0f2efc6d493833332dc9224e4e4c039b9824af51 (patch)
tree3d0b212829f93c78d8d73c2d8602bab53a3da7f0
parentcfdab17cd2d7666ce164f64fbaadeb782dbb28d2 (diff)
downloadlinux-0f2efc6d493833332dc9224e4e4c039b9824af51.tar.xz
spi: nxp-xspi: Use FIELD_MODIFY()
Use FIELD_MODIFY() to remove open-coded bit manipulation. No functional change intended. Signed-off-by: Hans Zhang <18255117159@163.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260430155456.36998-6-18255117159@163.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/spi/spi-nxp-xspi.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/spi/spi-nxp-xspi.c b/drivers/spi/spi-nxp-xspi.c
index 385302a6e62f..037eac24e6fd 100644
--- a/drivers/spi/spi-nxp-xspi.c
+++ b/drivers/spi/spi-nxp-xspi.c
@@ -493,9 +493,8 @@ static void nxp_xspi_disable_ddr(struct nxp_xspi *xspi)
writel(reg, base + XSPI_MCR);
reg &= ~XSPI_MCR_DDR_EN;
- reg &= ~XSPI_MCR_DQS_FA_SEL_MASK;
/* Use dummy pad loopback mode to sample data */
- reg |= FIELD_PREP(XSPI_MCR_DQS_FA_SEL_MASK, 0x01);
+ FIELD_MODIFY(XSPI_MCR_DQS_FA_SEL_MASK, &reg, 0x01);
writel(reg, base + XSPI_MCR);
xspi->support_max_rate = 133000000;
@@ -524,15 +523,13 @@ static void nxp_xspi_enable_ddr(struct nxp_xspi *xspi)
writel(reg, base + XSPI_MCR);
reg |= XSPI_MCR_DDR_EN;
- reg &= ~XSPI_MCR_DQS_FA_SEL_MASK;
/* Use external dqs to sample data */
- reg |= FIELD_PREP(XSPI_MCR_DQS_FA_SEL_MASK, 0x03);
+ FIELD_MODIFY(XSPI_MCR_DQS_FA_SEL_MASK, &reg, 0x03);
writel(reg, base + XSPI_MCR);
xspi->support_max_rate = 200000000;
reg = readl(base + XSPI_FLSHCR);
- reg &= ~XSPI_FLSHCR_TDH_MASK;
- reg |= FIELD_PREP(XSPI_FLSHCR_TDH_MASK, 0x01);
+ FIELD_MODIFY(XSPI_FLSHCR_TDH_MASK, &reg, 0x01);
writel(reg, base + XSPI_FLSHCR);
reg = FIELD_PREP(XSPI_SMPR_DLLFSMPFA_MASK, 0x04);
@@ -1096,8 +1093,7 @@ static int nxp_xspi_default_setup(struct nxp_xspi *xspi)
/* Give read/write access right to EENV0 */
reg = readl(base + XSPI_FRAD0_WORD2);
- reg &= ~XSPI_FRAD0_WORD2_MD0ACP_MASK;
- reg |= FIELD_PREP(XSPI_FRAD0_WORD2_MD0ACP_MASK, 0x03);
+ FIELD_MODIFY(XSPI_FRAD0_WORD2_MD0ACP_MASK, &reg, 0x03);
writel(reg, base + XSPI_FRAD0_WORD2);
/* Enable the FRAD check for EENV0 */