[U-Boot] [PATCH v2 01/10] arm: vf610: fix anadig register struct
Albert ARIBAUD
albert.u.boot at aribaud.net
Thu Oct 17 13:21:41 CEST 2013
On Thu, 17 Oct 2013 13:20:09 +0200, Albert ARIBAUD
<albert.u.boot at aribaud.net> wrote:
> Hi Marcel,
>
> On Mon, 30 Sep 2013 13:26:06 +0200, 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>
> > ---
> > arch/arm/include/asm/arch-vf610/crm_regs.h | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/include/asm/arch-vf610/crm_regs.h b/arch/arm/include/asm/arch-vf610/crm_regs.h
> > index 85f1fda..57a0242 100644
> > --- a/arch/arm/include/asm/arch-vf610/crm_regs.h
> > +++ b/arch/arm/include/asm/arch-vf610/crm_regs.h
> > @@ -55,6 +55,7 @@ struct ccm_reg {
> >
> > /* Analog components control digital interface (ANADIG) */
> > struct anadig_reg {
> > + u32 resvA[4];
>
> Can you name reserved fields based on their byte or register
> index offset?
Scratch that. :) Instead, just merge 01 and 02 together.
Amicalement,
--
Albert.
More information about the U-Boot
mailing list