[U-Boot-Users] arm SoC code in U-Boot.
ulf at atmel.com
Tue Mar 6 23:45:10 CET 2007
>> > Do we really need the "freescale" subdirectory here? Maybe
>> > cpu/arm_imx would be a shorter and more descriptive name?
>> I think it is a matter of taste.
>> Some people would like to have consistency
>> making it easy to find where things are located.
> To me making it easy to find where things are located includes not to
> add unnecessary directory levels.
> When adding "cpu/freescale/" I see no clear line what should go in
> there and what not. Whould we then move all the cpu/mpc???/
> directories into cpu/freescale/ ? And then probably create (for
> consistency) a "cpu/amcc/" directory and mode cpu/ppc4xx into that
> one? What do we get in addition to another directory level? IMO that
> would not improve anything, and you still don't see where shared code
> is located.
I think you can still keep the cpu/ppc4xx directory but if you
find that cpu/ppcYYY has shared code with the cpu/ppc4xx
and you would like to have a common driver, then
you put it in "cpu/amcc/ppc.
For freescale you would put shared code in
cpu/freescale/imx and cpu/freescale/ppc
and maybe cpu/freescale/coldfire
>> If you look at what is driving duplication, then you find
>> that the peripherals are either developed inside a semiconductor
>> company, or they are licensed from an IP provider.
>> It makes a lot of sense therefore to dedicate directories
>> to the providers of IP:
>> ARM is a provider, but so are also Freescale, Atmel and others.
> Well, where did license Freescale the IMX core from? I don't think
> that we should focus on vendor names here, but instead on content.
> And the content is "ARM IMX" related code. Assuming that is CPU
> specific enough to go under "cpu/", I feel we should either add a
> "cpu/imx" directory or - a little more descriptive - "cpu/arm_imx/"
> as suggested above. Even "cpu/arm/imx/" seems more natural to me than
I might be wrong, but think the issue is that
Freescale has some common peripherals which are used
both on ARM926EJS and ARM920T chips.
If the peripherals are licensed from ARM, then I think that the peripheral
might be in use in other ARM chipa I.E. non-imx chips as well and "cpu/arm"
be OK, but not "cpu/arm/imx"
If the peripherals are developed by Freescale, then if they
happen to use the peripheral on a non-ARM chip then
the cpu/arm/imx is no good and cpu/arm_imx is also no good.
"cpu/freescale" is then much better for generic stuff
and "cpu/freescale/imx" for things shared only among imx chips.
be a directory, but then it is
> Best regards,
> Wolfgang Denk
Ulf Samuelsson ulf at atmel.com
Atmel Nordic AB
Mail: Box 2033, 174 02 Sundbyberg, Sweden
Visit: Kavallerivägen 24, 174 58 Sundbyberg, Sweden
Phone +46 (8) 441 54 22 Fax +46 (8) 441 54 29
GSM +46 (706) 22 44 57
Technical support when I am not available:
AT89 C51 Applications Group: mailto:micro.hotline at nto.atmel.com
AT90 AVR Applications Group: mailto:avr at atmel.com
AT91 ARM Applications Group: mailto:at91support at atmel.com
FPSLIC Application Group: mailto:fpslic at atmel.com Best AVR
More information about the U-Boot