diff options
Diffstat (limited to 'drivers/pinctrl/nxp/pinctrl-imx9.c')
| -rw-r--r-- | drivers/pinctrl/nxp/pinctrl-imx9.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/drivers/pinctrl/nxp/pinctrl-imx9.c b/drivers/pinctrl/nxp/pinctrl-imx9.c new file mode 100644 index 00000000000..39bcdeaa753 --- /dev/null +++ b/drivers/pinctrl/nxp/pinctrl-imx9.c @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2022 NXP + */ + +#include <dm/device.h> +#include <dm/pinctrl.h> + +#include "pinctrl-imx.h" + +static struct imx_pinctrl_soc_info imx9_pinctrl_soc_info __section(".data") = { + .flags = ZERO_OFFSET_VALID, +}; + +static const struct udevice_id imx9_pinctrl_match[] = { + { .compatible = "fsl,imx93-iomuxc", .data = (ulong)&imx9_pinctrl_soc_info }, + { .compatible = "fsl,imx91-iomuxc", .data = (ulong)&imx9_pinctrl_soc_info }, + { /* sentinel */ } +}; + +static const struct pinctrl_ops imx9_pinctrl_ops = { + .set_state = imx_pinctrl_set_state_mmio, +}; + +U_BOOT_DRIVER(imx9_pinctrl) = { + .name = "imx9-pinctrl", + .id = UCLASS_PINCTRL, + .of_match = of_match_ptr(imx9_pinctrl_match), + .probe = imx_pinctrl_probe_mmio, + .remove = imx_pinctrl_remove_mmio, + .priv_auto = sizeof(struct imx_pinctrl_priv), + .ops = &imx9_pinctrl_ops, + .flags = DM_FLAG_PRE_RELOC, +}; |
