Message ID | 20221227-ux500-stm32-hash-v2-0-bc443bc44ca4@linaro.org |
---|---|
Headers | show |
Series | crypto: stm32 hash - reuse for Ux500 | expand |
On Tue, 10 Jan 2023 20:19:12 +0100, Linus Walleij wrote: > This adds device tree bindings for the Ux500 HASH block > as a compatible in the STM32 HASH bindings. > > The Ux500 HASH binding has been used for ages in the kernel > device tree for Ux500 but was never documented, so fill in > the gap by making it a sibling of the STM32 HASH block, > which is what it is. > > The relationship to the existing STM32 HASH block is pretty > obvious when looking at the register map, and I have written > patches to reuse the STM32 HASH driver on the Ux500. > > The main difference from the outside is that the Ux500 HASH > lacks the interrupt line, so some special if-clauses are > needed to accomodate this in the binding. > > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > ChangeLog v1->v2: > - Use an else construction instead of if/if not. > --- > .../devicetree/bindings/crypto/st,stm32-hash.yaml | 23 +++++++++++++++++++++- > 1 file changed, 22 insertions(+), 1 deletion(-) > Reviewed-by: Rob Herring <robh@kernel.org>
By taking some small portions of the Ux500 HASH driver and adding to the STM32 driver, it turns out we can support both platforms with the more modern STM32 driver. The STM32 driver is more modern and compact thanks to using things like the crypto engine. We add a polled mode since the Ux500 does not have any interrupt. Incidentally, this could perhaps be re-used to implement synchronous mode, if this is desireable. To: Herbert Xu <herbert@gondor.apana.org.au> To: "David S. Miller" <davem@davemloft.net> To: Rob Herring <robh+dt@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Maxime Coquelin <mcoquelin.stm32@gmail.com> To: Alexandre Torgue <alexandre.torgue@foss.st.com> To: Lionel Debieve <lionel.debieve@foss.st.com> Cc: linux-crypto@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-stm32@st-md-mailman.stormreply.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- Changes in v2: - Use an else-clause in the DT bindings. - Fix up issues pointed out by Lionel in the driver extension. - Dropped the patch converting dma_mode to a bool after Lionel explained how this works. - Link to v1: https://lore.kernel.org/r/20221227-ux500-stm32-hash-v1-0-b637ac4cda01@linaro.org --- Linus Walleij (6): dt-bindings: crypto: Let STM32 define Ux500 HASH crypto: stm32/hash: Simplify code crypto: stm32/hash: Use existing busy poll function crypto: stm32/hash: Wait for idle before final CPU xmit crypto: stm32/hash: Support Ux500 hash crypto: ux500/hash - delete driver .../devicetree/bindings/crypto/st,stm32-hash.yaml | 23 +- drivers/crypto/Kconfig | 10 - drivers/crypto/Makefile | 1 - drivers/crypto/stm32/stm32-hash.c | 243 ++- drivers/crypto/ux500/Kconfig | 22 - drivers/crypto/ux500/Makefile | 7 - drivers/crypto/ux500/hash/Makefile | 11 - drivers/crypto/ux500/hash/hash_alg.h | 398 ---- drivers/crypto/ux500/hash/hash_core.c | 1966 -------------------- 9 files changed, 227 insertions(+), 2454 deletions(-) --- base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2 change-id: 20221227-ux500-stm32-hash-9ee26834292f Best regards,