All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ryder Lee <ryder.lee@mediatek.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 00/20] Add support for MediaTek SoCs - MT7623n / MT7629
Date: Tue, 2 Oct 2018 14:13:37 +0800	[thread overview]
Message-ID: <cover.1538460580.git.ryder.lee@mediatek.com> (raw)

Hello,

This is first round (time) to add U-boot support for MediaTek SoCs (MT7623n and MT7629),
and the most of the drivers are based on mainline Linux, like clock, timer, mmc, pinctrl,
watchdog, power domain and DTS.  

The following are the major differences between Linux and U-boot:
- modify the driver interface to adapt the U-boot DM framework.
- remove unneeded DT nodes as they don't have proper drivers in U-boot yet.
- just add the basic functions (step-by-step) so that we can monitor the size.
- reuse ns16550.c but add a highspeed register for MediaTek UARTs.
- add a whole new SNOR driver mtk_qspi.c which is based on SPI master-slave hierarchy.

Our current progress:
The MT7623n (BananaPi R2) which has already supported in mainline Linux.
- We can choice to boot from eMMC or SD card. (ROM -> MediaTek preloder -> U-boot ...)
- MT7623n has an open development board called BananaPi R2 [1].

The MT7629 which has NOT supported in mainline Linux yet, but we will do it soon.
- Boot from SNOR. (ROM -> (boot header parsing sequence) -> SPL -> U-boot ...)

[1] http://wiki.banana-pi.org/Banana_Pi_BPI-R2

Thanks,
Ryder

Guochun Mao (1):
  spi: mtk_qspi: add qspi driver for MT7629 SoC

Ryder Lee (16):
  tools: MediaTek: add MTK boot header generation to mkimage
  arm: MediaTek: add basic support for MT7629 boards
  arm: dts: MediaTek: add MT7629 reference board support
  arm: dts: MediaTek: add MT7623 Bananapi R2 board support
  configs: MediaTek: add MT7629 reference board support
  clk: MediaTek: add clock driver for MT7629 SoC.
  clk: MediaTek: add clock driver for MT7623 SoC.
  timer: MediaTek: add timer driver for MediaTek SoCs
  watchdog: MediaTek: add watchdog driver for MediaTek SoCs
  pinctrl: MediaTek: add pinctrl driver for MT7629 SoC
  pinctrl: MediaTek: add pinctrl driver for MT7623 SoC
  power domain: MediaTek: add power domain driver for MT7629 SoC
  power domain: MediaTek: add power domain driver for MT7623 SoC
  serial: 16550: allow the driver to support MediaTek serial
  ram: MediaTek: add DDR3 driver for MT7629 SoC
  MAINTAINERS: add an entry for MediaTek

Weijie Gao (3):
  arm: MediaTek: add basic support for MT7623 boards
  configs: MediaTek: add MT7623 Bananapi R2 board support
  mmc: mtk-sd: add SD/MMC host controller driver for MT7623 SoC

 MAINTAINERS                                   |   18 +
 Makefile                                      |   20 +
 arch/arm/Kconfig                              |   14 +
 arch/arm/Makefile                             |    1 +
 arch/arm/dts/Makefile                         |    4 +
 arch/arm/dts/mt7623.dtsi                      |  258 +++++
 arch/arm/dts/mt7623n-bananapi-bpi-r2.dts      |  207 ++++
 arch/arm/dts/mt7629-rfb.dts                   |   71 ++
 arch/arm/dts/mt7629.dtsi                      |  232 +++++
 arch/arm/include/asm/arch-mediatek/gpio.h     |    9 +
 arch/arm/mach-mediatek/Kconfig                |   32 +
 arch/arm/mach-mediatek/Makefile               |    7 +
 arch/arm/mach-mediatek/cpu.c                  |   34 +
 arch/arm/mach-mediatek/include/mach/chipid.h  |   17 +
 arch/arm/mach-mediatek/include/mach/gpio.h    |    9 +
 arch/arm/mach-mediatek/init.h                 |   11 +
 arch/arm/mach-mediatek/mt7623/Makefile        |    4 +
 arch/arm/mach-mediatek/mt7623/init.c          |   53 +
 arch/arm/mach-mediatek/mt7623/lowlevel_init.S |   22 +
 arch/arm/mach-mediatek/mt7623/preloader.h     |   99 ++
 arch/arm/mach-mediatek/mt7629/Makefile        |    4 +
 arch/arm/mach-mediatek/mt7629/init.c          |  142 +++
 arch/arm/mach-mediatek/mt7629/lowlevel_init.S |   50 +
 arch/arm/mach-mediatek/spl.c                  |   43 +
 board/mediatek/mt7623/Kconfig                 |   13 +
 board/mediatek/mt7623/MAINTAINERS             |    7 +
 board/mediatek/mt7623/Makefile                |    4 +
 board/mediatek/mt7623/mt7623_rfb.c            |   16 +
 board/mediatek/mt7629/Kconfig                 |   17 +
 board/mediatek/mt7629/MAINTAINERS             |    7 +
 board/mediatek/mt7629/Makefile                |    4 +
 board/mediatek/mt7629/mt7629_rfb.c            |   16 +
 common/image.c                                |    1 +
 configs/mt7623n_bpir2_defconfig               |   53 +
 configs/mt7629_rfb_defconfig                  |   73 ++
 drivers/clk/Makefile                          |    1 +
 drivers/clk/mediatek/Makefile                 |    7 +
 drivers/clk/mediatek/clk-mt7623.c             |  867 +++++++++++++++++
 drivers/clk/mediatek/clk-mt7629.c             |  666 +++++++++++++
 drivers/clk/mediatek/clk-mtk.c                |  494 ++++++++++
 drivers/clk/mediatek/clk-mtk.h                |  151 +++
 drivers/mmc/Kconfig                           |    9 +
 drivers/mmc/Makefile                          |    1 +
 drivers/mmc/mtk-sd.c                          | 1286 +++++++++++++++++++++++++
 drivers/pinctrl/Kconfig                       |    1 +
 drivers/pinctrl/Makefile                      |    1 +
 drivers/pinctrl/mediatek/Kconfig              |   15 +
 drivers/pinctrl/mediatek/Makefile             |    7 +
 drivers/pinctrl/mediatek/pinctrl-mt7623.c     | 1280 ++++++++++++++++++++++++
 drivers/pinctrl/mediatek/pinctrl-mt7629.c     |  489 ++++++++++
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c |  558 +++++++++++
 drivers/pinctrl/mediatek/pinctrl-mtk-common.h |  186 ++++
 drivers/power/domain/Kconfig                  |    7 +
 drivers/power/domain/Makefile                 |    1 +
 drivers/power/domain/mtk-power-domain.c       |  406 ++++++++
 drivers/ram/Makefile                          |    1 +
 drivers/ram/mediatek/Makefile                 |    7 +
 drivers/ram/mediatek/ddr3-mt7629.c            |  766 +++++++++++++++
 drivers/serial/ns16550.c                      |   10 +
 drivers/spi/Kconfig                           |    7 +
 drivers/spi/Makefile                          |    1 +
 drivers/spi/mtk_qspi.c                        |  406 ++++++++
 drivers/timer/Kconfig                         |    7 +
 drivers/timer/Makefile                        |    1 +
 drivers/timer/mtk_timer.c                     |   85 ++
 drivers/watchdog/Kconfig                      |    8 +
 drivers/watchdog/Makefile                     |    1 +
 drivers/watchdog/mtk_wdt.c                    |  135 +++
 include/configs/mt7623.h                      |   66 ++
 include/configs/mt7629.h                      |   70 ++
 include/dt-bindings/clock/mt7623-clk.h        |  429 +++++++++
 include/dt-bindings/clock/mt7629-clk.h        |  217 +++++
 include/dt-bindings/power/mt7623-power.h      |   19 +
 include/dt-bindings/power/mt7629-power.h      |   13 +
 include/dt-bindings/reset/mt7623-resets.h     |   85 ++
 include/image.h                               |    1 +
 scripts/Makefile.spl                          |   11 +
 tools/Makefile                                |    1 +
 tools/mtkimage.c                              |  748 ++++++++++++++
 tools/mtkimage.h                              |  199 ++++
 80 files changed, 11299 insertions(+)
 create mode 100644 arch/arm/dts/mt7623.dtsi
 create mode 100644 arch/arm/dts/mt7623n-bananapi-bpi-r2.dts
 create mode 100644 arch/arm/dts/mt7629-rfb.dts
 create mode 100644 arch/arm/dts/mt7629.dtsi
 create mode 100644 arch/arm/include/asm/arch-mediatek/gpio.h
 create mode 100644 arch/arm/mach-mediatek/Kconfig
 create mode 100644 arch/arm/mach-mediatek/Makefile
 create mode 100644 arch/arm/mach-mediatek/cpu.c
 create mode 100644 arch/arm/mach-mediatek/include/mach/chipid.h
 create mode 100644 arch/arm/mach-mediatek/include/mach/gpio.h
 create mode 100644 arch/arm/mach-mediatek/init.h
 create mode 100644 arch/arm/mach-mediatek/mt7623/Makefile
 create mode 100644 arch/arm/mach-mediatek/mt7623/init.c
 create mode 100644 arch/arm/mach-mediatek/mt7623/lowlevel_init.S
 create mode 100644 arch/arm/mach-mediatek/mt7623/preloader.h
 create mode 100644 arch/arm/mach-mediatek/mt7629/Makefile
 create mode 100644 arch/arm/mach-mediatek/mt7629/init.c
 create mode 100644 arch/arm/mach-mediatek/mt7629/lowlevel_init.S
 create mode 100644 arch/arm/mach-mediatek/spl.c
 create mode 100644 board/mediatek/mt7623/Kconfig
 create mode 100644 board/mediatek/mt7623/MAINTAINERS
 create mode 100644 board/mediatek/mt7623/Makefile
 create mode 100644 board/mediatek/mt7623/mt7623_rfb.c
 create mode 100644 board/mediatek/mt7629/Kconfig
 create mode 100644 board/mediatek/mt7629/MAINTAINERS
 create mode 100644 board/mediatek/mt7629/Makefile
 create mode 100644 board/mediatek/mt7629/mt7629_rfb.c
 create mode 100644 configs/mt7623n_bpir2_defconfig
 create mode 100644 configs/mt7629_rfb_defconfig
 create mode 100644 drivers/clk/mediatek/Makefile
 create mode 100644 drivers/clk/mediatek/clk-mt7623.c
 create mode 100644 drivers/clk/mediatek/clk-mt7629.c
 create mode 100644 drivers/clk/mediatek/clk-mtk.c
 create mode 100644 drivers/clk/mediatek/clk-mtk.h
 create mode 100644 drivers/mmc/mtk-sd.c
 create mode 100644 drivers/pinctrl/mediatek/Kconfig
 create mode 100644 drivers/pinctrl/mediatek/Makefile
 create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt7623.c
 create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt7629.c
 create mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-common.c
 create mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-common.h
 create mode 100644 drivers/power/domain/mtk-power-domain.c
 create mode 100644 drivers/ram/mediatek/Makefile
 create mode 100644 drivers/ram/mediatek/ddr3-mt7629.c
 create mode 100644 drivers/spi/mtk_qspi.c
 create mode 100644 drivers/timer/mtk_timer.c
 create mode 100644 drivers/watchdog/mtk_wdt.c
 create mode 100644 include/configs/mt7623.h
 create mode 100644 include/configs/mt7629.h
 create mode 100644 include/dt-bindings/clock/mt7623-clk.h
 create mode 100644 include/dt-bindings/clock/mt7629-clk.h
 create mode 100644 include/dt-bindings/power/mt7623-power.h
 create mode 100644 include/dt-bindings/power/mt7629-power.h
 create mode 100644 include/dt-bindings/reset/mt7623-resets.h
 create mode 100644 tools/mtkimage.c
 create mode 100644 tools/mtkimage.h

-- 
1.9.1

             reply	other threads:[~2018-10-02  6:13 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-02  6:13 Ryder Lee [this message]
2018-10-02  6:13 ` [U-Boot] [PATCH 01/20] tools: MediaTek: add MTK boot header generation to mkimage Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 02/20] arm: MediaTek: add basic support for MT7629 boards Ryder Lee
2018-10-02 14:29   ` Matthias Brugger
2018-10-02  6:13 ` [U-Boot] [PATCH 03/20] arm: MediaTek: add basic support for MT7623 boards Ryder Lee
2018-10-02 14:27   ` Matthias Brugger
2018-10-02 15:20     ` Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 04/20] arm: dts: MediaTek: add MT7629 reference board support Ryder Lee
2018-10-02 13:07   ` Matthias Brugger
2018-10-02 13:34     ` Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 05/20] arm: dts: MediaTek: add MT7623 Bananapi R2 " Ryder Lee
2018-10-02 13:10   ` Matthias Brugger
2018-10-02 13:36     ` Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 06/20] configs: MediaTek: add MT7629 reference " Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 07/20] configs: MediaTek: add MT7623 Bananapi R2 " Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 08/20] clk: MediaTek: add clock driver for MT7629 SoC Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 09/20] clk: MediaTek: add clock driver for MT7623 SoC Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 10/20] timer: MediaTek: add timer driver for MediaTek SoCs Ryder Lee
2018-10-02 14:20   ` Matthias Brugger
2018-10-02  6:13 ` [U-Boot] [PATCH 11/20] watchdog: MediaTek: add watchdog " Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 12/20] pinctrl: MediaTek: add pinctrl driver for MT7629 SoC Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 13/20] pinctrl: MediaTek: add pinctrl driver for MT7623 SoC Ryder Lee
2018-10-02 14:31   ` Matthias Brugger
2018-10-02  6:13 ` [U-Boot] [PATCH 14/20] power domain: MediaTek: add power domain driver for MT7629 SoC Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 15/20] power domain: MediaTek: add power domain driver for MT7623 SoC Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 16/20] serial: 16550: allow the driver to support MediaTek serial Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 17/20] ram: MediaTek: add DDR3 driver for MT7629 SoC Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 18/20] spi: mtk_qspi: add qspi " Ryder Lee
2018-10-04 16:01   ` Jagan Teki
2018-10-08 13:00     ` Guochun Mao
2018-10-11  6:03     ` Guochun Mao
2018-10-02  6:13 ` [U-Boot] [PATCH 19/20] mmc: mtk-sd: add SD/MMC host controller driver for MT7623 SoC Ryder Lee
2018-10-02  6:13 ` [U-Boot] [PATCH 20/20] MAINTAINERS: add an entry for MediaTek Ryder Lee
2018-10-02 15:08 ` [U-Boot] [PATCH 00/20] Add support for MediaTek SoCs - MT7623n / MT7629 Matthias Brugger

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=cover.1538460580.git.ryder.lee@mediatek.com \
    --to=ryder.lee@mediatek.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.