]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
pinctrl: imx: Split imx_pinctrl_probe() into common and mmio parts
authorMarek Vasut <marex@denx.de>
Fri, 24 Jan 2025 14:50:54 +0000 (15:50 +0100)
committerFabio Estevam <festevam@gmail.com>
Sat, 25 Jan 2025 12:06:32 +0000 (09:06 -0300)
Split imx_pinctrl_probe() into imx_pinctrl_probe_common() and
imx_pinctrl_probe_mmio(). The former does the common setup, the
later does the common setup and MMIO access configuration. The
common setup can be used as-is for SCU based systems, update
the pinctrl-imx8 to call only the common setup, update all the
other pinctrl drivers to call imx_pinctrl_probe_mmio().

No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
12 files changed:
drivers/pinctrl/nxp/pinctrl-imx.c
drivers/pinctrl/nxp/pinctrl-imx.h
drivers/pinctrl/nxp/pinctrl-imx5.c
drivers/pinctrl/nxp/pinctrl-imx6.c
drivers/pinctrl/nxp/pinctrl-imx7.c
drivers/pinctrl/nxp/pinctrl-imx7ulp.c
drivers/pinctrl/nxp/pinctrl-imx8.c
drivers/pinctrl/nxp/pinctrl-imx8m.c
drivers/pinctrl/nxp/pinctrl-imx8ulp.c
drivers/pinctrl/nxp/pinctrl-imx93.c
drivers/pinctrl/nxp/pinctrl-imxrt.c
drivers/pinctrl/nxp/pinctrl-vf610.c

index 2d142c3a8a9b6bfe7b054e1fb6e7f58ff0b40eff..e65e069ac5476311453f527534d16d69730aecb5 100644 (file)
@@ -194,16 +194,11 @@ int imx_pinctrl_set_state(struct udevice *dev, struct udevice *config)
        return 0;
 }
 
-int imx_pinctrl_probe(struct udevice *dev)
+int imx_pinctrl_probe_common(struct udevice *dev)
 {
        struct imx_pinctrl_soc_info *info =
                (struct imx_pinctrl_soc_info *)dev_get_driver_data(dev);
        struct imx_pinctrl_priv *priv = dev_get_priv(dev);
-       struct ofnode_phandle_args arg;
-       ofnode node = dev_ofnode(dev);
-       fdt_addr_t addr;
-       fdt_size_t size;
-       int ret;
 
        if (!info) {
                dev_err(dev, "wrong pinctrl info\n");
@@ -213,8 +208,23 @@ int imx_pinctrl_probe(struct udevice *dev)
        priv->dev = dev;
        priv->info = info;
 
-       if (info->flags & IMX8_USE_SCU)
-               return 0;
+       return 0;
+}
+
+int imx_pinctrl_probe_mmio(struct udevice *dev)
+{
+       struct imx_pinctrl_soc_info *info =
+               (struct imx_pinctrl_soc_info *)dev_get_driver_data(dev);
+       struct imx_pinctrl_priv *priv = dev_get_priv(dev);
+       struct ofnode_phandle_args arg;
+       ofnode node = dev_ofnode(dev);
+       fdt_addr_t addr;
+       fdt_size_t size;
+       int ret;
+
+       ret = imx_pinctrl_probe_common(dev);
+       if (ret)
+               return ret;
 
        addr = ofnode_get_addr_size_index(node, 0, &size);
        if (addr == FDT_ADDR_T_NONE)
index b25f7988f46df5f3634710a5ed04ea4496e136a8..b9d50c0542e93eb4e204000571fa73dd9344c12e 100644 (file)
@@ -48,7 +48,8 @@ struct imx_pinctrl_priv {
 
 #define IOMUXC_CONFIG_SION     (0x1 << 4)
 
-int imx_pinctrl_probe(struct udevice *dev);
+int imx_pinctrl_probe_common(struct udevice *dev);
+int imx_pinctrl_probe_mmio(struct udevice *dev);
 
 int imx_pinctrl_remove(struct udevice *dev);
 
index 544c509333635754dad8671ae4d78ae67b914fe7..814b088bdab0b15c3727b8ab8ac7cbfa1a5a98ab 100644 (file)
@@ -31,7 +31,7 @@ U_BOOT_DRIVER(imx5_pinctrl) = {
        .name = "imx5-pinctrl",
        .id = UCLASS_PINCTRL,
        .of_match = of_match_ptr(imx5_pinctrl_match),
-       .probe = imx_pinctrl_probe,
+       .probe = imx_pinctrl_probe_mmio,
        .remove = imx_pinctrl_remove,
        .priv_auto      = sizeof(struct imx_pinctrl_priv),
        .ops = &imx5_pinctrl_ops,
index ae16ce73755f007b1fdeaabeb5dcf47a0d0141f1..495b6af79fbbab9daabb8fc38ad6f3a909570fa7 100644 (file)
@@ -40,7 +40,7 @@ U_BOOT_DRIVER(fsl_imx6q_iomuxc) = {
        .name = "fsl_imx6q_iomuxc",
        .id = UCLASS_PINCTRL,
        .of_match = of_match_ptr(imx6_pinctrl_match),
-       .probe = imx_pinctrl_probe,
+       .probe = imx_pinctrl_probe_mmio,
        .remove = imx_pinctrl_remove,
        .priv_auto      = sizeof(struct imx_pinctrl_priv),
        .ops = &imx6_pinctrl_ops,
index 87a358355661a8b1167ef908fb11a35acacc77cd..e1fa6d76a1373f32c08fa6da74edf3f83fbaa248 100644 (file)
@@ -28,7 +28,7 @@ U_BOOT_DRIVER(imx7_pinctrl) = {
        .name = "imx7-pinctrl",
        .id = UCLASS_PINCTRL,
        .of_match = of_match_ptr(imx7_pinctrl_match),
-       .probe = imx_pinctrl_probe,
+       .probe = imx_pinctrl_probe_mmio,
        .remove = imx_pinctrl_remove,
        .priv_auto      = sizeof(struct imx_pinctrl_priv),
        .ops = &imx7_pinctrl_ops,
index 1f4fce455d630f3d384649ead365235845fa740c..9ca8ef2130d5609897f90d080a22465bab6c96fb 100644 (file)
@@ -32,7 +32,7 @@ U_BOOT_DRIVER(imx7ulp_pinctrl) = {
        .name = "imx7ulp-pinctrl",
        .id = UCLASS_PINCTRL,
        .of_match = of_match_ptr(imx7ulp_pinctrl_match),
-       .probe = imx_pinctrl_probe,
+       .probe = imx_pinctrl_probe_mmio,
        .remove = imx_pinctrl_remove,
        .priv_auto      = sizeof(struct imx_pinctrl_priv),
        .ops = &imx7ulp_pinctrl_ops,
index 40976a9b5884ac65fd414a2e274ae2cf13459ab7..a48e1b56df10d6dba92fb07be2c4ada996a3638a 100644 (file)
@@ -29,7 +29,7 @@ U_BOOT_DRIVER(imx8_pinctrl) = {
        .name = "imx8_pinctrl",
        .id = UCLASS_PINCTRL,
        .of_match = of_match_ptr(imx8_pinctrl_match),
-       .probe = imx_pinctrl_probe,
+       .probe = imx_pinctrl_probe_common,
        .priv_auto      = sizeof(struct imx_pinctrl_priv),
        .ops = &imx8_pinctrl_ops,
        .flags = DM_FLAG_PRE_RELOC,
index b1dabaaae7aecaec5256e6222a2b30b02c98fca4..f69e6d74329db24e6fdc68660fa93ae6ee99cee6 100644 (file)
@@ -26,7 +26,7 @@ U_BOOT_DRIVER(imx8mq_pinctrl) = {
        .name = "imx8mq-pinctrl",
        .id = UCLASS_PINCTRL,
        .of_match = of_match_ptr(imx8m_pinctrl_match),
-       .probe = imx_pinctrl_probe,
+       .probe = imx_pinctrl_probe_mmio,
        .remove = imx_pinctrl_remove,
        .priv_auto      = sizeof(struct imx_pinctrl_priv),
        .ops = &imx8m_pinctrl_ops,
index e482ad5536d7067e0517d35b28d987fc3bd2c469..fed16b565a5d017de2e6a6955ecfd6956efb25ec 100644 (file)
@@ -31,7 +31,7 @@ U_BOOT_DRIVER(imx8ulp_pinctrl) = {
        .name = "imx8ulp-pinctrl",
        .id = UCLASS_PINCTRL,
        .of_match = of_match_ptr(imx8ulp_pinctrl_match),
-       .probe = imx_pinctrl_probe,
+       .probe = imx_pinctrl_probe_mmio,
        .remove = imx_pinctrl_remove,
        .priv_auto = sizeof(struct imx_pinctrl_priv),
        .ops = &imx8ulp_pinctrl_ops,
index d5736e210677c92a82b5e64a22e53053b2aac461..8a58e586610ecdce3cefeac4e057acfe18e74d8f 100644 (file)
@@ -26,7 +26,7 @@ U_BOOT_DRIVER(imx93_pinctrl) = {
        .name = "imx93-pinctrl",
        .id = UCLASS_PINCTRL,
        .of_match = of_match_ptr(imx93_pinctrl_match),
-       .probe = imx_pinctrl_probe,
+       .probe = imx_pinctrl_probe_mmio,
        .remove = imx_pinctrl_remove,
        .priv_auto      = sizeof(struct imx_pinctrl_priv),
        .ops = &imx93_pinctrl_ops,
index db523a9005a82d7bb29ae9e5c9e0772b395dcb45..a8db355534c3d6123fcef35d7096ddb736da0bff 100644 (file)
@@ -27,7 +27,7 @@ U_BOOT_DRIVER(imxrt_pinctrl) = {
        .name = "imxrt-pinctrl",
        .id = UCLASS_PINCTRL,
        .of_match = of_match_ptr(imxrt_pinctrl_match),
-       .probe = imx_pinctrl_probe,
+       .probe = imx_pinctrl_probe_mmio,
        .remove = imx_pinctrl_remove,
        .priv_auto      = sizeof(struct imx_pinctrl_priv),
        .ops = &imxrt_pinctrl_ops,
index e56df6dde56766ebed329034eae1fa884e40530e..3c9396cadda6a8ac191029212b43c5b3f2c8a23d 100644 (file)
@@ -27,7 +27,7 @@ U_BOOT_DRIVER(vf610_pinctrl) = {
        .name = "vf610-pinctrl",
        .id = UCLASS_PINCTRL,
        .of_match = of_match_ptr(vf610_pinctrl_match),
-       .probe = imx_pinctrl_probe,
+       .probe = imx_pinctrl_probe_mmio,
        .remove = imx_pinctrl_remove,
        .priv_auto      = sizeof(struct imx_pinctrl_priv),
        .ops = &vf610_pinctrl_ops,