[PATCH 2/8] mtd: HBMC-AM654: Changed syscon API to mux APIs

Anurag Dutta a-dutta at ti.com
Fri Nov 29 12:31:30 CET 2024


The syscon APIs were used for selecting the state of the mux
device because the mmio-mux driver in u-boot did not support
the mux functionality when the parent device is not a syscon.
Change to mux APIs which utilizes the reg-mux driver to select the
state of the multiplexer.

Signed-off-by: Anurag Dutta <a-dutta at ti.com>
---
 drivers/mtd/hbmc-am654.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/hbmc-am654.c b/drivers/mtd/hbmc-am654.c
index 599beda30d..98988a8e24 100644
--- a/drivers/mtd/hbmc-am654.c
+++ b/drivers/mtd/hbmc-am654.c
@@ -5,8 +5,8 @@
 
 #include <asm/io.h>
 #include <dm.h>
+#include <mux.h>
 #include <regmap.h>
-#include <syscon.h>
 #include <dm/device_compat.h>
 
 #define FSS_SYSC_REG	0x4
@@ -52,9 +52,13 @@ static int am654_hyperbus_calibrate(struct udevice *dev)
 
 static int am654_select_hbmc(struct udevice *dev)
 {
-	struct regmap *regmap = syscon_get_regmap(dev_get_parent(dev));
+	struct mux_control *mux_ctl;
+	int ret;
 
-	return regmap_update_bits(regmap, FSS_SYSC_REG, 0x2, 0x2);
+	ret = mux_get_by_index(dev, 0, &mux_ctl);
+	if (!ret)
+		ret = mux_control_select(mux_ctl, 1);
+	return ret;
 }
 
 static int am654_hbmc_bind(struct udevice *dev)
-- 
2.34.1



More information about the U-Boot mailing list