[U-Boot] [PATCH 01/10] arm: vf610: fix anadig register struct

Otavio Salvador otavio at ossystems.com.br
Tue Sep 17 15:27:33 CEST 2013


On Tue, Sep 17, 2013 at 7:45 AM, Marcel Ziswiler <marcel at ziswiler.com> wrote:
> The anadig_reg structure started at the wrong offset (fixed by adding
> resvA[4]), was missing some reserved field required for alignment
> purpose (resvB[3] between pll4_denom and pll6_ctrl) and further
> contained too short a reserved field causing further miss-alignment
> (resv10[7]).
>
> Discovered and tested by temporarily putting the following debug
> instrumentation into board_init():
>     struct anadig_reg *anadig = (struct anadig_reg *)ANADIG_BASE_ADDR;
>     printf("&anadig->pll3_ctrl=0x%p\n", &anadig->pll3_ctrl);
>     printf("&anadig->pll5_ctrl=0x%p\n", &anadig->pll5_ctrl);
>
> Signed-off-by: Marcel Ziswiler <marcel at ziswiler.com>

I agree with the way to fix it but it is a little bit hard to get it
is a 'reserved'; we used reserved_<where> to make it more explicit.

Take a look at http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/include/asm/arch-mxs/regs-power-mx28.h;h=9528e3ce9ad805ec30a1c0595924dbddb296c50f
for an usage example.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


More information about the U-Boot mailing list