[PATCH] i.MX35: Fix pad control bit positions

Juergen Beisert jbe at pengutronix.de
Thu Feb 11 10:01:47 EST 2010


Hi Sascha,

as discussed at FOSDEM: *ping* ;-)

Juergen Beisert wrote:
> Using these macros simplify the configuration for special GPIO usage. But
> they should use correct bit positions for usage in the IOMUX_PAD() macro.
>
> Note: These are the bit positions of the i.MX35 CPU. Not checked for the
> other i.MX3x CPUs.
>
> Signed-off-by: Juergen Beisert <jbe at pengutronix.de>
>
> ---
>  arch/arm/mach-imx/include/mach/iomux-v3.h |   34
> +++++++++++++++--------------- 1 file changed, 17 insertions(+), 17
> deletions(-)
>
> Index: u-boot-v2/arch/arm/mach-imx/include/mach/iomux-v3.h
> ===================================================================
> --- u-boot-v2.orig/arch/arm/mach-imx/include/mach/iomux-v3.h
> +++ u-boot-v2/arch/arm/mach-imx/include/mach/iomux-v3.h
> @@ -68,25 +68,25 @@ struct pad_desc {
>  /*
>   * Use to set PAD control
>   */
> -#define PAD_CTL_DRIVE_VOLTAGE_3_3_V	0
> -#define PAD_CTL_DRIVE_VOLTAGE_1_8_V	1
> +#define PAD_CTL_DRIVE_VOLTAGE_3_3_V	(0)
> +#define PAD_CTL_DRIVE_VOLTAGE_1_8_V	(1 << 13)
>
> -#define PAD_CTL_NO_HYSTERESIS		0
> -#define PAD_CTL_HYSTERESIS		1
> +#define PAD_CTL_NO_HYSTERESIS		(0)
> +#define PAD_CTL_HYSTERESIS		(1 << 8)
>
> -#define PAD_CTL_PULL_DISABLED		0x0
> -#define PAD_CTL_PULL_KEEPER		0xa
> -#define PAD_CTL_PULL_DOWN_100K		0xc
> -#define PAD_CTL_PULL_UP_47K		0xd
> -#define PAD_CTL_PULL_UP_100K		0xe
> -#define PAD_CTL_PULL_UP_22K		0xf
> -
> -#define PAD_CTL_OUTPUT_CMOS		0
> -#define PAD_CTL_OUTPUT_OPEN_DRAIN	1
> -
> -#define PAD_CTL_DRIVE_STRENGTH_NORM	0
> -#define PAD_CTL_DRIVE_STRENGTH_HIGH	1
> -#define PAD_CTL_DRIVE_STRENGTH_MAX	2
> +#define PAD_CTL_PULL_DISABLED		(0)
> +#define PAD_CTL_PULL_KEEPER		(0xa << 4)
> +#define PAD_CTL_PULL_DOWN_100K		(0xc << 4)
> +#define PAD_CTL_PULL_UP_47K		(0xd << 4)
> +#define PAD_CTL_PULL_UP_100K		(0xe << 4)
> +#define PAD_CTL_PULL_UP_22K		(0xf << 4)
> +
> +#define PAD_CTL_OUTPUT_CMOS		(0)
> +#define PAD_CTL_OUTPUT_OPEN_DRAIN	(1 << 3)
> +
> +#define PAD_CTL_DRIVE_STRENGTH_NORM	(0)
> +#define PAD_CTL_DRIVE_STRENGTH_HIGH	(1 << 1)
> +#define PAD_CTL_DRIVE_STRENGTH_MAX	(2 << 1)
>
>  #define PAD_CTL_SLEW_RATE_SLOW		0
>  #define PAD_CTL_SLEW_RATE_FAST		1

-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | Phone: +49-8766-939 228     |
Vertretung Sued/Muenchen, Germany             | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686              | http://www.pengutronix.de/  |



More information about the barebox mailing list