From nobody Mon Feb 9 17:06:52 2026 Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 49BA127718; Wed, 30 Apr 2025 16:17:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.112 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746029875; cv=pass; b=AcrS8Wt/pbt0QLMcBa4XO+nUIEu6Zs+nWcgcLtznrhpEIet0uNvGTBszEket2928Qhq8bIVHdMhl6v2ay32BiK3slv2HIsiga2OAv5MZWqtkGWMzLM+ZvY1Qo5vQ6a3DAxpnw0aCk+8APZCP2MiehVMwagifGmTPPSWvUzWFbaw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746029875; c=relaxed/simple; bh=5mNZSHb6mCpP3Lg66LkiacMQ3ZdAK5I0MUNG4QOKZPA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ue3f96JXNYV8tNL08EsrmxHViSP8SI+sFQ5SFCQpGWTHSjKoz83hMC5bOcUdZ6H0dG/FwGeRVllTyzDSY+oPwtyjQzPhm8adcayClYhW6JCunQrtVNF9qbgQoWhNMALglR6eXJQ5wpGb1sWjAYTfA7H+sCBtm0iRpNzvWM0fA5g= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (1024-bit key) header.d=collabora.com header.i=nicolas.frattaroli@collabora.com header.b=YGOKalQd; arc=pass smtp.client-ip=136.143.188.112 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=collabora.com header.i=nicolas.frattaroli@collabora.com header.b="YGOKalQd" ARC-Seal: i=1; a=rsa-sha256; t=1746029816; cv=none; d=zohomail.com; s=zohoarc; b=FnH76/YWeEy/aEeClOrvdV1Lr1/LcqU0T2iXebxS64wmnt9bOwGw7Ii7uaV/nz8OtwkHj7Aer7BevzuiFHLkFVofjaRn2QBVdVotk4szJ2ebbs1NzDA54A+d8GZaWAyzEzDoKityNgabm/BFSp2HtuXqQU4zKnV1E/p0j4c6FHA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746029816; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=jDHqxj+pNMIqtx7OnVBhW5kzUARxjRYDjneVyS0hKvI=; b=VIreHB6PMr/QzD2QVbjiMIdn7jFqUoRrV2Vw2WdlIFRsBqkJ1WclndHIMWhsesttMvUEaNlPd7dwnUoMhmj+eOeaGyNqEXADlDfB02Hx69WeQifEsktplsyEUkuWyJQUOtP9qgFF4OUQ2Qc87ai9YH07gWD/hAjzBVddlfSPsNE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=nicolas.frattaroli@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1746029816; s=zohomail; d=collabora.com; i=nicolas.frattaroli@collabora.com; h=From:From:Date:Date:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Message-Id:References:In-Reply-To:To:To:Cc:Cc:Reply-To; bh=jDHqxj+pNMIqtx7OnVBhW5kzUARxjRYDjneVyS0hKvI=; b=YGOKalQd8pPactsftc5nDvQUxSHPdgkHSiIV4i0mhK1F3vvqLOlvJk5AO1zKX+xH IvO4J1qrINjuLUtRPVqPDD6/kUih8ufB2OFtz5NyCqyEctYzB2XyU6lYejD80DWf1il C3KApsl5jqAdSwLlUIBTWqT6QwHf13bge/sZDmv4= Received: by mx.zohomail.com with SMTPS id 1746029814097766.0947279438221; Wed, 30 Apr 2025 09:16:54 -0700 (PDT) From: Nicolas Frattaroli Date: Wed, 30 Apr 2025 18:16:34 +0200 Subject: [PATCH 1/3] dt-bindings: rng: rockchip,rk3588-rng: add rk3576-rng compatible Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-rk3576-hwrng-v1-1-480c15b5843e@collabora.com> References: <20250430-rk3576-hwrng-v1-0-480c15b5843e@collabora.com> In-Reply-To: <20250430-rk3576-hwrng-v1-0-480c15b5843e@collabora.com> To: Daniel Golle , Aurelien Jarno , Olivia Mackall , Herbert Xu , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Jonas Karlman Cc: Sebastian Reichel , kernel@collabora.com, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Nicolas Frattaroli X-Mailer: b4 0.14.2 The RK3576 SoC contains another standalone TRNG implementation. While the register map and hardware is different, it has the same clocks/interrupts/resets as the RK3588's TRNG, so can go in the same binding. Add the compatible and generalise the title/description of the binding some more. Signed-off-by: Nicolas Frattaroli Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml= b/Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml index ca71b400bcaee4ad9d9c96102fd5940233c2c70f..fcc5be80142dfae1952652907a5= fafe8504e36c0 100644 --- a/Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml +++ b/Documentation/devicetree/bindings/rng/rockchip,rk3588-rng.yaml @@ -4,9 +4,9 @@ $id: http://devicetree.org/schemas/rng/rockchip,rk3588-rng.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# =20 -title: Rockchip RK3588 TRNG +title: Rockchip RK3576/RK3588 TRNG =20 -description: True Random Number Generator on Rockchip RK3588 SoC +description: True Random Number Generator on Rockchip RK3576/RK3588 SoCs =20 maintainers: - Nicolas Frattaroli @@ -14,6 +14,7 @@ maintainers: properties: compatible: enum: + - rockchip,rk3576-rng - rockchip,rk3588-rng =20 reg: --=20 2.49.0 From nobody Mon Feb 9 17:06:52 2026 Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 859942B9A9; Wed, 30 Apr 2025 16:17:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.112 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746029877; cv=pass; b=EAy7W6YIFFPaRuHlWP1kOctJtrwdAwzzg2QHXQ0Tbix/zFg0eqxKHNdO8Z9NECY8GeT6DaGq4lrDqy54oY0j3fxU7SmA+JZ5/gvVIHUHC29H/E7AmJEaequ1CMJK3J/WlPxMdLaJLzKLGaFhsdDa4/atHieCIwUlIwJjZoVEjx8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746029877; c=relaxed/simple; bh=9Zx9VPrWGrOJSajPyimsxoU+62VPe81hfoB3BpXcp4A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kQ+P8194i6OLJ0BlbesiUCHB4Mk0VPjlmHmRwBTtqzJfMDNumM2DtnpDNkZa278wJiy0d0/vS/CB/eD6wuCUoctn3XHk9I9/H1wKf+f2pdiMzxe2TPm1b+thrOAvkj5ZH9fmrNJitifc/8bEVB2EBY+BnMFxbTxjDIvuw+bRRks= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (1024-bit key) header.d=collabora.com header.i=nicolas.frattaroli@collabora.com header.b=VvtqeeQq; arc=pass smtp.client-ip=136.143.188.112 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=collabora.com header.i=nicolas.frattaroli@collabora.com header.b="VvtqeeQq" ARC-Seal: i=1; a=rsa-sha256; t=1746029818; cv=none; d=zohomail.com; s=zohoarc; b=NjUlP1yDA6kYssqar+FvK4IPdZyHyfT1rLih5R3Q39QS1LfByBsOkNb2Q9p957dXFzIdcXKeVLssDrX6dkmGdBos1gDkAEDHPPB47ZkCblX2WZE2Q+44SatT8Igc6iuCUeVK6SaurZCiTFhEZfUNRLmhw3oppKAhoOK5CCrTlTM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746029818; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=miz3B/I//7xxwp1CvpT8pZXSR6y64zliezCF/FrAZu4=; b=aU1ppuF74vhIj8HW4foewP06s1FANbHflwFaUaRN7LbHPw5kGUmflDc7f+ilDYfZzM8PZc6bAu+Bc+35q41UmVr+1fMNImFbMc0zMiozzD4Ix7sJQ+Sc7lSEMnlMC3K0xMTCytTmQRVhfnyPwh932ucT7xpZtMbfai8SdQpxsgY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=nicolas.frattaroli@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1746029818; s=zohomail; d=collabora.com; i=nicolas.frattaroli@collabora.com; h=From:From:Date:Date:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Message-Id:References:In-Reply-To:To:To:Cc:Cc:Reply-To; bh=miz3B/I//7xxwp1CvpT8pZXSR6y64zliezCF/FrAZu4=; b=VvtqeeQq/nFwp4s3RUz8Oyk51aWbzOpxvXIeXsQR2gvPwk3+hoaI8NkDx4SpiL1d SRmV7EnTGhJONqYv6pe4+0fg6Y/hjBldMoBXu77rnLdiTtpuyXrU+kRL97Lz25WMBLw +a+lnW92NwPAywDW+LPSOGvfo7qiOANCrtWjaRls= Received: by mx.zohomail.com with SMTPS id 1746029817715939.6265872431574; Wed, 30 Apr 2025 09:16:57 -0700 (PDT) From: Nicolas Frattaroli Date: Wed, 30 Apr 2025 18:16:35 +0200 Subject: [PATCH 2/3] hwrng: rockchip - add support for RK3576's RNG Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-rk3576-hwrng-v1-2-480c15b5843e@collabora.com> References: <20250430-rk3576-hwrng-v1-0-480c15b5843e@collabora.com> In-Reply-To: <20250430-rk3576-hwrng-v1-0-480c15b5843e@collabora.com> To: Daniel Golle , Aurelien Jarno , Olivia Mackall , Herbert Xu , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Jonas Karlman Cc: Sebastian Reichel , kernel@collabora.com, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Nicolas Frattaroli X-Mailer: b4 0.14.2 The Rockchip RK3576 SoC uses a new hardware random number generator IP. It's also used on the Rockchip RK3562 and the Rockchip RK3528. It has several modes of operation and self-checking features that are not implemented here. For starters, it has a DRNG output, which is an AES-CTR pseudo-random number generator that can be reseeded from the true entropy regularly. However, it also allows for access of the true entropy generator directly. This entropy is generated from an oscillator. There are several configuration registers which we don't touch here. The oscillator can be switched between a "CRO" and "STR" oscillator, and the length of the oscillator can be configured. The hardware also supports some automatic continuous entropy quality checking, which is also not implemented in this driver for the time being. The output as-is has been deemed sufficient to be useful: rngtest: starting FIPS tests... rngtest: bits received from input: 20000032 rngtest: FIPS 140-2 successes: 997 rngtest: FIPS 140-2 failures: 3 rngtest: FIPS 140-2(2001-10-10) Monobit: 0 rngtest: FIPS 140-2(2001-10-10) Poker: 1 rngtest: FIPS 140-2(2001-10-10) Runs: 1 rngtest: FIPS 140-2(2001-10-10) Long run: 1 rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 rngtest: input channel speed: (min=3D17.050; avg=3D1897.272; max=3D19531250.000)Kibits/s rngtest: FIPS tests speed: (min=3D44.773; avg=3D71.179; max=3D96.820)Mibi= ts/s rngtest: Program run time: 11760715 microseconds rngtest: bits received from input: 40000032 rngtest: FIPS 140-2 successes: 1997 rngtest: FIPS 140-2 failures: 3 rngtest: FIPS 140-2(2001-10-10) Monobit: 0 rngtest: FIPS 140-2(2001-10-10) Poker: 1 rngtest: FIPS 140-2(2001-10-10) Runs: 1 rngtest: FIPS 140-2(2001-10-10) Long run: 1 rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 rngtest: input channel speed: (min=3D17.050; avg=3D1798.618; max=3D19531250.000)Kibits/s rngtest: FIPS tests speed: (min=3D44.773; avg=3D64.561; max=3D96.820)Mibi= ts/s rngtest: Program run time: 23507723 microseconds Stretching the entropy can then be left up to Linux's actual entropy pool. Signed-off-by: Nicolas Frattaroli --- drivers/char/hw_random/rockchip-rng.c | 73 +++++++++++++++++++++++++++++++= ++++ 1 file changed, 73 insertions(+) diff --git a/drivers/char/hw_random/rockchip-rng.c b/drivers/char/hw_random= /rockchip-rng.c index 161050591663d9ed61ca013631c86f40db7d348f..fb4a30b955075889191d960cf03= 364af7f5b7069 100644 --- a/drivers/char/hw_random/rockchip-rng.c +++ b/drivers/char/hw_random/rockchip-rng.c @@ -93,6 +93,30 @@ #define TRNG_v1_VERSION_CODE 0x46bc /* end of TRNG_V1 register definitions */ =20 +/* + * RKRNG register definitions + * The RKRNG IP is a stand-alone TRNG implementation (not part of a crypto= IP) + * and can be found in the Rockchip RK3576, Rockchip RK3562 and Rockchip R= K3528 + * SoCs. It can either output true randomness (TRNG) or "deterministic" + * randomness derived from hashing the true entropy (DRNG). This driver + * implementation uses just the true entropy, and leaves stretching the en= tropy + * up to Linux. + */ +#define RKRNG_CFG 0x0000 +#define RKRNG_CTRL 0x0010 +#define RKRNG_CTRL_REQ_TRNG BIT(4) +#define RKRNG_STATE 0x0014 +#define RKRNG_STATE_TRNG_RDY BIT(4) +#define RKRNG_TRNG_DATA0 0x0050 +#define RKRNG_TRNG_DATA1 0x0054 +#define RKRNG_TRNG_DATA2 0x0058 +#define RKRNG_TRNG_DATA3 0x005C +#define RKRNG_TRNG_DATA4 0x0060 +#define RKRNG_TRNG_DATA5 0x0064 +#define RKRNG_TRNG_DATA6 0x0068 +#define RKRNG_TRNG_DATA7 0x006C +#define RKRNG_READ_LEN 32 + /* Before removing this assert, give rk3588_rng_read an upper bound of 32 = */ static_assert(RK_RNG_MAX_BYTE <=3D (TRNG_V1_RAND7 + 4 - TRNG_V1_RAND0), "You raised RK_RNG_MAX_BYTE and broke rk3588-rng, congrats."); @@ -205,6 +229,46 @@ static int rk3568_rng_read(struct hwrng *rng, void *bu= f, size_t max, bool wait) return (ret < 0) ? ret : to_read; } =20 +static int rk3576_rng_init(struct hwrng *rng) +{ + struct rk_rng *rk_rng =3D container_of(rng, struct rk_rng, rng); + + return rk_rng_enable_clks(rk_rng); +} + +static int rk3576_rng_read(struct hwrng *rng, void *buf, size_t max, bool = wait) +{ + struct rk_rng *rk_rng =3D container_of(rng, struct rk_rng, rng); + size_t to_read =3D min_t(size_t, max, RKRNG_READ_LEN); + int ret =3D 0; + u32 val; + + ret =3D pm_runtime_resume_and_get(rk_rng->dev); + if (ret < 0) + return ret; + + rk_rng_writel(rk_rng, RKRNG_CTRL_REQ_TRNG | (RKRNG_CTRL_REQ_TRNG << 16), + RKRNG_CTRL); + + if (readl_poll_timeout(rk_rng->base + RKRNG_STATE, val, + (val & RKRNG_STATE_TRNG_RDY), RK_RNG_POLL_PERIOD_US, + RK_RNG_POLL_TIMEOUT_US)) { + dev_err(rk_rng->dev, "timed out waiting for data\n"); + ret =3D -ETIMEDOUT; + goto out; + } + + rk_rng_writel(rk_rng, RKRNG_STATE_TRNG_RDY, RKRNG_STATE); + + memcpy_fromio(buf, rk_rng->base + RKRNG_TRNG_DATA0, to_read); + +out: + pm_runtime_mark_last_busy(rk_rng->dev); + pm_runtime_put_sync_autosuspend(rk_rng->dev); + + return (ret < 0) ? ret : to_read; +} + static int rk3588_rng_init(struct hwrng *rng) { struct rk_rng *rk_rng =3D container_of(rng, struct rk_rng, rng); @@ -305,6 +369,14 @@ static const struct rk_rng_soc_data rk3568_soc_data = =3D { .reset_optional =3D false, }; =20 +static const struct rk_rng_soc_data rk3576_soc_data =3D { + .rk_rng_init =3D rk3576_rng_init, + .rk_rng_read =3D rk3576_rng_read, + .rk_rng_cleanup =3D rk3588_rng_cleanup, + .quality =3D 999, /* as determined by actual testing */ + .reset_optional =3D true, +}; + static const struct rk_rng_soc_data rk3588_soc_data =3D { .rk_rng_init =3D rk3588_rng_init, .rk_rng_read =3D rk3588_rng_read, @@ -397,6 +469,7 @@ static const struct dev_pm_ops rk_rng_pm_ops =3D { =20 static const struct of_device_id rk_rng_dt_match[] =3D { { .compatible =3D "rockchip,rk3568-rng", .data =3D (void *)&rk3568_soc_da= ta }, + { .compatible =3D "rockchip,rk3576-rng", .data =3D (void *)&rk3576_soc_da= ta }, { .compatible =3D "rockchip,rk3588-rng", .data =3D (void *)&rk3588_soc_da= ta }, { /* sentinel */ }, }; --=20 2.49.0 From nobody Mon Feb 9 17:06:52 2026 Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E6D2225A2AF; Wed, 30 Apr 2025 16:17:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.112 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746029876; cv=pass; b=A289xX1m4Q6S2xdt5u6mEj5oIUnJQ77+CkqNhvXZLc92hLw7fEe6i9Tr6joWklHjDULKF18pngQzW7RyVJSBfb5qlQy4kElBZkMeuw4pHx4H1x2ZRJ4MYHdFKzYonogkZ9dMFR+rBUifMC32WUxQerDEa3CzmHirDDRF9RzjgQQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746029876; c=relaxed/simple; bh=3AgojCgwnHiJ/4UeMtAu1VEULwqiJr6pr7+DLktb6oM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sY/BlzWs3IkcSsH2vTBpFs6yY76gmZLdFJhqdnlDlwEQj8hpUg4Oscx7sebRJxjK6QHZqYA10rDDrXag2weeEGD6PwTI/V5X5YCgH1+V73Z4dZ/iys9l69ITWIJVvsGQ29JPJvgYD6Vfhao7yLsHtfxJqK2n4sYztffHzRd/Xko= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (1024-bit key) header.d=collabora.com header.i=nicolas.frattaroli@collabora.com header.b=Z9TRme2w; arc=pass smtp.client-ip=136.143.188.112 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=collabora.com header.i=nicolas.frattaroli@collabora.com header.b="Z9TRme2w" ARC-Seal: i=1; a=rsa-sha256; t=1746029822; cv=none; d=zohomail.com; s=zohoarc; b=f+93AWjXW5VDIYoO0E8YkXtcP4BNlDbolM9nmkTGiVwL68mOHaRgl7DboLKuv8bcPK2Jcd0AhTUZdwV4/AlzQU0nIsNqhKQkkyzVd1mY+jqabGVhjRmAVPJjxdjoUMi6+b5Xl42lVoayoktTy6+RSqtvNevw5YTaBaynbP9Quh0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746029822; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=PqaMC8w6qtB1n0xipg6hxZmuKd9Q6kyn2/VlH0Aqgtg=; b=f4aEIU8IMcZFVD8SF9NY5xKGsw4lA1Q7usyi756Q5oMolxZS3oLCIEXM9e30A1AK3WlJu5Hm0fGEK+XXy9BIDVG4OuismmG50gxuQXC079FRnYC0IAfrrCaMYlEi6XxSVeFT8u5U95wHFGYy9oWu2xN7PvrGgpkd0R7z11oqU3c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=nicolas.frattaroli@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1746029822; s=zohomail; d=collabora.com; i=nicolas.frattaroli@collabora.com; h=From:From:Date:Date:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Message-Id:References:In-Reply-To:To:To:Cc:Cc:Reply-To; bh=PqaMC8w6qtB1n0xipg6hxZmuKd9Q6kyn2/VlH0Aqgtg=; b=Z9TRme2wLZNYuuNwMyq+DF6xQHWyn8Ly6bn2n+YAwblU1fFtJasEEs8LqT2GeuOb ST6jMaIKHJj2rzuzlNfMDRZE0xSG1xGpPEXvaXoGeBj27ksCPZ7k2GXLQ7f32UWjQ4Q kZKtbcPHXyURRbSLwCAsr24jyM3Vx5FPpiopDfXs= Received: by mx.zohomail.com with SMTPS id 1746029821190216.44843874019614; Wed, 30 Apr 2025 09:17:01 -0700 (PDT) From: Nicolas Frattaroli Date: Wed, 30 Apr 2025 18:16:36 +0200 Subject: [PATCH 3/3] arm64: dts: rockchip: add RK3576 RNG node Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-rk3576-hwrng-v1-3-480c15b5843e@collabora.com> References: <20250430-rk3576-hwrng-v1-0-480c15b5843e@collabora.com> In-Reply-To: <20250430-rk3576-hwrng-v1-0-480c15b5843e@collabora.com> To: Daniel Golle , Aurelien Jarno , Olivia Mackall , Herbert Xu , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Jonas Karlman Cc: Sebastian Reichel , kernel@collabora.com, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Nicolas Frattaroli X-Mailer: b4 0.14.2 The RK3576 has a hardware random number generator IP built into the SoC. Add it to the SoC's .dtsi, now that there's a binding and driver for it. Signed-off-by: Nicolas Frattaroli --- arch/arm64/boot/dts/rockchip/rk3576.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts= /rockchip/rk3576.dtsi index a6bfef82d50bc9b0203a04324d61e0f232b61a65..ce8bcab215c0e6b7786ab3baae6= 977072497ed2f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi @@ -1527,6 +1527,14 @@ sfc0: spi@2a340000 { status =3D "disabled"; }; =20 + rng: rng@2a410000 { + compatible =3D "rockchip,rk3576-rng"; + reg =3D <0x0 0x2a410000 0x0 0x200>; + clocks =3D <&cru HCLK_TRNG_NS>; + interrupts =3D ; + resets =3D <&cru SRST_H_TRNG_NS>; + }; + otp: otp@2a580000 { compatible =3D "rockchip,rk3576-otp"; reg =3D <0x0 0x2a580000 0x0 0x400>; --=20 2.49.0