[U-Boot] [PATCH 1/5] pxa255: Add UDC registers definitions

Marek Vasut marex at denx.de
Thu Aug 9 22:34:47 CEST 2012


Dear Łukasz Dałek,

> This patch starts series of patches adding support for USB support on
> PXA255 chips.
> 
> Signed-off-by: Łukasz Dałek <luk0104 at gmail.com>
> ---
>  arch/arm/include/asm/arch-pxa/pxa-regs.h |  247
> ++++++++++++++++++++++++++++++ 1 files changed, 247 insertions(+), 0
> deletions(-)
> 
> diff --git a/arch/arm/include/asm/arch-pxa/pxa-regs.h
> b/arch/arm/include/asm/arch-pxa/pxa-regs.h index b81b42c..114e9a2 100644
> --- a/arch/arm/include/asm/arch-pxa/pxa-regs.h
> +++ b/arch/arm/include/asm/arch-pxa/pxa-regs.h
> @@ -2498,6 +2498,253 @@ typedef void		(*ExcpHndlr) (void) ;
> 
>  #endif /* CONFIG_CPU_PXA27X */
> 
> +#if defined(CONFIG_CPU_PXA25X)
> +
> +#ifdef CONFIG_PXA25X_UDC_LINUX
> +# define UDCCR			*((volatile u32 *)0x40600000)

NAK, drop this #define altogether, use writel() readl() IO accessors, see below.

> +#else
> +# define UDCCR			0x40600000

Ok ... so this is a register address, right? Can you rework this to use the 
struct-based access?

aka:

struct pxa2xx_udc_regs {
	uint32_t udccr;
        uint32_t uicr0;
 ....
};

And then when used, do:

struct pxa2xx_udc_regs *udc_regs;

writel(value, &udc_regs->udccr);

etc.

[...]

btw. you'll usually get better results (and faster review) by CCing me directly, 
I found your patches accidentally now.

btw2. it'd be cool if someone reworked the PXA stuff to use struct based access 
altogerther ... see arch/arm/include/mach-mx28/regs*.h for some hints too.

Best regards,


More information about the U-Boot mailing list