[PATCH v5 00/20] Refactor the architecture parts of mt7628

Weijie Gao weijie.gao at mediatek.com
Thu Feb 13 09:42:28 CET 2020


On Thu, 2020-02-13 at 08:48 +0100, Simon Goldschmidt wrote:
> On Wed, Feb 12, 2020 at 10:43 AM Weijie Gao <weijie.gao at mediatek.com> wrote:
> >
> > This patch series are divided into two parts:
> >
> > The main part is to rewrite the whole architecture code of mt7628:
> > * Lock parts of the d-cache for initial stack so the rest of the code can
> >   be reimplemented in C.
> > * Memory controller & DDR initialization have been fully written to support
> >   detecting DDR size automatically.
> > * DDR calibration has also been reimplemented with a clear logic.
> > * Implemented a new sysreset driver to take advantage of the reset
> >   controller so we can drop the use of syscon-based sysreset to reduce size.
> >
> > The second part is to add SPL support for mt7628:
> > * With SPL enabled we can build the ROM-bootable and RAM-bootable binary
> >   simultaneously, and we can drop RAM boot related configs and defconfig
> >   files.
> > * Generate compressed u-boot.bin image for SPL to reduce size of final
> >   combined binary.
> > * Enable DM support for SPL for a more flexible device probing.
> > * Add a demo board (mt7628_rfb) aims at router application.
> >
> > Changes since v2:
> > * Dropped a patch which removes unused parts of mt7628a.dtsi
> > * Move lzma decompression support to common spl_nor.c
> > * Move u-boot,dm-pre-reloc to u-boot-mt7628.dtsi
> >
> > Changes since v3:
> > * Rebased on newest master branch
> > * Add a test for binman etype u-boot-lzma-img to make sure binman passes 100%
> >   code coverage
> > * Use u-boot-with-spl.bin for SPL-enabled output file
> > * Remove unused code from spl_nor loader.
> 
> No changes for v5 (since v4)?

v5 is based on v3, for replacing v4. Because v4 has an obvious mistake.
Modifying based on v3 is more clear than on v4.

> 
> Regards,
> Simon
> 
> >
> > Weijie Gao (20):
> >   mips: add support to restore exception vector base before booting
> >     linux
> >   mips: mtmips: add predefined i-cache/d-cache size and linesize
> >   mips: add an option to support initialize SRAM for initial stack
> >   mips: start.S: avoid overwriting outside gd when clearing global data
> >     in stack
> >   sysreset: add reset controller based reboot driver
> >   mips: mtmips: make use of sysreset-resetctrl for mt7628 soc
> >   configs: enable CONFIG_RESTORE_EXCEPTION_VECTOR_BASE for all mtmips
> >     boards
> >   mips: add a mtmips-specific field to architecture-specific global data
> >   mips: add a option to support not reserving malloc space on initial
> >     stack
> >   mips: mtmips: rewrite lowlevel codes of mt7628
> >   dts: mtmips: add alternative pinmux node for uart2
> >   mips: enable support for appending dtb to spl binary
> >   mips: add an option to enable u_boot_list section for SPL loaders in
> >     u-boot-spl.lds
> >   lib: enable lzma decompression support for SPL build
> >   Makefile: add support to generate LZMA compressed u-boot image
> >   tools: binman: add etype file for u-boot-lzma-img
> >   spl: nor: add lzma decompression support for legacy image
> >   mips: mtmips: add SPL support
> >   mips: mtmips: enable SPL for all boards
> >   mips: mtmips: add support for mt7628-rfb
> >
> >  Makefile                                      |  19 +
> >  arch/mips/Kconfig                             |  66 ++++
> >  arch/mips/cpu/start.S                         |  16 +-
> >  arch/mips/cpu/u-boot-spl.lds                  |   4 +-
> >  arch/mips/dts/Makefile                        |   1 +
> >  arch/mips/dts/mediatek,mt7628-rfb.dts         |  67 ++++
> >  arch/mips/dts/mt7628-u-boot.dtsi              |  56 +++
> >  arch/mips/dts/mt7628a.dtsi                    |  17 +-
> >  arch/mips/include/asm/global_data.h           |   3 +
> >  arch/mips/include/asm/u-boot-mips.h           |   2 +
> >  arch/mips/lib/bootm.c                         |   3 +
> >  arch/mips/lib/traps.c                         |  19 +
> >  arch/mips/mach-mtmips/Kconfig                 | 135 +++----
> >  arch/mips/mach-mtmips/Makefile                |   8 +-
> >  arch/mips/mach-mtmips/cpu.c                   |  58 +---
> >  arch/mips/mach-mtmips/ddr_cal.c               | 211 +++++++++++
> >  arch/mips/mach-mtmips/ddr_calibrate.c         | 309 -----------------
> >  arch/mips/mach-mtmips/ddr_init.c              | 194 +++++++++++
> >  arch/mips/mach-mtmips/include/mach/ddr.h      |  52 +++
> >  arch/mips/mach-mtmips/include/mach/mc.h       | 180 ++++++++++
> >  arch/mips/mach-mtmips/include/mach/serial.h   |  13 +
> >  arch/mips/mach-mtmips/lowlevel_init.S         | 328 ------------------
> >  arch/mips/mach-mtmips/mt7628/Makefile         |   6 +
> >  arch/mips/mach-mtmips/mt7628/ddr.c            | 173 +++++++++
> >  arch/mips/mach-mtmips/mt7628/init.c           | 109 ++++++
> >  arch/mips/mach-mtmips/mt7628/lowlevel_init.S  | 161 +++++++++
> >  arch/mips/mach-mtmips/mt7628/mt7628.h         | 104 ++++++
> >  arch/mips/mach-mtmips/mt7628/serial.c         |  34 ++
> >  arch/mips/mach-mtmips/mt76xx.h                |  32 --
> >  arch/mips/mach-mtmips/spl.c                   |  44 +++
> >  board/gardena/smart-gateway-mt7688/board.c    |   2 +
> >  board/mediatek/mt7628/Kconfig                 |  12 +
> >  board/mediatek/mt7628/MAINTAINERS             |   7 +
> >  board/mediatek/mt7628/Makefile                |   3 +
> >  board/mediatek/mt7628/board.c                 |   8 +
> >  common/spl/spl_nor.c                          |  51 ++-
> >  ...gardena-smart-gateway-mt7688-ram_defconfig |  74 ----
> >  .../gardena-smart-gateway-mt7688_defconfig    |  14 +-
> >  configs/linkit-smart-7688-ram_defconfig       |  65 ----
> >  configs/linkit-smart-7688_defconfig           |  14 +-
> >  configs/mt7628_rfb_defconfig                  |  46 +++
> >  drivers/sysreset/Kconfig                      |   6 +
> >  drivers/sysreset/Makefile                     |   1 +
> >  drivers/sysreset/sysreset_resetctl.c          |  48 +++
> >  .../configs/gardena-smart-gateway-mt7688.h    |  21 +-
> >  include/configs/linkit-smart-7688.h           |  22 +-
> >  include/configs/mt7628.h                      |  56 +++
> >  lib/Kconfig                                   |   5 +
> >  lib/Makefile                                  |   1 +
> >  tools/binman/README.entries                   |  15 +
> >  tools/binman/etype/u_boot_lzma_img.py         |  28 ++
> >  tools/binman/ftest.py                         |   7 +
> >  tools/binman/test/156_u_boot_lzma_img.dts     |  11 +
> >  53 files changed, 1962 insertions(+), 979 deletions(-)
> >  create mode 100644 arch/mips/dts/mediatek,mt7628-rfb.dts
> >  create mode 100644 arch/mips/dts/mt7628-u-boot.dtsi
> >  create mode 100644 arch/mips/mach-mtmips/ddr_cal.c
> >  delete mode 100644 arch/mips/mach-mtmips/ddr_calibrate.c
> >  create mode 100644 arch/mips/mach-mtmips/ddr_init.c
> >  create mode 100644 arch/mips/mach-mtmips/include/mach/ddr.h
> >  create mode 100644 arch/mips/mach-mtmips/include/mach/mc.h
> >  create mode 100644 arch/mips/mach-mtmips/include/mach/serial.h
> >  delete mode 100644 arch/mips/mach-mtmips/lowlevel_init.S
> >  create mode 100644 arch/mips/mach-mtmips/mt7628/Makefile
> >  create mode 100644 arch/mips/mach-mtmips/mt7628/ddr.c
> >  create mode 100644 arch/mips/mach-mtmips/mt7628/init.c
> >  create mode 100644 arch/mips/mach-mtmips/mt7628/lowlevel_init.S
> >  create mode 100644 arch/mips/mach-mtmips/mt7628/mt7628.h
> >  create mode 100644 arch/mips/mach-mtmips/mt7628/serial.c
> >  delete mode 100644 arch/mips/mach-mtmips/mt76xx.h
> >  create mode 100644 arch/mips/mach-mtmips/spl.c
> >  create mode 100644 board/mediatek/mt7628/Kconfig
> >  create mode 100644 board/mediatek/mt7628/MAINTAINERS
> >  create mode 100644 board/mediatek/mt7628/Makefile
> >  create mode 100644 board/mediatek/mt7628/board.c
> >  delete mode 100644 configs/gardena-smart-gateway-mt7688-ram_defconfig
> >  delete mode 100644 configs/linkit-smart-7688-ram_defconfig
> >  create mode 100644 configs/mt7628_rfb_defconfig
> >  create mode 100644 drivers/sysreset/sysreset_resetctl.c
> >  create mode 100644 include/configs/mt7628.h
> >  create mode 100644 tools/binman/etype/u_boot_lzma_img.py
> >  create mode 100644 tools/binman/test/156_u_boot_lzma_img.dts
> >
> > --
> > 2.17.1



More information about the U-Boot mailing list