[PATCH v2 0/5] mips: Improve initial Octeon MIPS64 support

Stefan Roese sr at denx.de
Tue Jun 30 12:33:15 CEST 2020


This patchset improves the Octeon base support by adding a very early
copy of the U-Boot image from bootspace (e.g. parallel NOR CFI flash)
to the L2 cache and continue execution there.

This is done by introducing the optional hook mips_mach_early_init() to
start.S for very early machine specific code. This code can be selected
via the new Kconfig symbol CONFIG_MIPS_MACH_EARLY_INIT.

Additionally, the common invalidate_dcache_range() implementation is
also changed to a weak function allowing Octeon to adds its own no-op
cache function (Octeon is cache coherent).

This patchset is based on the base Octeon patchsert in v4.

Thanks,
Stefan

Changes in v2:
- Change mips_mach_early_init() as suggested by Daniel to make it
  easier to understand and smaller
- Drop CONFIG_BOARD_SIZE_LIMIT

Stefan Roese (5):
  mips: Add CONFIG_MIPS_MACH_EARLY_INIT for very early mach init code
  mips: octeon: use mips_mach_early_init() to copy to L2 cache
  mips: octeon: octeon_ebb7304: Change TEXT_BASE to L2 cache
  mips: cache: Make invalidate_dcache_range() weak to enable overwrite
  mips: octeon: Add empty invalidate_dcache_range()

 arch/mips/Kconfig                     | 10 ++++++
 arch/mips/cpu/start.S                 |  5 +++
 arch/mips/lib/cache.c                 |  2 +-
 arch/mips/mach-octeon/cache.c         |  4 +++
 arch/mips/mach-octeon/lowlevel_init.S | 50 +++++++++++++++++++++++++++
 configs/octeon_ebb7304_defconfig      |  3 +-
 6 files changed, 72 insertions(+), 2 deletions(-)

-- 
2.27.0



More information about the U-Boot mailing list