From patchwork Wed Oct 23 20:05:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 177342 Delivered-To: patch@linaro.org Received: by 2002:a92:409a:0:0:0:0:0 with SMTP id d26csp1213433ill; Wed, 23 Oct 2019 13:05:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqwa55seGtDd1U4FpSDrVkWm4fdlipT9ZS537z9MCJDpjB7J7tpYgWqd5A4nCxqqqFIE0Aqn X-Received: by 2002:a17:906:95d6:: with SMTP id n22mr15043007ejy.295.1571861122660; Wed, 23 Oct 2019 13:05:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571861122; cv=none; d=google.com; s=arc-20160816; b=UVCyfEQ4wYBbnaBEpDIhfdD0bmknnC5BOWCroujAiE7jWqRSUOzi8pDlAr/lTAbF3w b/7qbmFIAC2mVa0TJaKp804suKNyCFWJe/iZkxvxRIKj+t3uytcyNOT4jachIGyvNW5o MVwl4wpf7Kl5hJnPlf+5sMyvKVRF18rF4AsLfXjANOg5IGSQHI5oYfMm5SpMRHOS2Nkf sMHnlGBceWGFl6K7p+uCIb7KQfSSbtBfwz4Je2KQJ5wyTfvCKNwQMkIsZ4JuLvugmxAc aTWEkbvGwaXsec+ghZHb91xZY2D8j86HP17kncEs4jTFosMMom/CDa4Dut3Fz/m6TC0W OTiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Hsfe3o9u2LRY+0nocL08VDzRyf/zs8Qk4HLwEzdn4Dk=; b=AZzrt71QEruKq1bnVoqBfHqpXA71ZvptrfvhtCDZiHBrYatb00cA//0q+zg3oRi+iZ vpgtZe7ka4sgLgFVawfAjYjAOGuX2xzlHYKiCg369W6eCsiNQSjX/XNyrk/U1lZ82Jxw 33Y7229aSt8yxoJhFVFwSIMU0trEqOgBbHULei8gF3+P1K3TIDw58O6d7WM+TMEEE+og wTKRjOJ2bi4k8NPPR8Rf3de1PHGvAe83uHeYrqLDIX1QquRCBjMwrolpziuV3HlVGC5E hMMt2d2lhKnRvhXIBt/6iNawJ8iYdrgOjOzH1wujmy1zMcpDHHtDIwY2D8sNpc4UM7tL vTHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=HYubk8Xv; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g22si15507551edf.398.2019.10.23.13.05.22; Wed, 23 Oct 2019 13:05:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=HYubk8Xv; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727275AbfJWUFV (ORCPT + 8 others); Wed, 23 Oct 2019 16:05:21 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:51060 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726032AbfJWUFV (ORCPT ); Wed, 23 Oct 2019 16:05:21 -0400 Received: by mail-wm1-f67.google.com with SMTP id q13so284934wmj.0; Wed, 23 Oct 2019 13:05:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Hsfe3o9u2LRY+0nocL08VDzRyf/zs8Qk4HLwEzdn4Dk=; b=HYubk8XvcGGvQYdserWcLKzcweNYV7O56pRPn71Qjf0wSFj+KijzfLknYRkt3CjBaM OTFerJPUekyKHYKjZm7pYw9EaouZK/rv/qAJccVs+FppdmBQ7+SE86z4td2vTiOFbf1q g/r70kz3dNhO4kZnmATWY9L2cgY3D+ATrlgfbHGmdhfvZsqCHmhnoqRolBYlvPz/NVRO AheiQzOSbwxXwWvljdXe8ruhOqcUxnZQaBtgw6q3miQSeHpppWjg3X3mvsGR0YQUlgYd jhTGwD2YKTm+j8somZm5Xbwl/PUkQBfBikFaJtbfmqAnVpyRg0ssXDfWQLNNv80KR+5Q wkpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Hsfe3o9u2LRY+0nocL08VDzRyf/zs8Qk4HLwEzdn4Dk=; b=EwUsxEC/HwmEK3WwU5iwCWz9knCd86kvgRBQFggZT43kZahzsungCQI4zM597ZV4JU rar4yLkwi8jhtPN9zsDa/fy00AMeO4lxPd/uGlg77baBcVOJvYrxjNdDh/YBQael008X GLGBOyR0DT3hgSLBAGLQYHOrcJUQVQM/+Ff4QAtZioIbW7JaxAxL7VI0hqJvtzXzVG2L l/pBs/8qFiliCNBn7lyDTRlBHHYID3uZFlbJ6ek0dc0sKj+AfTSQD4BMMzj/8bkRWx9b 1uXCHmY+BTPO8//kDS17OKGgDAcyYoLU99XgrmSv2coF5QYaLh+57kbUkl03gF/aWAiY xoIg== X-Gm-Message-State: APjAAAXHgYABvJwt0yXP+INUZABVpidCHqSgyiSYIM3QQhSUdH3uO6NP 0mDPuDQa8UL7XUTKrsQ8DMM= X-Received: by 2002:a1c:9d07:: with SMTP id g7mr1495189wme.53.1571861118310; Wed, 23 Oct 2019 13:05:18 -0700 (PDT) Received: from Red.localdomain (lfbn-1-7036-79.w90-116.abo.wanadoo.fr. [90.116.209.79]) by smtp.googlemail.com with ESMTPSA id b5sm177555wmj.18.2019.10.23.13.05.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Oct 2019 13:05:17 -0700 (PDT) From: Corentin Labbe To: catalin.marinas@arm.com, davem@davemloft.net, herbert@gondor.apana.org.au, linux@armlinux.org.uk, mark.rutland@arm.com, mripard@kernel.org, robh+dt@kernel.org, wens@csie.org, will@kernel.org Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, Corentin Labbe Subject: [PATCH v6 00/11] crypto: add sun8i-ce driver for Allwinner crypto engine Date: Wed, 23 Oct 2019 22:05:02 +0200 Message-Id: <20191023200513.22630-1-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hello This patch serie adds support for the Allwinner crypto engine. The Crypto Engine is the third generation of Allwinner cryptogaphic offloader. The first generation is the Security System already handled by the sun4i-ss driver. The second is named also Security System and is present on A80 and A83T SoCs, originaly this driver supported it also, but supporting both IP bringing too much complexity and another driver (sun8i-ss) will came for it. For the moment, the driver support only DES3/AES in ECB/CBC mode. Patchs for CTR/CTS/XTS, RSA and RNGs will came later. This serie is tested with CRYPTO_MANAGER_EXTRA_TESTS and tested on: sun50i-a64-bananapi-m64 sun50i-a64-pine64-plus sun50i-h5-libretech-all-h3-cc sun50i-h6-pine-h64 sun8i-h2-plus-libretech-all-h3-cc sun8i-h2-plus-orangepi-r1 sun8i-h2-plus-orangepi-zero sun8i-h3-libretech-all-h3-cc sun8i-h3-orangepi-pc sun8i-r40-bananapi-m2-ultra DT and defconfig will go thru the mripard tree Regards Changes since v5: - fixed uninitialized err in sun8i_ce_allocate_chanlist (reported by lkp@intel.com/dan.carpenter@oracle.com) Changes since v4: - fixed some typos in kconfig - made sun8i_ce_pm_ops static - Use devm_platform_ioremap_resource Changes since v3: - removed need of reset-names - made reset mandatory Changes since v2: - changed additionalproperties - splited fallbacks functions out of sun8i_ce_cipher() - changed variant "model" to "has_t_dlen_in_bytes" - splited sun8i_ce_register_algs/sun8i_ce_get_clks out of sun8i_ce_probe() Changes since v1: - Add sun4i-ss to allwinner directory - Cleaned variant structure - Renamed clock name from ahb to bus (and mbus to ram) - Fixed DT bindings problem reported by mripard - Cleaned unneeded status = "" in R40 DT - Removed old unnecessary interrupt_names in A64 DT - Added arm64 defconfig - Added support for PM functions - Splitted probe functions - Reworked clock settings - made reset mandatory Corentin Labbe (11): crypto: Add allwinner subdirectory crypto: Add Allwinner sun8i-ce Crypto Engine dt-bindings: crypto: Add DT bindings documentation for sun8i-ce Crypto Engine ARM: dts: sun8i: R40: add crypto engine node ARM: dts: sun8i: H3: Add Crypto Engine node ARM64: dts: allwinner: sun50i: Add Crypto Engine node on A64 ARM64: dts: allwinner: sun50i: Add crypto engine node on H5 ARM64: dts: allwinner: sun50i: Add Crypto Engine node on H6 sunxi_defconfig: add new Allwinner crypto options arm64: defconfig: add new Allwinner crypto options crypto: sun4i-ss: Move to Allwinner directory .../bindings/crypto/allwinner,sun8i-ce.yaml | 88 +++ MAINTAINERS | 4 +- arch/arm/boot/dts/sun8i-h3.dtsi | 9 + arch/arm/boot/dts/sun8i-r40.dtsi | 9 + arch/arm/configs/sunxi_defconfig | 2 + arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 9 + arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi | 9 + arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 9 + arch/arm64/configs/defconfig | 2 + drivers/crypto/Kconfig | 28 +- drivers/crypto/Makefile | 2 +- drivers/crypto/allwinner/Kconfig | 60 ++ drivers/crypto/allwinner/Makefile | 2 + .../{sunxi-ss => allwinner/sun4i-ss}/Makefile | 0 .../sun4i-ss}/sun4i-ss-cipher.c | 0 .../sun4i-ss}/sun4i-ss-core.c | 0 .../sun4i-ss}/sun4i-ss-hash.c | 0 .../sun4i-ss}/sun4i-ss-prng.c | 0 .../sun4i-ss}/sun4i-ss.h | 0 drivers/crypto/allwinner/sun8i-ce/Makefile | 2 + .../allwinner/sun8i-ce/sun8i-ce-cipher.c | 434 +++++++++++ .../crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 676 ++++++++++++++++++ drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h | 254 +++++++ 23 files changed, 1570 insertions(+), 29 deletions(-) create mode 100644 Documentation/devicetree/bindings/crypto/allwinner,sun8i-ce.yaml create mode 100644 drivers/crypto/allwinner/Kconfig create mode 100644 drivers/crypto/allwinner/Makefile rename drivers/crypto/{sunxi-ss => allwinner/sun4i-ss}/Makefile (100%) rename drivers/crypto/{sunxi-ss => allwinner/sun4i-ss}/sun4i-ss-cipher.c (100%) rename drivers/crypto/{sunxi-ss => allwinner/sun4i-ss}/sun4i-ss-core.c (100%) rename drivers/crypto/{sunxi-ss => allwinner/sun4i-ss}/sun4i-ss-hash.c (100%) rename drivers/crypto/{sunxi-ss => allwinner/sun4i-ss}/sun4i-ss-prng.c (100%) rename drivers/crypto/{sunxi-ss => allwinner/sun4i-ss}/sun4i-ss.h (100%) create mode 100644 drivers/crypto/allwinner/sun8i-ce/Makefile create mode 100644 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c create mode 100644 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c create mode 100644 drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h -- 2.21.0