[U-Boot-Users] take 3: [PATCH](ARM-specific) New ARM 1176 CPUand board for Energizer SoC
Jean-Paul Saman
jean-paul.saman at nxp.com
Thu Mar 29 12:15:50 CEST 2007
u-boot-users-bounces at lists.sourceforge.net wrote on 28-03-2007 15:00:42:
> In message <OFF997E61F.E5E95D24-ONC12572AC.0033A7F2-C12572AC.
> 00383784 at philips.com> you wrote:
> >
> > > include/asm-arm/arch-arm1176/energizer.h - is this board-specific
> > > code? Why is this in a public directory then?
> > >
> > > include/asm-arm/arch-arm1176/sys_info.h - this also seems very board
> > > specific and should probably be moved out of common header
> > > directories.
> > >
> > > include/asm-arm/arch-arm1176/sys_proto.h - ditto.
> >
> > The placing of the above headerfiles is no different that what is done
in
> > include/asm-arm/arch-arm1136. Do you propose to have them placed in
>
> I'm not 100% sure, but to me it seems as if the files in
> include/asm-arm/arch-arm1136 are relevant for all arm1136 based
> boards, so I would not call them "board-specific".
>
I disagree with the above statement. The files in
include/asm-arm/arch-arm1136 are specific for all TI omap2420 based
boards. Which is not the same as ALL arm1136 boards.
include/asm-arm/arch-arm1136/clocks.h - is about omap specific clocks
include/asm-arm/arch-arm1136/sys_proto.h - has omap specific functions
like:
void prcm_init(void);
void memif_init(void);
void sdrc_init(void);
void do_sdrc_init(u32,u32);
void gpmc_init(void);
include/asm-arm/arch-arm1136/sys_info.h - has omap specific structs and
defines
like:
typedef struct h4_system_data {
/* base board info */
u32 base_b_rev; /* rev from base board i2c */
/* cpu board info */
u32 cpu_b_rev; /* rev from cpu board i2c */
u32 cpu_b_mux; /* mux type on daughter board */
u32 cpu_b_ddr_type; /* mem type */
u32 cpu_b_ddr_speed; /* ddr speed rating */
u32 cpu_b_switches; /* boot ctrl switch settings */
/* cpu info */
u32 cpu_type; /* type of cpu; 2420, 2422,
2430,...*/
u32 cpu_rev; /* rev of given cpu; ES1,
ES2,...*/
} h4_sys_data;
and
#define CPU_2420_CHIPID 0x0B5D9000
#define CPU_24XX_ID_MASK 0x0FFFF000
include/asm-arm/arch-arm1136/mem.h - omap specific
defines:H4_2420_SDRC_*
include/asm-arm/arch-arm1136/mux.h - specific for omap boards
include/asm-arm/arch-arm1136/omap2420.h - specific for omap2420 board
> On the other hand, the files flagged above are only relevant to the
> energizer board.
include/asm-arm/arch-arm1176/sys_proto.h - only holds board prototypes
used in lib_arm/board.c
> > another location include/asm-arm/arch-arm1176/energizer perhaps?
>
> No. As these are board-specific, they should go to the board
> directory.
There is one headerfile that needs to be used in cpu/arm1176 because it
holds the location of the configuration registers. I think it should be
placed somewhere in the include directory. Is there a policy for board
specific headerfiles that holds configuration register defines? For
instance: include/asm-arm/arch-energizer ?
Kind greetings,
Jean-Paul Saman
More information about the U-Boot
mailing list