[U-Boot] [PATCH] mpc85xx: Fix the offset of register address error

York Sun yorksun at freescale.com
Tue Oct 1 17:42:43 CEST 2013


On 09/22/2013 02:33 AM, Tang Yuantian wrote:
> From: Tang Yuantian <yuantian.tang at freescale.com>
> 
> The offset of register address within GPIO module is just
> CONFIG_SYS_MPC85xx_GPIO_ADDR, no reason to add 0xc00.
> 
> Signed-off-by: Tang Yuantian <Yuantian.Tang at freescale.com>
> ---
>  arch/powerpc/include/asm/mpc85xx_gpio.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/mpc85xx_gpio.h b/arch/powerpc/include/asm/mpc85xx_gpio.h
> index 3d11884..87bb4a0 100644
> --- a/arch/powerpc/include/asm/mpc85xx_gpio.h
> +++ b/arch/powerpc/include/asm/mpc85xx_gpio.h
> @@ -20,7 +20,7 @@
>  static inline void mpc85xx_gpio_set(unsigned int mask,
>  		unsigned int dir, unsigned int val)
>  {
> -	ccsr_gpio_t *gpio = (void *)(CONFIG_SYS_MPC85xx_GPIO_ADDR + 0xc00);
> +	ccsr_gpio_t *gpio = (void *)(CONFIG_SYS_MPC85xx_GPIO_ADDR);
>  
>  	/* First mask off the unwanted parts of "dir" and "val" */
>  	dir &= mask;
> @@ -56,7 +56,7 @@ static inline void mpc85xx_gpio_set_high(unsigned int gpios)
>  
>  static inline unsigned int mpc85xx_gpio_get(unsigned int mask)
>  {
> -	ccsr_gpio_t *gpio = (void *)(CONFIG_SYS_MPC85xx_GPIO_ADDR + 0xc00);
> +	ccsr_gpio_t *gpio = (void *)(CONFIG_SYS_MPC85xx_GPIO_ADDR);
>  
>  	/* Read the requested values */
>  	return in_be32(&gpio->gpdat) & mask;
> 

Yuantian,

Please go through the base address again. I think some SoCs do use 0xc00
offset from 0xF000, for eample P1020, P1023, MPC8572. I only spot
checked several.

York




More information about the U-Boot mailing list