[U-Boot] [PATCH] OMAP3EVM: net_chip uses CS5 not CS6
Scott Wood
scottwood at freescale.com
Thu May 7 22:56:41 CEST 2009
Wolfgang Denk wrote:
> Dear Scott,
>
> In message <4A0333FC.6090900 at freescale.com> you wrote:
>> Wolfgang Denk wrote:
>>> Finally, and this is what I really compalin about, is that there is no
>>> big structure which includes all the blocks that make up the CPU into
>>> one big structure (as it's done for example for PowerPC systems in the
>>> include/asm-ppc/*immap* files) - you still use code like
>> Those immap structs are a huge pain to maintain (or to verify the
>> correctness of), loaded with ifdeffery and magic numbers describing
>> reserved spans. We should not be emulating them.
>
> Well, #define'ing long lists of register offsets is not easier to
> maintain or verify,
IMHO it is; you can just compare to the manual rather than have offsets
be screwed up if something is missing, out of order, or the wrong size.
That's countered by the typechecking and ease of use of structs, though.
> and you don't have any typechecking by the
> compiler.
It doesn't have to be all one or the other. Use structs to describe
individual blocks (provided they're not too sparsely populated), but
define block addresses rather than huge structs consisting of sub-blocks
and empty space. And let the details be flexible at the
author/maintainer's discretion, rather than a rigid rule.
>> We used to have them in Linux, and got rid of them.
>
> Hm... Seems I have missed this change... What's things like
>
> struct qe_immap __iomem *qe_immr
> or
> cpm2_map_t __iomem *cpm2_immr
> or
> immap_t __iomem *mpc8xx_immr
>
> then?
Legacy stuff that hasn't been fully cleaned up. There used to be immap
structs for 83xx and 85xx back in arch/ppc IIRC.
> Or what replaced the "immr" structs?
The device tree, mainly. But #defines can work for u-boot.
-Scott
More information about the U-Boot
mailing list