mbox series

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

Message ID 20200630103320.1290545-1-sr@denx.de
Headers show
Series mips: Improve initial Octeon MIPS64 support | expand


Stefan Roese June 30, 2020, 10:33 a.m. UTC
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.


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

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(-)