[U-Boot] [PATCH v2 1/6] arm: mvf600: Add Vybrid MVF600 CPU support

Albert ARIBAUD albert.u.boot at aribaud.net
Wed May 15 14:09:29 CEST 2013


Hi Stefano,

On Wed, 15 May 2013 10:13:36 +0200, Stefano Babic <sbabic at denx.de>
wrote:

> On 14/05/2013 11:51, Alison Wang wrote:
> > This patch adds generic codes to support Freescale's Vybrid MVF600 CPU.
> > 
> > It aligns Vybrid MVF600 platform with i.MX platform. As there are
> > some differences between MVF600 and i.MX platforms, the specific
> > codes are in the arch/arm/cpu/armv7/mvf600 directory.
> > 
> > Signed-off-by: Alison Wang <b18965 at freescale.com>
> > ---
> 
> Hi Alison,
> 
> > Changes in v2:
> > - Remove vybrid-common directory
> > - Rename directory name 'vybrid' to 'mvf600'
> > - Add generic.c file
> > - Rewrite get_reset_cause() to make it readable
> > - Remove reset_cpu(), and use the function in imx_watchdog.c
> > - Rewrite timer.c file
> > - Use vybrid_get_clock(VYBRID_UART_CLK) instead of vybrid_get_uartclk()
> > - Remove lowlevel_init.S, and add clock_init() in board_early_init_f()
> > - Remove useless CONFIG_SYS_ defines
> > - Move CONFIG_MACH_TYPE to board configuration file
> > - Define C structures and access C structures to set/read registers
> > - Remove useless errata
> > - Remove useless macros
> > - Rename directory 'arch-vybrid' to 'arch-mvf600' 
> > 
> >  Makefile                                    |   2 +-
> >  arch/arm/cpu/armv7/mvf600/Makefile          |  42 ++++
> >  arch/arm/cpu/armv7/mvf600/generic.c         | 309 ++++++++++++++++++++++++++++
> 
> Just a minor concern here. The SOC is a ARMv5, but files go into the
> armv7 directory. Maybe the bigger issue can be with the increasing
> number of work-around (CONFIG_ERRATA) that flow into start.S for armv7,
> that are specific only for armv7. I know that for ARMv5 we split
> differently instead of ARM architecture (ARM926,...).
> 
> Albert, what do you think about ? Should these files be moved away from
> armv7 ?

If the SoC is ARMv5, then yes, its arch/arm/cpu files should not go in
armv7 -- and then, we may have to discuss whether, and how, to factorize
ISA-level code. Maybe we need an arch/arm/isa/armv{4,5,6,7...} beside
arch/cpu, and move wherever is isa-specific there.

Regarding errata, I don't understand your point: if they are specific
to armv7, then arch/arm/cpu/armv7/start.S seems to be the place to put
them (assuming they affect execution before board_init_f() of course).

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list