[PATCH 4/6] memory: ti-aemif: Wrap the CS configuration into a function

Bastien Curutchet bastien.curutchet at bootlin.com
Mon Oct 21 17:13:28 CEST 2024


Wrap the CS configuration into a aemif_configure_cs() to ease its
migration to another driver when adding DM support.

Signed-off-by: Bastien Curutchet <bastien.curutchet at bootlin.com>
---
 drivers/memory/ti-aemif.c | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/drivers/memory/ti-aemif.c b/drivers/memory/ti-aemif.c
index 82a9c8cf7b..5e9514713f 100644
--- a/drivers/memory/ti-aemif.c
+++ b/drivers/memory/ti-aemif.c
@@ -34,21 +34,10 @@
 		}						\
 	} while (0)
 
-static void aemif_configure(int cs, struct aemif_config *cfg)
+static void aemif_cs_configure(int cs, struct aemif_config *cfg)
 {
 	unsigned long tmp;
 
-	if (cfg->mode == AEMIF_MODE_NAND) {
-		tmp = __raw_readl(cfg->base + AEMIF_NAND_CONTROL);
-		tmp |= (1 << cs);
-		__raw_writel(tmp, cfg->base + AEMIF_NAND_CONTROL);
-
-	} else if (cfg->mode == AEMIF_MODE_ONENAND) {
-		tmp = __raw_readl(cfg->base + AEMIF_ONENAND_CONTROL);
-		tmp |= (1 << cs);
-		__raw_writel(tmp, cfg->base + AEMIF_ONENAND_CONTROL);
-	}
-
 	tmp = __raw_readl(cfg->base + AEMIF_CONFIG(cs));
 
 	set_config_field(tmp, SELECT_STROBE,	cfg->select_strobe);
@@ -65,6 +54,24 @@ static void aemif_configure(int cs, struct aemif_config *cfg)
 	__raw_writel(tmp, cfg->base + AEMIF_CONFIG(cs));
 }
 
+static void aemif_configure(int cs, struct aemif_config *cfg)
+{
+	unsigned long tmp;
+
+	if (cfg->mode == AEMIF_MODE_NAND) {
+		tmp = __raw_readl(cfg->base + AEMIF_NAND_CONTROL);
+		tmp |= (1 << cs);
+		__raw_writel(tmp, cfg->base + AEMIF_NAND_CONTROL);
+
+	} else if (cfg->mode == AEMIF_MODE_ONENAND) {
+		tmp = __raw_readl(cfg->base + AEMIF_ONENAND_CONTROL);
+		tmp |= (1 << cs);
+		__raw_writel(tmp, cfg->base + AEMIF_ONENAND_CONTROL);
+	}
+
+	aemif_cs_configure(cs, cfg);
+}
+
 void aemif_init(int num_cs, struct aemif_config *config)
 {
 	int cs;
-- 
2.47.0



More information about the U-Boot mailing list