[U-Boot] [PATCH v2 00/10] ARM: sunxi: Add basic support for Allwinner A31 (sun6i)

Chen-Yu Tsai
2014-09-24T08:01:03Z

Hi everyone,

This is v2 of the A31 support series. This series add basic (UART and MMC)
support for Allwinner's A31 SoC. The patches, excluding the first one,
were cherry-picked from u-boot-sunxi. Due to the difference between u-boot
mainline and u-boot-sunxi, some patches were rearranged or squashed to
better fit the current state of u-boot, and not introduce any build breaks.
It follows Ian's initial merge method of sun7i support: introducing various
components first, then enabling them in the last commit. I tried to keep
the commits separate, thus retaining the original author and Signed-off-bys.

Patch 1 updates the current UART pinmuxing code to use macros for pull-up
values. This is for existing platforms, but is included as it would conflict
with patch 7.

Patch 2 adds a wrapper around "func(USB, usb, 0)" in BOOT_TARGET_DEVICES
to deal with breakage when USB support is not enabled.

Patch 3 adds memory addresses for some hardware blocks new in sun6i.

Patch 4 adds support for the new PRCM (power reset and clock management)
block, which also contains PLL bias voltage control.

Patch 5 adds support for the clock module. This patch is a bunch of
different sun6i related patches on the clock code, from when sun6i
support was introduced to u-boot-sunxi, up to its current form.
This is done to avoid various conflicts and needlessly introducing
then removing macros.

Patch 6 adds mmc support on sun6i.

Patch 7 adds uart0 pin macros.

Patch 8 adds uart0 muxing on sun6i.

Patch 9 enables sun6i support.

Patch 10 adds a defconfig for the Colombus board, which is an A31
evaluation board.

Changes since v1:

- Added macros for sun6i uart pinmuxes (patch 7)

- Use gpio macros when muxing uarts (patch 1, 8)

- Clarify what is enabled in PRCM (patch 4)

- Dropped old comments in commit message from Hans (patch 4)

- Use setbits helpers in PRCM code (patch 4)

- Drop SPL code block from clock code (patch 5)

- Make mmc code use fifo in register structure definition, and
add reserved area to adjust for sun6i's different fifo address
(patch 6)

- Rewrite patch 9 commit message to reflect what is supported

- Split out Colombus board defconfig into separate patch (patch 10)

Cheers
ChenYu

Chen-Yu Tsai (5):
ARM: sunxi: Use macro values for setting UART GPIO pull-ups
ARM: sunxi: Fix build break when CONFIG_USB_EHCI is not defined
ARM: sun6i: Add clock support
ARM: sun6i: Define UART0 pins for A31
ARM: sun6i: Add Colombus board defconfig

Hans de Goede (1):
ARM: sunxi-mmc: Add mmc support for sun6i / A31

Maxime Ripard (2):
ARM: sun6i: Setup the A31 UART0 muxing
ARM: sunxi: Add basic A31 support

Oliver Schinagl (2):
ARM: sun6i: Add base address for the new controllers in A31
ARM: sun6i: Add support for the power reset control module found on
the A31

arch/arm/Kconfig | 3 +
arch/arm/cpu/armv7/sunxi/Makefile | 2 +
arch/arm/cpu/armv7/sunxi/board.c | 10 +-
arch/arm/cpu/armv7/sunxi/clock_sun6i.c | 70 ++++++++
arch/arm/cpu/armv7/sunxi/cpu_info.c | 2 +
arch/arm/cpu/armv7/sunxi/prcm.c | 33 ++++
arch/arm/include/asm/arch-sunxi/clock.h | 4 +
arch/arm/include/asm/arch-sunxi/clock_sun6i.h | 205 ++++++++++++++++++++++
arch/arm/include/asm/arch-sunxi/cpu.h | 9 +
arch/arm/include/asm/arch-sunxi/gpio.h | 3 +
arch/arm/include/asm/arch-sunxi/mmc.h | 5 +-
arch/arm/include/asm/arch-sunxi/prcm.h | 238 ++++++++++++++++++++++++++
board/sunxi/Kconfig | 10 +-
configs/Colombus_defconfig | 4 +
drivers/mmc/sunxi_mmc.c | 11 +-
include/configs/sun6i.h | 26 +++
include/configs/sunxi-common.h | 8 +-
17 files changed, 633 insertions(+), 10 deletions(-)
create mode 100644 arch/arm/cpu/armv7/sunxi/clock_sun6i.c
create mode 100644 arch/arm/cpu/armv7/sunxi/prcm.c
create mode 100644 arch/arm/include/asm/arch-sunxi/clock_sun6i.h
create mode 100644 arch/arm/include/asm/arch-sunxi/prcm.h
create mode 100644 configs/Colombus_defconfig
create mode 100644 include/configs/sun6i.h

--
2.1.0