[PATCH 00/27] Add F1C100s based PocketGo handheld support

Yifan Gu me at yifangu.com
Mon Jul 26 01:16:09 CEST 2021


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 at aosc.io>
- George Hilliard <thirtythreeforty at gmail.com>

This patchset includes 4 parts necessary to make PocketGo work:

- suniv + f1c100s support by Icenowy Zheng <icenowy at aosc.io>, rebased
  by George Hilliard <thirtythreeforty at 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 at amarulasolutions.com>
Cc: Andre Przywara <andre.przywara at arm.com>
Cc: Icenowy Zheng <icenowy at aosc.io>
Cc: George Hilliard <thirtythreeforty at 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

-- 
2.25.1



More information about the U-Boot mailing list