[PATCH v3 0/9] sunxi: Add support for A733 SoC

Yixun Lan
2026-01-13T04:02:49Z

Allwinner A733 SoC[1] is an octa-core Cortex-A76/A55 processor, below
list the brief features.

- Dual-core Cortex-A76, Hexa-core Cortex-A55, RISC-V E902 core
- UP to 16GB RAM, 192K+512K SRAM
- Imagination BXM-4-64 MC1 GPU
- Optional 3 TOPS NPU
- UFS3.0 storage
- eMMC, SD, SDIO
- Octal SPI
- HDMI, RGB, LVDS, eDP, MIPI display interface
- MIPI CSI, up 4 lanes
- Audio 5x I2S
- GMAC Ethernet
- USB3.1, 2.0 support
- PCIe 3.0 DM

Add support for Allwinner A733 SoC, target to support booting mainline
U-boot via FEL download mode, also add eMMC driver support, make it
able to load images from the eMMC/SD storage device.

I've not pushed DT part patches, but put a more complete working branch
at my development branch[2] for reference or testing if people
interested. Please note, we reply on vendor boot0 firmware for the DDR
initialization, then use sunxi-fel to down and execute U-Boot, see doc[3].

Link: https://linux-sunxi.org/A733 [1]
Link: https://github.com/dlan17/u-boot/tree/allwinner/A733/next [2]
Link: https://github.com/dlan17/a733/blob/main/boot-fel.md [3]
Signed-off-by: Yixun Lan <dlan@gentoo.org>
---
Changes in v3:
- power: fix format issue, move patch to first, fix SPL config
- gpio/pinctrl: rename config to SUNXI_A733_PINCTRL
- refactor get_mclk_offset()
- Link to v2: https://lore.kernel.org/r/20251130-01-a733-soc-support-v2-0-18bdd4376fad@gentoo.org

Changes in v2:
- reuse CONFIG_SUNXI_GEN_NCAT2
- merge clock initialization code with H6 driver
- add pmu driver for SPL stage
- rework for PIO register layout, introduce PIO_OFFSET
- squash commit for changes of Kconfig
- Link to v1: https://lore.kernel.org/r/20251116-01-a733-soc-support-v1-0-fb4c8db78e75@gentoo.org

---
Yixun Lan (9):
power: regulator: add AXP318W support
power: regulator: enable AWP318W SPL support
sunxi: a733: uart: setup serial console
clock: a733: implement support for mmc/uart
clock: reset: a733: add initial support
gpio: a733: add initial support
pinctrl: sunxi: a733: add initial support
sunxi: mmc: enable support for A733
sunxi: sun60i: initial support for A733 SoC

arch/arm/include/asm/arch-sunxi/clock_sun50i_h6.h | 31 ++++
arch/arm/include/asm/arch-sunxi/cpu_sunxi_ncat2.h | 36 +++++
arch/arm/mach-sunxi/Kconfig | 14 ++
arch/arm/mach-sunxi/board.c | 3 +-
arch/arm/mach-sunxi/clock_sun50i_h6.c | 14 +-
arch/arm/mach-sunxi/cpu_info.c | 2 +
common/spl/Kconfig | 3 +
drivers/clk/sunxi/Kconfig | 14 ++
drivers/clk/sunxi/Makefile | 2 +
drivers/clk/sunxi/clk_a733.c | 75 +++++++++
drivers/clk/sunxi/clk_a733_r.c | 36 +++++
drivers/clk/sunxi/clk_sunxi.c | 10 ++
drivers/gpio/Kconfig | 7 +
drivers/gpio/sunxi_gpio.c | 17 +-
drivers/mmc/sunxi_mmc.c | 28 +++-
drivers/pinctrl/sunxi/Kconfig | 10 ++
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 57 ++++++-
drivers/power/Kconfig | 10 ++
drivers/power/Makefile | 1 +
drivers/power/axp_spl.c | 20 +++
drivers/power/pmic/axp.c | 1 +
drivers/power/regulator/axp_regulator.c | 50 ++++++
include/axp_pmic.h | 1 +
include/configs/sun60i.h | 11 ++
include/dt-bindings/clock/sun60i-a733-ccu.h | 188 ++++++++++++++++++++++
include/dt-bindings/clock/sun60i-a733-r-ccu.h | 34 ++++
include/dt-bindings/reset/sun60i-a733-ccu.h | 85 ++++++++++
include/dt-bindings/reset/sun60i-a733-r-ccu.h | 22 +++
include/sunxi_gpio.h | 14 ++
29 files changed, 780 insertions(+), 16 deletions(-)
---
base-commit: 23987e10905146def3ab61e55ec912c6e742efdc
change-id: 20251115-01-a733-soc-support-67b0603c980e

Best regards,
--
Yixun Lan <dlan@gentoo.org>