2 * Copyright (C) 2016 Freescale Semiconductor, Inc.
4 * Peng Fan <peng.fan@nxp.com>
6 * SPDX-License-Identifier: GPL-2.0+
11 #include <dm/pinctrl.h>
13 #include "pinctrl-imx.h"
15 static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info0
= {
16 .flags
= ZERO_OFFSET_VALID
| SHARE_MUX_CONF_REG
| CONFIG_IBE_OBE
,
19 static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info1
= {
20 .flags
= ZERO_OFFSET_VALID
| SHARE_MUX_CONF_REG
| CONFIG_IBE_OBE
,
23 static int imx7ulp_pinctrl_probe(struct udevice
*dev
)
25 struct imx_pinctrl_soc_info
*info
=
26 (struct imx_pinctrl_soc_info
*)dev_get_driver_data(dev
);
28 return imx_pinctrl_probe(dev
, info
);
31 static const struct udevice_id imx7ulp_pinctrl_match
[] = {
32 { .compatible
= "fsl,imx7ulp-iomuxc-0", .data
= (ulong
)&imx7ulp_pinctrl_soc_info0
},
33 { .compatible
= "fsl,imx7ulp-iomuxc-1", .data
= (ulong
)&imx7ulp_pinctrl_soc_info1
},
37 U_BOOT_DRIVER(imx7ulp_pinctrl
) = {
38 .name
= "imx7ulp-pinctrl",
40 .of_match
= of_match_ptr(imx7ulp_pinctrl_match
),
41 .probe
= imx7ulp_pinctrl_probe
,
42 .remove
= imx_pinctrl_remove
,
43 .priv_auto_alloc_size
= sizeof(struct imx_pinctrl_priv
),
44 .ops
= &imx_pinctrl_ops
,
45 .flags
= DM_FLAG_PRE_RELOC
,