
This series add support for the PocketGo handheld, a low cost portable gaming console that is based on the Allwinner F1C100s chip.
A significant portion of this patchset is authored by: - Icenowy Zheng icenowy@aosc.io - George Hilliard thirtythreeforty@gmail.com
This patchset includes 4 parts necessary to make PocketGo work:
- suniv + f1c100s support by Icenowy Zheng icenowy@aosc.io, rebased by George Hilliard thirtythreeforty@gmail.com and then by me. See: https://github.com/Icenowy/u-boot/commits/f1c100s-spiflash
- additional support for suniv clock and MMC controller by George Hilliard, rebased. See: https://github.com/thirtythreeforty/u-boot/tree/f1c100s-v2019.04
- additional support for serial uart1, and misc fixes for compilation, SPL -> U-Boot proper load on F1C100s.
- DTS and defconfig for PocketGo
I have accidentally CC'ed a few people while testing git send-email, I am awfully sorry for my lack of experience in email-patch based workflows. This is my first time attempting to contribute to U-Boot.
Cc: Jagan Teki jagan@amarulasolutions.com Cc: Andre Przywara andre.przywara@arm.com Cc: Icenowy Zheng icenowy@aosc.io Cc: George Hilliard thirtythreeforty@gmail.com
George Hilliard (6): sunxi: Don't provide enable_cache() on suniv sunxi: implement clock driver for suniv f1c100s sunxi: gpio: Add support for suniv-f1c100s sunxi: spi: restore bus speed and mode after reset sunxi: spi: Add suniv pin controller support sunxi: suniv: add device tree nodes for f1c100s MMC controllers
Icenowy Zheng (12): arm: arm926ejs: start.S: port save_boot_params support from armv7 code arm: arm926ej-s: add sunxi code sunxi: add support for suniv architecture sunxi: suniv: add support for Lichee Pi Nano sunxi: suniv: add boot sequence for SPL to try sunxi: spi-spl: add support for SUNIV sunxi: add SPI0 node for suniv sunxi: enable SPI NOR on Lichee Pi Nano sunxi: add defconfig for Lichee Pi Nano with SPI Flash support sunxi: add support for UART at PF for suniv sunxi: do not set PF MMC0 pinmux when PF uart is used sunxi: allow to enable MMC driver when using PF UART0
Yifan Gu (9): arm: dts: sunxi: do not renumber if mmc2 does not exist board: licheepi_nano: set CONFIG_MMC_SUNXI_SLOT_EXTRA sunxi: suniv: add missing header include for udelay sunxi: suniv: allow serial connection on uart1 sunxi: suniv: do not detect boot sector on suniv sunxi: suniv: set SYS_TEXT_BASE default sunxi: suniv: disable mmc optimization for suniv arm: dts: suniv: define uart1 pins arm: dts: add pocketgo handheld support
arch/arm/cpu/arm926ejs/Makefile | 1 + arch/arm/cpu/arm926ejs/start.S | 19 + arch/arm/cpu/arm926ejs/sunxi/Makefile | 16 + arch/arm/cpu/arm926ejs/sunxi/config.mk | 6 + arch/arm/cpu/arm926ejs/sunxi/fel_utils.S | 38 ++ arch/arm/cpu/arm926ejs/sunxi/lowlevel_init.S | 68 +++ arch/arm/cpu/arm926ejs/sunxi/start.c | 1 + arch/arm/cpu/arm926ejs/sunxi/timer.c | 114 ++++ arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds | 63 +++ arch/arm/dts/Makefile | 3 + arch/arm/dts/suniv-f1c100s-licheepi-nano.dts | 58 ++ arch/arm/dts/suniv-f1c100s-pocketgo.dts | 48 ++ arch/arm/dts/suniv-f1c100s.dtsi | 6 + arch/arm/dts/suniv.dtsi | 253 +++++++++ arch/arm/dts/sunxi-u-boot.dtsi | 2 + arch/arm/include/asm/arch-sunxi/clock.h | 2 +- arch/arm/include/asm/arch-sunxi/clock_sun6i.h | 21 + arch/arm/include/asm/arch-sunxi/cpu_sun4i.h | 8 + arch/arm/include/asm/arch-sunxi/dram.h | 2 + arch/arm/include/asm/arch-sunxi/dram_suniv.h | 47 ++ arch/arm/include/asm/arch-sunxi/gpio.h | 3 + arch/arm/mach-sunxi/Kconfig | 16 +- arch/arm/mach-sunxi/Makefile | 2 + arch/arm/mach-sunxi/board.c | 37 +- arch/arm/mach-sunxi/clock.c | 3 +- arch/arm/mach-sunxi/clock_sun6i.c | 47 +- arch/arm/mach-sunxi/cpu_info.c | 2 + arch/arm/mach-sunxi/dram_helpers.c | 4 + arch/arm/mach-sunxi/dram_suniv.c | 497 ++++++++++++++++++ arch/arm/mach-sunxi/spl_spi_sunxi.c | 13 + board/sunxi/board.c | 8 +- common/Kconfig.boot | 3 +- configs/licheepi_nano_defconfig | 10 + configs/licheepi_nano_spiflash_defconfig | 26 + configs/pocketgo_defconfig | 12 + drivers/clk/sunxi/Kconfig | 7 + drivers/clk/sunxi/Makefile | 1 + drivers/clk/sunxi/clk_f1c100s.c | 66 +++ drivers/gpio/sunxi_gpio.c | 6 + drivers/mmc/Kconfig | 2 +- drivers/mmc/sunxi_mmc.c | 6 +- drivers/spi/spi-sunxi.c | 12 +- include/configs/suniv.h | 15 + include/configs/sunxi-common.h | 69 ++- include/dt-bindings/clock/suniv-ccu.h | 69 +++ include/dt-bindings/reset/suniv-ccu.h | 37 ++ 46 files changed, 1715 insertions(+), 34 deletions(-) create mode 100644 arch/arm/cpu/arm926ejs/sunxi/Makefile create mode 100644 arch/arm/cpu/arm926ejs/sunxi/config.mk create mode 100644 arch/arm/cpu/arm926ejs/sunxi/fel_utils.S create mode 100644 arch/arm/cpu/arm926ejs/sunxi/lowlevel_init.S create mode 100644 arch/arm/cpu/arm926ejs/sunxi/start.c create mode 100644 arch/arm/cpu/arm926ejs/sunxi/timer.c create mode 100644 arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds create mode 100644 arch/arm/dts/suniv-f1c100s-licheepi-nano.dts create mode 100644 arch/arm/dts/suniv-f1c100s-pocketgo.dts create mode 100644 arch/arm/dts/suniv-f1c100s.dtsi create mode 100644 arch/arm/dts/suniv.dtsi create mode 100644 arch/arm/include/asm/arch-sunxi/dram_suniv.h create mode 100644 arch/arm/mach-sunxi/dram_suniv.c create mode 100644 configs/licheepi_nano_defconfig create mode 100644 configs/licheepi_nano_spiflash_defconfig create mode 100644 configs/pocketgo_defconfig create mode 100644 drivers/clk/sunxi/clk_f1c100s.c create mode 100644 include/configs/suniv.h create mode 100644 include/dt-bindings/clock/suniv-ccu.h create mode 100644 include/dt-bindings/reset/suniv-ccu.h