Hello!
This patchset expand the funcionality of the Amlogic
crypto driver by adding support for more SoC families:
AXG, G12A, G12B, SM1, A1, S4.
Also specify and enable crypto node in device tree
for reference Amlogic devices.
Tested on AXG, G12A/B, SM1, A1 and S4 devices via
custom tests and trcypt module.
---
Changes V1 -> V2:
- Rebased over linux-next.
- Adjusted device tree bindings description.
- A1 and S4 dts use their own compatible, which is a G12 fallback.
V1: https://lore.kernel.org/all/[email protected]/
Alexey Romanov (20):
drivers: crypto: meson: don't hardcode IRQ count
drivers: crypto: meson: make CLK controller optional
drviers: crypto: meson: add platform data
drivers: crypto: meson: add MMIO helpers
drivers: crypto: meson: move get_engine_number()
drivers: crypto: meson: drop status field from meson_flow
drivers: crypto: meson: move algs definition and cipher API to
cipher.c
drivers: crypto: meson: cleanup defines
drivers: crypto: meson: process more than MAXDESCS descriptors
drivers: crypto: meson: avoid kzalloc in engine thread
drivers: crypto: meson: introduce hasher
drivers: crypto: meson: add support for AES-CTR
drivers: crypto: meson: use fallback for 192-bit keys
drivers: crypto: meson: add support for G12-series
drivers: crypto: meson: add support for AXG-series
dt-bindings: crypto: meson: add new compatibles
arch: arm64: dts: meson: a1: add crypto node
arch: arm64: dts: meson: s4: add crypto node
arch: arm64: dts: meson: g12: add crypto node
arch: arm64: dts: meson: axg: add crypto node
.../bindings/crypto/amlogic,gxl-crypto.yaml | 31 +-
arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 7 +
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 6 +
.../boot/dts/amlogic/meson-g12-common.dtsi | 6 +
arch/arm64/boot/dts/amlogic/meson-s4.dtsi | 6 +
drivers/crypto/amlogic/Makefile | 2 +-
drivers/crypto/amlogic/amlogic-gxl-cipher.c | 602 ++++++++++++------
drivers/crypto/amlogic/amlogic-gxl-core.c | 281 ++++----
drivers/crypto/amlogic/amlogic-gxl-hasher.c | 452 +++++++++++++
drivers/crypto/amlogic/amlogic-gxl.h | 115 +++-
10 files changed, 1165 insertions(+), 343 deletions(-)
create mode 100644 drivers/crypto/amlogic/amlogic-gxl-hasher.c
--
2.34.1
Hi,
On 23/01/2024 17:58, Alexey Romanov wrote:
> Hello!
>
> This patchset expand the funcionality of the Amlogic
> crypto driver by adding support for more SoC families:
> AXG, G12A, G12B, SM1, A1, S4.
>
> Also specify and enable crypto node in device tree
> for reference Amlogic devices.
>
> Tested on AXG, G12A/B, SM1, A1 and S4 devices via
> custom tests and trcypt module.
Please describe which tests you ran for next version.
Neil
>
> ---
>
> Changes V1 -> V2:
>
> - Rebased over linux-next.
> - Adjusted device tree bindings description.
> - A1 and S4 dts use their own compatible, which is a G12 fallback.
This is not what I meant by fallback, I was meaning having:
compatible = "amlogic,a1-crypto", "amlogic,g12a-crypto";
and them only add "amlogic,g12a-crypto" in the driver.
Same for S4.
Neil
>
> V1: https://lore.kernel.org/all/[email protected]/
>
> Alexey Romanov (20):
> drivers: crypto: meson: don't hardcode IRQ count
> drivers: crypto: meson: make CLK controller optional
> drviers: crypto: meson: add platform data
> drivers: crypto: meson: add MMIO helpers
> drivers: crypto: meson: move get_engine_number()
> drivers: crypto: meson: drop status field from meson_flow
> drivers: crypto: meson: move algs definition and cipher API to
> cipher.c
> drivers: crypto: meson: cleanup defines
> drivers: crypto: meson: process more than MAXDESCS descriptors
> drivers: crypto: meson: avoid kzalloc in engine thread
> drivers: crypto: meson: introduce hasher
> drivers: crypto: meson: add support for AES-CTR
> drivers: crypto: meson: use fallback for 192-bit keys
> drivers: crypto: meson: add support for G12-series
> drivers: crypto: meson: add support for AXG-series
> dt-bindings: crypto: meson: add new compatibles
> arch: arm64: dts: meson: a1: add crypto node
> arch: arm64: dts: meson: s4: add crypto node
> arch: arm64: dts: meson: g12: add crypto node
> arch: arm64: dts: meson: axg: add crypto node
>
> .../bindings/crypto/amlogic,gxl-crypto.yaml | 31 +-
> arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 7 +
> arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 6 +
> .../boot/dts/amlogic/meson-g12-common.dtsi | 6 +
> arch/arm64/boot/dts/amlogic/meson-s4.dtsi | 6 +
> drivers/crypto/amlogic/Makefile | 2 +-
> drivers/crypto/amlogic/amlogic-gxl-cipher.c | 602 ++++++++++++------
> drivers/crypto/amlogic/amlogic-gxl-core.c | 281 ++++----
> drivers/crypto/amlogic/amlogic-gxl-hasher.c | 452 +++++++++++++
> drivers/crypto/amlogic/amlogic-gxl.h | 115 +++-
> 10 files changed, 1165 insertions(+), 343 deletions(-)
> create mode 100644 drivers/crypto/amlogic/amlogic-gxl-hasher.c
>