
This patch series adds support for the Synopsys DesignWare ARC700 architecture.
DesignWare ARC700 is family of 32-bit CPUs developed by Synopsys, Inc.
Since version 3.9 ARC architecture is supported in mainline Linux developemnt. And now to get better support in commonly used boot-loader we are introducing port of U-Boot for ARC700 CPUs.
Patches included in this series are also available on GitHub in the 'for-upstream-v4' branch:
git@github.com:foss-for-synopsys-dwc-arc-processors/u-boot.git
Also browsable here:
https://github.com/foss-for-synopsys-dwc-arc-processors/u-boot/tree/for-upst...
NOTE: there's an acked by Tom Rini prerequisite for Arcangel4 board:
http://patchwork.ozlabs.org/patch/300901/
For those who are interested in building this port please download pre-built toolchains for x86_64 hosts.
For RedHat-based distros: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/d...
For Debian-based distros: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/d...
Major changes for v4:
* Clean-up of board configurations.
Each patch that follows has detailed description of its changes.
Alexey Brodkin (9): arc: add architecture header files arc: add cpu files arc: add library functions arc: bdinfo, image and arc-specific init functions declarations support arc: add support for standalone programs arc: add Arcangel4 board support arc: add AXS101 board support arc: add architecture to MAKEALL arc: add README for architecture
MAKEALL | 6 + arch/arc/config.mk | 31 ++++ arch/arc/cpu/arc700/Makefile | 13 ++ arch/arc/cpu/arc700/cache.c | 138 ++++++++++++++++ arch/arc/cpu/arc700/config.mk | 7 + arch/arc/cpu/arc700/cpu.c | 47 ++++++ arch/arc/cpu/arc700/interrupts.c | 142 ++++++++++++++++ arch/arc/cpu/arc700/reset.c | 19 +++ arch/arc/cpu/arc700/start.S | 241 ++++++++++++++++++++++++++++ arch/arc/cpu/arc700/timer.c | 24 +++ arch/arc/cpu/arc700/u-boot.lds | 72 +++++++++ arch/arc/include/asm/arch-arc700/hardware.h | 10 ++ arch/arc/include/asm/arcregs.h | 55 +++++++ arch/arc/include/asm/bitops.h | 19 +++ arch/arc/include/asm/byteorder.h | 23 +++ arch/arc/include/asm/cache.h | 23 +++ arch/arc/include/asm/config.h | 12 ++ arch/arc/include/asm/errno.h | 1 + arch/arc/include/asm/global_data.h | 19 +++ arch/arc/include/asm/io.h | 218 +++++++++++++++++++++++++ arch/arc/include/asm/posix_types.h | 39 +++++ arch/arc/include/asm/ptrace.h | 50 ++++++ arch/arc/include/asm/sections.h | 14 ++ arch/arc/include/asm/string.h | 27 ++++ arch/arc/include/asm/types.h | 55 +++++++ arch/arc/include/asm/u-boot-arc.h | 12 ++ arch/arc/include/asm/u-boot.h | 15 ++ arch/arc/include/asm/unaligned.h | 1 + arch/arc/lib/Makefile | 16 ++ arch/arc/lib/bootm.c | 106 ++++++++++++ arch/arc/lib/memcmp.S | 121 ++++++++++++++ arch/arc/lib/memcpy-700.S | 63 ++++++++ arch/arc/lib/memset.S | 62 +++++++ arch/arc/lib/relocate.c | 72 +++++++++ arch/arc/lib/sections.c | 21 +++ arch/arc/lib/strchr-700.S | 141 ++++++++++++++++ arch/arc/lib/strcmp.S | 97 +++++++++++ arch/arc/lib/strcpy-700.S | 67 ++++++++ arch/arc/lib/strlen.S | 80 +++++++++ board/synopsys/arcangel4/Makefile | 11 ++ board/synopsys/axs101/Makefile | 8 + board/synopsys/axs101/axs101.c | 44 +++++ board/synopsys/axs101/nand.c | 226 ++++++++++++++++++++++++++ boards.cfg | 3 + common/cmd_bdinfo.c | 18 +++ common/image.c | 1 + doc/README.ARC | 27 ++++ examples/standalone/stubs.c | 13 ++ include/common.h | 3 + include/configs/arcangel4-be.h | 92 +++++++++++ include/configs/arcangel4.h | 91 +++++++++++ include/configs/axs101.h | 181 +++++++++++++++++++++ include/image.h | 1 + 53 files changed, 2898 insertions(+) create mode 100644 arch/arc/config.mk create mode 100644 arch/arc/cpu/arc700/Makefile create mode 100644 arch/arc/cpu/arc700/cache.c create mode 100644 arch/arc/cpu/arc700/config.mk create mode 100644 arch/arc/cpu/arc700/cpu.c create mode 100644 arch/arc/cpu/arc700/interrupts.c create mode 100644 arch/arc/cpu/arc700/reset.c create mode 100644 arch/arc/cpu/arc700/start.S create mode 100644 arch/arc/cpu/arc700/timer.c create mode 100644 arch/arc/cpu/arc700/u-boot.lds create mode 100644 arch/arc/include/asm/arch-arc700/hardware.h create mode 100644 arch/arc/include/asm/arcregs.h create mode 100644 arch/arc/include/asm/bitops.h create mode 100644 arch/arc/include/asm/byteorder.h create mode 100644 arch/arc/include/asm/cache.h create mode 100644 arch/arc/include/asm/config.h create mode 100644 arch/arc/include/asm/errno.h create mode 100644 arch/arc/include/asm/global_data.h create mode 100644 arch/arc/include/asm/io.h create mode 100644 arch/arc/include/asm/posix_types.h create mode 100644 arch/arc/include/asm/ptrace.h create mode 100644 arch/arc/include/asm/sections.h create mode 100644 arch/arc/include/asm/string.h create mode 100644 arch/arc/include/asm/types.h create mode 100644 arch/arc/include/asm/u-boot-arc.h create mode 100644 arch/arc/include/asm/u-boot.h create mode 100644 arch/arc/include/asm/unaligned.h create mode 100644 arch/arc/lib/Makefile create mode 100644 arch/arc/lib/bootm.c create mode 100644 arch/arc/lib/memcmp.S create mode 100644 arch/arc/lib/memcpy-700.S create mode 100644 arch/arc/lib/memset.S create mode 100644 arch/arc/lib/relocate.c create mode 100644 arch/arc/lib/sections.c create mode 100644 arch/arc/lib/strchr-700.S create mode 100644 arch/arc/lib/strcmp.S create mode 100644 arch/arc/lib/strcpy-700.S create mode 100644 arch/arc/lib/strlen.S create mode 100644 board/synopsys/arcangel4/Makefile create mode 100644 board/synopsys/axs101/Makefile create mode 100644 board/synopsys/axs101/axs101.c create mode 100644 board/synopsys/axs101/nand.c create mode 100644 doc/README.ARC create mode 100644 include/configs/arcangel4-be.h create mode 100644 include/configs/arcangel4.h create mode 100644 include/configs/axs101.h