From patchwork Tue Jun 18 20:45:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13703003 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 EEA40C27C4F for ; Tue, 18 Jun 2024 20:45:58 +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=AlbvvMZMqGqL9+iJm7HJUKaP51agxlDWROSsJ57jie8=; b=4kbuP/yIVAeEziALejxcwGPVn8 ch9zprNjNpMCDxP1DQztbvJK4NJEM3n1tkEvS7df4/6LBPJrfIz8QiOOqSQa/AvmzDHgxBEnLwiOM qa1m0D1WyK7I4eS331obdb4yR2DGLKyVhNOFLtO2zcql7YABQz9BwK/5HjDFfm7yb7nSAciHX9jSI c61+Pyj3iFzazwT8aOh21w9AKKEZKLaVXEyO5BjTyBzhd5KNTj2LwYIeolxZOoUM0r1VyPXCHOPGW QNhyht1r0mHJgj/L81w2ppYo9OTm7ZvuJwDVlAhzY1pdgJXM7rqq9HUT/pssEAvu+ZQSuG2f1QC6R +QBTvWcg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfhq-0000000GWuv-0dcD; Tue, 18 Jun 2024 20:45:30 +0000 Received: from mail-ot1-x32e.google.com ([2607:f8b0:4864:20::32e]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfhn-0000000GWtD-1Yyf for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 20:45:29 +0000 Received: by mail-ot1-x32e.google.com with SMTP id 46e09a7af769-6fa0d077694so2518370a34.0 for ; Tue, 18 Jun 2024 13:45:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718743525; x=1719348325; 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=AlbvvMZMqGqL9+iJm7HJUKaP51agxlDWROSsJ57jie8=; b=r7qsaSQ66MJ+DBAbn4l/7i3zC7ANaDVmt1KjZIQ3ws4y9iUWGBMiW+hMpbmd7dOwSR zk3Bh1tz5Bfh8hwZH/OsveOQKbXCjoSscFL3phedZoi023l0q3yKMN6wy2GEbgbHc6tN 1t9jMJrew+VkS2iPPs6lfoMDS6RurW7SBDqjyRJ0i9AxCYnUe+My1SpTxjHQJgTr8rJA /+q+W0SDwmNDKyF2cTY0EFq6hZr+aXUqIu10P+z9PqAk5MEXTuUy+qkBD7byyVsJG1Jl P4hJa7JB7RzP6dsbXkOBgcA+g1fhmRhwf1ZiKQw+bb6u75QA/YvXgGJ/5Yxe7g5vNLZL f9CA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718743525; x=1719348325; 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=AlbvvMZMqGqL9+iJm7HJUKaP51agxlDWROSsJ57jie8=; b=gk6SmTHDgNEvNHDujxwJ79kZMCXFs5b49wLXt3KbhvHEcGC24Cy1WafqvEGNl15x6m /FThmfgupmHRpbNhq7zeeh/wt1QBOjr01jBedAgsMANNBrdIUpXpskXwZ39dFy2gv/uk G1mgNwWICUnAKic5lU4yOIviexsmoDY9NU6+QVI2WVcCtC3hqXaOtFemxBGVIz/ZlEac /KaH21765gpxyY3YlUrGPpJar/h5Z77nWBvTNQo56oS9Z0B3nTn3xMgWiecGSlB/g6A9 5KUyArgRxqZERpSKcqXPczaEMVoJxE4zmKwUYaTuGdlezZLO5G5oUM95B18NnIQRqLS6 5kNw== X-Forwarded-Encrypted: i=1; AJvYcCXrkhaRyLja7jnbFFMXrB/80oHE7nrrd1RV7oybR5SrFXmlor+VjWV4wiKlzVMZmLOqzzqG7oBHjJ5KdbHBxXJmDJcl0cZ7s21mBs+dLE41Yn371fE= X-Gm-Message-State: AOJu0YxOI08xp2T5KXMoiaqjlgssI3hKvwpbhGvI0iB6V2R4+w+kiG/b 7lF5Cj564DSgqukYi2f42RiV9ypq47MY7UPd9JS67jlfp+ey1Kn4Bh0jgDVyABU= X-Google-Smtp-Source: AGHT+IHtQ4jPiGwmE6Fqz4f+T054gfg7HjueTuRrzz7pHpWmzy4tU4cMlClLNNSm5wif6dmg4G42uA== X-Received: by 2002:a9d:7841:0:b0:6fe:858a:8d4a with SMTP id 46e09a7af769-700771e7314mr874352a34.35.1718743525201; Tue, 18 Jun 2024 13:45:25 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-6fb5afab892sm1937125a34.7.2024.06.18.13.45.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Jun 2024 13:45:24 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Anand Moon , 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 v2 1/7] dt-bindings: rng: Add Exynos850 support to exynos-trng Date: Tue, 18 Jun 2024 15:45:17 -0500 Message-Id: <20240618204523.9563-2-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618204523.9563-1-semen.protsenko@linaro.org> References: <20240618204523.9563-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-20240618_134527_628828_C40F3A5C X-CRM114-Status: GOOD ( 13.26 ) 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. Signed-off-by: Sam Protsenko Reviewed-by: Krzysztof Kozlowski --- Changes in v2: - Removed example added in v1 .../bindings/rng/samsung,exynos5250-trng.yaml | 40 +++++++++++++++++-- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.yaml b/Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.yaml index 765d9f9edd6e..1a71935d8a19 100644 --- a/Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.yaml +++ b/Documentation/devicetree/bindings/rng/samsung,exynos5250-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: From patchwork Tue Jun 18 20:45:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13703006 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 CC5C9C27C4F for ; Tue, 18 Jun 2024 20:46:01 +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=/1x8MC9aiceHsiOgibtWuSN+CH2pLi0RJoi6RQX0En0=; b=KDwzqE6zUcBDTDZVtAseqYSPOj Y2zWG4r1vXKYOsCx4wWR7Jv1YCWBu/VOUwq+WSExClhtTDi/V1/6EWr4i0w91GhMQIq2HbV20bTfK iIpqEB24jO6Oqsao6Xm4jaBZ1l3br3+uce8+S7gbK05WENfLqEeXE1Ik82jiEyy/eQjP+0qqkKRPc U6n6RU6+jqVQlPgqlR9hS80q0qrjmveLosNEKgdg+B4zhToxzPhho+bDikBhRT8sxSfkrbypnmxLN 764V6/tH9EtSYocPXFCIcAU2QUoGZXasurg4XdwQrodUAWFSrxui5B8psDAd1vXVpHXO/YNh5WeMs 5M19KK2g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfi2-0000000GWz6-22rC; Tue, 18 Jun 2024 20:45:42 +0000 Received: from mail-oo1-xc2e.google.com ([2607:f8b0:4864:20::c2e]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfhn-0000000GWtE-1ZDr for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 20:45:30 +0000 Received: by mail-oo1-xc2e.google.com with SMTP id 006d021491bc7-5bdbbc37664so2842187eaf.2 for ; Tue, 18 Jun 2024 13:45:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718743526; x=1719348326; 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=/1x8MC9aiceHsiOgibtWuSN+CH2pLi0RJoi6RQX0En0=; b=IbH1Cpj7MAzgysAGIRUbdkyHFWvNcm3MMVnxzg9Zh52k/UW+MTI5pyU+he6I7Lqr88 NiSkIdRhVVi4xjou/FEajWMHt6K9iXDzFoA+dnE6OEIsQ3+ueYpESa1ZTPyZoMBRH4OK 9hmfHa9JC1y6s/u22ECpMRaEf9SnW18CadVKpod/1DEOcqANEUB8ZjOjLgfx0fHdMdaT bc9x50TDRvYW6wESa+N1sD61C3XY1qTVPs5Y2NNeQOvhXYBf8WAaox0uxZSZ0BpB65xx btZOBro1Z9yA704jXwQNcnI7c4HsVpcTy7kOyt1spIWSZdZngqwk4NVHUdUbAQvHXz8E oaag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718743526; x=1719348326; 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=/1x8MC9aiceHsiOgibtWuSN+CH2pLi0RJoi6RQX0En0=; b=ss3PfR/x7fTwFbXEK0hqAmf3ux38RbGOB2SyAIwhSUaol7oZvGSvYQelu8hVWOx3Xs 70jfxwgVK1IX4ELT82R23y7xesALHKtU/14yEN+8shwUAG0glmV+yVjbBQcNWlufFf2D XF0caacXfWg1KkJumGLwzTI+j8sonLXR+nbRjWLxsVTtJUh7NgIivh9wRwmi/UnfuGYx SMMi5jQBXhHDpJ9B2aRRlEMzUvFZl/ojoFkUyEXWYFE407235jLP+tv9aHlqt7Gd8hOs hiCtOsRei4IE1guEFGYyJMvzzqoqY4FnAkN2akcSKmA9ED9L/EIDjdCUxS3773abbUPe 4gmQ== X-Forwarded-Encrypted: i=1; AJvYcCV6Me9c6VD1D9UmeUEc70jjyrkDf7ptpfNWWjrSD57Ajz/6Wd5L4zrSdxcOzxYupfcZ2VOa3lO/M58Nn2Y/P82O8WhrSDm3a++Ms7Mjn76cRp1tobI= X-Gm-Message-State: AOJu0YxZ9Er5Jp+tu50yq0QvJN4vf3hv7uK7AQ0eOYWwhyWB+J6rbgXq VDTinad3tWwYebIeFPXjF2Zu6rFLdc2mJuvPCtrtzwJQIhfp+Ap5fPuxY41K16s= X-Google-Smtp-Source: AGHT+IHoIqS42kE6h2gsiMCU58NN0xvPF/vSFb4SrpjHZNqEyhPtxGPcglOULs7EmkuqnqSorllKtg== X-Received: by 2002:a4a:240f:0:b0:5c1:a296:66b5 with SMTP id 006d021491bc7-5c1adc0715emr917189eaf.9.1718743525910; Tue, 18 Jun 2024 13:45:25 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5bd5f2a1801sm1432107eaf.37.2024.06.18.13.45.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Jun 2024 13:45:25 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Anand Moon , 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 v2 2/7] hwrng: exynos: Improve coding style Date: Tue, 18 Jun 2024 15:45:18 -0500 Message-Id: <20240618204523.9563-3-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618204523.9563-1-semen.protsenko@linaro.org> References: <20240618204523.9563-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-20240618_134527_628696_78C60766 X-CRM114-Status: GOOD ( 15.28 ) 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 Acked-by: Łukasz Stelmach --- Changes in v2: - Added Krzysztof's R-b tag 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 20:45:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13703007 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 0D57BC2BBCA for ; Tue, 18 Jun 2024 20:46:02 +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=0aRxOAD2Qgk5Lly7g3t86NVGFyqjyCN/MyLZiIAVgHs=; b=M/rw18BqQ4zTjr2PUgy1F2RVXl 4umoIRlh1VjZ6dOKdBVyXKeqRox+db0Uh5MQrYtzX1QK6oPWF48rhu0gHm6S0gE6GmxoIRJdlnaqu o75vdWKAztc44Fn/uNG2WDGbWuG7Y8AlHhcWj/f+y8UjCCIAY8Z+7RpVktDnPauMR7FSwUnPsLAwZ EdDeEmFJdf63oMwVpzkL31hHklOhiMtNkonEsCRi8pyVcbHchGOh645ubP8Cyl3y6trxeUDHaJmq5 cg88UD4j7FWQMG9KxtdMHE1XIn9rAXKN6jo/VjYpzKj47TfzBnw6vYIi9cyyebSSR3MOQ5MQGyMHZ vJvFeM+w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfi4-0000000GX0n-2zYv; Tue, 18 Jun 2024 20:45:44 +0000 Received: from mail-ot1-x331.google.com ([2607:f8b0:4864:20::331]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfhn-0000000GWtJ-2tqU for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 20:45:30 +0000 Received: by mail-ot1-x331.google.com with SMTP id 46e09a7af769-6f8d0a00a35so4917465a34.2 for ; Tue, 18 Jun 2024 13:45:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718743526; x=1719348326; 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=0aRxOAD2Qgk5Lly7g3t86NVGFyqjyCN/MyLZiIAVgHs=; b=t7dPOfQuI3OmSoSj1mzfH48K8FkTleWbziiG0EKg2+2dPc4W9LSCGrTDzgrTuW0Axc 63r4ieJlJOI7AWCWE4mS4SNGLYuI15Eh5rZT4lTIwBnfz15xxXPd6Ti8gvrKKr2VNlQg AJu01op2MP7iCbw+Q0Dfl19fu/3kMfoLu9x403vH0nJzUuvYKlHP93wMQ7E91x4zQQXH dwaO0J92v2TdjzVA1JcoMdAuIuai2Veq4Jjeq6GHfuklKgHboeWu2jyrhfXKkcxY7NpW YUY0x2lWo2smq7/lzBdckwiz7Te7uplZQNHVa4ehsfLWp++kI7sLD36nWTAOVMV1rZV4 hpmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718743526; x=1719348326; 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=0aRxOAD2Qgk5Lly7g3t86NVGFyqjyCN/MyLZiIAVgHs=; b=CE3uF+2AjU7NjeZhoyox/GhEojZRwWEGgrgpyf0X+oxgpuqMkd+pT0DK1OoC+PEiUo kpweE3infaWP/jE6b7uYVASMapnJDfH4a9dnDEcg6vFUjHMmw+xFQ77sBpMEi4spL+0k bCQ+s4FoVgi3/otrUwerqoMr6ywmQzVp8Eg9erHdNN4wnNAQcIu9ShrGH0aWxoe33k+R J+cU7+XXCymUzHopQNpMgi+bA9gAFNIVAHckg/nTtEK6CT/+Pry+2vf8iGX0S3nhthXR PvUxGwN4taMVV23Lj8k/1vHlGkZju5V8ibg9rAb27Nb8sv91nz3+rQS9fU1pSe3CLd7D IM1Q== X-Forwarded-Encrypted: i=1; AJvYcCXiM/R8Pa0d6NIWK789+h+h8JjjIhODe0fm7BpU3FInMZHURLr6TFrEqlTCmuCo0QZLd/ZR8R1sMz2uAzx4VVEtY8AtQq+YvBlpjjnCQeZp0AGmZz8= X-Gm-Message-State: AOJu0YxuSkBYYHccIHtMwz+ptXFJf1L41crJZkIFbg6HH9rm1c+m0IeI 6eaJNx7g/ANpcvy/pptDpD3zqCARcXTAdH635+7pMWrsWKIwaisMQ3J1dzQt/Bs= X-Google-Smtp-Source: AGHT+IFsyuXPTcRk/B3lUM1O8/TQZfkRs+GDfXqj2NsRA9yWpG9ZWVrUspoi5rnxH+NBKKi8Gu9VmQ== X-Received: by 2002:a05:6830:1d91:b0:6f9:c989:261c with SMTP id 46e09a7af769-700766349damr883708a34.33.1718743526611; Tue, 18 Jun 2024 13:45:26 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-6fb97051e68sm1692599a34.80.2024.06.18.13.45.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Jun 2024 13:45:26 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Anand Moon , 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 v2 3/7] hwrng: exynos: Use devm_clk_get_enabled() to get the clock Date: Tue, 18 Jun 2024 15:45:19 -0500 Message-Id: <20240618204523.9563-4-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618204523.9563-1-semen.protsenko@linaro.org> References: <20240618204523.9563-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-20240618_134527_764495_8C9215AF X-CRM114-Status: GOOD ( 14.07 ) 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 Use devm_clk_get_enabled() helper instead of calling devm_clk_get() and then clk_prepare_enable(). It simplifies the error handling and makes the code more compact. Also use dev_err_probe() to handle possible -EPROBE_DEFER errors if the clock is not available yet. Signed-off-by: Sam Protsenko Reviewed-by: Krzysztof Kozlowski Reviewed-by: Anand Moon --- Changes in v2: - No changes (it's a new patch added in v2) drivers/char/hw_random/exynos-trng.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/drivers/char/hw_random/exynos-trng.c b/drivers/char/hw_random/exynos-trng.c index 88a5088ed34d..91c210d80a3d 100644 --- a/drivers/char/hw_random/exynos-trng.c +++ b/drivers/char/hw_random/exynos-trng.c @@ -134,32 +134,23 @@ static int exynos_trng_probe(struct platform_device *pdev) goto err_pm_get; } - trng->clk = devm_clk_get(&pdev->dev, "secss"); + trng->clk = devm_clk_get_enabled(&pdev->dev, "secss"); if (IS_ERR(trng->clk)) { - ret = PTR_ERR(trng->clk); - dev_err(&pdev->dev, "Could not get clock.\n"); - goto err_clock; - } - - ret = clk_prepare_enable(trng->clk); - if (ret) { - dev_err(&pdev->dev, "Could not enable the clk.\n"); + ret = dev_err_probe(&pdev->dev, PTR_ERR(trng->clk), + "Could not get clock"); goto err_clock; } ret = devm_hwrng_register(&pdev->dev, &trng->rng); if (ret) { dev_err(&pdev->dev, "Could not register hwrng device.\n"); - goto err_register; + goto err_clock; } dev_info(&pdev->dev, "Exynos True Random Number Generator.\n"); return 0; -err_register: - clk_disable_unprepare(trng->clk); - err_clock: pm_runtime_put_noidle(&pdev->dev); @@ -171,10 +162,6 @@ 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); - - clk_disable_unprepare(trng->clk); - pm_runtime_put_sync(&pdev->dev); pm_runtime_disable(&pdev->dev); } From patchwork Tue Jun 18 20:45:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13703004 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 D4B18C2BA1A for ; Tue, 18 Jun 2024 20:45:59 +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=N5PSLoK5277DwTxre0IUhy89MhV1sfVHkT9GD1kskOA=; b=lyiLB+J6DJf6od3f5wqObjIVgh eNWY9dpyHz6QcIV0Lhg/foV74Cm5H5fiw+UOqPw/tZLv0hjNRQtMNtPX6nAEHeCKYngDGWfRRnYoA hpxPaZQtLjwDJyiGRXRNSMYGenLxiDPkZvdBvTLfYCaDx53SVTIYnYzGFYySCboD6xv8/jh6i9cxD R1FNe9uHgHmmhFxM/nH2TLOVOeBx3h7Dsxa6L4b8BiBLXpMJaNqvEeTC8oe+zV8NZvlfnrSWdLjQt UfMSPUQd1HP9mIss0VM5KODeD1LO5BvLQA3qdSSLnWprXTmTsloyVxoNgeuRw4mhZIct+5Wna7ONj ct00raYA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfi3-0000000GWzq-1Ia1; Tue, 18 Jun 2024 20:45:43 +0000 Received: from mail-oa1-x2c.google.com ([2001:4860:4864:20::2c]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfho-0000000GWtr-0kCd for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 20:45:30 +0000 Received: by mail-oa1-x2c.google.com with SMTP id 586e51a60fabf-259884ef4ddso408153fac.2 for ; Tue, 18 Jun 2024 13:45:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718743527; x=1719348327; 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=N5PSLoK5277DwTxre0IUhy89MhV1sfVHkT9GD1kskOA=; b=bfApdjoHajsxO2Kw31frgkLaC/kA1bjpSN1v6B/g3D/zXvVmRx0ZlCAfqvg/bq1GcE bpKnoNh4pZG4G85AkHNV6OQFwDrISf+oc0QsGgVllRj2RAHpN9X+/jHh2gUxFur79Ycg PoSXXFQ3Un76A+rI85ihskMhjoskPuIb+AlkDe9abjMqDa8Kk1OnFOjEJ/uCarNgPRN5 +13nD1eI8mXW0nxrRM3aGjzVImu4FIusZGAfPCY39rM7air/2yliW2Sl5Tr3vVtzfM1J G6+2SH4rafGC4QhAJZj/oywqz3d/W+cJGL1aVLAsaynzrnMepH0NM9ECKE79x9AgNw3j w+vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718743527; x=1719348327; 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=N5PSLoK5277DwTxre0IUhy89MhV1sfVHkT9GD1kskOA=; b=qkKoSZAJiteCBQpe9NQINLkFSl/K46TzKNkPLMmRs9GZqVysQdgiDcwqS3jqKKPDMY n9QNdma74Xa4fpCdHU8zyVHTjUtk6SRI4TPOEBw23ibKgPYHROif/HZnLx5R40D6dtM4 j3KXR/9xcIPQAAYAX2/V7pvvXfkSglzV7kPr5tm+AePZ7Zv8UbD3mEFB9ckCGdrpVWaw RR+q0W5TOshhsiDp4eBnKdYuacqcJOmwjUiOW/TlYjw/eVqHAsGaWfXVZCSNK6/zRgpR Mimjpch8BvQsQn263Y3NgEuq1tz/IoeOTdQVtLkIWJPXt32aKwLJqQmqUZ5TukI2An6V tPgg== X-Forwarded-Encrypted: i=1; AJvYcCX1OqHydsf6YZy1+V6fOsbe6f7p0KExqExR8QDBZajbSI7JnPk8PWl48/gNuxTQPFvc2KsYV+aebd9Szs0G6j49qC/YXOSjaFD7AyJmiNRtTqZ3wHo= X-Gm-Message-State: AOJu0Ywg6abhTRqKcNjltDgF4A6rstT48fb7mlhy0mYMAJRnyz4cAupq TM4qq1pKonB/X34kWG3wq9LtcXjajl2Vq81maUaT205eSPfTGGQI+Axt0IAnl5g= X-Google-Smtp-Source: AGHT+IFDRAFXeFBv7i8uwvM6wavaDuobxVfToXwipE3qzms4/u2yGTluz+/UFCszPXir6zQE6J0cyg== X-Received: by 2002:a05:6871:5209:b0:254:b3cc:a6d8 with SMTP id 586e51a60fabf-25c94a200famr1057219fac.32.1718743527261; Tue, 18 Jun 2024 13:45:27 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-25a6d0fd5a6sm231281fac.56.2024.06.18.13.45.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Jun 2024 13:45:27 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Anand Moon , 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 v2 4/7] hwrng: exynos: Implement bus clock control Date: Tue, 18 Jun 2024 15:45:20 -0500 Message-Id: <20240618204523.9563-5-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618204523.9563-1-semen.protsenko@linaro.org> References: <20240618204523.9563-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-20240618_134528_240550_0D173F65 X-CRM114-Status: GOOD ( 15.60 ) 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 the optional PCLK clock accordingly to make it possible. Signed-off-by: Sam Protsenko Reviewed-by: Krzysztof Kozlowski Reviewed-by: Anand Moon --- Changes in v2: - Used devm_clk_get_optional_enabled() to avoid calling clk_prepare_enable() for PCLK drivers/char/hw_random/exynos-trng.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/char/hw_random/exynos-trng.c b/drivers/char/hw_random/exynos-trng.c index 91c210d80a3d..99a0b271ffb7 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,6 +142,13 @@ static int exynos_trng_probe(struct platform_device *pdev) goto err_clock; } + trng->pclk = devm_clk_get_optional_enabled(&pdev->dev, "pclk"); + if (IS_ERR(trng->pclk)) { + ret = dev_err_probe(&pdev->dev, PTR_ERR(trng->pclk), + "Could not get pclk"); + goto err_clock; + } + ret = devm_hwrng_register(&pdev->dev, &trng->rng); if (ret) { dev_err(&pdev->dev, "Could not register hwrng device.\n"); From patchwork Tue Jun 18 20:45:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13703009 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 90087C2BA15 for ; Tue, 18 Jun 2024 20:46:04 +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=D1tGGKDb/pzoSYKfOaGs32qG7utZGs+QUbR9RohPaQI=; b=AARGFVrTIEkfTeuCMu9wL4KORr Yx36dx4hEbjWziZGWFxOhiSEYavDiy+XmI7tGjjW7AUaH6gw9SlNo1e2A9MAS84+ponvUkcpB7o/i UKQV2eBFSyDzhoq6PFIsx19rniNQbSGZll6uen5H7lqFP5iXZZY01jezvqfU2ypkrpuo2GVaKKbO+ +B7xlpFePeQMzdF4dfj3V1i1Lvs7j+P8nTWbGi3zNBnrtli7PM7tbvJrysjyavDUo5+ElympZJ3eH tMh2hb/jtpKjibSigfptK+fLMzTxgiU2XHe8CluR2VNoug7PqdNjUpkgCi90exDHtWH7L1Me2VfGr rc/beiOg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfi6-0000000GX1m-1MW5; Tue, 18 Jun 2024 20:45:46 +0000 Received: from mail-oi1-x22f.google.com ([2607:f8b0:4864:20::22f]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfhq-0000000GWus-273k for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 20:45:33 +0000 Received: by mail-oi1-x22f.google.com with SMTP id 5614622812f47-3cabac56b38so3453895b6e.3 for ; Tue, 18 Jun 2024 13:45:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718743529; x=1719348329; 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=D1tGGKDb/pzoSYKfOaGs32qG7utZGs+QUbR9RohPaQI=; b=bbK0HGx+n52ZIR40p22djOGNQgjrQJqPTSl3Z8D21dq1yKpPy4FWTHtbYCBjWe21lB SXK3ionIAu+LWazeA5XAgOyFHtGB8ZYmLT/p8ufeI7/t5ButwsUT6HXSRkKuKUKbyt1D 3/UjMKtGwx5j0kqG60w822lbdfgs5qU8PQImnyAjXyU2dBGVl7sMZpzngiQgZ3mwIEuy 18Ib665Wk58z6jhx8+TrtKdOMp78ATNFNob0cRe4XM4OEc/TZjwBLafoeI3gF9QjLAdd WAZx5wqPtNPGNHG6JYeHBmNAmt6KbbUvXM4BVrJV1bQ4t6ENu52Le+7svXupeCFsICs1 MOSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718743529; x=1719348329; 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=D1tGGKDb/pzoSYKfOaGs32qG7utZGs+QUbR9RohPaQI=; b=HQuZNFUUvriU/XVWxBgbmg3eENFOM01HbA6IqOez3YjOvqVfZfyKQ+InygPm5zccPG 23ihLYQlhCbygZmQz8Gosxkh5o7Sf1D6wXozCe/VgZKMZ6WybRGuA9KcmVtNf7a5ISsI QVnSTKEwgx/PQpeRz3IRgzeyZScucQqcIF4aWGR3oZO1i7lWlO45QwTAgBIcWpbm9Pf8 qIMGPJLBBvz9+VP7XPHhly8XRv+vigQL6IcmiKxvCPutcXCvSF3OB0yUj29LtojP12WK ZkNA8XUBXh2/W143gGPDVNG/DV7KoD+o3vLaYVlyTbTndWLtIUfW3/A0CU7ecfQoxCzU Jodw== X-Forwarded-Encrypted: i=1; AJvYcCXfhaXg/ttpJvkR33Rhf/vLkKHLO+d1ccTYmsxnCZEKlcEyCBFR351gLCrRt+XpHDGym/AQmGgdibfM1ZL/3fZxbEeKoEG/AJPOt+iVJTOrqYlT8Y8= X-Gm-Message-State: AOJu0Yzt86nJXDaUySmckIlrsYmpxcHygd3NtZQhK3Ip1J+kQiunlAEd hmb5Iu7AwZ+2qWBJ1HZ3uALXD5Um5Or2ZKf4WawXdo6Vofi5pYvTrBQcaqyucdw= X-Google-Smtp-Source: AGHT+IExMUu5uMoYHOz6Ly2rBBDwUiHBtNbETwIOmMglcoTYhcR+mi7mM6Kezl435MsKYs2EFya3dg== X-Received: by 2002:a05:6808:1522:b0:3d2:16c8:64f4 with SMTP id 5614622812f47-3d51b9e3769mr981490b6e.24.1718743527969; Tue, 18 Jun 2024 13:45:27 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 5614622812f47-3d2476bb609sm1898298b6e.44.2024.06.18.13.45.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Jun 2024 13:45:27 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Anand Moon , 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 v2 5/7] hwrng: exynos: Add SMC based TRNG operation Date: Tue, 18 Jun 2024 15:45:21 -0500 Message-Id: <20240618204523.9563-6-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618204523.9563-1-semen.protsenko@linaro.org> References: <20240618204523.9563-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-20240618_134530_710291_79C71E68 X-CRM114-Status: GOOD ( 25.86 ) 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 EXYNOS_SMC flag is set in the corresponding chip driver data. Signed-off-by: Sam Protsenko Reviewed-by: Krzysztof Kozlowski --- Changes in v2: - Used the "reversed Christmas tree" style in the variable declaration block in exynos_trng_do_read_smc() - Renamed .quirks to .flags in the driver structure - Added Krzysztof's R-b tag drivers/char/hw_random/exynos-trng.c | 133 +++++++++++++++++++++++++-- 1 file changed, 123 insertions(+), 10 deletions(-) diff --git a/drivers/char/hw_random/exynos-trng.c b/drivers/char/hw_random/exynos-trng.c index 99a0b271ffb7..497d6018c6ba 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,41 @@ #define EXYNOS_TRNG_FIFO_LEN 8 #define EXYNOS_TRNG_CLOCK_RATE 500000 +/* Driver feature flags */ +#define EXYNOS_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 flags; }; -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 +97,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; + unsigned int copied = 0; + u32 *buf = data; + 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 +163,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 +183,29 @@ static int exynos_trng_probe(struct platform_device *pdev) if (!trng) return ret; + platform_set_drvdata(pdev, trng); + trng->dev = &pdev->dev; + + trng->flags = (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->flags & EXYNOS_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); @@ -170,12 +249,31 @@ 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); + + if (trng->flags & EXYNOS_SMC) { + struct arm_smccc_res res; + + arm_smccc_smc(SMC_CMD_RANDOM, HWRNG_EXIT, 0, 0, 0, 0, 0, 0, + &res); + } + pm_runtime_put_sync(&pdev->dev); pm_runtime_disable(&pdev->dev); } static int exynos_trng_suspend(struct device *dev) { + struct exynos_trng_dev *trng = dev_get_drvdata(dev); + struct arm_smccc_res res; + + if (trng->flags & EXYNOS_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; @@ -183,6 +281,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); @@ -191,6 +290,20 @@ static int exynos_trng_resume(struct device *dev) return ret; } + if (trng->flags & EXYNOS_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 20:45:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13703005 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 EDB6DC2BA15 for ; Tue, 18 Jun 2024 20:46:00 +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=1QypTvkVpwSwPwrJWMvND1OKOL2Sl2RDuWylFLER89I=; b=gABxpY+jVxnwahytyDCBrDPp1c Nq8LhIJSzn3Q+dn+7vPQnNRHawGkDV9KeoLyNmkRerUmix8h9frpg7EIFbVhLaSodajOvLBoxm/Gh bI1XkmN1e0YMt4Ejwc6a+yMDMDdggRlgD9t9qVZFMccSwiGSU06RNrbvr+bzYssjEuCdwmd1nl43/ G4CJhJOkrojwOI3/C5jkLceDoNFzxNgi1hC+ARypbT0j3tTabFkQBX7OcbOga2fU/of8e+F0rewRe PhSt/ZGFBVLYrKK+gGjZwZcnKehU0XF/+lVO0NdESaUlaRTzEDsw6SitWE9vxfqN5NU7vLTUSvf6e vkHPOHyQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfi5-0000000GX1L-2Jbw; Tue, 18 Jun 2024 20:45:45 +0000 Received: from mail-ot1-x32e.google.com ([2607:f8b0:4864:20::32e]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfhq-0000000GWur-0iam for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 20:45:32 +0000 Received: by mail-ot1-x32e.google.com with SMTP id 46e09a7af769-6f9b4d69f53so3143810a34.0 for ; Tue, 18 Jun 2024 13:45:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718743529; x=1719348329; 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=1QypTvkVpwSwPwrJWMvND1OKOL2Sl2RDuWylFLER89I=; b=jYOybe15Zcwh0FRUEzQ5pZ8Si71fz8s4/dihnKXES3DPxg1Ev0CObJS39VFKbW+NcO ZhfCkAKmizbUYQ3bUcElccJh3nHQb3eYy0Z8q1hXQJDr+NOYUwvs5hEmu1S7I0WfPng0 K9V0iF4iPR1UAgfu/I1gB9rz1bP5p7nHrFi9v7y0HlGEhAjg2WT1ONqLoqqbolI9fNVY YlkQ/RUIfGzU4OqVHoysmseUb1O/dydBcyCUvDHb7atCqV/lDe0kU9WS/f6fAJP1//Nh +0BMDRCx1Tqdn805Geq9i2k7WBCwHASFRWd3Zk2qrWWw43nXawKYjNhLMdd84JS/KefF /eTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718743529; x=1719348329; 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=1QypTvkVpwSwPwrJWMvND1OKOL2Sl2RDuWylFLER89I=; b=t0kC2T5bCIv2ilsQpGAeMYKJ/SVPXrwBObM7rQzrVgEuw40VGnJEtPjmAmBsoEKaRV KwvGObiDceZuc9cVXy8++qK0rFo8UeBsDLr6mp4Fpz0s+LHURxoMHxZ9QCF9o/tNLKtG bfqqz0fZLrfctQXo/Yne2Ivdy25QSwnUpC9LP1RPfa28pboJNHv+u1CllOaDmEdxbmR5 4QhFoJ4Tb7kQcFEj5c5+8BdoCHwqBlynlbE/pVoPkuq4/10hnvSjXnBsA0kMdnGGLXTU XPmpoU06rbdSHtbYJwgefoy9K8Im89E3H/cB9sVjSUd8BKRlLZ1FeT6I+sIQFXNsXu0Y FxEw== X-Forwarded-Encrypted: i=1; AJvYcCVU/Oq+TYPkPV4HiyPB/BfLqmM3ZJKMDfVFGZpmU+IhNUcw5+TfRXYoAMqOBg0RgMG9W0e3mjK2LA7INAEuLFw0WRNF/pqI0YMSvtfHDP0Ywj8aQ6c= X-Gm-Message-State: AOJu0YxVvPsK85l742xRNTs8ZLbxOtG/5CnuSTso98Hi9J0Cd3Y+c902 8JQ/3yhuHT2TkvlT6taFhHE2jvTQPNfrs+aPpOdxRQ/fWHrrUknvyFCahuXktJU= X-Google-Smtp-Source: AGHT+IF0mhCadvOIWkaEzxJ7YG63of9Ku+vM0wRbKCJ3zcWLEWNNSJ7oU6/+slg8XAwGOA979+WVSQ== X-Received: by 2002:a05:6830:1390:b0:6f9:7abf:c6df with SMTP id 46e09a7af769-700761499b8mr936632a34.27.1718743529356; Tue, 18 Jun 2024 13:45:29 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-6fb5b755c2bsm1938957a34.69.2024.06.18.13.45.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Jun 2024 13:45:28 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Anand Moon , 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 v2 6/7] hwrng: exynos: Enable Exynos850 support Date: Tue, 18 Jun 2024 15:45:22 -0500 Message-Id: <20240618204523.9563-7-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618204523.9563-1-semen.protsenko@linaro.org> References: <20240618204523.9563-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-20240618_134530_250291_5739587D X-CRM114-Status: GOOD ( 13.44 ) 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 EXYNOS_SMC flag in the driver data. Signed-off-by: Sam Protsenko Reviewed-by: Krzysztof Kozlowski Acked-by: Łukasz Stelmach --- Changes in v2: - Changed QUIRK_SMC to EXYNOS_SMC to reflect the name change in the previous patch 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 497d6018c6ba..841598037cce 100644 --- a/drivers/char/hw_random/exynos-trng.c +++ b/drivers/char/hw_random/exynos-trng.c @@ -313,6 +313,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 *)EXYNOS_SMC, }, { }, }; From patchwork Tue Jun 18 20:45:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 13703008 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 C4000C2BA1A for ; Tue, 18 Jun 2024 20:46:02 +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=An62MJeGUMiGGgvWvJTRH6LH32AiZhil1QbTJRqvu4k=; b=g0P3FPys5495NHpeYzOPjSHDYh jPEzx2GkJLVqJgi8DNqARok93ZLpRynx8pZDhSQyR4//Hdu4VdIDTJgnPgAAFWpSF7YHTHXof/q0k NyQPQmORHd6wPfvJs0b/q1/0Xrq6beRA3qrsAX3DzJio22hah6uNQj/7RQnA2JEY4di2CjdrSIOof BBL+nNoyNbpJDa6EUZ/WmmAjuEXDhOMrkkOclRBX1jP+/wJFBXrtbvSzELOhMTbUjTZ3w36Rfrx+1 2Vw91goK57euwEHOti1PW+Ns3FiOuHo8fg/+VmO34vEl6mfnTFsZwe0juQVSI4C3Zxno4ShvDCDcY WEvPQ+qQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfi7-0000000GX2g-1myC; Tue, 18 Jun 2024 20:45:47 +0000 Received: from mail-ot1-x336.google.com ([2607:f8b0:4864:20::336]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJfht-0000000GWvG-0Wic for linux-arm-kernel@lists.infradead.org; Tue, 18 Jun 2024 20:45:34 +0000 Received: by mail-ot1-x336.google.com with SMTP id 46e09a7af769-6f855b2499cso3257970a34.1 for ; Tue, 18 Jun 2024 13:45:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718743530; x=1719348330; 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=An62MJeGUMiGGgvWvJTRH6LH32AiZhil1QbTJRqvu4k=; b=Xp+QYRvU2BeiEKYmCjA9uijdSgBdclajskHidyzuwsg4f8eEu6bNdxXqLJallCkmMA TavdWPFLP3E7QPKxyLTxUevpFyR3oQEc8obuk/Rs8/a7eMOdKkOMf5jRQryiKNZ+dNZX nj1TOeclbMObQIL4oQ9Yjzf0LxC1TSWNtXG1mS5HVkZNHb1qsTkGR/NtaqFgbkbr8qMI KMFNgK6dm+dfc+YKm92ZUcqcob8FvUyj86DcDbhpLTPQmm5bbToGSxxhUBAQIFgYbPiQ fJe37OXEAaT5aYqE0whc+dHPSF6oqtHgqGOfoRpv7Hh6zs+aNIF2AFADOL9oC55co9kg RmDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718743530; x=1719348330; 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=An62MJeGUMiGGgvWvJTRH6LH32AiZhil1QbTJRqvu4k=; b=lLXtIo5zZnxi4LUMaGabduwZj9M1q+FdJn9hNM4o/sdsgb4NESnPvvOg9oQed3vJF9 w1mqo2ATv3X9LH6ua0qBfyDpzR01Iv4zEBDjBRpaDWrcurjEI5t4LCAjmZuSpVLu0rMS iCgLm5chiHmbebzYQ63sxeFvL4xwV3TkaWjTNdlZB/mFwjRTxjy8HoYzgOeJQp2fSKxD 6/Z2ZY17N8ngYAWktXECztGDacez77Zf12vHlV+XaZNawZdsrQznmf8IhclFADy7ckkL 0TobyJkYHxzln9bFaSK3IRODA3V/surRACPDkc8c0oEKK/fTtt1BMgIhtzaYm2W4vFqf AY+g== X-Forwarded-Encrypted: i=1; AJvYcCUtjGDJ1PkrSTboDYJJ/g73E0OlkTqtjOcb40WiYtdAlJKJXOmf5tjlEN2Xd/MFfpo6nkYdtWOMizegbnI3dzixiqB8a+gjJ7gmJ+1rhygX8ecM+dM= X-Gm-Message-State: AOJu0YxbQ0RbL7Gjneoy6A/SvAn2wEANhw+9ui0hfUhBbxXPhM3B0jMh zT/4xADxqnfjFzEInH+uQDJgwwM1bKBQln20COOYpY379AH11BNHb0I48XzUMPg= X-Google-Smtp-Source: AGHT+IF/wZnyEwlmp014WzzyEzK86air2V/fRVppB5R1D3+8KBOP7B7VGADdvbG4uR9hRt+kJZiG5w== X-Received: by 2002:a9d:7d05:0:b0:6f9:72ca:fdcb with SMTP id 46e09a7af769-70075a7530bmr843183a34.36.1718743530058; Tue, 18 Jun 2024 13:45:30 -0700 (PDT) Received: from localhost ([136.62.192.75]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-6fb5b1e3adesm1931562a34.36.2024.06.18.13.45.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Jun 2024 13:45:29 -0700 (PDT) From: Sam Protsenko To: =?utf-8?q?=C5=81ukasz_Stelmach?= , Krzysztof Kozlowski , Rob Herring , Conor Dooley Cc: Anand Moon , 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 v2 7/7] arm64: dts: exynos850: Enable TRNG Date: Tue, 18 Jun 2024 15:45:23 -0500 Message-Id: <20240618204523.9563-8-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240618204523.9563-1-semen.protsenko@linaro.org> References: <20240618204523.9563-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-20240618_134533_188392_00827697 X-CRM114-Status: GOOD ( 10.14 ) 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 --- Changes in v2: - (no changes) 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>;