Hi Simon, On Mon, Feb 01, 2016 at 05:05:18PM -0700, Simon Glass wrote: >Hi Peng, > >On 31 January 2016 at 22:38, Peng Fan <van.free...@gmail.com> wrote: >> Introudce i.MX7 pinctrl driver support. >> For now only i.MX7D supported. >> There are two iomux controllers in i.MX7D, iomuxc and iomuxc_lpsr. >> To iomuxc_lpsr, ZERO_OFFSET_VALID is set, means offset of mux_reg >> and conf_reg can begin at 0. >> >> Signed-off-by: Peng Fan <van.free...@gmail.com> >> Cc: Simon Glass <s...@chromium.org> >> Cc: Stefano Babic <sba...@denx.de> >> Cc: Fabio Estevam <fabio.este...@nxp.com> >> --- >> drivers/pinctrl/nxp/Kconfig | 8 ++++++++ >> drivers/pinctrl/nxp/Makefile | 1 + >> drivers/pinctrl/nxp/pinctrl-imx7.c | 42 >> ++++++++++++++++++++++++++++++++++++++ >> 3 files changed, 51 insertions(+) >> create mode 100644 drivers/pinctrl/nxp/pinctrl-imx7.c > >Reviewed-by: Simon Glass <s...@chromium.org> > >> >> diff --git a/drivers/pinctrl/nxp/Kconfig b/drivers/pinctrl/nxp/Kconfig >> index 2032588..a251d54 100644 >> --- a/drivers/pinctrl/nxp/Kconfig >> +++ b/drivers/pinctrl/nxp/Kconfig >> @@ -8,3 +8,11 @@ config PINCTRL_IMX6 >> select PINCTRL_IMX >> help >> Say Y here to enable the imx6ul pinctrl driver >> + >> +config PINCTRL_IMX7 >> + bool "IMX7 pinctrl driver" >> + depends on ARCH_MX7 >> + select DEVRES >> + select PINCTRL_IMX >> + help >> + Say Y here to enable the imx6ul pinctrl driver > >Please add some help!
Will add more details in V2. > >> diff --git a/drivers/pinctrl/nxp/Makefile b/drivers/pinctrl/nxp/Makefile >> index 7fd9850..0ee7f2f 100644 >> --- a/drivers/pinctrl/nxp/Makefile >> +++ b/drivers/pinctrl/nxp/Makefile >> @@ -1,2 +1,3 @@ >> obj-$(CONFIG_PINCTRL_IMX) += pinctrl-imx.o >> obj-$(CONFIG_PINCTRL_IMX6) += pinctrl-imx6.o >> +obj-$(CONFIG_PINCTRL_IMX7) += pinctrl-imx7.o >> diff --git a/drivers/pinctrl/nxp/pinctrl-imx7.c >> b/drivers/pinctrl/nxp/pinctrl-imx7.c >> new file mode 100644 >> index 0000000..150ccf9 >> --- /dev/null >> +++ b/drivers/pinctrl/nxp/pinctrl-imx7.c >> @@ -0,0 +1,42 @@ >> + >> +/* >> + * Copyright (C) 2016 Peng Fan <van.free...@gmail.com> >> + * >> + * SPDX-License-Identifier: GPL-2.0+ >> + */ >> + >> +#include <dm/device.h> >> +#include <dm/pinctrl.h> >> + >> +#include "pinctrl-imx.h" >> + >> +static struct imx_pinctrl_soc_info imx7_pinctrl_soc_info; >> + >> +static struct imx_pinctrl_soc_info imx7_lpsr_pinctrl_soc_info = { >> + .flags = ZERO_OFFSET_VALID, >> +}; >> + >> +static int imx7_pinctrl_probe(struct udevice *dev) >> +{ >> + struct imx_pinctrl_soc_info *info = >> + (struct imx_pinctrl_soc_info *)dev_get_driver_data(dev); > >I think this should be platform data. Yeah. Thanks, Peng. > >> + >> + return imx_pinctrl_probe(dev, info); >> +} >> + >> +static const struct udevice_id imx7_pinctrl_match[] = { >> + { .compatible = "fsl,imx7d-iomuxc", .data = >> (ulong)&imx7_pinctrl_soc_info }, >> + { .compatible = "fsl,imx7d-iomuxc-lpsr", .data = >> (ulong)&imx7_lpsr_pinctrl_soc_info }, >> + { /* sentinel */ } >> +}; >> + >> +U_BOOT_DRIVER(imx7_pinctrl) = { >> + .name = "imx7-pinctrl", >> + .id = UCLASS_PINCTRL, >> + .of_match = of_match_ptr(imx7_pinctrl_match), >> + .probe = imx7_pinctrl_probe, >> + .remove = imx_pinctrl_remove, >> + .priv_auto_alloc_size = sizeof(struct imx_pinctrl_priv), >> + .ops = &imx_pinctrl_ops, >> + .flags = DM_FLAG_PRE_RELOC, >> +}; >> -- >> 2.6.2 >> > >Regards, >Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot