[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