[U-Boot] [PATCH 5/8 v3] P1021: add P1021MDS board support

Haiying Wang Haiying.Wang at freescale.com
Fri Jan 28 20:22:14 CET 2011


On Fri, 2011-01-28 at 13:06 -0600, Timur Tabi wrote:
> On Thu, Jan 27, 2011 at 10:58 PM,  <Haiying.Wang at freescale.com> wrote:
> 
> > +/* These are used when DDR doesn't use SPD.  */
> > +#define CONFIG_SYS_SDRAM_SIZE           512            /* DDR is 512MB */
> > +#define CONFIG_SYS_DDR_CS0_BNDS         0x0000001F
> > +#define CONFIG_SYS_DDR_CS0_CONFIG       0x80014202
> > +#define CONFIG_SYS_DDR_CS0_CONFIG_2    0x00000000
> > +#define CONFIG_SYS_DDR_SDRAM_CFG       0x47000000
> > +#define CONFIG_SYS_DDR_SDRAM_CFG_2     0x04401040
> > +#define CONFIG_SYS_DDR_ZQ_CNTL         0x89080600
> > +#define CONFIG_SYS_DDR_WRLVL_CNTL      0x86559608
> > +#define CONFIG_SYS_DDR_CDR_1           0x000eaa00
> > +#define CONFIG_SYS_DDR_CDR_2           0x00000000
> > +#define CONFIG_SYS_DDR_OCD_CTRL         0x00000000
> > +#define CONFIG_SYS_DDR_OCD_STATUS       0x00000000
> > +#define CONFIG_SYS_DDR_CONTROL          0x470c0000      /* Type = DDR3 */
> > +#define CONFIG_SYS_DDR_CONTROL_2       0x04401050
> > +#define CONFIG_SYS_DDR_DATA_INIT        0x1021babe
> > +#define CONFIG_SYS_DDR_TIMING_3                0x00010000
> > +#define CONFIG_SYS_DDR_TIMING_0                0x00330004
> > +#define CONFIG_SYS_DDR_TIMING_1                0x5d5bd746
> > +#define CONFIG_SYS_DDR_TIMING_2                0x0fa8c8cd
> > +#define CONFIG_SYS_DDR_SDRAM_MODE      0x40461320
> > +#define CONFIG_SYS_DDR_SDRAM_MODE_2    0x8000C000
> > +#define CONFIG_SYS_DDR_SDRAM_INTERVAL  0x0a280000
> > +#define CONFIG_SYS_DDR_SDRAM_CLK_CNTL  0x03000000
> > +#define CONFIG_SYS_DDR_TIMING_4                0x00220001
> > +#define CONFIG_SYS_DDR_TIMING_5                0x03402400
> 
> Aren't static DDR configurations now handled in a board-specific
> source file?  Look at board/freescale/corenet_ds/p4080ds_ddr.c
yes, static ddr configurations are handled in board c file, but it
doesn't matter to define those MACROs in header file. But anyway, I've
remove static ddr setting from board file as Scott suggested, so I
should remove above setting in header file. 

> 
> > +#define CONFIG_ID_EEPROM
> > +#ifdef CONFIG_ID_EEPROM
> > +#define CONFIG_SYS_I2C_EEPROM_NXID
> > +#endif
> 
> No need for the #ifdef here.  CONFIG_SYS_I2C_EEPROM_NXID is not used
> in any Makefile.
OK.

> 
> > +#define CONFIG_SYS_I2C_EEPROM_ADDR      0x52
> 
> Not 0x57?  That's where the NXID EEPROM almost always is.
It is board specific value, isn't it? P1021MDS does use 0x52 for board eeprom.

> > +void putc(char c)
> > +{
> > +       if (c == '\n')
> > +               NS16550_putc((NS16550_t)CONFIG_SYS_NS16550_COM1, '\r');
> > +
> > +       NS16550_putc((NS16550_t)CONFIG_SYS_NS16550_COM1, c);
> > +}
> > +
> > +void puts(const char *str)
> > +{
> > +       while (*str)
> > +               putc(*str++);
> > +}
> 
> These look like functions that shouldn't be in board-specific code.
> 
Scott replied you. I also think with partial linking, this can be
factored out. 

Haiying




More information about the U-Boot mailing list