[U-Boot] [PATCH V2 1/2] ARMV7: Versatile Express Coretile CortexA9x4 support
Wolfgang Denk
wd at denx.de
Sun Aug 8 00:20:59 CEST 2010
Dear matt.waddel at linaro.org,
In message <1280373167-20890-2-git-send-email-matt.waddel at linaro.org> you wrote:
> From: Matt Waddel <matt.waddel at linaro.org>
>
> Adds support for the ARM quad-core Cortex-A9 processor. This system
> includes a motherboard(Versatile Express), daughterboard(Coretile),
> and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash
> systems work with these additions. The naming convention is:
> SOC -> CortexA9 quad core = ca9x4
> daughterboard -> Coretile = ct
> motherboard -> Versatile Express = vxp
> This gives ca9x4_ct_vxp.c as the board support file.
>
> Signed-off-by: Matt Waddel <matt.waddel at linaro.org>
...
> --- a/MAKEALL
> +++ b/MAKEALL
> @@ -663,6 +663,7 @@ LIST_ARMV7=" \
> omap4_sdp4430 \
> s5p_goni \
> smdkc100 \
> + ca9x4_ct_vxp \
Please keep lists sorted.
> +++ b/arch/arm/include/asm/arch-armv7/systimer.h
> @@ -0,0 +1,50 @@
...
> +struct systimer {
> + u32 Timer0Load; /* 0x00 */
> + u32 Timer0Value;
> + u32 Timer0Control;
> + u32 Timer0IntClr;
> + u32 Timer0RIS;
> + u32 Timer0MIS;
> + u32 Timer0BGLoad;
> + u32 Timer1Load; /* 0x20 */
> + u32 Timer1Value;
> + u32 Timer1Control;
> + u32 Timer1IntClr;
> + u32 Timer1RIS;
> + u32 Timer1MIS;
> + u32 Timer1BGLoad;
We don't allow CamelCase identifiers in U-Boot. Variable names must be
all lower case. Please fix globally.
> +++ b/board/armltd/vexpress/ca9x4_ct_vxp.c
> @@ -0,0 +1,231 @@
....
> +#if defined(CONFIG_SHOW_BOOT_PROGRESS)
> +void show_boot_progress(int progress)
> +{
> + printf("Boot reached stage %d\n", progress);
Indentation by TABs only. Please fix globally.
...
> +int misc_init_r(void)
> +{
> + setenv("verify", "n");
> + return 0;
> +}
NAK. We don't allow that such decisions are enforced on the end user.
Feel free to add such a default setting to your environment, but leave
the user the freedom to decide otherwise.
> +static void flash__init(void)
> +{
> + /* Setup the sytem control register to allow writing to flash */
> + uint tmp = *(uint *)(VEXPRESS_FLASHCTRL);
> + tmp |= VEXPRESS_FLASHPROG_FLVPPEN;
> + *(uint *)(VEXPRESS_FLASHCTRL) = tmp;
NAK. Please always use I/O accessors to access device registers and
the like. Please fix globally.
> +/* Use the ARM Watchdog System to cause reset */
> +void reset_cpu(ulong addr)
> +{
> + writeb(WDT_EN, &wdt_base->WdogControl);
> + writel(WDT_RESET_LOAD, &wdt_base->WdogLoad);
Does a
while (1)
;
make sense here?
...
> +TEXT_BASE = 0x06000000
> +
> +LDSCRIPT := $(SRCTREE)/board/armltd/vexpress/u-boot.lds
> +
Please do not add trailing empty lines.
> +/* Sample environment settings */
> +#define CONFIG_BOOTCOMMAND "bootm"
> +#define CONFIG_BOOTARGS "root=/dev/nfs ip=dhcp mem=1024M " \
> + "console=ttyAMA0 video=vc:1-2clcdfb: "\
> + "nfsroot=10.1.77.36:/work/exports/share"
> +#define CONFIG_EXTRA_ENV_SETTINGS "ethaddr=00:02:F7:00:19:17\0" \
> + "ipaddr=10.1.77.77\0" \
> + "gatewayip=10.1.77.1\0" \
> + "serverip=10.1.77.36\0"
> +#define CONFIG_BOOTFILE "/work/exports/vexpress"
NAK. We do not allow network settings in the default configuration.
They may make sense to you, but they do not make sense to most others.
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
They're usually so busy thinking about what happens next that the
only time they ever find out what is happening now is when they come
to look back on it. - Terry Pratchett, _Wyrd Sisters_
More information about the U-Boot
mailing list