From: Roger Quadros Date: Wed, 18 Sep 2024 13:49:21 +0000 (+0300) Subject: mux: mmio: Support "reg-mux" compatible X-Git-Url: http://git.dujemihanovic.xyz/html/static/git-logo.png?a=commitdiff_plain;h=8e7a7ffec6711069e2c0032574d93f75cf0ab454;p=u-boot.git mux: mmio: Support "reg-mux" compatible With "reg-mux" compatible the driver no longer expects the parent device to be a syscon type. It uses it's own regmux. Signed-off-by: Roger Quadros --- diff --git a/drivers/mux/mmio.c b/drivers/mux/mmio.c index e1125458a6..e06f4462b5 100644 --- a/drivers/mux/mmio.c +++ b/drivers/mux/mmio.c @@ -31,6 +31,7 @@ static const struct mux_control_ops mux_mmio_ops = { static const struct udevice_id mmio_mux_of_match[] = { { .compatible = "mmio-mux" }, + { .compatible = "reg-mux" }, { /* sentinel */ }, }; @@ -45,7 +46,11 @@ static int mmio_mux_probe(struct udevice *dev) int ret; int i; - regmap = syscon_node_to_regmap(dev_ofnode(dev->parent)); + if (ofnode_device_is_compatible(dev_ofnode(dev), "mmio-mux")) + regmap = syscon_node_to_regmap(dev_ofnode(dev->parent)); + else + regmap_init_mem(dev_ofnode(dev), ®map); + if (IS_ERR(regmap)) { ret = PTR_ERR(regmap); dev_err(dev, "failed to get regmap: %d\n", ret);