[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