
Hi everyone,
This is v3 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 v2:
- Added Maxime Ripard as maintainer of Colombus 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 +- board/sunxi/MAINTAINERS | 5 + configs/Colombus_defconfig | 4 + drivers/mmc/sunxi_mmc.c | 11 +- include/configs/sun6i.h | 26 +++ include/configs/sunxi-common.h | 8 +- 18 files changed, 638 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