[U-Boot] [PATCH v3 0/6] arm: mvf600: Add Freescale Vybrid MVF600 CPU and MVF600TWR board support

Alison Wang b18965 at freescale.com
Tue May 21 11:02:55 CEST 2013


This series contain the support for Freescale Vybrid MVF600 CPU and MVF600TWR board.

Vybird devices are built on an asymmetrical-multiprocessing architecture
using ARM cores. The families in the Vybrid portfolio span entry-level,
single core Cortex-A class SoCs all the way to dual heterogeneous core SoCs
with multiple communication and connectivity options.

Part of the Vybrid platform, MVF600 is a dual-core eMPU combining the ARM
Cortex A5 and Cortex M4 cores.

MVF600 shares some IPs with i.MX family, such as FEC,ESDHC,WATCHDOG,I2C,ASRC and ESAI.
MVF600 also shares some IPs with ColdFire family, such as eDMA and DSPI.
MVF600 still has its own IPs, such as PIT,SAI,UART,QSPI and DCU.

More documents for this soc can be found at:
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=VF6xx&fsrch=1&sr=5
http://www.freescale.com/webapp/sps/site/homepage.jsp?code=VYBRID

The u-boot runs on Cortex A5 core.

Changes in v3:
- Rename the common functions and enums
- Move the structure definitions to imx-regs.h
- Define PAD_CTL_PUE with PKE enabled
- Remove the changes for FEC_RCNTRL_RGMII / FEC_RCNTRL_RMII / FEC_RCNTRL_MII_MODE
bits, as they are already set in fec_reg_setup()
- Replace BOOT_FROM by BOOT_OFFSET
- Enable CONFIG_OF_LIBFDT option
- Add useful define instead of raw number
- Use clrsetbits_le32 to set the single bits
- Move setup_iomux_enet() to board_early_init_f and remove board_eth_init()
- Remove redundant define
- Move CONFIG_IOMUX_SHARE_CONF_REG to imx-regs.h

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'
- Use common iomux-v3 code
- Use common FEC driver fec_mxc.c
- Add watchdog support
- Add an entry to MAINTAINERS file
- Rename directory name 'vybird' to 'mvf600twr'
- Use standard method to set gd->ram_size
- Rewrite board_mmc_getcd() function
- Remove useless undef
- Remove hardcoded IP addresses and MAC addresses
- Move CONFIG_MACH_TYPE to board configuration file

----------------------------------------------------------------
Alison Wang (6):
      arm: mvf600: Add Vybrid MVF600 CPU support
      arm: mvf600: Add IOMUX support for Vybrid MVF600
      net: fec_mxc: Add support for Vybrid MVF600
      arm: mvf600: Add watchdog support for Vybrid MVF600
      arm: mvf600: Add uart support for Vybrid MVF600
      arm: mvf600: Add basic support for Vybrid MVF600TWR board

 MAINTAINERS                                 |   4 ++
 Makefile                                    |   2 +-
 arch/arm/cpu/armv7/mvf600/Makefile          |  42 +++++++++++
 arch/arm/cpu/armv7/mvf600/generic.c         | 324 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/cpu/armv7/mvf600/timer.c           | 103 ++++++++++++++++++++++++++
 arch/arm/imx-common/Makefile                |   2 +-
 arch/arm/imx-common/iomux-v3.c              |   6 ++
 arch/arm/include/asm/arch-mvf600/clock.h    |  39 ++++++++++
 arch/arm/include/asm/arch-mvf600/crm_regs.h | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/include/asm/arch-mvf600/imx-regs.h | 411 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/include/asm/arch-mvf600/mvf_pins.h |  92 ++++++++++++++++++++++++
 arch/arm/include/asm/imx-common/iomux-v3.h  |  18 +++++
 board/freescale/mvf600twr/Makefile          |  39 ++++++++++
 board/freescale/mvf600twr/imximage.cfg      |  33 +++++++++
 board/freescale/mvf600twr/mvf600twr.c       | 413 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 boards.cfg                                  |   1 +
 drivers/net/fec_mxc.c                       |   4 +-
 drivers/serial/Makefile                     |   1 +
 drivers/serial/serial_lpuart.c              | 132 ++++++++++++++++++++++++++++++++++
 drivers/watchdog/Makefile                   |   2 +-
 include/configs/mvf600twr.h                 | 140 ++++++++++++++++++++++++++++++++++++
 21 files changed, 2027 insertions(+), 6 deletions(-)
 create mode 100644 arch/arm/cpu/armv7/mvf600/Makefile
 create mode 100644 arch/arm/cpu/armv7/mvf600/generic.c
 create mode 100644 arch/arm/cpu/armv7/mvf600/timer.c
 create mode 100644 arch/arm/include/asm/arch-mvf600/clock.h
 create mode 100644 arch/arm/include/asm/arch-mvf600/crm_regs.h
 create mode 100644 arch/arm/include/asm/arch-mvf600/imx-regs.h
 create mode 100644 arch/arm/include/asm/arch-mvf600/mvf_pins.h
 create mode 100644 board/freescale/mvf600twr/Makefile
 create mode 100644 board/freescale/mvf600twr/imximage.cfg
 create mode 100644 board/freescale/mvf600twr/mvf600twr.c
 create mode 100644 drivers/serial/serial_lpuart.c
 create mode 100644 include/configs/mvf600twr.h




More information about the U-Boot mailing list