1 // SPDX-License-Identifier: GPL-2.0+ 2 3 /* 4 * Copyright (C) 2016 Peng Fan <van.freenix@gmail.com> 5 */ 6 7 #include <dm.h> 8 #include <dm/pinctrl.h> 9 10 #include "pinctrl-imx.h" 11 12 static struct imx_pinctrl_soc_info imx5_pinctrl_soc_info __section(".data"); 13 14 static const struct udevice_id imx5_pinctrl_match[] = { 15 { 16 .compatible = "fsl,imx53-iomuxc", 17 .data = (ulong)&imx5_pinctrl_soc_info 18 }, 19 { 20 .compatible = "fsl,imx53-iomuxc-gpr", 21 .data = (ulong)&imx5_pinctrl_soc_info 22 }, 23 { /* sentinel */ } 24 }; 25 26 static const struct pinctrl_ops imx5_pinctrl_ops = { 27 .set_state = imx_pinctrl_set_state_mmio, 28 }; 29 30 U_BOOT_DRIVER(imx5_pinctrl) = { 31 .name = "imx5-pinctrl", 32 .id = UCLASS_PINCTRL, 33 .of_match = of_match_ptr(imx5_pinctrl_match), 34 .probe = imx_pinctrl_probe_mmio, 35 .remove = imx_pinctrl_remove_mmio, 36 .priv_auto = sizeof(struct imx_pinctrl_priv), 37 .ops = &imx5_pinctrl_ops, 38 .flags = DM_FLAG_PRE_RELOC, 39 }; 40