To i.MX7ULP, we need to create two info instances for
iomux0 and iomux1 respectively, otherwise iomuxc0/1 will
share one info instance and use one base, because imx_pinctrl_probe
will use info to store base address and etc. But iomuxc0/1
actually have different base address.

Signed-off-by: Peng Fan <peng....@nxp.com>
Cc: Simon Glass <s...@chromium.org>
Cc: Stefano Babic <sba...@denx.de>
---
 drivers/pinctrl/nxp/pinctrl-imx7ulp.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/nxp/pinctrl-imx7ulp.c 
b/drivers/pinctrl/nxp/pinctrl-imx7ulp.c
index 4a893e5..618ce6a 100644
--- a/drivers/pinctrl/nxp/pinctrl-imx7ulp.c
+++ b/drivers/pinctrl/nxp/pinctrl-imx7ulp.c
@@ -12,7 +12,11 @@
 
 #include "pinctrl-imx.h"
 
-static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info = {
+static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info0 = {
+       .flags = ZERO_OFFSET_VALID | SHARE_MUX_CONF_REG | CONFIG_IBE_OBE,
+};
+
+static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info1 = {
        .flags = ZERO_OFFSET_VALID | SHARE_MUX_CONF_REG | CONFIG_IBE_OBE,
 };
 
@@ -25,8 +29,8 @@ static int imx7ulp_pinctrl_probe(struct udevice *dev)
 }
 
 static const struct udevice_id imx7ulp_pinctrl_match[] = {
-       { .compatible = "fsl,imx7ulp-iomuxc-0", .data = 
(ulong)&imx7ulp_pinctrl_soc_info },
-       { .compatible = "fsl,imx7ulp-iomuxc-1", .data = 
(ulong)&imx7ulp_pinctrl_soc_info },
+       { .compatible = "fsl,imx7ulp-iomuxc-0", .data = 
(ulong)&imx7ulp_pinctrl_soc_info0 },
+       { .compatible = "fsl,imx7ulp-iomuxc-1", .data = 
(ulong)&imx7ulp_pinctrl_soc_info1 },
        { /* sentinel */ }
 };
 
-- 
2.6.2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to