On Wed, Apr 9, 2014 at 7:56 AM, Nikita Kiryanov <nik...@compulab.co.il> wrote: > Hi Tim, > > > On 04/03/2014 09:01 AM, Tim Harvey wrote: >> >> Add new function that can take an array of iomux configs, an index, and >> a stride to allow a multi-dimentional array of pinmux values to be used >> to define pinmux values per cpu-type. >> >> This takes a different approach to previously proposed solutions which >> used >> multiple arrays of pad lists. The goal is to eliminate having these >> multiple >> arrays such as 'mx6q_uart1_pads' and 'mx6dl_uart1_pads' which are almost >> identical copies of each other except for the MX6Q/MX6DL prefix on the >> PAD. > > > I like this approach, but I think you should also define the IOMUX, > SETUP_PAD, and SETUP_PADS macros from patch 10 in this file, as they > (macros and function) are clearly meant to be used together. >
I agree with this. Do the macro names IOMUX, SETUP_PAD, SETUP_PADS make sense? > >> >> Signed-off-by: Tim Harvey <thar...@gateworks.com> >> --- >> arch/arm/imx-common/iomux-v3.c | 19 +++++++++++++++---- >> arch/arm/include/asm/imx-common/iomux-v3.h | 5 ++++- >> 2 files changed, 19 insertions(+), 5 deletions(-) >> >> diff --git a/arch/arm/imx-common/iomux-v3.c >> b/arch/arm/imx-common/iomux-v3.c >> index b59b802..d3e1e30 100644 >> --- a/arch/arm/imx-common/iomux-v3.c >> +++ b/arch/arm/imx-common/iomux-v3.c >> @@ -46,12 +46,23 @@ void imx_iomux_v3_setup_pad(iomux_v3_cfg_t pad) >> #endif >> } >> >> -void imx_iomux_v3_setup_multiple_pads(iomux_v3_cfg_t const *pad_list, >> - unsigned count) >> +/* configures a list of pads within an array of lists */ >> +void imx_iomux_v3_setup_multiple_pads_array(iomux_v3_cfg_t const >> *pad_list, >> + unsigned count, unsigned list, >> + unsigned stride) >> { >> iomux_v3_cfg_t const *p = pad_list; >> int i; >> >> - for (i = 0; i < count; i++) >> - imx_iomux_v3_setup_pad(*p++); >> + p += list; >> + for (i = 0; i < count; i++) { >> + imx_iomux_v3_setup_pad(*p); >> + p += stride; >> + } >> +} >> + >> +void imx_iomux_v3_setup_multiple_pads(iomux_v3_cfg_t const *pad_list, >> + unsigned count) >> +{ >> + imx_iomux_v3_setup_multiple_pads_array(pad_list, count, 0, 1); >> } >> diff --git a/arch/arm/include/asm/imx-common/iomux-v3.h >> b/arch/arm/include/asm/imx-common/iomux-v3.h >> index dec11a1..c8cc45b 100644 >> --- a/arch/arm/include/asm/imx-common/iomux-v3.h >> +++ b/arch/arm/include/asm/imx-common/iomux-v3.h >> @@ -167,7 +167,10 @@ typedef u64 iomux_v3_cfg_t; >> #define GPIO_PORTF (5 << GPIO_PORT_SHIFT) >> >> void imx_iomux_v3_setup_pad(iomux_v3_cfg_t pad); >> +void imx_iomux_v3_setup_multiple_pads_array(iomux_v3_cfg_t const >> *pad_list, >> + unsigned count, unsigned list, >> + unsigned stride); >> void imx_iomux_v3_setup_multiple_pads(iomux_v3_cfg_t const *pad_list, >> - unsigned count); >> + unsigned count); > > > The above change is a cleanup and should not be in this patch. > If there appears to be general agreement on this approach, I'll submit a new 2-patch series just for this patch and pull it out of my overall series. Regards, Tim >> >> #endif /* __MACH_IOMUX_V3_H__*/ >> > > > -- > Regards, > Nikita. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot