Dear Jens Scharsig,

In message <4ae6b186.9030...@bus-elektronik.de> you wrote:
> This patch adds a new ARM AT91RM9200 board, named EB+CPUx9K2.
> 
> * support for EB+CPUx9K2 board by BuS Elektronik GmbH & Co. KG 
> * select via make EB_CPUx9K2_config 
> 
> Signed-off-by: Jens Scharsig <e...@bus-elektronik.de>
> ---
> This patch needs the [PATCH] AT91RM9200 BGA port D defines 
> (http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/50667)

Please use shorter lines.

...
> diff --git a/board/BuS/EB+CPUx9K2/cpux9k2.c b/board/BuS/EB+CPUx9K2/cpux9k2.c
> new file mode 100644
> index 0000000..6c29d91
> --- /dev/null
> +++ b/board/BuS/EB+CPUx9K2/cpux9k2.c
...
> +int board_init(void)
> +{
> +     /* Enable Ctrlc */
> +     console_init_f();
> +
> +     /* Correct IRDA resistor problem / Set PA23_TXD in Output */
> +     ((AT91PS_PIO) AT91C_BASE_PIOA)->PIO_OER = AT91C_PA23_TXD2;

Please use I/O accessors to access device registers. Please fix
globally.

> +int misc_init_r(void)
> +{
...
> +                     if (tm) {
> +                             sprintf(str, "%02x:%02x:%02x:%02x:%02x:%02x",
> +                                     mac[0], mac[1], mac[2],
> +                                     mac[3], mac[4], mac[5]);
> +                             setenv("ethaddr", str);

Please don't reinvent the wheel. Use eth_setenv_enetaddr().

> +/*
> + * DRAM initialisations
> + */
> +
> +int dram_init(void)
> +{
> +     gd->bd->bi_dram[0].start = PHYS_SDRAM;
> +     gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
> +     return 0;

Please consider using get_ram_size() for auto-sizing the memor and
perfoming at least a basic RAM test.

> +unsigned int lxt972_IsPhyConnected(AT91PS_EMAC p_mac);
> +UCHAR lxt972_GetLinkSpeed(AT91PS_EMAC p_mac);
> +UCHAR lxt972_InitPhy(AT91PS_EMAC p_mac);
> +UCHAR lxt972_AutoNegotiate(AT91PS_EMAC p_mac, int *status);

Please don't use non-stanrard data types like UCHAR.


> +void cpux9k2_nand_hw_init(void)
> +{
> +     /* Setup Smart Media, fitst enable the address range of CS3 */
> +     *AT91C_EBI_CSA |= AT91C_EBI_CS3A_SMC_SmartMedia;
> +     /* set the bus interface characteristics based on
> +        tDS Data Set up Time 30 - ns
> +        tDH Data Hold Time 20 - ns
> +        tALS ALE Set up Time 20 - ns
> +        16ns at 60 MHz ~= 3  */
> +     /*memory mapping structures */
> +#define SM_ID_RWH    (5 << 28)
> +#define SM_RWH               (1 << 28)
> +#define SM_RWS               (0 << 24)
> +#define SM_TDF               (1 << 8)
> +#define SM_NWS               (3)

Please don't add #defines right in the middle of the code. Move to
header file, or at least to head of file.

And see comment above - use I/O accessors here and everywhere.

> +#if defined(CONFIG_VIDEO)
> +/*
> + ****h* EB+CPUx9K2/drv_video_init
> + * FUNCTION
> + ***
> + */

Incorrect multiline comment style.

> +int drv_video_init(void)
> +{
> +     char *s;
> +     unsigned long splash;
> +
> +     printf("Init Video as ");
> +     s = getenv("displaywidth");
> +     if (s != NULL)
> +             display_width = simple_strtoul(s, NULL, 10);
> +     else
> +             display_width = 256;
> +     s = getenv("displayheight");
> +     if (s != NULL)
> +             display_height = simple_strtoul(s, NULL, 10);
> +     else
> +             display_height = 256;
> +     printf("%ld x %ld pixel matrix\n", display_width, display_height);
> +
> +     #define SM2_RWH         (0x7 << 28)
> +     #define SM2_RWS         (0x7 << 24)
> +     #define SM2_TDF         (15 << 8)
> +     #define SM2_NWS         (0x7F)

Please don't add #defines right in the middle of the code. Move to
header file, or at least to head of file.

> diff --git a/board/BuS/EB+CPUx9K2/u-boot.lds b/board/BuS/EB+CPUx9K2/u-boot.lds
> new file mode 100644
> index 0000000..f4fbf96
> --- /dev/null
> +++ b/board/BuS/EB+CPUx9K2/u-boot.lds

Do you really need a private linker script? Doesn't look so...

> diff --git a/include/configs/EB_CPUx9K2.h b/include/configs/EB_CPUx9K2.h
> new file mode 100644
> index 0000000..9ff743d
> --- /dev/null
> +++ b/include/configs/EB_CPUx9K2.h
...
> +
> +/*--------------------------------------------------------------------------*/
> +
> +#undef DEBUG
> +
> +/*--------------------------------------------------------------------------*/

Get rid of all this stuff. Don't undef what is not defined in the
beginning, and don't meddle with command line options.


> +#include <config_cmd_default.h>
> +
> +#define CONFIG_CMD_DHCP
> +#define CONFIG_CMD_PING
> +#define CONFIG_CMD_NAND
> +#define CONFIG_CMD_BMP
> +#define      CONFIG_CMD_I2C
> +#define      CONFIG_I2C_CMD_TREE
> +#define      CONFIG_I2C_CMD_NO_FLAT
> +#define      CONFIG_CMD_DATE
> +#define      CONFIG_CMD_JFFS2

You may want to keep such lists sorted. And please use a consistent
style - either always follow #define with a TAB, or (probably better)
always with a space.


> +#define CONFIG_BAUDRATE 115200
> +#define CONFIG_AT91RM9200_USART
> +#define CONFIG_DBGU                  /* define DBGU as console */
> +#undef CONFIG_USART0
> +#undef CONFIG_USART1
> +
> +#undef       CONFIG_HWFLOW
> +#undef       CONFIG_MODEM_SUPPORT

Don;t undefine what is not defined.

> +/*
> + * network
> + */
> +
> +#if 0
> +#define      CONFIG_NET_MULTI                1
> +#define      CONFIG_DRIVER_AT91EMAC          1
> +#define      CONFIG_DRIVER_AT91EMAC_QUIET    1
> +#define      CONFIG_SYS_RX_ETH_BUFFER        8
> +#undef       CONFIG_RMII
> +#define      CONFIG_MII                      1
> +#define      CONFIG_CMD_MII                  1

Don't add dead code.

> +#define CONFIG_SYS_FLASH_ERASE_TOUT  (6*CONFIG_SYS_HZ)
> +#define CONFIG_SYS_FLASH_WRITE_TOUT  (2*CONFIG_SYS_HZ)

This looks wrong to me. A timeout is a time, but CONFIG_SYS_HZ is a
frequency, i. e. the inverse of a time. These don't mix.


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
This all sounds complicated, but it mostly does excatly what you  ex-
pect. It's just difficult for us to explain what you expect...
                       - L. Wall & R. L. Schwartz, _Programming Perl_
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to