From patchwork Wed Oct 16 15:01:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 11193541 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E53321390 for ; Wed, 16 Oct 2019 15:01:39 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C2BC621848 for ; Wed, 16 Oct 2019 15:01:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="FNriVH3L"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ysa/Wbos" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C2BC621848 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=+IfGez+80qpFsBGl+dt5glux9JTf//fMyhN0hZ4fvGc=; b=FNriVH3LUuQIFc yfjyWW2V18QGNHaGit6qMOPvBT4uLPGHznoSqIyaCrj2DUPHw4xZsQufav1ccBKk+kBwZZws2umaB XzLldDTg/n9DNjKvMub0cfiiTMiTdqc1bOsQtwoKYqKUTfe4whzqv41WsEn52vKHodKbs+SwSyO8O fh4OAweKyLAdJAKSAA5KNW+VM/j8iFfzcSlpGGInPRqWxA13uGO9WLQ7uEEL1OBRhbGjwAxiKtNoV R1/Y1Bnk+Xin4BZKDquFaen8Akl5oK36FC6anUF7ESO3HayAvK5UrP/JWyd4rkqC3APVDrfqa6r98 CEqAZMR+RxHVEezpdmwg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iKknz-00004y-FZ; Wed, 16 Oct 2019 15:01:39 +0000 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iKknw-0008VT-AH for linux-arm-kernel@lists.infradead.org; Wed, 16 Oct 2019 15:01:38 +0000 Received: by mail-wm1-x341.google.com with SMTP id a6so3275915wma.5 for ; Wed, 16 Oct 2019 08:01:35 -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=k23qzR65sWJn/mMveQEHK8WGYolTSnSuyuXwsgz/Wto=; b=Ysa/Wbosmj7yFn7kFq97CA9V9dpVnv9bAN/2gngrwLYRA4IZ3E3OVzd13xbCRhw+wn L2ta2p1fJPQRy3t5fghUiRZFaqXJnYcDU4M44pZkEvlTLGp+FkZA1uiUNK84MXEeyDlQ JgB+JyqSMMkn0DoCuLGiDu3udI/U8v8IWwKhL1RrqVyXO+t83fK5udwDWmYfOWxCcYpO zmfWchPj3M5CcnVyOhNhRPPWEHaOV2yhlsh4OAF/meEc87saew9CRzdFQtUn6Vc8Pm+s h6MpbTH3sD49lB36PSB6xWlP5rzpIoQijgSAFuN+lJaCaHxPckkCpwB+MU2n6Vv3YRSo ebdQ== 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=k23qzR65sWJn/mMveQEHK8WGYolTSnSuyuXwsgz/Wto=; b=tL2psdPtPbd+usL1g5EXdL/O0cN8yMAHthMSwLTIweotHR5jDZM1eoqF93RmcT7DPT HMq2AptHtNXXENzNXkz3zQzaekPgKQ0e1aE6ozpoewAvk2DmFbO/HUF97en1+bJtFqK3 /jmKNFnAdXgUN9kQPnO7bvES++tOvBbWoOouFHZccBcuNtM8D8bou0RTt18ysSlrib4G sv/bibZSmXo/2yLpkOT+pCQr4Gm7BPJERIMNjHpzDzsD2FLGKxinT8+qC0WMn9D/m0AY SdCTVTAVNJxTUxdb7pquEgL62RiDBAcybAoJm5lvgk58hHsMFjenf715Cp4cgyHhTzPn mmLA== X-Gm-Message-State: APjAAAUoAs6gcuaRUCvSV9MGSfLiIEcJkajk35bIGMb4zhaMsT3W52zO UCdFo6PRpKMjRy8UemNFqKc= X-Google-Smtp-Source: APXvYqz+wePvv35aS7e3hggckLg0aCPANjZj2WxZWatpR0MRbCAEyOBvwKZVLF4uqfXj0VKf//4IWA== X-Received: by 2002:a1c:ed04:: with SMTP id l4mr3950186wmh.116.1571238094745; Wed, 16 Oct 2019 08:01:34 -0700 (PDT) Received: from Red.localdomain ([2a01:cb1d:147:7200:2e56:dcff:fed2:c6d6]) by smtp.googlemail.com with ESMTPSA id r18sm3215437wme.48.2019.10.16.08.01.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Oct 2019 08:01:33 -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 Subject: [PATCH v5 00/11] crypto: add sun8i-ce driver for Allwinner crypto engine Date: Wed, 16 Oct 2019 17:01:20 +0200 Message-Id: <20191016150131.15430-1-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191016_080136_355296_2AA3A567 X-CRM114-Status: GOOD ( 13.71 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (clabbe.montjoie[at]gmail.com) -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:341 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, Corentin Labbe , linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.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 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 | 675 ++++++++++++++++++ drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h | 254 +++++++ 23 files changed, 1569 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