[U-Boot] [PATCH V2 02/15] imx: mx6ul: Add pins IOMUX head file

Marek Vasut marex at denx.de
Sun Jul 12 16:16:07 CEST 2015


On Sunday, July 12, 2015 at 01:53:05 PM, Peng Fan wrote:
> Hi Marek,

Hi!

> On Sun, Jul 12, 2015 at 01:39:58PM +0200, Marek Vasut wrote:
> >On Sunday, July 12, 2015 at 12:27:42 PM, Peng Fan wrote:
> >> Hi Marek,
> >> 
> >> On Sun, Jul 12, 2015 at 12:10:29AM +0200, Marek Vasut wrote:
> >> >On Saturday, July 11, 2015 at 10:07:10 AM, Peng Fan wrote:
> >> >> Add i.MX6UL pins IOMUX file which defines the IOMUX settings for
> >> >> choose.
> >> >> 
> >> >> Signed-off-by: Peng Fan <Peng.Fan at freescale.com>
> >> >> Signed-off-by: Ye.Li <B37916 at freescale.com>
> >> >> ---
> >> >> 
> >> >> Changes v2:
> >> >>  none
> >> >>  
> >> >>  arch/arm/include/asm/arch-mx6/mx6-pins.h   |    2 +
> >> >>  arch/arm/include/asm/arch-mx6/mx6ul_pins.h | 1065
> >> >> 
> >> >> ++++++++++++++++++++++++++++ 2 files changed, 1067 insertions(+)
> >> >> 
> >> >>  create mode 100644 arch/arm/include/asm/arch-mx6/mx6ul_pins.h
> >> >> 
> >> >> diff --git a/arch/arm/include/asm/arch-mx6/mx6-pins.h
> >> >> b/arch/arm/include/asm/arch-mx6/mx6-pins.h index 534f780..4b6bb18
> >> >> 100644 --- a/arch/arm/include/asm/arch-mx6/mx6-pins.h
> >> >> +++ b/arch/arm/include/asm/arch-mx6/mx6-pins.h
> >> >> @@ -37,6 +37,8 @@ enum {
> >> >> 
> >> >>  #include "mx6sl_pins.h"
> >> >>  #elif defined(CONFIG_MX6SX)
> >> >>  #include "mx6sx_pins.h"
> >> >> 
> >> >> +#elif defined(CONFIG_MX6UL)
> >> >> +#include "mx6ul_pins.h"
> >> >> 
> >> >>  #else
> >> >>  #error "Please select cpu"
> >> >>  #endif	/* CONFIG_MX6Q */
> >> >> 
> >> >> diff --git a/arch/arm/include/asm/arch-mx6/mx6ul_pins.h
> >> >> b/arch/arm/include/asm/arch-mx6/mx6ul_pins.h new file mode 100644
> >> >> index 0000000..c92b4f0
> >> >> --- /dev/null
> >> >> +++ b/arch/arm/include/asm/arch-mx6/mx6ul_pins.h
> >> >> @@ -0,0 +1,1065 @@
> >> >> +/*
> >> >> + * Copyright (C) 2015 Freescale Semiconductor, Inc.
> >> >> + *
> >> >> + * SPDX-License-Identifier:     GPL-2.0+
> >> >> + */
> >> >> +
> >> >> +#ifndef __ASM_ARCH_IMX6UL_PINS_H__
> >> >> +#define __ASM_ARCH_IMX6UL_PINS_H__
> >> >> +
> >> >> +#include <asm/imx-common/iomux-v3.h>
> >> >> +
> >> >> +enum {
> >> >> +
> >> >> +	MX6_PAD_BOOT_MODE0__GPIO5_IO10	                        =
> >> >> IOMUX_PAD(0x02A0, 0x0014, 5, 0x0000, 0, 0),
> >> >
> >> >Hi,
> >> >
> >> >why do you use enum here instead of just #defining those constants ?
> >> 
> >> Just keep same with other mx6[x]_pins.h.
> >
> >arch/arm/include/asm/arch-mx6/mx6q_pins.h doesn't contain the enum to my
> >knowledge :)
> 
> I am not sure whether it really make a difference or not if changed to
> define.
> 
> In arch/arm/include/asm/arch-mx6/mx6-pins.h
> #ifdef CONFIG_MX6QDL
> enum {
> #define MX6_PAD_DECL(name, pco, mc, mm, sio, si, pc) \
> MX6_PAD_DECLARE(MX6Q_PAD_,name, pco, mc, mm, sio, si, pc),
> #include "mx6q_pins.h"
> #undef MX6_PAD_DECL
> #define MX6_PAD_DECL(name, pco, mc, mm, sio, si, pc) \
> MX6_PAD_DECLARE(MX6DL_PAD_,name, pco, mc, mm, sio, si, pc),
> #include "mx6dl_pins.h"
> };
> .....
> #elif defined(CONFIG_MX6SL)
> #include "mx6sl_pins.h"
> #elif defined(CONFIG_MX6SX)
> #include "mx6sx_pins.h"
> .....
> 
> In mx6-pins.h, it is also enum. mx6ul-pins.h use same way with
> mx6sx/sl-pins.h.

It'd make sense if the enum was used to specify a type, which could
then be used in iomux functions to check the type OR to actually
enumerate the members of the enum. Neither is the case here, so I am
wondering why it's used :)

Maybe others can chime in.


More information about the U-Boot mailing list