Hello The rockchip crypto driver is broken and do not pass self-tests. This serie's goal is to permit to become usable and pass self-tests. This whole serie is tested on a rk3328-rock64, rk3288-miqi with selftests (with CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y) The serie is also tested on a rk3399 by Hugh Cole-Baker <sigmaris@xxxxxxxxx> Regards Changes since v1: - select CRYPTO_ENGINE - forgot to free fallbacks TFMs - fixed kernel test robots warning - add the PM patch Changes since v2: - Added DMA clock back to 3288 since it dont work without it - fallback needed to select CBC and ECB configs - Added support for rk3399 - Added more patch (style, read_poll_timeout) Corentin Labbe (26): crypto: rockchip: use dev_err for error message about interrupt crypto: rockchip: do not use uninit variable crypto: rockchip: do not do custom power management crypto: rockchip: fix privete/private typo crypto: rockchip: do not store mode globally crypto: rockchip: add fallback for cipher crypto: rockchip: add fallback for ahash crypto: rockchip: better handle cipher key crypto: rockchip: remove non-aligned handling crypto: rockchip: rework by using crypto_engine crypto: rockchip: rewrite type crypto: rockchip: add debugfs crypto: rockchip: introduce PM crypto: rockchip: handle reset also in PM crypto: rockchip: use clk_bulk to simplify clock management crypto: rockchip: add support for r3399 clk: rk3399: use proper crypto0 name arm64: dts: rockchip: rk3399: add crypto node arm64: dts: rockchip: add rk3328 crypto node ARM: dts: rk3288: crypto does not need reset-names anymore dt-bindings: crypto: convert rockchip-crypto to yaml crypto: rockchip: add support for rk3328 crypto: rockchip: Check for maximum frequency of clocks crypto: rockchip: add myself as maintainer crypto: rockchip: fix style issue crypto: rockchip: use read_poll_timeout .../bindings/clock/qcom,gcc-other.yaml | 2 +- .../crypto/rockchip,rk3288-crypto.yaml | 84 +++ .../bindings/crypto/rockchip-crypto.txt | 28 - MAINTAINERS | 7 + arch/arm/boot/dts/rk3288.dtsi | 1 - arch/arm64/boot/dts/rockchip/rk3328.dtsi | 10 + arch/arm64/boot/dts/rockchip/rk3399.dtsi | 12 + drivers/crypto/Kconfig | 15 + drivers/crypto/rockchip/rk3288_crypto.c | 498 ++++++++---------- drivers/crypto/rockchip/rk3288_crypto.h | 109 ++-- drivers/crypto/rockchip/rk3288_crypto_ahash.c | 274 ++++++---- .../crypto/rockchip/rk3288_crypto_skcipher.c | 480 ++++++++++------- include/dt-bindings/clock/rk3399-cru.h | 6 +- 13 files changed, 880 insertions(+), 646 deletions(-) create mode 100644 Documentation/devicetree/bindings/crypto/rockchip,rk3288-crypto.yaml delete mode 100644 Documentation/devicetree/bindings/crypto/rockchip-crypto.txt -- 2.34.1