[U-Boot] [PATCH V2 03/15] imx: mx6ul: Update imx registers head file
Marek Vasut
marex at denx.de
Sun Jul 12 13:50:55 CEST 2015
On Sunday, July 12, 2015 at 12:32:28 PM, Peng Fan wrote:
> Hi Marek,
>
> On Sun, Jul 12, 2015 at 12:11:42AM +0200, Marek Vasut wrote:
> >On Saturday, July 11, 2015 at 10:07:11 AM, Peng Fan wrote:
> >> 1. Update imx register base address for i.MX6UL.
> >> 2. Remove duplicated MXS_APBH/GPMI/BCH_BASE.
> >> 3. Remove #ifdef for register addresses that equal to
> >>
> >> "AIPS2_OFF_BASE_ADDR + 0x34000" for different chips.
> >>
> >> 4. According fuse map, complete fuse_bank4_regs.
> >> 5. Move AIPS3_ARB_BASE_ADDR and AIPS3_ARB_END_ADDR out of #ifdef
> >> CONFIG_MX6SX, because we can use runtime check
> >>
> >> Signed-off-by: Peng Fan <Peng.Fan at freescale.com>
> >> ---
> >
> >[...]
> >
> >> @@ -309,11 +311,16 @@
> >>
> >> #define PWM8_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xB0000)
> >> #endif
> >>
> >> +/* only for i.MX6SX/UL */
> >> +#define WDOG3_BASE_ADDR (is_cpu_type(MXC_CPU_MX6UL) ? \
> >> + (AIPS2_OFF_BASE_ADDR + 0x64000) : \
> >> + (AIPS3_ARB_BASE_ADDR + 0x88000))
> >> +
> >
> >This might not work if used in assembler.
>
> I did not see any scenario that it will be used in assembler now.
Does that mean we will be fine with adding code which we know might easily
break?
> If we truely need it in assembler, then we can not avoid so many "ifdef"s.
errr ... ifdef __ASSEMBLY__ would suffice here I guess, but to be really smart
about it, I'd say you might want to define something like MX6UL_WDOG3_BASE,
MX6S_WDOG3_BASE and then define WDOG3_BASE_ADDR as (is_cpu_type(...) ?
MX6UL_WDOG3_BASE : MX6S.... ) . Then you could access the WDOG3 from assembler
and from C code with the benefit that from C code, you'd be able to access it
in a bit smoother way. I don't know if there's a way to do it easily in asm
too, sorry.
Best regards,
Marek Vasut
More information about the U-Boot
mailing list