198d62e61SPatrick Bruenn
298d62e61SPatrick Bruenn /*
398d62e61SPatrick Bruenn * Copyright (C) 2016 Peng Fan <van.freenix@gmail.com>
498d62e61SPatrick Bruenn *
598d62e61SPatrick Bruenn * SPDX-License-Identifier: GPL-2.0+
698d62e61SPatrick Bruenn */
798d62e61SPatrick Bruenn
8*4af0d7e8SSimon Glass #include <common.h>
99d922450SSimon Glass #include <dm.h>
1098d62e61SPatrick Bruenn #include <dm/pinctrl.h>
1198d62e61SPatrick Bruenn
1298d62e61SPatrick Bruenn #include "pinctrl-imx.h"
1398d62e61SPatrick Bruenn
1498d62e61SPatrick Bruenn static struct imx_pinctrl_soc_info imx5_pinctrl_soc_info;
1598d62e61SPatrick Bruenn
imx5_pinctrl_probe(struct udevice * dev)1698d62e61SPatrick Bruenn static int imx5_pinctrl_probe(struct udevice *dev)
1798d62e61SPatrick Bruenn {
1898d62e61SPatrick Bruenn struct imx_pinctrl_soc_info *info =
1998d62e61SPatrick Bruenn (struct imx_pinctrl_soc_info *)dev_get_driver_data(dev);
2098d62e61SPatrick Bruenn
2198d62e61SPatrick Bruenn return imx_pinctrl_probe(dev, info);
2298d62e61SPatrick Bruenn }
2398d62e61SPatrick Bruenn
2498d62e61SPatrick Bruenn static const struct udevice_id imx5_pinctrl_match[] = {
2598d62e61SPatrick Bruenn {
2698d62e61SPatrick Bruenn .compatible = "fsl,imx53-iomuxc",
2798d62e61SPatrick Bruenn .data = (ulong)&imx5_pinctrl_soc_info
2898d62e61SPatrick Bruenn },
2998d62e61SPatrick Bruenn {
3098d62e61SPatrick Bruenn .compatible = "fsl,imx53-iomuxc-gpr",
3198d62e61SPatrick Bruenn .data = (ulong)&imx5_pinctrl_soc_info
3298d62e61SPatrick Bruenn },
3398d62e61SPatrick Bruenn { /* sentinel */ }
3498d62e61SPatrick Bruenn };
3598d62e61SPatrick Bruenn
3698d62e61SPatrick Bruenn U_BOOT_DRIVER(imx5_pinctrl) = {
3798d62e61SPatrick Bruenn .name = "imx5-pinctrl",
3898d62e61SPatrick Bruenn .id = UCLASS_PINCTRL,
3998d62e61SPatrick Bruenn .of_match = of_match_ptr(imx5_pinctrl_match),
4098d62e61SPatrick Bruenn .probe = imx5_pinctrl_probe,
4198d62e61SPatrick Bruenn .remove = imx_pinctrl_remove,
4298d62e61SPatrick Bruenn .priv_auto_alloc_size = sizeof(struct imx_pinctrl_priv),
4398d62e61SPatrick Bruenn .ops = &imx_pinctrl_ops,
4498d62e61SPatrick Bruenn .flags = DM_FLAG_PRE_RELOC,
4598d62e61SPatrick Bruenn };
46