[PATCH 00/16] Refactor the architecture parts of mt7628

Weijie Gao weijie.gao at mediatek.com
Thu Jan 9 09:49:47 CET 2020


Hi Stefan,

On Thu, 2020-01-09 at 08:52 +0100, Stefan Roese wrote:
> Hi Weijie,
> 
> On 08.01.20 03:59, Weijie Gao wrote:
> > This patch series are divided into two parts:
> > 
> > The main part is to rewrite the whole architecture code of mt7628:
> > 1. Lock parts of the d-cache for initial stack so the rest of the code can
> >     be reimplemented in C.
> > 2. Memory controller & DDR initialization have been fully written to support
> >     detecting DDR size automatically.
> > 3. DDR calibration has also been reimplemented with a clear logic.
> > 4. 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:
> > 1. 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.
> > 2. Generate compressed u-boot.bin image for SPL to reduce size of final
> >     combined binary.
> > 3. Add a demo board (mt7628_rfb) to make use of the compressed image.
> 
> Many thanks for working on this. Unfortunately I didn't receive these patches
> directly (I remember that you had problems sending patches to me before).
> 
> I did a quick test on the LinkIt board and have a few questions before
> I start reviewing the patches in more detail:
> 
> I don't see any serial output from the SPL. I assume that the muxing
> for UART2 is missing here in the SPL image (see board_debug_uart_init)?

I'll do further test for this.

> 
> Did you compare the boot speed with using SPL + main U-Boot vs U-Boot
> only?

As far as I tested the difference of boot time should be less than 1s.

> 
> In the current combined image the non-compressed U-Boot proper is
> included. Why did you not include the LZMA compressed image per default?
> Is the decompression too slow?

I just kept these two boards untouched. I can switch them to compressed
mode if you have no concern.

> 
> More comments / questions will follow in a few days.
>   
> > Weijie Gao (16):
> >    configs: mtmips: add missing board selection for
> >      gardena-smart-gateway-mt7688
> >    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 customized get_tbclk()
> >    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: rewrite lowlevel codes of mt7628
> >    mips: dts: rename mt7628a.dtsi to mt7628.dtsi
> >    mips: unconditionally enable u_boot_list section 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
> >    mips: mtmips: add SPL support
> >    mips: mtmips: enable SPL for all boards
> >    mips: mtmips: add support for mt7628-rfb
> > 
> >   Makefile                                      |  22 ++
> >   arch/mips/Kconfig                             |  32 ++
> >   arch/mips/cpu/start.S                         |  10 +-
> >   arch/mips/cpu/time.c                          |   2 +
> >   arch/mips/cpu/u-boot-spl.lds                  |   2 -
> >   arch/mips/dts/Makefile                        |   1 +
> >   .../mips/dts/gardena-smart-gateway-mt7688.dts |   2 +-
> >   arch/mips/dts/linkit-smart-7688.dts           |   2 +-
> >   arch/mips/dts/mediatek,mt7628-rfb-u-boot.dtsi |  24 ++
> >   arch/mips/dts/mediatek,mt7628-rfb.dts         |  67 ++++
> >   arch/mips/dts/mt7628-u-boot.dtsi              |  25 ++
> >   arch/mips/dts/{mt7628a.dtsi => mt7628.dtsi}   |  78 +----
> >   arch/mips/include/asm/global_data.h           |   3 +
> >   arch/mips/lib/bootm.c                         |   9 +
> >   arch/mips/mach-mtmips/Kconfig                 | 122 ++-----
> >   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/lowlevel_init.S         | 328 ------------------
> >   arch/mips/mach-mtmips/mt7628/Makefile         |   5 +
> >   arch/mips/mach-mtmips/mt7628/ddr.c            | 173 +++++++++
> >   arch/mips/mach-mtmips/mt7628/init.c           | 109 ++++++
> >   arch/mips/mach-mtmips/mt7628/lowlevel_init.S  | 155 +++++++++
> >   arch/mips/mach-mtmips/mt7628/mt7628.h         |  90 +++++
> >   arch/mips/mach-mtmips/mt76xx.h                |  32 --
> >   arch/mips/mach-mtmips/spl.c                   |  23 ++
> >   board/gardena/smart-gateway-mt7688/board.c    |   2 +
> >   board/mediatek/mt7628/Kconfig                 |  12 +
> >   board/mediatek/mt7628/MAINTAINERS             |   8 +
> >   board/mediatek/mt7628/Makefile                |   4 +
> >   board/mediatek/mt7628/board.c                 |  25 ++
> >   board/mediatek/mt7628/spl_load.c              | 102 ++++++
> >   ...gardena-smart-gateway-mt7688-ram_defconfig |  74 ----
> >   .../gardena-smart-gateway-mt7688_defconfig    |  12 +-
> >   configs/linkit-smart-7688-ram_defconfig       |  65 ----
> >   configs/linkit-smart-7688_defconfig           |  11 +-
> >   configs/mt7628_rfb_defconfig                  |  47 +++
> >   drivers/sysreset/Kconfig                      |   6 +
> >   drivers/sysreset/Makefile                     |   1 +
> >   drivers/sysreset/sysreset_resetctl.c          |  48 +++
> >   .../configs/gardena-smart-gateway-mt7688.h    |  18 +-
> >   include/configs/linkit-smart-7688.h           |  18 +-
> >   include/configs/mt7628.h                      |  57 +++
> >   lib/Kconfig                                   |   5 +
> >   lib/Makefile                                  |   1 +
> >   tools/binman/etype/u_boot_lzma_img.py         |  27 ++
> >   50 files changed, 1826 insertions(+), 1045 deletions(-)
> >   create mode 100644 arch/mips/dts/mediatek,mt7628-rfb-u-boot.dtsi
> >   create mode 100644 arch/mips/dts/mediatek,mt7628-rfb.dts
> >   create mode 100644 arch/mips/dts/mt7628-u-boot.dtsi
> >   rename arch/mips/dts/{mt7628a.dtsi => mt7628.dtsi} (81%)
> >   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
> >   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
> >   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
> >   create mode 100644 board/mediatek/mt7628/spl_load.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
> > 
> 
> Viele Grüße,
> Stefan
> 



More information about the U-Boot mailing list