[U-Boot] [PATCH v2] Add support for KMC KZM-ARM11-01 board
Wolfgang Denk
wd at denx.de
Tue Sep 9 08:57:55 CEST 2008
Dear Atsuo Igarashi,
In message <48C60E4F.6010704 at tripeaks.co.jp> you wrote:
>
> Hi,
>
> I've fixed which Jean-Christophe pointed out.
>
> Regards,
> Atsuo
> ---
> This patch adds support for KMC KZM-ARM11-01 board.
>
> Signed-off-by Atsuo Igarashi <atsuo_igarashi at tripeaks.co.jp>
The you have the content of the message swapped. The "Hi, I've
..Regards, Atsuo" part belongs *below the '---' line, and the "This
patch ... Signed-off-by:" part belongs *above* it.
The text above the '---' line will become the commit message, the text
below it is just comment.
...
> +int board_init (void)
> +{
> + int i;
...
> + /* RedBoot also has an empty loop with 100000 iterations here -
> + * clock doesn't run yet */
Incorrect multiline comment.
> + for (i = 0; i < 100000; i++)
> + ;
...
> + /* clock still doesn't run */
> + for (i = 0; i < 100000; i++)
> + ;
Be careful here, this might not do what you think it does. The
compiler might optimize these loops away.
Why are they needed in the first place?
> +/*
> + * The MX31ADS board seems to have a hardware "peculiarity" confirmed under
> + * U-Boot, RedBoot and Linux: the ethernet Rx signal is reaching the CS8900A
> + * controller inverted. The controller is capable of detecting and correcting
> + * this, but it needs 4 network packets for that. Which means, at startup, you
> + * will not receive answers to the first 4 packest, unless there have been some
> + * broadcasts on the network, or your board is on a hub. Reducing the ARP
> + * timeout from default 5 seconds to 200ms we speed up the initial TFTP
> + * transfer, should the user wish one, significantly.
> + */
> +#define CONFIG_ARP_TIMEOUT 200UL
Is this really needed on your hardware, too? I doubt it.
> +#define CFG_HZ CONFIG_MX31_CLK32 /* use 32kHz clock as source */
This is wrong. CFG_HZ must always be defined as 1000; it is a
constant.
> +/* Address and size of Redundant Environment Sector */
> +#define CFG_ENV_OFFSET_REDUND (CFG_ENV_OFFSET + CFG_ENV_SIZE)
> +#define CFG_ENV_SIZE_REDUND CFG_ENV_SIZE
> +
> +/* S29WS256N NOR flash has 4 32KiB small sectors at the beginning and at the end.
> + * The rest of 32MiB is in 128KiB big sectors. U-Boot occupies the low 4 sectors,
> + * if we put environment next to it, we will have to occupy 128KiB for it.
> + * Putting it at the top of flash we use only 32KiB. */
> +#define CFG_ENV_ADDR (CFG_MONITOR_BASE + CFG_ENV_SECT_SIZE)
This is a very ugly set up, because you split the U-Boot related
informatiomn, and you block both ends of your flash memory. Why don;t
you locate the environment for example in the third and fourts
sectors, i. e. use such a setup (called "embedded environment"):
sector 1: 32 KiB - U-Boot code
sector 2: 32 KiB - more U-Boot code
sector 3: 32 KiB - environment, first copy
sector 4: 32 KiB - environment, second (redundant) copy
sector 5: 128 KiB - more U-Boot code
...
?
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: wd at denx.de
Every living thing wants to survive.
-- Spock, "The Ultimate Computer", stardate 4731.3
More information about the U-Boot
mailing list