[U-Boot] [PATCH v4 0/7] arm: add Faraday A36x SoC platform support

Kuo-Jung Su
2013-05-07T06:25:06Z

These patches introduce Faraday A36x SoC platform support.

Here are some public documents for your reference.

http://www.faraday-tech.com/html/documentation/index.html

There is also a A369 QEMU emulator available at my github account:

https://github.com/dantesu1218/qemu.git

Here is quick start for QEMU:

1. Download the QEMU source tree

$ git clone -b qemu-1.3.0 https://github.com/dantesu1218/qemu.git

2. Build & Install the QEMU:

$ ./configure --target-list=arm-softmmu
$ make
$ make install

3. Launch u-boot with QEMU:

$ qemu-system-arm -M a369 -m 512M -nographic -kernel ~/u-boot-devel/u-boot

Changes for v4:
- Coding Style cleanup.
- Break down the patch series:
- Patches without hard dependency to this series are now
seperate patches.
- Split up the patch into more logical changesets
(i.e. interrupt & timers are now split up)
- Drop the faraday/nand.h to remove dependency to ftnandc021
- Drop the faraday/mmc.h to remove dependency to ftsdc010
- Add change logs to each part of the patch series to make
patchwork be able to grab comments.

Changes for v3:
- Coding Style cleanup.
There is still one warnning reported by checkpatch.pl,
however it's too deep for me to fix it.
Here is the shapshot for it:
-----------------------------------------------------
WARNING: do not add new typedefs
#9735: FILE: include/lcd.h:258:
+typedef struct vidinfo {
-----------------------------------------------------
- Drop bit fields from c struct.
- Drop macros for wirtel()/readl(), call them directly.
- Always insert a blank line between declarations and code.
- Replace all the infinite wait loop with a timeout.
- Add '__iomem' to all the declaration of HW register pointers.
- cmd_boot.c: Make it a separate stand-alone patch.
- ftspi020: Make it a separate stand-alone patch.
- dma-mapping.h: Have the global data ptr declared outside functions.
- dma-mapping.h: Add #if...#else...#endif to dma_free_coherent().
- MMU/D-Cache: Drop static non-cached region, now we use
map_physmem()/unmap_physmem() for dynamic mappings.
- ftmac110: Make a correction to multi-line comment style
- ftmac110: Use random MAC address while having trouble
to get one from environment variables.
- ftmac110: Add comments to timing control registers.
- ftnandc021: Re-write this driver with ECC enabled and
correct column address handling for OOB read/write,
and fixing issused addressed by Scott.
- a36x_config: No more static global network configurations.
- a36x_config: Add a common file for the redundant configurations.

Changes for v2:
- Coding Style cleanup.
- Use readl(), writel(), clrsetbits_le32() to replace REG() macros.
- Use structure based hardware registers to replace the macro constants.
- Replace BIT() with BIT_MASK().
- echi-faraday: Remove debug codes.
- ftmac110: Remove debug codes.
- cache-cp15: Enable write buffer in write-through mode.

Kuo-Jung Su (7):
arm: add MMU/D-Cache support for Faraday cores
arm: add Faraday common utilities
arm: add Faraday FTINTC020 interrupt controller support
arm: add Faraday FTTMR010 timer support
arm: add Faraday FTPWMTMR010 timer support
arm: add Faraday firmware image utility
arm: add Faraday A36x SoC platform support

arch/arm/cpu/faraday/Makefile | 57 ++++
arch/arm/cpu/faraday/a360/Makefile | 49 +++
arch/arm/cpu/faraday/a369/Makefile | 50 +++
arch/arm/cpu/faraday/a369/cmd_fa606.c | 77 +++++
arch/arm/cpu/faraday/cmd_bootfa.c | 132 ++++++++
arch/arm/cpu/faraday/config.mk | 33 ++
arch/arm/cpu/faraday/cpu.c | 280 +++++++++++++++
arch/arm/cpu/faraday/ftpwmtmr010.c | 160 +++++++++
arch/arm/cpu/faraday/fttmr010.c | 160 +++++++++
arch/arm/cpu/faraday/fwimage.h | 38 +++
arch/arm/cpu/faraday/fwimage2.h | 70 ++++
arch/arm/cpu/faraday/interrupts.c | 151 +++++++++
arch/arm/cpu/faraday/start.S | 523 +++++++++++++++++++++++++++++
arch/arm/cpu/u-boot.lds | 11 +
arch/arm/include/asm/arch-a360/hardware.h | 73 ++++
arch/arm/include/asm/arch-a360/pmu.h | 39 +++
arch/arm/include/asm/arch-a360/scu.h | 27 ++
arch/arm/include/asm/arch-a369/ahbc.h | 23 ++
arch/arm/include/asm/arch-a369/hardware.h | 88 +++++
arch/arm/include/asm/arch-a369/scu.h | 213 ++++++++++++
arch/arm/include/asm/dma-mapping.h | 61 +++-
arch/arm/include/asm/global_data.h | 4 +
arch/arm/include/asm/io.h | 160 ++++++++-
arch/arm/include/asm/mach-types.h | 1 +
arch/arm/include/asm/system.h | 7 +-
arch/arm/lib/cache-cp15.c | 30 ++
board/faraday/a360evb/Makefile | 49 +++
board/faraday/a360evb/board.c | 73 ++++
board/faraday/a360evb/clk.c | 57 ++++
board/faraday/a360evb/config.mk | 33 ++
board/faraday/a360evb/lowlevel_init.S | 33 ++
board/faraday/a369evb/Makefile | 49 +++
board/faraday/a369evb/board.c | 184 ++++++++++
board/faraday/a369evb/clk.c | 80 +++++
board/faraday/a369evb/config.mk | 33 ++
board/faraday/a369evb/lowlevel_init.S | 136 ++++++++
boards.cfg | 3 +
drivers/mtd/cfi_flash.c | 2 +-
include/common.h | 13 +
include/configs/a360.h | 63 ++++
include/configs/a369-common.h | 74 ++++
include/configs/a369.h | 33 ++
include/configs/a369_fa606te.h | 29 ++
include/configs/faraday-common.h | 304 +++++++++++++++++
include/faraday/ftintc020.h | 37 ++
include/faraday/ftpwmtmr010.h | 41 +++
include/faraday/ftsmc020.h | 1 +
include/faraday/fttmr010.h | 17 +
48 files changed, 3847 insertions(+), 14 deletions(-)
create mode 100644 arch/arm/cpu/faraday/Makefile
create mode 100644 arch/arm/cpu/faraday/a360/Makefile
create mode 100644 arch/arm/cpu/faraday/a369/Makefile
create mode 100644 arch/arm/cpu/faraday/a369/cmd_fa606.c
create mode 100644 arch/arm/cpu/faraday/cmd_bootfa.c
create mode 100644 arch/arm/cpu/faraday/config.mk
create mode 100644 arch/arm/cpu/faraday/cpu.c
create mode 100644 arch/arm/cpu/faraday/ftpwmtmr010.c
create mode 100644 arch/arm/cpu/faraday/fttmr010.c
create mode 100644 arch/arm/cpu/faraday/fwimage.h
create mode 100644 arch/arm/cpu/faraday/fwimage2.h
create mode 100644 arch/arm/cpu/faraday/interrupts.c
create mode 100644 arch/arm/cpu/faraday/start.S
create mode 100644 arch/arm/include/asm/arch-a360/hardware.h
create mode 100644 arch/arm/include/asm/arch-a360/pmu.h
create mode 100644 arch/arm/include/asm/arch-a360/scu.h
create mode 100644 arch/arm/include/asm/arch-a369/ahbc.h
create mode 100644 arch/arm/include/asm/arch-a369/hardware.h
create mode 100644 arch/arm/include/asm/arch-a369/scu.h
create mode 100644 board/faraday/a360evb/Makefile
create mode 100644 board/faraday/a360evb/board.c
create mode 100644 board/faraday/a360evb/clk.c
create mode 100644 board/faraday/a360evb/config.mk
create mode 100644 board/faraday/a360evb/lowlevel_init.S
create mode 100644 board/faraday/a369evb/Makefile
create mode 100644 board/faraday/a369evb/board.c
create mode 100644 board/faraday/a369evb/clk.c
create mode 100644 board/faraday/a369evb/config.mk
create mode 100644 board/faraday/a369evb/lowlevel_init.S
create mode 100644 include/configs/a360.h
create mode 100644 include/configs/a369-common.h
create mode 100644 include/configs/a369.h
create mode 100644 include/configs/a369_fa606te.h
create mode 100644 include/configs/faraday-common.h
create mode 100644 include/faraday/ftintc020.h
create mode 100644 include/faraday/ftpwmtmr010.h

--
1.7.9.5