From mboxrd@z Thu Jan 1 00:00:00 1970 From: Albert ARIBAUD Date: Thu, 17 Oct 2013 13:21:41 +0200 Subject: [U-Boot] [PATCH v2 01/10] arm: vf610: fix anadig register struct In-Reply-To: <20131017132009.17f3f3e9@lilith> References: <20131017132009.17f3f3e9@lilith> Message-ID: <20131017132141.6941b62c@lilith> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, 17 Oct 2013 13:20:09 +0200, Albert ARIBAUD wrote: > Hi Marcel, > > On Mon, 30 Sep 2013 13:26:06 +0200, Marcel Ziswiler > 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 > > --- > > 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.