[PATCH v5 00/25] Add support for MediaTek MT7621 SoC - v5

Weijie Gao weijie.gao at mediatek.com
Mon May 16 04:41:57 CEST 2022


This series will add support for MediaTek MT7621 SoC with two reference boards
and related drivers.

The MediaTek MT7621 is a network processor integrating a dual-core
dual-threaded MIPS 1004Kc processor running at a normal frequency of 880MHz.
This chip can be found in many wireless routers.

This series add all basic drivers which are useful in u-boot, like usb, sdxc,
ethernet, spi, nand and serial.

Currently this patch series only supports building the ram-bootable image as
it needs the preloader from MediaTek SDK.

Thanks,
Weijie

v5 changes:
- Adjust mt7621.dtsi, clkctrl node moved to sysc, pinctrl default states moved
  to board dts files
- Modify clk driver due to its node changed in mt7621.dtsi
- Minor fixes

v4 changes:
- Add full support for booting from flash

v3 changes:
- Rewrite clk driver to follow definitions from upstream kernel
- Implement noncached_alloc() for MIPS platform
- Update register remap for mtk-eth driver needed by mt7621

v2 changes:
- Add a kconfig for max supported ram size
- Remove network configs from default config file
- Add config file for mt7621-rfb boards

Weijie Gao (25):
  mips: add asm/mipsmtregs.h for MIPS multi-threading
  mips: add more definitions for asm/cm.h
  mips: add __image_copy_len for SPL linker script
  mips: add support for noncached_alloc()
  mips: mtmips: add support for MediaTek MT7621 SoC
  mips: mtmips: add two reference boards for mt7621
  doc: mediatek: add documentation for mt7621 reference boards
  clk: mtmips: add clock driver for MediaTek MT7621 SoC
  reset: mtmips: add reset controller support for MediaTek MT7621 SoC
  pinctrl: mtmips: add support for MediaTek MT7621 SoC
  usb: xhci-mtk: add support for MediaTek MT7621 SoC
  phy: mtk-tphy: add support for MediaTek MT7621 SoC
  spi: add support for MediaTek MT7621 SoC
  gpio: add support for MediaTek MT7621 SoC
  watchdog: add support for MediaTek MT7621 SoC
  mmc: mediatek: add support for MediaTek MT7621 SoC
  net: mediatek: remap iobase address
  net: mediatek: use regmap api to modify ethsys registers
  net: mediatek: add support for MediaTek MT7621 SoC
  nand: raw: add support for MediaTek MT7621 SoC
  spl: allow using nand base without standard nand driver
  spl: spl_legacy: fix the use of SPL_COPY_PAYLOAD_ONLY
  spl: nand: support loading legacy image with payload compressed
  tools: mtk_image: add support for MT7621 NAND images
  MAINTAINERS: update maintainer for MediaTek MIPS platform

 MAINTAINERS                                   |    8 +
 arch/mips/cpu/u-boot-spl.lds                  |    3 +
 arch/mips/dts/Makefile                        |    2 +
 arch/mips/dts/mediatek,mt7621-nand-rfb.dts    |   67 +
 arch/mips/dts/mediatek,mt7621-rfb.dts         |   82 ++
 arch/mips/dts/mt7621-u-boot.dtsi              |  111 ++
 arch/mips/dts/mt7621.dtsi                     |  349 +++++
 arch/mips/include/asm/cm.h                    |   67 +
 arch/mips/include/asm/mipsmtregs.h            |  142 ++
 arch/mips/include/asm/system.h                |   20 +
 arch/mips/lib/cache.c                         |   43 +
 arch/mips/mach-mtmips/Kconfig                 |   49 +-
 arch/mips/mach-mtmips/Makefile                |    4 +
 arch/mips/mach-mtmips/cpu.c                   |    2 +-
 arch/mips/mach-mtmips/mt7621/Kconfig          |  115 ++
 arch/mips/mach-mtmips/mt7621/Makefile         |   14 +
 arch/mips/mach-mtmips/mt7621/init.c           |  229 +++
 arch/mips/mach-mtmips/mt7621/mt7621.h         |  229 +++
 arch/mips/mach-mtmips/mt7621/serial.c         |   23 +
 arch/mips/mach-mtmips/mt7621/spl/Makefile     |    9 +
 arch/mips/mach-mtmips/mt7621/spl/cps.c        |  152 ++
 arch/mips/mach-mtmips/mt7621/spl/dram.c       |  155 +++
 arch/mips/mach-mtmips/mt7621/spl/dram.h       |   39 +
 arch/mips/mach-mtmips/mt7621/spl/launch.c     |  100 ++
 arch/mips/mach-mtmips/mt7621/spl/launch.h     |   52 +
 arch/mips/mach-mtmips/mt7621/spl/launch_ll.S  |  357 +++++
 arch/mips/mach-mtmips/mt7621/spl/serial.c     |   24 +
 arch/mips/mach-mtmips/mt7621/spl/spl.c        |   95 ++
 arch/mips/mach-mtmips/mt7621/spl/start.S      |  226 +++
 arch/mips/mach-mtmips/mt7621/sram_init.S      |   22 +
 arch/mips/mach-mtmips/mt7621/tpl/Makefile     |    4 +
 arch/mips/mach-mtmips/mt7621/tpl/start.S      |  161 +++
 arch/mips/mach-mtmips/mt7621/tpl/tpl.c        |  146 ++
 board/mediatek/mt7621/MAINTAINERS             |    8 +
 board/mediatek/mt7621/Makefile                |    3 +
 board/mediatek/mt7621/board.c                 |    6 +
 common/spl/Kconfig                            |    2 +-
 common/spl/spl_legacy.c                       |   21 +-
 common/spl/spl_nand.c                         |   27 +
 configs/mt7621_nand_rfb_defconfig             |   83 ++
 configs/mt7621_rfb_defconfig                  |   82 ++
 doc/board/mediatek/mt7621.rst                 |   48 +
 drivers/clk/mtmips/Makefile                   |    1 +
 drivers/clk/mtmips/clk-mt7621.c               |  294 ++++
 drivers/gpio/Kconfig                          |    2 +-
 drivers/mmc/mtk-sd.c                          |   13 +
 drivers/mtd/nand/raw/Kconfig                  |   17 +-
 drivers/mtd/nand/raw/Makefile                 |    2 +
 drivers/mtd/nand/raw/mt7621_nand.c            | 1224 +++++++++++++++++
 drivers/mtd/nand/raw/mt7621_nand.h            |   29 +
 drivers/mtd/nand/raw/mt7621_nand_spl.c        |  237 ++++
 drivers/net/mtk_eth.c                         |   45 +-
 drivers/phy/Kconfig                           |    2 +-
 drivers/pinctrl/mtmips/Kconfig                |    9 +
 drivers/pinctrl/mtmips/Makefile               |    1 +
 drivers/pinctrl/mtmips/pinctrl-mt7621.c       |  306 +++++
 .../pinctrl/mtmips/pinctrl-mtmips-common.c    |    4 +-
 .../pinctrl/mtmips/pinctrl-mtmips-common.h    |   12 +
 drivers/spi/Kconfig                           |    2 +-
 drivers/usb/host/Kconfig                      |    2 +-
 drivers/watchdog/Kconfig                      |    2 +-
 include/configs/mt7621.h                      |   67 +
 include/dt-bindings/clock/mt7621-clk.h        |   46 +
 include/dt-bindings/reset/mt7621-reset.h      |   38 +
 tools/mtk_image.c                             |  182 +++
 tools/mtk_image.h                             |   24 +
 66 files changed, 5906 insertions(+), 36 deletions(-)
 create mode 100644 arch/mips/dts/mediatek,mt7621-nand-rfb.dts
 create mode 100644 arch/mips/dts/mediatek,mt7621-rfb.dts
 create mode 100644 arch/mips/dts/mt7621-u-boot.dtsi
 create mode 100644 arch/mips/dts/mt7621.dtsi
 create mode 100644 arch/mips/include/asm/mipsmtregs.h
 create mode 100644 arch/mips/mach-mtmips/mt7621/Kconfig
 create mode 100644 arch/mips/mach-mtmips/mt7621/Makefile
 create mode 100644 arch/mips/mach-mtmips/mt7621/init.c
 create mode 100644 arch/mips/mach-mtmips/mt7621/mt7621.h
 create mode 100644 arch/mips/mach-mtmips/mt7621/serial.c
 create mode 100644 arch/mips/mach-mtmips/mt7621/spl/Makefile
 create mode 100644 arch/mips/mach-mtmips/mt7621/spl/cps.c
 create mode 100644 arch/mips/mach-mtmips/mt7621/spl/dram.c
 create mode 100644 arch/mips/mach-mtmips/mt7621/spl/dram.h
 create mode 100644 arch/mips/mach-mtmips/mt7621/spl/launch.c
 create mode 100644 arch/mips/mach-mtmips/mt7621/spl/launch.h
 create mode 100644 arch/mips/mach-mtmips/mt7621/spl/launch_ll.S
 create mode 100644 arch/mips/mach-mtmips/mt7621/spl/serial.c
 create mode 100644 arch/mips/mach-mtmips/mt7621/spl/spl.c
 create mode 100644 arch/mips/mach-mtmips/mt7621/spl/start.S
 create mode 100644 arch/mips/mach-mtmips/mt7621/sram_init.S
 create mode 100644 arch/mips/mach-mtmips/mt7621/tpl/Makefile
 create mode 100644 arch/mips/mach-mtmips/mt7621/tpl/start.S
 create mode 100644 arch/mips/mach-mtmips/mt7621/tpl/tpl.c
 create mode 100644 board/mediatek/mt7621/MAINTAINERS
 create mode 100644 board/mediatek/mt7621/Makefile
 create mode 100644 board/mediatek/mt7621/board.c
 create mode 100644 configs/mt7621_nand_rfb_defconfig
 create mode 100644 configs/mt7621_rfb_defconfig
 create mode 100644 doc/board/mediatek/mt7621.rst
 create mode 100644 drivers/clk/mtmips/clk-mt7621.c
 create mode 100644 drivers/mtd/nand/raw/mt7621_nand.c
 create mode 100644 drivers/mtd/nand/raw/mt7621_nand.h
 create mode 100644 drivers/mtd/nand/raw/mt7621_nand_spl.c
 create mode 100644 drivers/pinctrl/mtmips/pinctrl-mt7621.c
 create mode 100644 include/configs/mt7621.h
 create mode 100644 include/dt-bindings/clock/mt7621-clk.h
 create mode 100644 include/dt-bindings/reset/mt7621-reset.h

-- 
2.17.1



More information about the U-Boot mailing list