Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp878774pxb; Wed, 27 Oct 2021 14:19:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2AZSyZK/WlTl/1V6Xz/GJrOAgxwGMgmbec1XeMrgd/+yjclI7/frHpUPncn+OkjiiCExd X-Received: by 2002:a05:6402:34d1:: with SMTP id w17mr377502edc.383.1635369589171; Wed, 27 Oct 2021 14:19:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635369589; cv=none; d=google.com; s=arc-20160816; b=NvVy2y4OH6h5mcgQYkuzWuTQwjejPq/dCouJ1KzZRz2lUqMW7WNiwl6Xr6XgD84wfK iRVfYhkQdLtR2gjLZBww9TZKJSO5klzTxN9D43XRphQu69RuPNNYuS+BbBj/FRLo6YYu 1fCyF6ENzwDYuQmX5A5Yz+wY6kLGl2+ll0CnsjnnNiKrndOdMmLl/2IuavUk+VIzGmTp 5ZATEhguj+ZZismxTXpREEeW7M0wGwndSixh4PXPPkRgzML2IVkXA50j35fsExmsYCPn pchmoiNWu1KRAyKv9dJmHHs1VB1y1KmhY2pqokUAgTgKCBq8HN9+Twb7i7OqlBIYI3rT oyBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=skrcpPB4azix386HhjF8VD/37TEUye9lSNg0FDOI+3s=; b=K461XDsUN91UOZnGkDNxTACFOj0VUm5jXXMgOjpsKF1pFeTo2qlGzY1wpl8pYyqWL4 WFNJUBdoepEbvef7XJ2ysorPWb7d6yzXz4sCjqJgIUWI3xTI3onLYWQaoRZWD8YAC6Ld ViaDTzbkAL/GUf8xd7LjFKMh0Fdjg1XlQOtn7hCgmUSL+NlvvFNRvpu702sDh5ZSbXPC 95psWaG/chhK38eK+jZ+SnBhhCN1hU6VrzbOwP/vXcOzQfaGCifGe7x4c1BGxwds5wmH LuDCqVRUrbiNJZ3vQyvuM+TXGiG0yFr0m2S7Hn+FHiBBK7IhtczdZoa6Xf9wX/LWJBTZ GFLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@icloud.com header.s=1a1hai header.b=CAdzJEi3; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=icloud.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a20si505740ejg.702.2021.10.27.14.19.13; Wed, 27 Oct 2021 14:19:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@icloud.com header.s=1a1hai header.b=CAdzJEi3; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=icloud.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232441AbhJ0JQP (ORCPT + 99 others); Wed, 27 Oct 2021 05:16:15 -0400 Received: from pv50p00im-ztdg10012101.me.com ([17.58.6.49]:58482 "EHLO pv50p00im-ztdg10012101.me.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232279AbhJ0JQP (ORCPT ); Wed, 27 Oct 2021 05:16:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1635326030; bh=skrcpPB4azix386HhjF8VD/37TEUye9lSNg0FDOI+3s=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=CAdzJEi3yqiq6BRs6xNa84s6aYh3vlSYtxA+Fo53QsXdfH+G9nEBqN3Zj/Xx1cALo 9dvxhdZcDFjNYicYViKQADkVhXiBKv5B09TF02cTTiE9WUj+xjf4M5ZYmbAxgEFuxa 1/lcawL8bPNaKGAcrQ6H0RNmEJYubyTlFWlfoLBtJrKahE4a3j6BCnr+TPPsQy70kp 3sXV1gvBnBb3Eoh+VVBwCtRYfHUW+B8lx3KGuCwXg264+CjFIB2rH5ZA8jrr88j1dL R/enIIe0JrpMtdaEAkiafUZpAEU3ApqrSvhKxGTuIL6yn69aRfCtAxWGh0nym5EW5B BYohM0KU4OvEg== Received: from debian.lan (dhcp-077-251-223-151.chello.nl [77.251.223.151]) by pv50p00im-ztdg10012101.me.com (Postfix) with ESMTPSA id 68701840476; Wed, 27 Oct 2021 09:13:45 +0000 (UTC) From: Richard van Schagen To: herbert@gondor.apana.org.au, davem@davemloft.net, matthias.bgg@gmail.com, robh+dt@kernel.org Cc: linux-crypto@vger.kernel.org, Richard van Schagen Subject: [PATCH v3 0/2] Enable the Mediatek EIP-93 crypto engine Date: Wed, 27 Oct 2021 17:13:27 +0800 Message-Id: <20211027091329.3093641-1-vschagen@icloud.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.790 definitions=2021-10-27_02:2021-10-26,2021-10-27 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 mlxscore=0 mlxlogscore=324 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2009150000 definitions=main-2110270057 Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org This series enable the Mediatek EIP-93 crypto engine as found in the MT7621 This engine is capable of AES/DES/3DES ciphers in ECB/CBC and CTR modes, hash and hmac(hash) using MD5, SHA1, SHA224 and SHA256. The engine can do full authenc(hmac(x), cipher(y)) using mentioned ciphers and hashes. The engine also has an ANSI X9.31 PRNG. This driver is fully test and passes all the extra tests when selecting: CONFIG_CRYPTO_MANAGER_EXTRA_TESTS For now only simple cipher and authenc are added. In the future I will add patches for hash/hmac and the PRNG. Richard van Schagen Changes since V2: - Adding 2 missing "static" which got lost in my editing (sorry) Changes since V1: - Fix errors found by kernel test robot. --- .../bindings/crypto/mediatek,mtk-eip93.yaml | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Documentation/devicetree/bindings/crypto/mediatek,mtk-eip93.yaml drivers/crypto/Kconfig | 2 + drivers/crypto/Makefile | 1 + drivers/crypto/mtk-eip93/Kconfig | 49 ++ drivers/crypto/mtk-eip93/Makefile | 7 + drivers/crypto/mtk-eip93/eip93-aead.c | 767 +++++++++++++++++++++++ drivers/crypto/mtk-eip93/eip93-aead.h | 43 ++ drivers/crypto/mtk-eip93/eip93-aes.h | 15 + drivers/crypto/mtk-eip93/eip93-cipher.c | 399 ++++++++++++ drivers/crypto/mtk-eip93/eip93-cipher.h | 62 ++ drivers/crypto/mtk-eip93/eip93-common.c | 784 ++++++++++++++++++++++++ drivers/crypto/mtk-eip93/eip93-common.h | 34 + drivers/crypto/mtk-eip93/eip93-des.h | 15 + drivers/crypto/mtk-eip93/eip93-main.c | 458 ++++++++++++++ drivers/crypto/mtk-eip93/eip93-main.h | 146 +++++ drivers/crypto/mtk-eip93/eip93-regs.h | 382 ++++++++++++ 15 files changed, 3164 insertions(+) create mode 100644 drivers/crypto/mtk-eip93/Kconfig create mode 100644 drivers/crypto/mtk-eip93/Makefile create mode 100644 drivers/crypto/mtk-eip93/eip93-aead.c create mode 100644 drivers/crypto/mtk-eip93/eip93-aead.h create mode 100644 drivers/crypto/mtk-eip93/eip93-aes.h create mode 100644 drivers/crypto/mtk-eip93/eip93-cipher.c create mode 100644 drivers/crypto/mtk-eip93/eip93-cipher.h create mode 100644 drivers/crypto/mtk-eip93/eip93-common.c create mode 100644 drivers/crypto/mtk-eip93/eip93-common.h create mode 100644 drivers/crypto/mtk-eip93/eip93-des.h create mode 100644 drivers/crypto/mtk-eip93/eip93-main.c create mode 100644 drivers/crypto/mtk-eip93/eip93-main.h create mode 100644 drivers/crypto/mtk-eip93/eip93-regs.h