[PATCH 7/9] crypto: allwinner: add sun8i-ce AES driver
Simon Glass
sjg at chromium.org
Thu Jul 2 22:03:39 CEST 2026
Hi James,
On 2026-07-02T01:46:51, James Hilliard <james.hilliard1 at gmail.com> wrote:
> crypto: allwinner: add sun8i-ce AES driver
>
> Add an Allwinner sun8i Crypto Engine driver using the same directory and
> driver naming style as the Linux sun8i-ce driver. The parent device owns
> the shared CE registers, clocks, resets and task submission path, while an
> AES child exposes the standard UCLASS_AES interface.
>
> Support AES-128, AES-192 and AES-256 in ECB and CBC modes with
> software-provided keys. Process direct DMA-capable buffers in 128 KiB
> chunks and use cache-aligned bounce buffers for unaligned heads, tails and
> overlapping cases. CBC keeps the IV chain in software between chunks so
> each CE task can run on a larger contiguous range without losing chaining
> state.
>
> Model the H6 and H616 compatibles after the Linux sun8i-ce variant data.
> Both variants use byte-sized cipher task lengths; H616 additionally needs
> word-addressed descriptors. In SPL, enable the shared H6-family CE clock,
> bus gate, reset and MBUS gate directly because the full clock/reset
> uclasses are not always available there.
>
> [...]
>
> MAINTAINERS | 1 +
> drivers/crypto/Kconfig | 2 +
> drivers/crypto/Makefile | 1 +
> drivers/crypto/allwinner/Kconfig | 3 +
> drivers/crypto/allwinner/Makefile | 3 +
> drivers/crypto/allwinner/sun8i-ce/Kconfig | 39 +++
> drivers/crypto/allwinner/sun8i-ce/Makefile | 4 +
> drivers/crypto/allwinner/sun8i-ce/sun8i-ce-aes.c | 407 ++++++++++++++++++++++
> drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 375 ++++++++++++++++++++
> drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h | 61 ++++
> 10 files changed, 896 insertions(+)
I'm going to leave this one to Andre :-)
Regards,
Simon
More information about the U-Boot
mailing list