[U-Boot] [PATCH v1 00/19] AddU-Boot support for MediaTek SoCs - MT7623n & MT7629
Ryder Lee
ryder.lee at mediatek.com
Tue Oct 9 03:54:00 UTC 2018
Hello,
This is the second round to add U-Boot support for MediaTek SoCs - MT7623n & MT7629,
and the most of the drivers are based on mainline Linux, such as clock, timer, mmc,
pinctrl, watchdog, power domain and device tree.
The following are the major differences between mainline Linux and U-Boot:
- Modify the drivers 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 UART driver ns16550.c but add a highspeed register for MediaTek chips.
Our current progress:
The MT7623n (BananaPi R2) which has already been supported in mainline Linux.
- Boot from eMMC or SD card.
- Boot flow: ROM -> MediaTek's preloder -> U-Boot ...
- An open development board called BananaPi R2 [1].
The MT7629 is NOT supported yet in mainline Linux, but I will add it soon.
- Boot from SNOR currently.
- Boot flow: ROM -> (boot header parsing sequence) -> SPL -> U-Boot ...
[1] http://wiki.banana-pi.org/Banana_Pi_BPI-R2
Current implementation was validated via the FIT image.
Thanks,
Ryder
Changes since v1:
- Fix new blank line at EOF and indentation.
- Revise commit message.
- Add missing sgmiisys device nodes.
- Add Tested-by tags from Matthias.
- Drop MT7629 qspi driver in the series, and we will implement another one
based on the spi-mem framework.
Ryder Lee (16):
tools: MediaTek: add MTK boot header generation to mkimage
arm: dts: MediaTek: add device tree for MT7629
arm: dts: MediaTek: add device tree for MT7623
arm: MediaTek: add basic support for MT7629 boards
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 | 17 +
Makefile | 20 +
arch/arm/Kconfig | 14 +
arch/arm/Makefile | 1 +
arch/arm/dts/Makefile | 4 +
arch/arm/dts/mt7623.dtsi | 255 +++++
arch/arm/dts/mt7623n-bananapi-bpi-r2.dts | 207 ++++
arch/arm/dts/mt7629-rfb.dts | 71 ++
arch/arm/dts/mt7629.dtsi | 244 +++++
arch/arm/include/asm/arch-mediatek/gpio.h | 9 +
arch/arm/include/asm/arch-mediatek/misc.h | 17 +
arch/arm/mach-mediatek/Kconfig | 32 +
arch/arm/mach-mediatek/Makefile | 7 +
arch/arm/mach-mediatek/cpu.c | 34 +
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 | 3 +
board/mediatek/mt7623/mt7623_rfb.c | 16 +
board/mediatek/mt7629/Kconfig | 17 +
board/mediatek/mt7629/MAINTAINERS | 7 +
board/mediatek/mt7629/Makefile | 3 +
board/mediatek/mt7629/mt7629_rfb.c | 16 +
common/image.c | 1 +
configs/mt7623n_bpir2_defconfig | 53 +
configs/mt7629_rfb_defconfig | 72 ++
drivers/clk/Makefile | 1 +
drivers/clk/mediatek/Makefile | 7 +
drivers/clk/mediatek/clk-mt7623.c | 867 ++++++++++++++++
drivers/clk/mediatek/clk-mt7629.c | 706 +++++++++++++
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 | 1331 +++++++++++++++++++++++++
drivers/pinctrl/Kconfig | 1 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/mediatek/Kconfig | 15 +
drivers/pinctrl/mediatek/Makefile | 7 +
drivers/pinctrl/mediatek/pinctrl-mt7623.c | 1284 ++++++++++++++++++++++++
drivers/pinctrl/mediatek/pinctrl-mt7629.c | 488 +++++++++
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 552 ++++++++++
drivers/pinctrl/mediatek/pinctrl-mtk-common.h | 183 ++++
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/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 | 67 ++
include/configs/mt7629.h | 71 ++
include/dt-bindings/clock/mt7623-clk.h | 417 ++++++++
include/dt-bindings/clock/mt7629-clk.h | 210 ++++
include/dt-bindings/power/mt7623-power.h | 19 +
include/dt-bindings/power/mt7629-power.h | 13 +
include/image.h | 1 +
scripts/Makefile.spl | 11 +
tools/Makefile | 1 +
tools/mtkimage.c | 749 ++++++++++++++
tools/mtkimage.h | 199 ++++
75 files changed, 10859 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/include/asm/arch-mediatek/misc.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/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/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 tools/mtkimage.c
create mode 100644 tools/mtkimage.h
--
1.9.1
More information about the U-Boot
mailing list