From: Kuo-Jung Su <dant...@faraday-tech.com> 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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot