From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
To: u-boot@lists.denx.de
Subject: [PATCH 00/26 v7] Refactor the architecture parts of mt7628
Date: Mon, 27 Apr 2020 15:35:13 +0200 [thread overview]
Message-ID: <b31679c1-e764-bfbe-ae8a-88faa39339bd@gmail.com> (raw)
In-Reply-To: <20200421072850.4970-1-sr@denx.de>
Am 21.04.20 um 09:28 schrieb Stefan Roese:
> 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.
>
> Changes since v5:
> * Rebased on newest master branch
> * Made lzma decompressing support for legacy U-Boot images more generic, so
> that it can be easily integrated into other devices loaders as well
>
> Changes since v6:
> * Add spl_image_get_comp() to enable the compiler to optimize
> the switch/case statement away due to Dead Code Elimination
> as suggested by Daniel
> * Moved cache flush to MIPS specific file as suggested by Daniel
>
> Stefan Roese (6):
> spl: Extract legacy image handling into separate file
> spl: spl_legacy: Use IS_ENABLED() to remove #ifdef
> spl: spl_nor: Move legacy image loading into spl_legacy.c
> spl: spl_nor: Remove unused variable 'ret' warning
> mips: spl: Flush cache before jumping to U-Boot proper
> mips: mtmips: Increase CONFIG_SPL_SYS_MALLOC_F_LEN
>
> 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: spl_legacy: 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/Makefile | 1 +
> arch/mips/lib/bootm.c | 3 +
> arch/mips/lib/spl.c | 21 ++
> 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/Makefile | 1 +
> common/spl/spl.c | 56 +--
> common/spl/spl_legacy.c | 131 +++++++
> common/spl/spl_nor.c | 27 +-
> ...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 +++
> include/spl.h | 13 +
> 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 +
> 59 files changed, 2108 insertions(+), 1032 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/lib/spl.c
> 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
> create mode 100644 common/spl/spl_legacy.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
>
series applied to u-boot-mips/next with some reordering of patches and
some minor fixups. The binman patch was left out because binman wasn't
used anymore since v4.
--
- Daniel
prev parent reply other threads:[~2020-04-27 13:35 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-21 7:28 [PATCH 00/26 v7] Refactor the architecture parts of mt7628 Stefan Roese
2020-04-21 7:28 ` [PATCH 01/26 v7] mips: add support to restore exception vector base before booting linux Stefan Roese
2020-04-21 7:28 ` [PATCH 02/26 v7] mips: mtmips: add predefined i-cache/d-cache size and linesize Stefan Roese
2020-04-21 7:28 ` [PATCH 03/26 v7] mips: add an option to support initialize SRAM for initial stack Stefan Roese
2020-04-21 7:28 ` [PATCH 04/26 v7] mips: start.S: avoid overwriting outside gd when clearing global data in stack Stefan Roese
2020-04-21 7:28 ` [PATCH 05/26 v7] sysreset: add reset controller based reboot driver Stefan Roese
2020-04-21 7:28 ` [PATCH 06/26 v7] mips: mtmips: make use of sysreset-resetctrl for mt7628 soc Stefan Roese
2020-04-21 7:28 ` [PATCH 07/26 v7] configs: enable CONFIG_RESTORE_EXCEPTION_VECTOR_BASE for all mtmips boards Stefan Roese
2020-04-21 7:28 ` [PATCH 08/26 v7] mips: add a mtmips-specific field to architecture-specific global data Stefan Roese
2020-04-21 7:28 ` [PATCH 09/26 v7] mips: add a option to support not reserving malloc space on initial stack Stefan Roese
2020-04-21 7:28 ` [PATCH 10/26 v7] mips: mtmips: rewrite lowlevel codes of mt7628 Stefan Roese
2020-04-21 7:28 ` [PATCH 11/26 v7] dts: mtmips: add alternative pinmux node for uart2 Stefan Roese
2020-04-21 7:28 ` [PATCH 12/26 v7] mips: enable support for appending dtb to spl binary Stefan Roese
2020-04-21 7:28 ` [PATCH 13/26 v7] mips: add an option to enable u_boot_list section for SPL loaders in u-boot-spl.lds Stefan Roese
2020-04-21 7:28 ` [PATCH 14/26 v7] lib: enable lzma decompression support for SPL build Stefan Roese
2020-04-21 7:28 ` [PATCH 15/26 v7] Makefile: add support to generate LZMA compressed u-boot image Stefan Roese
2020-04-21 7:28 ` [PATCH 16/26 v7] tools: binman: add etype file for u-boot-lzma-img Stefan Roese
2020-04-21 7:28 ` [PATCH 17/26 v7] spl: Extract legacy image handling into separate file Stefan Roese
2020-04-23 19:28 ` Daniel Schwierzeck
2020-04-21 7:28 ` [PATCH 18/26 v7] spl: spl_legacy: Use IS_ENABLED() to remove #ifdef Stefan Roese
2020-04-23 19:28 ` Daniel Schwierzeck
2020-04-21 7:28 ` [PATCH 19/26 v7] spl: spl_nor: Move legacy image loading into spl_legacy.c Stefan Roese
2020-04-23 19:29 ` Daniel Schwierzeck
2020-04-21 7:28 ` [PATCH 20/26 v7] spl: spl_nor: Remove unused variable 'ret' warning Stefan Roese
2020-04-23 19:30 ` Daniel Schwierzeck
2020-04-21 7:28 ` [PATCH 21/26 v7] spl: spl_legacy: Add lzma decompression support for legacy image Stefan Roese
2020-04-21 7:28 ` [PATCH 22/26 v7] mips: spl: Flush cache before jumping to U-Boot proper Stefan Roese
2020-04-23 19:26 ` Daniel Schwierzeck
2020-04-21 7:28 ` [PATCH 23/26 v7] mips: mtmips: add SPL support Stefan Roese
2020-04-21 11:28 ` Daniel Schwierzeck
2020-04-21 11:34 ` Stefan Roese
2020-04-21 11:57 ` Daniel Schwierzeck
2020-04-21 12:04 ` Stefan Roese
2020-04-21 7:28 ` [PATCH 24/26 v7] mips: mtmips: enable SPL for all boards Stefan Roese
2020-04-21 7:28 ` [PATCH 25/26 v7] mips: mtmips: add support for mt7628-rfb Stefan Roese
2020-04-21 7:28 ` [PATCH 26/26 v7] mips: mtmips: Increase CONFIG_SPL_SYS_MALLOC_F_LEN Stefan Roese
2020-04-27 13:35 ` Daniel Schwierzeck [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b31679c1-e764-bfbe-ae8a-88faa39339bd@gmail.com \
--to=daniel.schwierzeck@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox