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");
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)
#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);
.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,
.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,
.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,
.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,
.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,
.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,
.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,
.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,
.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,
.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,