From patchwork Tue Jun 18 00:37:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13701584 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 36D62C27C79 for ; Tue, 18 Jun 2024 00:38:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=lKuj2kjzCNP1OTawGgcPwef07LFs/c3ARZmci/YZ/WU=; b=26GmyEDuVpgP9Kzp/NA0w/bdaR gxtq7mlOt0LvUcrX4PXMNH2YP5/O4Q30iASAmHtKtX/h/FiTnwr6yceJFbOl8tCUK5t7lJqPHvoRA GdzwIVma35/6eE4sSUQjUGq42gbxBf4KQWBSJWeQ/5j1ObJCjG4snpeoV7n/TadnkUTbPyagxRh3Q hyKcCGHDEC5mVc/dWvPoYUacHgcaneA4BFDDzSPKvaWHmQ5+G1BZBHPz1HJ9E+7bXu3rMAJF+Eq4Z OGSaDLg2czq58aPpqhKVCJSPkam6cHecL+zPHtCWCz7HKYXbhtk2kYE4fARbxWAIRnf/RCFOlXfRm E8CVLl3A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMrH-0000000D4tF-3mdE; Tue, 18 Jun 2024 00:38:01 +0000 Received: from mail-oa1-x2d.google.com ([2001:4860:4864:20::2d]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMr5-0000000D4lM-1n0M for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 00:37:49 +0000 Received: by mail-oa1-x2d.google.com with SMTP id 586e51a60fabf-254a9b89be2so2524013fac.2 for ; Mon, 17 Jun 2024 17:37:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718671064; x=1719275864; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lKuj2kjzCNP1OTawGgcPwef07LFs/c3ARZmci/YZ/WU=; b=XNkhwmuXII/VJctV/p+Fz1BHwRqkdvPlcuFgbaIopZliSPLLYqiLeyeGGixE1XpXn+ 4GLmI/K7vMW0djxXOaJHl+LZfJXorJrAOdP2rfpt/XTehi509kWne/hch+Q35zg7tAV2 BEmS3pCu75lGswB1ADZQ/FKYsYryEiy3mHdHy9liG+WpUSKhqVLCK5yy+Xc6pc22UiX1 QMAoKb4++ds+7TSxZHMoRXqDGpRqcovA+X1I3pcZGLfajmqwoK/mbjPr4p6IaOFFmQyd Igr6o417ilNMajusvnmJopidvhrIesFE1kFB/DQUvkdhP+4xeD8b+Wd3jRRFyM/draVW zKEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718671064; x=1719275864; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lKuj2kjzCNP1OTawGgcPwef07LFs/c3ARZmci/YZ/WU=; b=jJERZTcEiAyfiL2PwBIHp2cGtmc7BxPimc5GWZmqVRLewKxFy8PdntmHXDAS/hpna0 o3ZErWoIhI6Xt5aC1sBAOMaUB7aaE+mt7I5kHBYqCdfxrpkA84428frpQVJfmdhTt/84 ybFbFUcCXtnwdE1w6s+4MQhsLdLj0CEANTgJ9eukkeXlN8GBbHVngYfBt6J9HaRSX9+H px9yp1cQ/8+HKjrOtd5zr/hUJogK4Fy+1znmU5HI2xDMRLLTkW5NxJl5yoLrGXy/90hU e6fUWChylhEtXP+7MaB3hbXdF83SUG3cDnNraW85ldI/8wPagZ3nCvYFec+OQw6fZufR xPTg== X-Forwarded-Encrypted: i=1; AJvYcCXl5GG0XswGpt3D3NQPqod4GPiQNzbSJTQI/O9DB2OE3EcQtN5YZnXaHxpbuvoPvnFL3dpY5Oth/j/VTHQpe2hNkKzRSAWBbCvNLK90/mfGt5lAymQ= X-Gm-Message-State: AOJu0YydCZ6xBs8PD0cwFdAfVQJ2ZlbOgW5GffwltL9S57BvHcwYUTdv Y1s0p1EpEUh5F8vwDJqnZAmxDMUP3X6ki0bdZlqWmxO9kjJ7oDiooQA7t/Ynzj4= X-Google-Smtp-Source: AGHT+IE3Prevs16wOHYwFYT8SyvwJLOz/BXQwuvHWQ2GdL0m4hXtQ3ed2xxIPKXNXVNQCC1FljUmiA== X-Received: by 2002:a05:6870:a406:b0:24c:b4da:725d with SMTP id 586e51a60fabf-25842a1d172mr12861310fac.33.1718671064465; Mon, 17 Jun 2024 17:37:44 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-2567a94b7besm2896164fac.6.2024.06.17.17.37.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 17:37:44 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Olivia Mackall , Herbert Xu , Alim Akhtar , linux-samsung-soc@vger.kernel.org, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/7] dt-bindings: rng: Rename exynos5250-trng to exynos-trng Date: Mon, 17 Jun 2024 19:37:37 -0500 Message-Id: <20240618003743.2975-2-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618003743.2975-1-semen.protsenko@linaro.org> References: <20240618003743.2975-1-semen.protsenko@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_173747_503491_CD36D94F X-CRM114-Status: GOOD ( 11.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Exynos TRNG (True Random Number Generator) hardware block is found in various Exynos chips, not only in Exynos5250. Rename the binding doc to reflect that fact and make the naming more precise. Signed-off-by: Sam Protsenko --- .../{samsung,exynos5250-trng.yaml => samsung,exynos-trng.yaml} | 2 +- MAINTAINERS | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename Documentation/devicetree/bindings/rng/{samsung,exynos5250-trng.yaml => samsung,exynos-trng.yaml} (91%) diff --git a/Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.yaml b/Documentation/devicetree/bindings/rng/samsung,exynos-trng.yaml similarity index 91% rename from Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.yaml rename to Documentation/devicetree/bindings/rng/samsung,exynos-trng.yaml index 765d9f9edd6e..99c382d25c11 100644 --- a/Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.yaml +++ b/Documentation/devicetree/bindings/rng/samsung,exynos-trng.yaml @@ -1,7 +1,7 @@ # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/rng/samsung,exynos5250-trng.yaml# +$id: http://devicetree.org/schemas/rng/samsung,exynos-trng.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Samsung Exynos SoC True Random Number Generator diff --git a/MAINTAINERS b/MAINTAINERS index 4f09bdb5657e..511939a4c3f8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19878,7 +19878,7 @@ SAMSUNG EXYNOS TRUE RANDOM NUMBER GENERATOR (TRNG) DRIVER M: Łukasz Stelmach L: linux-samsung-soc@vger.kernel.org S: Maintained -F: Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.yaml +F: Documentation/devicetree/bindings/rng/samsung,exynos-trng.yaml F: drivers/char/hw_random/exynos-trng.c SAMSUNG FRAMEBUFFER DRIVER From patchwork Tue Jun 18 00:37:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13701583 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 96EDAC2BB85 for ; Tue, 18 Jun 2024 00:38:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=xQ++MWratnfX3umvtaDdV/3AZjItAbPo3zx0EZywnGo=; b=n2pTEnpQd522ix+39SIB1H04nj Vg3taf4vnDnXOdzoj8i5mcBUATaH5L/mDnpWZqEeoEMzFsqoFAM6j0DtNrVbT4KxAcYnl9yWvA06q i58rleAQzHK4tGDQlYj6aQgLMDkq1kgR8qn7IKX4vMD4LTe3p9B63iyutEx4mtfpjdpKneFN5w1aT a5zZ1AmIjMHSnWZG6+XKISb8TxaZulyWik56e0mveQo8AvrCpdgetR0Mx0qs28cvIDxeYLRdtEyS4 cIr665VOkMWthgSfF+BM0p6eewDpCmDJkHZth4qlVMWCLgq6gEpuZIPHlxFbqSLUSa/++i88gFTDj +9oD4MkA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMre-0000000D4xy-1k2r; Tue, 18 Jun 2024 00:38:22 +0000 Received: from mail-oo1-xc2f.google.com ([2607:f8b0:4864:20::c2f]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMr6-0000000D4lP-1L9G for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 00:37:50 +0000 Received: by mail-oo1-xc2f.google.com with SMTP id 006d021491bc7-5bfa5f9bbe6so1099127eaf.3 for ; Mon, 17 Jun 2024 17:37:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718671065; x=1719275865; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xQ++MWratnfX3umvtaDdV/3AZjItAbPo3zx0EZywnGo=; b=KDsaCT/wrtnPXMBnAAAMVQp1KjnMlxl4qV2Rzf7PQZu9Gx5RETpKMI7r1RqsNv1Rsi 6bfnkVqWVPlhJJkCcD8I65NjEdnHeO1YYOUlxJ50iKj06tAxkPfeE/57yC8mdmiclUUK W0juGy01o95nAxIErXH19iUkMWImrn0HiXPzWvQvjpre2WfGkQT51VBn2BscKojio7b/ 1zLK3parqoK09ivXPKFkbyD3cAqiTbE9OgM+VH8089cc5g9Dfp9ZQWDZ2YhZHVorQ+Jz /OG9ujbseOztzVuLLNorsbYEl+JoCZAVLKPifZHMYUMZG4gfIkTCiBekn1fJePqEXsTe 2UUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718671065; x=1719275865; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xQ++MWratnfX3umvtaDdV/3AZjItAbPo3zx0EZywnGo=; b=CbhMyLFeJ3vb77IzkN/tD6gZ4iSs22QNrmIdKFKrK7vzSPqjT9VIoYagbt30qo3xQA bz3Z0nfw+dOwoKyeNsffMQsTdlXmAYho6QCU+Ra3RduPxMmrR8Xp5Uqq+7oN5/2DtT+7 RsxWsfz5K2ANVcQ2oPb+1jVVtcta5/UwFJOmhBdY+RPqzwyAdfgDlMxqgKZ1Hot3u0/B U4AyCnok69o+NGzecglBlFRDP3mQX7icE/qUG1Do+wv56QtxWs0NU3pLd8iWEBsgJiaL +4VdQCmLVLKy1zt69Rp11xKNLLFP4qFV4ttd+zA73oAY++nMRCLs3q5y7H4hATN5rRBA +9FA== X-Forwarded-Encrypted: i=1; AJvYcCWjkTbLxC0nybxPPT0rpFKaZnSyedfgF2Or4sriQcAQqcr9aw1udiTI22X2n5i45tyIwb4F6DRj6Zk091TZzm8cMHSj1Lvs3oniYdradNayBEC6oOo= X-Gm-Message-State: AOJu0YxsXkzCXnVXgqOx6ITN/VYmazfgCpb+j/9byrkfS+9Sg7KVvgVW C+4iJVyo1KFzWWZOoFva/u2sINBBKXOOXWhyzK8xtRr8xyAcnhKzt3KYFMxv2FY= X-Google-Smtp-Source: AGHT+IFuFpjdFpuLvIdaYw3w/WCr1/gHlrImp8DoWkXpIxzm220GdkXoQwm/XTk+jxZ+CH+KzmX0Xg== X-Received: by 2002:a05:6820:161e:b0:5bb:2d23:8aeb with SMTP id 006d021491bc7-5bdadb68eb5mr13265376eaf.2.1718671065156; Mon, 17 Jun 2024 17:37:45 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5bd5e19e943sm1229935eaf.23.2024.06.17.17.37.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 17:37:44 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Olivia Mackall , Herbert Xu , Alim Akhtar , linux-samsung-soc@vger.kernel.org, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/7] dt-bindings: rng: Add Exynos850 support to exynos-trng Date: Mon, 17 Jun 2024 19:37:38 -0500 Message-Id: <20240618003743.2975-3-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618003743.2975-1-semen.protsenko@linaro.org> References: <20240618003743.2975-1-semen.protsenko@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_173748_475669_634CC8F5 X-CRM114-Status: GOOD ( 12.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The TRNG block in Exynos850 is pretty much the same as in Exynos5250, but there are two clocks that has to be controlled to make it work: 1. Functional (operating) clock: called ACLK in Exynos850, the same as "secss" clock in Exynos5250 2. Interface (bus) clock: called PCLK in Exynos850. It has to be enabled in order to access TRNG registers Document Exynos850 compatible and the related clock changes, and provide a corresponding example for Exynos850 TRNG node with ACLK and PCLK clocks. Signed-off-by: Sam Protsenko --- .../bindings/rng/samsung,exynos-trng.yaml | 49 +++++++++++++++++-- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/rng/samsung,exynos-trng.yaml b/Documentation/devicetree/bindings/rng/samsung,exynos-trng.yaml index 99c382d25c11..e57310fa89c7 100644 --- a/Documentation/devicetree/bindings/rng/samsung,exynos-trng.yaml +++ b/Documentation/devicetree/bindings/rng/samsung,exynos-trng.yaml @@ -12,14 +12,17 @@ maintainers: properties: compatible: - const: samsung,exynos5250-trng + enum: + - samsung,exynos5250-trng + - samsung,exynos850-trng clocks: - maxItems: 1 + minItems: 1 + maxItems: 2 clock-names: - items: - - const: secss + minItems: 1 + maxItems: 2 reg: maxItems: 1 @@ -30,6 +33,35 @@ required: - clock-names - reg +allOf: + - if: + properties: + compatible: + contains: + const: samsung,exynos850-trng + + then: + properties: + clocks: + items: + - description: SSS (Security Sub System) operating clock + - description: SSS (Security Sub System) bus clock + + clock-names: + items: + - const: secss + - const: pclk + + else: + properties: + clocks: + items: + - description: SSS (Security Sub System) operating clock + + clock-names: + items: + - const: secss + additionalProperties: false examples: @@ -42,3 +74,12 @@ examples: clocks = <&clock CLK_SSS>; clock-names = "secss"; }; + - | + #include + + rng@12081400 { + compatible = "samsung,exynos850-trng"; + reg = <0x12081400 0x100>; + clocks = <&cmu_core CLK_GOUT_SSS_ACLK>, <&cmu_core CLK_GOUT_SSS_PCLK>; + clock-names = "secss", "pclk"; + }; From patchwork Tue Jun 18 00:37:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13701580 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id DF495C2BB85 for ; Tue, 18 Jun 2024 00:38:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=K0nRAEwRS+Kqa+xFeL/UdK1/42jrpGZZ3oW8XiNINwY=; b=0D29YPIxjb4ekfQCb6s6Ynn/Rn 97W/lS8p6zWXE4xGTJM3y59nn0BGD2DMBeq4LNsCXLX2DoNJKEHPhJG8SH2x02O/U0yCGQ/AfPk7S 5it9zR+YPektc1EvbfLOiK5e63iUdnUVsJXG4QHbDu1jRV06ACZ8LBdkP+Xl9N81ItZ3rq7eavU2O eFuelaBO9vF193zRjIN+gojoFo6JxJuhs1MSfEPaOWTkq6m/FpUZOMLF/zO7k9C3rB6OtrmXdqxyt wJzdeLPVqwzc912ZkvVADOOwnoz4H86bI90T9rvzS4Ke/X9/vfsu4Gzd7X37I/njmLdqKmR+IOn2O GCgSbx3A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMrF-0000000D4rW-1rZP; Tue, 18 Jun 2024 00:37:57 +0000 Received: from mail-ot1-x334.google.com ([2607:f8b0:4864:20::334]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMr5-0000000D4lS-1Yoj for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 00:37:49 +0000 Received: by mail-ot1-x334.google.com with SMTP id 46e09a7af769-6f855b2499cso2741076a34.1 for ; Mon, 17 Jun 2024 17:37:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718671066; x=1719275866; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=K0nRAEwRS+Kqa+xFeL/UdK1/42jrpGZZ3oW8XiNINwY=; b=KIzx5vc2I4u5V2LcAIgN3ys0YBERPEFx0tJ6o8Exxu9JeBfzolch+r6lk1tgdAm7LS dL38GOXZj8msexGKm1OKcwLrzJ10eU88mQNGQApYitIXCXkyZTLz9iHXpmMD5DirHCPt 4gOjQ6aphy9n5ag86rFdE1PSUNdDm+8SsOyNqm7XJkKGfATeqF5uF5YUbSFm8h8fJK83 ocyRyx669qAe26CVv4DSm3CIz7Q+680VeSvtJ2aY35f2ghCSZAEidFocOBzpcUEtDDzp FlHEHgzrY41sFL91hxSZOvkPX0yQjUqAfST674fodI+SooNwwTz7D8OVmKKdRjG5jBTx 8tQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718671066; x=1719275866; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K0nRAEwRS+Kqa+xFeL/UdK1/42jrpGZZ3oW8XiNINwY=; b=VCOph6x6J6TX3zdW1KExM3zucPNbaywYpc+x0nXdktO3Gtq2qmEIuAN6elKDQK2Uul rVys7hzelBG+VqqOz5NDAigS8MamrQB2FPy/X+RjirCqcOPMmqA7YcysSiadkWAQtWq9 X3Xr425vB+3RgDi3fLZDNCvP+c5YSxhUrTtINrbtyQEtMm4IdgUb+7sI4x1aDndvgtWG iXtLyrpP8ilYuAtuMMUZZ9GW5EvpM9l6065iE8tqdjEOxoZ4FpXeToX3ZhoZGwsicpDV oHwa+zWFSnUPloKpLIfqQc/iuu6zn4VRmjULhjftYahAzb83U1WWLLC4YImYKj0vBo40 4Teg== X-Forwarded-Encrypted: i=1; AJvYcCVspkXd9XrFKsd2dYpO4YiN4geKa4xy4zYP6YOhzj46Rmj3NKwWFVScDOjMyD6oeajp0Wc9bEl2H5JA2Iz+cQBOky9kS/++Sdl43v9WNTJOOJQONWQ= X-Gm-Message-State: AOJu0YziVkd/Z/WQkriVfSXN+gm9f1ldcvkWDLwBlS6IU4Lfk44IWIPz 3SqqzW0J1gRg+hcPdL1QHsJx2/ykIECr1rgwxXbi6p8e4KkbC8R4JP/M+SpcS84= X-Google-Smtp-Source: AGHT+IGJdLC4WFJwxFevTuE9JllHcgHxe3B4leT9QNXKwBCjfTWKffWwR3974mIIt9gULbt3K2lVdg== X-Received: by 2002:a9d:66c7:0:b0:6f9:6f4b:f5ce with SMTP id 46e09a7af769-6fb93297d78mr12526107a34.8.1718671065819; Mon, 17 Jun 2024 17:37:45 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-6fb5b1eb6c8sm1738540a34.43.2024.06.17.17.37.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 17:37:45 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Olivia Mackall , Herbert Xu , Alim Akhtar , linux-samsung-soc@vger.kernel.org, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/7] hwrng: exynos: Improve coding style Date: Mon, 17 Jun 2024 19:37:39 -0500 Message-Id: <20240618003743.2975-4-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618003743.2975-1-semen.protsenko@linaro.org> References: <20240618003743.2975-1-semen.protsenko@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_173747_448535_6C0C5948 X-CRM114-Status: GOOD ( 14.37 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Fix obvious style issues. Some of those were found with checkpatch, and some just contradict the kernel coding style guide. No functional change. Signed-off-by: Sam Protsenko Reviewed-by: Krzysztof Kozlowski --- drivers/char/hw_random/exynos-trng.c | 61 +++++++++++++--------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/drivers/char/hw_random/exynos-trng.c b/drivers/char/hw_random/exynos-trng.c index 0ed5d22fe667..88a5088ed34d 100644 --- a/drivers/char/hw_random/exynos-trng.c +++ b/drivers/char/hw_random/exynos-trng.c @@ -23,45 +23,41 @@ #include #include -#define EXYNOS_TRNG_CLKDIV (0x0) - -#define EXYNOS_TRNG_CTRL (0x20) -#define EXYNOS_TRNG_CTRL_RNGEN BIT(31) - -#define EXYNOS_TRNG_POST_CTRL (0x30) -#define EXYNOS_TRNG_ONLINE_CTRL (0x40) -#define EXYNOS_TRNG_ONLINE_STAT (0x44) -#define EXYNOS_TRNG_ONLINE_MAXCHI2 (0x48) -#define EXYNOS_TRNG_FIFO_CTRL (0x50) -#define EXYNOS_TRNG_FIFO_0 (0x80) -#define EXYNOS_TRNG_FIFO_1 (0x84) -#define EXYNOS_TRNG_FIFO_2 (0x88) -#define EXYNOS_TRNG_FIFO_3 (0x8c) -#define EXYNOS_TRNG_FIFO_4 (0x90) -#define EXYNOS_TRNG_FIFO_5 (0x94) -#define EXYNOS_TRNG_FIFO_6 (0x98) -#define EXYNOS_TRNG_FIFO_7 (0x9c) -#define EXYNOS_TRNG_FIFO_LEN (8) -#define EXYNOS_TRNG_CLOCK_RATE (500000) - +#define EXYNOS_TRNG_CLKDIV 0x0 + +#define EXYNOS_TRNG_CTRL 0x20 +#define EXYNOS_TRNG_CTRL_RNGEN BIT(31) + +#define EXYNOS_TRNG_POST_CTRL 0x30 +#define EXYNOS_TRNG_ONLINE_CTRL 0x40 +#define EXYNOS_TRNG_ONLINE_STAT 0x44 +#define EXYNOS_TRNG_ONLINE_MAXCHI2 0x48 +#define EXYNOS_TRNG_FIFO_CTRL 0x50 +#define EXYNOS_TRNG_FIFO_0 0x80 +#define EXYNOS_TRNG_FIFO_1 0x84 +#define EXYNOS_TRNG_FIFO_2 0x88 +#define EXYNOS_TRNG_FIFO_3 0x8c +#define EXYNOS_TRNG_FIFO_4 0x90 +#define EXYNOS_TRNG_FIFO_5 0x94 +#define EXYNOS_TRNG_FIFO_6 0x98 +#define EXYNOS_TRNG_FIFO_7 0x9c +#define EXYNOS_TRNG_FIFO_LEN 8 +#define EXYNOS_TRNG_CLOCK_RATE 500000 struct exynos_trng_dev { - struct device *dev; - void __iomem *mem; - struct clk *clk; - struct hwrng rng; + struct device *dev; + void __iomem *mem; + struct clk *clk; + struct hwrng rng; }; static int exynos_trng_do_read(struct hwrng *rng, void *data, size_t max, bool wait) { - struct exynos_trng_dev *trng; + struct exynos_trng_dev *trng = (struct exynos_trng_dev *)rng->priv; int val; max = min_t(size_t, max, (EXYNOS_TRNG_FIFO_LEN * 4)); - - trng = (struct exynos_trng_dev *)rng->priv; - writel_relaxed(max * 8, trng->mem + EXYNOS_TRNG_FIFO_CTRL); val = readl_poll_timeout(trng->mem + EXYNOS_TRNG_FIFO_CTRL, val, val == 0, 200, 1000000); @@ -122,7 +118,7 @@ static int exynos_trng_probe(struct platform_device *pdev) trng->rng.init = exynos_trng_init; trng->rng.read = exynos_trng_do_read; - trng->rng.priv = (unsigned long) trng; + trng->rng.priv = (unsigned long)trng; platform_set_drvdata(pdev, trng); trng->dev = &pdev->dev; @@ -175,7 +171,7 @@ static int exynos_trng_probe(struct platform_device *pdev) static void exynos_trng_remove(struct platform_device *pdev) { - struct exynos_trng_dev *trng = platform_get_drvdata(pdev); + struct exynos_trng_dev *trng = platform_get_drvdata(pdev); clk_disable_unprepare(trng->clk); @@ -204,7 +200,7 @@ static int exynos_trng_resume(struct device *dev) } static DEFINE_SIMPLE_DEV_PM_OPS(exynos_trng_pm_ops, exynos_trng_suspend, - exynos_trng_resume); + exynos_trng_resume); static const struct of_device_id exynos_trng_dt_match[] = { { @@ -225,6 +221,7 @@ static struct platform_driver exynos_trng_driver = { }; module_platform_driver(exynos_trng_driver); + MODULE_AUTHOR("Łukasz Stelmach"); MODULE_DESCRIPTION("H/W TRNG driver for Exynos chips"); MODULE_LICENSE("GPL v2"); From patchwork Tue Jun 18 00:37:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13701581 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 7CB9EC27C79 for ; Tue, 18 Jun 2024 00:38:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=UzEHeTFimKuQQxWwyrDcO+o5XCit+aZv+PnU9elFrsI=; b=mXIsgtTpySe3Du662to18VEhHh YgytaIL1LsYm4WK9cFeMkLQOrSh8xZQX4BXHNTVMWHLXWTh+w6RRpjVDDd6suf1tbW7yGmTJB0G3U Pw8FoG/GYDE2Jvj7BLx6ZbvAVA7+L99fTUxBYqXwYj1FsLj8bjU2k48laKWN8aViQtcuOZoqzIdod u+QD8cESuOyL8hRqLPKeERb5DbkMwyta4dHep+PVg38MtK8+IGS43/NaaWvhthFSRdTDmX21Yt/SU v3jNhzpe+USqCv51hwcFpRvZEjeaiyF3cEOdBEjp2uN9qseUklLWU6S30hBu4tKn6wzhNkFA15Jrq xjIr+e5A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMrG-0000000D4s1-1QTc; Tue, 18 Jun 2024 00:37:58 +0000 Received: from mail-oo1-xc34.google.com ([2607:f8b0:4864:20::c34]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMr5-0000000D4lk-38A6 for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 00:37:49 +0000 Received: by mail-oo1-xc34.google.com with SMTP id 006d021491bc7-5bae81effd1so2560653eaf.2 for ; Mon, 17 Jun 2024 17:37:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718671066; x=1719275866; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UzEHeTFimKuQQxWwyrDcO+o5XCit+aZv+PnU9elFrsI=; b=UDu78EpxrfrTamkjY3kTF5RqYCjDF5Jk6HdNZezwB/ktCco63DqPc4RbncPC//riDt VGPSY/tEogt5S2VL79SnWK7hqYSNyizRG2Vzh0mJh2kfoAjjt5xRD0qo0pi2Q9BTF7e9 L5FY01yTa2XCOfGuFf1OwxZ9DoyD0CjChoBiCBIGsJZZVcbCsUFU93Pa5C1//5wcxOib iPPOYRswl4GDY7qyVUelD60Gmbu4H32hbSd0VVHPGgBAJX7adBDj0CMsCECCygPUS3wZ osqgs+1JlxZHMOrLMEcXFs+pTyDpWR8ghhqDvz7q64bBCEvjaKY7BL3uDtftcdGbGU0h 4mfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718671066; x=1719275866; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UzEHeTFimKuQQxWwyrDcO+o5XCit+aZv+PnU9elFrsI=; b=QFWvbzAnlIb9RPjxTnQrdFGurTSMUTi2PGHhpAD3tYgUZXNvdwsWGHsVmV5onDbJpH uhRMM7XPNWHbspGYYrzJww7w7jN2ZmG1Gzxh4neSsjf77mWvxqCq1lt/N+gruCsWRtVX samt73mMZ1C/VcXYAt5OOD40AzCbuPEWBLN4TIZRMnqL/FB9VSInPFzngMnlSUrgKoH2 mQJK/ZCM5yzoXodAp88W7RHLQ6czd2aKjj1Qqn7T+Tx9t77AI9k5xJKihLBu2iAJZep/ J+BPExgI2KcDGXWBcgkiuXJcZMzLgWR1ytySXpyEKIhtbdWiy5ZsVQZM8Unvg2tsG2ao fMHw== X-Forwarded-Encrypted: i=1; AJvYcCWnFgkN76qn5Uzi7KeTFhlauTanXtGSIwPpfyjQSxISorQnNMSlWE2oLsxVRgJIwNQgXVINrT9WgyQfmbSzND8AMPHYpNqf4M7koW8Jf5BgjimPfug= X-Gm-Message-State: AOJu0YzX/kk9QzC2r9/qbl2X1lnDwtmgCKcZs/XqUgiyHh5SA3Cks3XT a1+FDh8WNwvK3vZ2Ko5unuT4qZxIPN1WYgUzx1HCExLAGjHnsqTrp+PcbF5CWqw= X-Google-Smtp-Source: AGHT+IGfQPJkGUEmf7bvL5EHIQMFh2lzC9gdoJFes+mvAbebBn2gmOigq0ygMHUP4CBQUyY/zDxPJA== X-Received: by 2002:a05:6820:80c:b0:5ba:f20c:361b with SMTP id 006d021491bc7-5bdadc84948mr13508706eaf.8.1718671066504; Mon, 17 Jun 2024 17:37:46 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5bd5f2a1801sm1216364eaf.37.2024.06.17.17.37.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 17:37:46 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Olivia Mackall , Herbert Xu , Alim Akhtar , linux-samsung-soc@vger.kernel.org, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/7] hwrng: exynos: Implement bus clock control Date: Mon, 17 Jun 2024 19:37:40 -0500 Message-Id: <20240618003743.2975-5-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618003743.2975-1-semen.protsenko@linaro.org> References: <20240618003743.2975-1-semen.protsenko@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_173747_809641_43FCA4E2 X-CRM114-Status: GOOD ( 14.94 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Some SoCs like Exynos850 might require the SSS bus clock (PCLK) to be enabled in order to access TRNG registers. Add and handle optional PCLK clock accordingly to make it possible. Signed-off-by: Sam Protsenko --- drivers/char/hw_random/exynos-trng.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/drivers/char/hw_random/exynos-trng.c b/drivers/char/hw_random/exynos-trng.c index 88a5088ed34d..4520a280134c 100644 --- a/drivers/char/hw_random/exynos-trng.c +++ b/drivers/char/hw_random/exynos-trng.c @@ -47,7 +47,8 @@ struct exynos_trng_dev { struct device *dev; void __iomem *mem; - struct clk *clk; + struct clk *clk; /* operating clock */ + struct clk *pclk; /* bus clock */ struct hwrng rng; }; @@ -141,10 +142,23 @@ static int exynos_trng_probe(struct platform_device *pdev) goto err_clock; } + trng->pclk = devm_clk_get_optional(&pdev->dev, "pclk"); + if (IS_ERR(trng->pclk)) { + ret = dev_err_probe(&pdev->dev, PTR_ERR(trng->pclk), + "cannot get pclk"); + goto err_clock; + } + + ret = clk_prepare_enable(trng->pclk); + if (ret) { + dev_err(&pdev->dev, "Could not enable the pclk.\n"); + goto err_clock; + } + ret = clk_prepare_enable(trng->clk); if (ret) { dev_err(&pdev->dev, "Could not enable the clk.\n"); - goto err_clock; + goto err_clock_enable; } ret = devm_hwrng_register(&pdev->dev, &trng->rng); @@ -160,6 +174,9 @@ static int exynos_trng_probe(struct platform_device *pdev) err_register: clk_disable_unprepare(trng->clk); +err_clock_enable: + clk_disable_unprepare(trng->pclk); + err_clock: pm_runtime_put_noidle(&pdev->dev); @@ -174,6 +191,7 @@ static void exynos_trng_remove(struct platform_device *pdev) struct exynos_trng_dev *trng = platform_get_drvdata(pdev); clk_disable_unprepare(trng->clk); + clk_disable_unprepare(trng->pclk); pm_runtime_put_sync(&pdev->dev); pm_runtime_disable(&pdev->dev); From patchwork Tue Jun 18 00:37:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13701582 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id A3006C2BB9A for ; Tue, 18 Jun 2024 00:38:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=HF3yj9NB+f1P6unzjOcT62NKC0TjmglEhNnCfK/YhxY=; b=FDACml3c1MoEQLv6JUAgoYrTLw PcslMvDs4zLGNZOBWFIrFmpRcO8EjMQ1DndcMgtt9DNrNFUoiUqL1qOrr9XIW2hsHpOoxg9ThcVax 4Da3ku45xk59llPMK/0d3iDeUCtIayTCTMDGHIdqKxrXjV54TRUbV5ThJnyV9LE4ay3p8KtUx2NOJ z36ynn5eD5/fHXFVUnEqB+M/klCal+Wx6oCTmioRpYI8UD5fXwcotKo9Cb1bFqTI7TDBjRCjDhEqw ZQStsQbkkXED2zaha66I7Xfx//OvCMpyhwgLFr1CWP7SeLBCpekMUpyk8Md5x8sAdeR8sgW+FdkM2 nJAC0Ung==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMrH-0000000D4sb-03QS; Tue, 18 Jun 2024 00:37:59 +0000 Received: from mail-ot1-x335.google.com ([2607:f8b0:4864:20::335]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMr6-0000000D4mR-0snq for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 00:37:50 +0000 Received: by mail-ot1-x335.google.com with SMTP id 46e09a7af769-6f855b2499cso2741080a34.1 for ; Mon, 17 Jun 2024 17:37:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718671067; x=1719275867; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HF3yj9NB+f1P6unzjOcT62NKC0TjmglEhNnCfK/YhxY=; b=pz8gfOMxwptxOfgobh38bHBnuu1vcPLPty3QWwxM1GKHRNe+OJw7n+yRdIYPPiP5Xl o8l/91Ick+1U3EI3KVOw5vPAGUad0Xl/Ft4ZUYNMblMTzAyJ8Ox/C8GTQ+hK/lZa/84b Csw9cKa2JQttchLLFhUK2H5FqQdtLO8sEHroMt/xlvIeY+/UpHXVj2yxIByOR6bIhUKR KNspGyDUnLkVmlPRVBBpQJsOS6Tp9GqVMTr6H/jwHMKjUyGidQPL8rBng8W4wvVd9NxN /lQR34EKUffJ5eiaKPi181XzDeX1wMybDjGVooXSEu7WpaJV/pu515M9FUndesnc3DSe 1jtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718671067; x=1719275867; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HF3yj9NB+f1P6unzjOcT62NKC0TjmglEhNnCfK/YhxY=; b=BXXY8CV0YBZKkwIEkJ8gTv4rkAAPm6mUPF7l3GQFpFu9j64FB2MI6aK8e1zHNMgXbM 5Z74PKDMr6C/MlbxL+x44WdE/lzbvLRdFR+YP8BHpp5zkKCxakXk9BjxiPbQca8WugXA YbGpcSfd0aQfXNym+e+G4e9gnHJgc4ItufMH6UwSMLtlr3QIonZT86LcSPyvzLUC6Wcy 2RYUCLT+w/zJoRZNaC4/KEj1HT9shOnUPYG0HyvZcTFjwF4x+R7WbrAOwTTLPU2DdJRk 7nAvNAl8s4tthvn4sqemr4Hm/lHLX0JqCp+cYlnw7gzrem1B3n2xfhiRiACzTERvYKi6 t5xg== X-Forwarded-Encrypted: i=1; AJvYcCWb9drWEiGUooT+d1hcnJ/SMDkiQiw4hM+7gRYpWz8OSVuf9oQJB4kcmp4NorTEwEiyy3R0ZoiTO9Bq71fxLsMLNbEpqSAyBMom2Va7iL32QMRSrxA= X-Gm-Message-State: AOJu0YzqSTA2ghTbF882uKCX16PHJxU1wbFHVN6Vc/EqrvdzbeUSbhMm wUWiVl9BFW4l24/TuwqMOeuRZngNDkO/JntVvXXdr5FRK05jXOFRMdgf2P4xXmk= X-Google-Smtp-Source: AGHT+IHKCaUtR8KPhYQJdoRvRQDarGdrRA43rA9XABMCQXk9wPvcC+mPa8iPETKzce2FCdEkupbjPA== X-Received: by 2002:a05:6830:1be2:b0:6f9:ce8e:5da1 with SMTP id 46e09a7af769-6fb9364aa32mr12434212a34.26.1718671067124; Mon, 17 Jun 2024 17:37:47 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-6fb5afab833sm1686856a34.10.2024.06.17.17.37.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 17:37:46 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Olivia Mackall , Herbert Xu , Alim Akhtar , linux-samsung-soc@vger.kernel.org, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/7] hwrng: exynos: Add SMC based TRNG operation Date: Mon, 17 Jun 2024 19:37:41 -0500 Message-Id: <20240618003743.2975-6-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618003743.2975-1-semen.protsenko@linaro.org> References: <20240618003743.2975-1-semen.protsenko@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_173748_350852_9DF98AF4 X-CRM114-Status: GOOD ( 24.31 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On some Exynos chips like Exynos850 the access to Security Sub System (SSS) registers is protected with TrustZone, and therefore only possible from EL3 monitor software. The Linux kernel is running in EL1, so the only way for the driver to obtain TRNG data is via SMC calls to EL3 monitor. Implement such SMC operation and use it when QUIRK_SMC is set in the corresponding chip driver data. Signed-off-by: Sam Protsenko Reviewed-by: Krzysztof Kozlowski --- drivers/char/hw_random/exynos-trng.c | 130 ++++++++++++++++++++++++--- 1 file changed, 120 insertions(+), 10 deletions(-) diff --git a/drivers/char/hw_random/exynos-trng.c b/drivers/char/hw_random/exynos-trng.c index 4520a280134c..98b7a8ebb909 100644 --- a/drivers/char/hw_random/exynos-trng.c +++ b/drivers/char/hw_random/exynos-trng.c @@ -10,6 +10,7 @@ * Krzysztof Kozłowski */ +#include #include #include #include @@ -22,6 +23,7 @@ #include #include #include +#include #define EXYNOS_TRNG_CLKDIV 0x0 @@ -44,16 +46,40 @@ #define EXYNOS_TRNG_FIFO_LEN 8 #define EXYNOS_TRNG_CLOCK_RATE 500000 +#define QUIRK_SMC BIT(0) + +#define EXYNOS_SMC_CALL_VAL(func_num) \ + ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ + ARM_SMCCC_SMC_32, \ + ARM_SMCCC_OWNER_SIP, \ + func_num) + +/* SMC command for DTRNG access */ +#define SMC_CMD_RANDOM EXYNOS_SMC_CALL_VAL(0x1012) + +/* SMC_CMD_RANDOM: arguments */ +#define HWRNG_INIT 0x0 +#define HWRNG_EXIT 0x1 +#define HWRNG_GET_DATA 0x2 +#define HWRNG_RESUME 0x3 + +/* SMC_CMD_RANDOM: return values */ +#define HWRNG_RET_OK 0x0 +#define HWRNG_RET_RETRY_ERROR 0x2 + +#define HWRNG_MAX_TRIES 100 + struct exynos_trng_dev { struct device *dev; void __iomem *mem; struct clk *clk; /* operating clock */ struct clk *pclk; /* bus clock */ struct hwrng rng; + unsigned long quirks; }; -static int exynos_trng_do_read(struct hwrng *rng, void *data, size_t max, - bool wait) +static int exynos_trng_do_read_reg(struct hwrng *rng, void *data, size_t max, + bool wait) { struct exynos_trng_dev *trng = (struct exynos_trng_dev *)rng->priv; int val; @@ -70,7 +96,40 @@ static int exynos_trng_do_read(struct hwrng *rng, void *data, size_t max, return max; } -static int exynos_trng_init(struct hwrng *rng) +static int exynos_trng_do_read_smc(struct hwrng *rng, void *data, size_t max, + bool wait) +{ + struct arm_smccc_res res; + u32 *buf = data; + unsigned int copied = 0; + int tries = 0; + + while (copied < max) { + arm_smccc_smc(SMC_CMD_RANDOM, HWRNG_GET_DATA, 0, 0, 0, 0, 0, 0, + &res); + switch (res.a0) { + case HWRNG_RET_OK: + *buf++ = res.a2; + *buf++ = res.a3; + copied += 8; + tries = 0; + break; + case HWRNG_RET_RETRY_ERROR: + if (!wait) + return copied; + if (++tries >= HWRNG_MAX_TRIES) + return copied; + cond_resched(); + break; + default: + return -EIO; + } + } + + return copied; +} + +static int exynos_trng_init_reg(struct hwrng *rng) { struct exynos_trng_dev *trng = (struct exynos_trng_dev *)rng->priv; unsigned long sss_rate; @@ -103,6 +162,17 @@ static int exynos_trng_init(struct hwrng *rng) return 0; } +static int exynos_trng_init_smc(struct hwrng *rng) +{ + struct arm_smccc_res res; + + arm_smccc_smc(SMC_CMD_RANDOM, HWRNG_INIT, 0, 0, 0, 0, 0, 0, &res); + if (res.a0 != HWRNG_RET_OK) + return -EIO; + + return 0; +} + static int exynos_trng_probe(struct platform_device *pdev) { struct exynos_trng_dev *trng; @@ -112,21 +182,29 @@ static int exynos_trng_probe(struct platform_device *pdev) if (!trng) return ret; + platform_set_drvdata(pdev, trng); + trng->dev = &pdev->dev; + + trng->quirks = (unsigned long)device_get_match_data(&pdev->dev); + trng->rng.name = devm_kstrdup(&pdev->dev, dev_name(&pdev->dev), GFP_KERNEL); if (!trng->rng.name) return ret; - trng->rng.init = exynos_trng_init; - trng->rng.read = exynos_trng_do_read; trng->rng.priv = (unsigned long)trng; - platform_set_drvdata(pdev, trng); - trng->dev = &pdev->dev; + if (trng->quirks & QUIRK_SMC) { + trng->rng.init = exynos_trng_init_smc; + trng->rng.read = exynos_trng_do_read_smc; + } else { + trng->rng.init = exynos_trng_init_reg; + trng->rng.read = exynos_trng_do_read_reg; - trng->mem = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(trng->mem)) - return PTR_ERR(trng->mem); + trng->mem = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(trng->mem)) + return PTR_ERR(trng->mem); + } pm_runtime_enable(&pdev->dev); ret = pm_runtime_resume_and_get(&pdev->dev); @@ -190,6 +268,13 @@ static void exynos_trng_remove(struct platform_device *pdev) { struct exynos_trng_dev *trng = platform_get_drvdata(pdev); + if (trng->quirks & QUIRK_SMC) { + struct arm_smccc_res res; + + arm_smccc_smc(SMC_CMD_RANDOM, HWRNG_EXIT, 0, 0, 0, 0, 0, 0, + &res); + } + clk_disable_unprepare(trng->clk); clk_disable_unprepare(trng->pclk); @@ -199,6 +284,16 @@ static void exynos_trng_remove(struct platform_device *pdev) static int exynos_trng_suspend(struct device *dev) { + struct exynos_trng_dev *trng = dev_get_drvdata(dev); + struct arm_smccc_res res; + + if (trng->quirks & QUIRK_SMC) { + arm_smccc_smc(SMC_CMD_RANDOM, HWRNG_EXIT, 0, 0, 0, 0, 0, 0, + &res); + if (res.a0 != HWRNG_RET_OK) + return -EIO; + } + pm_runtime_put_sync(dev); return 0; @@ -206,6 +301,7 @@ static int exynos_trng_suspend(struct device *dev) static int exynos_trng_resume(struct device *dev) { + struct exynos_trng_dev *trng = dev_get_drvdata(dev); int ret; ret = pm_runtime_resume_and_get(dev); @@ -214,6 +310,20 @@ static int exynos_trng_resume(struct device *dev) return ret; } + if (trng->quirks & QUIRK_SMC) { + struct arm_smccc_res res; + + arm_smccc_smc(SMC_CMD_RANDOM, HWRNG_RESUME, 0, 0, 0, 0, 0, 0, + &res); + if (res.a0 != HWRNG_RET_OK) + return -EIO; + + arm_smccc_smc(SMC_CMD_RANDOM, HWRNG_INIT, 0, 0, 0, 0, 0, 0, + &res); + if (res.a0 != HWRNG_RET_OK) + return -EIO; + } + return 0; } From patchwork Tue Jun 18 00:37:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13701586 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 5F2C3C41513 for ; Tue, 18 Jun 2024 00:38:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=cJM+FjwIt8Vsqi9DQbiY4E0tjpC6f+V3n620JM6N4W4=; b=EkO9rU3BpwiPsujCJCRrogvgpk fYdDKvGddzIGTnY69ZKCANlFrNr2Mt8i+LHBt+35ibylMwk7Is3/LdvLtzSVppwHGX7d07fZifhn3 3YrrDJddqSCUKeLGtW1QO3h48Gcjo0Vob9rapQqruFE3GHKzleWOsnmjxz7WGuim/ogSDHmhXdQq4 NLy57SqnTUCeHEeiYC9sNWwH28mNGDVDjRs85OUvun5vhB4RhbVx/TK68fkYOaFLiGx51Nuposopn 8bT67e1VFOOAWvr2MXCrCBxVLYPgyHctKC/EO68/cGKXhzo6lGvVqOjsQXGmU7J12T9Q9HeqkddJi frxQeKNQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMri-0000000D523-11IZ; Tue, 18 Jun 2024 00:38:26 +0000 Received: from mail-ot1-x32d.google.com ([2607:f8b0:4864:20::32d]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMr6-0000000D4ml-3d77 for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 00:37:51 +0000 Received: by mail-ot1-x32d.google.com with SMTP id 46e09a7af769-6fa0d077694so2136286a34.0 for ; Mon, 17 Jun 2024 17:37:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718671068; x=1719275868; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cJM+FjwIt8Vsqi9DQbiY4E0tjpC6f+V3n620JM6N4W4=; b=dcXO4R3gyCDmraNBA/PW/5oq+0n3BAUfSzFjI9lvC6J6i7FCpNO0WpSN7/2Ao7LN+B tZZKwELcRwSqYCY87azDwNO5NI1896ygH/bNF6hS+SBZIndth8QnQ/JH+nGm9WIoFCAu /tgSqzsIgPG7uLazkAg+44afpkWgDY3b+0Jw3HQF8TN8dSgABbk6fFyx3I3lchC8trh0 X9K19ZYdYyMyH+8djZcNe46QTsyJAq9GZTwS4ASwKyfBGRH3596xgKMwZlTXFKFgv48h cNRLEUU1F/pbTY1FTw3ENb3ncqAy/VUXQnggpwABkEUXJWZ05z1Yl96K4GdbVgssH4WL 89RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718671068; x=1719275868; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cJM+FjwIt8Vsqi9DQbiY4E0tjpC6f+V3n620JM6N4W4=; b=mrjOC5KtgBqgTbWtZ9BnARRmKq7Qq2mbQS0BGZDAEZz2Z57mKjOHRgK3ehYcG8QXd0 xNB+UCjbqliFqIwRB544oICbZ/kaVsDHezB1ZV1ycsyq9gvRQCbFh7q7aDDVix92iwdn CC9BUl2RWHJxJiziXzH3iNa+F005QOMkC1jSC3T4JKdQMmzXzPu6bLODerSQWRk1r3/F nl9nCOGFwufWZuW5eNHUhS6bGnBhBkcfdmpcJ+xB9XxZ41EQfiVxPWGv0zXSB36ym/df Lwd8cf/AKM36lQZJsTxVePkoRqLFHtC7K1ZSwbM3YE89w2n6L1Ntti52fMydz4Nen1R/ 6bwg== X-Forwarded-Encrypted: i=1; AJvYcCUv8F+SJboB8qlQvtKNaq5T0xVgykTP9cD2tRXYUsoN++Efn3SbF2ZJUz+XyLaK/SbozJ8/XuKUUWISF8h9iMjt1ex+V+Cux5hpH9Ro0302qErOXW8= X-Gm-Message-State: AOJu0YxvoKd1kkR0ulTCvZjq8hmGpwxuoZScPh/clATGbtxGXFXb/YqB cm/S0r7pCCM/yGTJKhXRJ6HP/II1l7N99AmRAviuGKWMOVRWiq1l6skRMuhkgZw= X-Google-Smtp-Source: AGHT+IHmWqNe1qFCpia0kcsa+KwsVizvSzvqatZv/DcZrfeCuQFKkxSB7UvgdM255Z2koLHPoO/haQ== X-Received: by 2002:a9d:758c:0:b0:6f9:6786:485d with SMTP id 46e09a7af769-6fb93b1ef3cmr12795074a34.37.1718671067847; Mon, 17 Jun 2024 17:37:47 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5bd5e0874b7sm1324092eaf.14.2024.06.17.17.37.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 17:37:47 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Olivia Mackall , Herbert Xu , Alim Akhtar , linux-samsung-soc@vger.kernel.org, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 6/7] hwrng: exynos: Enable Exynos850 support Date: Mon, 17 Jun 2024 19:37:42 -0500 Message-Id: <20240618003743.2975-7-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618003743.2975-1-semen.protsenko@linaro.org> References: <20240618003743.2975-1-semen.protsenko@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_173749_012752_B73CA722 X-CRM114-Status: GOOD ( 11.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add Exynos850 compatible and its driver data. It's only possible to access TRNG block via SMC calls in Exynos850, so specify that fact using QUIRK_SMC in the driver data. Signed-off-by: Sam Protsenko --- drivers/char/hw_random/exynos-trng.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/char/hw_random/exynos-trng.c b/drivers/char/hw_random/exynos-trng.c index 98b7a8ebb909..3368a08df9ce 100644 --- a/drivers/char/hw_random/exynos-trng.c +++ b/drivers/char/hw_random/exynos-trng.c @@ -333,6 +333,9 @@ static DEFINE_SIMPLE_DEV_PM_OPS(exynos_trng_pm_ops, exynos_trng_suspend, static const struct of_device_id exynos_trng_dt_match[] = { { .compatible = "samsung,exynos5250-trng", + }, { + .compatible = "samsung,exynos850-trng", + .data = (void *)QUIRK_SMC, }, { }, }; From patchwork Tue Jun 18 00:37:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13701585 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 4CB88C2BA18 for ; Tue, 18 Jun 2024 00:38:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=q/EO8T5rRTkiZ8LbuFbhP2DGGAGyuLlPjhaKm+CoFdc=; b=ERseyw1HU3tfD3fTuKTwqjUHN5 X8p9bFyPfMO2IM60nHMph25teaGpBWYKSQYTc07GjSpdiVQrmtX//4Ee3v9IvzI/bo+4+pdTNF14u ZOZAnqAB+WncuSFPiVZxRPr2XLI2r31T5S9YN3rNvyGN1cQwoHfF9myzG9MOF1PdCXnf0fqYI7TY/ /DFzqXcL+1TfHzdBQfqjZK7G0D5C4iBI19iZklHxo8IWKR3YVrHMi2Ly/gQMoeuIq/h9gs82DkNsT QSInUh77CQmTvRlubOjzNybIOuXUgIcd6oFd13cVdYkYS62/FELlsuHe4GpHhlcsnhFIbdtgYAcqv 88764zyw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMrm-0000000D55A-1Vae; Tue, 18 Jun 2024 00:38:30 +0000 Received: from mail-oo1-xc35.google.com ([2607:f8b0:4864:20::c35]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJMr7-0000000D4nb-3JGE for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 00:37:51 +0000 Received: by mail-oo1-xc35.google.com with SMTP id 006d021491bc7-5b9a35a0901so1664864eaf.0 for ; Mon, 17 Jun 2024 17:37:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718671069; x=1719275869; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=q/EO8T5rRTkiZ8LbuFbhP2DGGAGyuLlPjhaKm+CoFdc=; b=Veiu2kCc9+ofpBZXKkhp14qzD/XB5h0DlYcGYQIvpzGqa6kFHaGelnqsceqL03zgjB /PIsNeYkoQdCrl9kCfsswS1RRcZVnQVEOJ6PIIyEUDI4DqTAtdZqzYwl2N7UmGvoy0r0 GfJludq/H/pvEqAvvAxAHOGIYjC4VMZBIf7BxnxJhe77Ak23Gzio3Dq5R4e8/t0MWNS+ io5nCXXcyKNUdhOy5d0BwGKirZYFIA8+U1VcfpXsMf9inv3K1nHF0zrP+GCTHsksxDzr ks3dOHVvNdMAmT6TixVRmpi3sXN2jFITnB2V0AiWJHMeu7VZKfZlgzb/n0WR0EfECj34 02JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718671069; x=1719275869; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=q/EO8T5rRTkiZ8LbuFbhP2DGGAGyuLlPjhaKm+CoFdc=; b=iyY4Z/vKHk35zhJJawKjIgqe+kZbkWW0M5BvNpsgc2hrw9iWJ2NA6qnF62nHCqjII8 qcVdHFoF8wwQFwQ5lrq1y0k0dN5u8S+7HzpAnJ3XJTfkoZsxWc76Bv1Kj8nDIjUB33G1 6Wv/4P180rk017SswqaImfQexWeof8LZ6jV7L0+1dWD2t7bckAlwRCuIqlA35GgLDE6w ijNjemy6zGZMAusRi1ugV4uQAhBpcq3l4KW/EHGCVMXBuCz+nHNuQGku+tWklW14Kc3T OBg3u4XkGnRoUBvDRa+aD17NtVsrDgffAInlS38DHGhfN3A8FJN6EPNErXc8kZ9ARsMN 2+2Q== X-Forwarded-Encrypted: i=1; AJvYcCXbJadiDWI/RirAcIYC15qNQNXKMlmU9dCp8UD2f+1UacNss3gsosm3XzGvzGGzffNCHo0jZOg/OEU02eKpEbJtYAq2VA08ZgTbnji5kGxXw7J1wWs= X-Gm-Message-State: AOJu0YzxQOVKhnngoLXWR7TpmFPMx16bkw4dLVWcsCulTfLNbB6ZAXD+ +6izL+mFwDDM9esj6+8gzGfpyglSehtPQz+UrUHTALGjRBq29HKqt5/mfa09jfk= X-Google-Smtp-Source: AGHT+IEcoB3JmFJ9IpjpkDLM0gXNp4DcLepn0oB2jv35HwAPRgPQt+5YDdLNa1XcS8JrDiT3nZnRlg== X-Received: by 2002:a4a:7651:0:b0:5bd:c2b0:f599 with SMTP id 006d021491bc7-5bdc2b0f7d3mr5945744eaf.9.1718671068698; Mon, 17 Jun 2024 17:37:48 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5bd5e19a4e7sm1320770eaf.20.2024.06.17.17.37.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 17:37:48 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Olivia Mackall , Herbert Xu , Alim Akhtar , linux-samsung-soc@vger.kernel.org, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 7/7] arm64: dts: exynos850: Enable TRNG Date: Mon, 17 Jun 2024 19:37:43 -0500 Message-Id: <20240618003743.2975-8-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618003743.2975-1-semen.protsenko@linaro.org> References: <20240618003743.2975-1-semen.protsenko@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_173749_906530_FF9487BE X-CRM114-Status: UNSURE ( 9.38 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add True Random Number Generator (TRNG) node to Exynos850 SoC dtsi. Signed-off-by: Sam Protsenko --- arch/arm64/boot/dts/exynos/exynos850.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/exynos/exynos850.dtsi b/arch/arm64/boot/dts/exynos/exynos850.dtsi index 0706c8534ceb..f1c8b4613cbc 100644 --- a/arch/arm64/boot/dts/exynos/exynos850.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos850.dtsi @@ -416,6 +416,14 @@ pinctrl_core: pinctrl@12070000 { interrupts = ; }; + trng: rng@12081400 { + compatible = "samsung,exynos850-trng"; + reg = <0x12081400 0x100>; + clocks = <&cmu_core CLK_GOUT_SSS_ACLK>, + <&cmu_core CLK_GOUT_SSS_PCLK>; + clock-names = "secss", "pclk"; + }; + pinctrl_hsi: pinctrl@13430000 { compatible = "samsung,exynos850-pinctrl"; reg = <0x13430000 0x1000>;