[U-Boot] [PATCH v4 0/6] U-Boot port to Xtensa architecture

Max Filippov jcmvbkbc at gmail.com
Wed Aug 10 17:36:42 CEST 2016


Hello,

this series adds U-Boot port to Xtensa, configurable processor architecture
from Tensilica, Inc., now Cadence Design Systems Inc. It depends on the
following patch series:
- net/ethoc improvements
  http://lists.denx.de/pipermail/u-boot/2016-August/263040.html
- drivers/sysreset: group sysreset drivers
  http://lists.denx.de/pipermail/u-boot/2016-August/263200.html

Two patches add proper xtensa bits: changes to shares files and contents
of arch/xtensa. Next three patches add three sample xtensa CPU
configurations: one without MMU, with MMUv2 and with MMUv3.
One more patch adds xtfpga board family that consists of Avnet LX60, LX110
and LX200 and Xilinx ML605 and KC705 FPGA boards configured with xtensa
bitstream.

The whole series is also available in the following git tree:

git://github.com/jcmvbkbc/u-boot-xtensa.git tags/xtensa-for-mainline-v4

The port has been done mainly by Chris Zankel. I've been maintaining it
internally for some time now and I'll maintain it upstream.

Changes v3->v4:
- use __attribute__((section(".data"))) with gd;
- always define interrupt_init, enable_interrupts and disable_interrupts;
- rebase to sysreset consolidation patch, move sysreset driver to
  drivers/sysreset.

Changes v2->v3:
- move do_bdinfo refactoring and OpenCores ethernet patches to separate
  series;

- drop changes to the MAKEALL script;
- refactor do_bdinfo;
- fix wording of doc/README.xtensa;
- rewrite memory exception handling part in doc/README.xtensa.
- add bss clearing call to init_sequence_f;

- fix comment wording and stylistic issues;
- drop {HAVE,SYS}_GENERIC_BOARD from Kconfig;
- drop ASCDISP, display_printf and include/asm/xtensa.h;
- drop 10 second delay in unhandled_exception;
- don's silence invalid memory access, report and panic;
- move bss clearing to c code;
- drop custom do_reset implementation;

- fix core configuration files license;
- add comment that core configuration files are autogenerated;

- drop LCD display support;
- add reset driver;
- add ethernet device configuration for DM_ETH driver;
- enable phylib in defconfig;

Changes v1->v2:
- code rebased to v2016.07-rc3;
- the port now uses generic board;
- timer_get_us is implemented for CPU cores that have CCOUNT option;
- functional atomic.h is provided;
- both windowed and call0 ABIs are supported;
- noMMU, MMUv2 and MMUv3 cores are supported;
- CONFIG_OF_CONTROL is supported and DTS for the latest XTFPGA boards
  are provided.

Chris Zankel (4):
  xtensa: add support for the xtensa processor architecture [1/2]
  xtensa: add support for the xtensa processor architecture [2/2]
  xtensa: add core information for the dc232b processor
  xtensa: add support for the 'xtfpga' evaluation board

Max Filippov (2):
  xtensa: add core information for the dc233c processor
  xtensa: add core information for the de212 processor

 MAINTAINERS                                   |   5 +
 Makefile                                      |  10 +-
 arch/Kconfig                                  |   6 +
 arch/xtensa/Kconfig                           |  21 +
 arch/xtensa/Makefile                          |   8 +
 arch/xtensa/config.mk                         |  12 +
 arch/xtensa/cpu/Makefile                      |   9 +
 arch/xtensa/cpu/cpu.c                         |  49 ++
 arch/xtensa/cpu/exceptions.c                  |  44 ++
 arch/xtensa/cpu/start.S                       | 677 ++++++++++++++++++++++++++
 arch/xtensa/cpu/u-boot.lds                    | 116 +++++
 arch/xtensa/dts/Makefile                      |  15 +
 arch/xtensa/dts/include/dt-bindings           |   1 +
 arch/xtensa/dts/kc705.dts                     |  15 +
 arch/xtensa/dts/kc705_nommu.dts               |  17 +
 arch/xtensa/dts/ml605.dts                     |  15 +
 arch/xtensa/dts/ml605_nommu.dts               |  18 +
 arch/xtensa/dts/xtfpga-flash-128m.dtsi        |  28 ++
 arch/xtensa/dts/xtfpga-flash-16m.dtsi         |  28 ++
 arch/xtensa/dts/xtfpga.dtsi                   | 137 ++++++
 arch/xtensa/include/asm/addrspace.h           |  31 ++
 arch/xtensa/include/asm/arch-dc232b/core.h    | 423 ++++++++++++++++
 arch/xtensa/include/asm/arch-dc232b/tie-asm.h | 121 +++++
 arch/xtensa/include/asm/arch-dc232b/tie.h     | 130 +++++
 arch/xtensa/include/asm/arch-dc233c/core.h    | 454 +++++++++++++++++
 arch/xtensa/include/asm/arch-dc233c/tie-asm.h | 173 +++++++
 arch/xtensa/include/asm/arch-dc233c/tie.h     | 130 +++++
 arch/xtensa/include/asm/arch-de212/core.h     | 573 ++++++++++++++++++++++
 arch/xtensa/include/asm/arch-de212/tie-asm.h  | 150 ++++++
 arch/xtensa/include/asm/arch-de212/tie.h      | 116 +++++
 arch/xtensa/include/asm/asmmacro.h            | 152 ++++++
 arch/xtensa/include/asm/atomic.h              |  55 +++
 arch/xtensa/include/asm/bitops.h              |  36 ++
 arch/xtensa/include/asm/bootparam.h           |  54 ++
 arch/xtensa/include/asm/byteorder.h           |  83 ++++
 arch/xtensa/include/asm/cache.h               |  25 +
 arch/xtensa/include/asm/cacheasm.h            | 211 ++++++++
 arch/xtensa/include/asm/config.h              |  24 +
 arch/xtensa/include/asm/errno.h               |   1 +
 arch/xtensa/include/asm/global_data.h         |  20 +
 arch/xtensa/include/asm/io.h                  | 148 ++++++
 arch/xtensa/include/asm/ldscript.h            | 222 +++++++++
 arch/xtensa/include/asm/linkage.h             |   4 +
 arch/xtensa/include/asm/misc.h                |  20 +
 arch/xtensa/include/asm/posix_types.h         |  74 +++
 arch/xtensa/include/asm/processor.h           |  11 +
 arch/xtensa/include/asm/ptrace.h              | 133 +++++
 arch/xtensa/include/asm/regs.h                |  95 ++++
 arch/xtensa/include/asm/relocate.h            |  14 +
 arch/xtensa/include/asm/sections.h            |  12 +
 arch/xtensa/include/asm/string.h              |  10 +
 arch/xtensa/include/asm/system.h              |  27 +
 arch/xtensa/include/asm/types.h               |  60 +++
 arch/xtensa/include/asm/u-boot.h              |  41 ++
 arch/xtensa/include/asm/unaligned.h           |   6 +
 arch/xtensa/lib/Makefile                      |  10 +
 arch/xtensa/lib/bootm.c                       | 197 ++++++++
 arch/xtensa/lib/cache.c                       |  60 +++
 arch/xtensa/lib/misc.S                        | 179 +++++++
 arch/xtensa/lib/relocate.c                    |  18 +
 arch/xtensa/lib/time.c                        | 121 +++++
 board/cadence/xtfpga/Kconfig                  |  39 ++
 board/cadence/xtfpga/MAINTAINERS              |   7 +
 board/cadence/xtfpga/Makefile                 |   7 +
 board/cadence/xtfpga/README                   | 125 +++++
 board/cadence/xtfpga/xtfpga.c                 | 115 +++++
 cmd/bdinfo.c                                  |   8 +
 common/board_f.c                              |  12 +-
 common/image.c                                |   1 +
 configs/xtfpga_defconfig                      |  22 +
 doc/README.xtensa                             |  97 ++++
 drivers/sysreset/Makefile                     |   1 +
 drivers/sysreset/sysreset_xtfpga.c            |  37 ++
 examples/standalone/stubs.c                   |  47 ++
 include/configs/xtfpga.h                      | 268 ++++++++++
 include/image.h                               |   1 +
 include/linux/stat.h                          |   4 +-
 77 files changed, 6440 insertions(+), 6 deletions(-)
 create mode 100644 arch/xtensa/Kconfig
 create mode 100644 arch/xtensa/Makefile
 create mode 100644 arch/xtensa/config.mk
 create mode 100644 arch/xtensa/cpu/Makefile
 create mode 100644 arch/xtensa/cpu/cpu.c
 create mode 100644 arch/xtensa/cpu/exceptions.c
 create mode 100644 arch/xtensa/cpu/start.S
 create mode 100644 arch/xtensa/cpu/u-boot.lds
 create mode 100644 arch/xtensa/dts/Makefile
 create mode 120000 arch/xtensa/dts/include/dt-bindings
 create mode 100644 arch/xtensa/dts/kc705.dts
 create mode 100644 arch/xtensa/dts/kc705_nommu.dts
 create mode 100644 arch/xtensa/dts/ml605.dts
 create mode 100644 arch/xtensa/dts/ml605_nommu.dts
 create mode 100644 arch/xtensa/dts/xtfpga-flash-128m.dtsi
 create mode 100644 arch/xtensa/dts/xtfpga-flash-16m.dtsi
 create mode 100644 arch/xtensa/dts/xtfpga.dtsi
 create mode 100644 arch/xtensa/include/asm/addrspace.h
 create mode 100644 arch/xtensa/include/asm/arch-dc232b/core.h
 create mode 100644 arch/xtensa/include/asm/arch-dc232b/tie-asm.h
 create mode 100644 arch/xtensa/include/asm/arch-dc232b/tie.h
 create mode 100644 arch/xtensa/include/asm/arch-dc233c/core.h
 create mode 100644 arch/xtensa/include/asm/arch-dc233c/tie-asm.h
 create mode 100644 arch/xtensa/include/asm/arch-dc233c/tie.h
 create mode 100644 arch/xtensa/include/asm/arch-de212/core.h
 create mode 100644 arch/xtensa/include/asm/arch-de212/tie-asm.h
 create mode 100644 arch/xtensa/include/asm/arch-de212/tie.h
 create mode 100644 arch/xtensa/include/asm/asmmacro.h
 create mode 100644 arch/xtensa/include/asm/atomic.h
 create mode 100644 arch/xtensa/include/asm/bitops.h
 create mode 100644 arch/xtensa/include/asm/bootparam.h
 create mode 100644 arch/xtensa/include/asm/byteorder.h
 create mode 100644 arch/xtensa/include/asm/cache.h
 create mode 100644 arch/xtensa/include/asm/cacheasm.h
 create mode 100644 arch/xtensa/include/asm/config.h
 create mode 100644 arch/xtensa/include/asm/errno.h
 create mode 100644 arch/xtensa/include/asm/global_data.h
 create mode 100644 arch/xtensa/include/asm/io.h
 create mode 100644 arch/xtensa/include/asm/ldscript.h
 create mode 100644 arch/xtensa/include/asm/linkage.h
 create mode 100644 arch/xtensa/include/asm/misc.h
 create mode 100644 arch/xtensa/include/asm/posix_types.h
 create mode 100644 arch/xtensa/include/asm/processor.h
 create mode 100644 arch/xtensa/include/asm/ptrace.h
 create mode 100644 arch/xtensa/include/asm/regs.h
 create mode 100644 arch/xtensa/include/asm/relocate.h
 create mode 100644 arch/xtensa/include/asm/sections.h
 create mode 100644 arch/xtensa/include/asm/string.h
 create mode 100644 arch/xtensa/include/asm/system.h
 create mode 100644 arch/xtensa/include/asm/types.h
 create mode 100644 arch/xtensa/include/asm/u-boot.h
 create mode 100644 arch/xtensa/include/asm/unaligned.h
 create mode 100644 arch/xtensa/lib/Makefile
 create mode 100644 arch/xtensa/lib/bootm.c
 create mode 100644 arch/xtensa/lib/cache.c
 create mode 100644 arch/xtensa/lib/misc.S
 create mode 100644 arch/xtensa/lib/relocate.c
 create mode 100644 arch/xtensa/lib/time.c
 create mode 100644 board/cadence/xtfpga/Kconfig
 create mode 100644 board/cadence/xtfpga/MAINTAINERS
 create mode 100644 board/cadence/xtfpga/Makefile
 create mode 100644 board/cadence/xtfpga/README
 create mode 100644 board/cadence/xtfpga/xtfpga.c
 create mode 100644 configs/xtfpga_defconfig
 create mode 100644 doc/README.xtensa
 create mode 100644 drivers/sysreset/sysreset_xtfpga.c
 create mode 100644 include/configs/xtfpga.h

-- 
2.1.4



More information about the U-Boot mailing list