linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/3] hwrng: add hwrng support for Rockchip RK3568
@ 2024-07-14 15:15 Daniel Golle
  2024-07-14 15:15 ` [PATCH v7 1/3] dt-bindings: rng: Add Rockchip RK3568 TRNG Daniel Golle
                   ` (4 more replies)
  0 siblings, 5 replies; 33+ messages in thread
From: Daniel Golle @ 2024-07-14 15:15 UTC (permalink / raw)
  To: Chen-Yu Tsai, Aurelien Jarno, Olivia Mackall, Herbert Xu,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
	Philipp Zabel, Dragan Simic, Uwe Kleine-König,
	Sebastian Reichel, Cristian Ciocaltea, Sascha Hauer,
	Martin Kaiser, Ard Biesheuvel, linux-crypto, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel

Rockchip SoCs used to have a random number generator as part of their
crypto device.

However newer Rockchip SoCs like the RK3568 have an independent True
Random Number Generator device. This patchset adds a driver for it and
enables it in the device tree.

Tested on FriendlyARM NanoPi R5C.

v6 -> v7:
 * Patch 1: unchanged

 * Patch 2: bring back rk_rng_write_ctl()
   - bring back rk_rng_write_ctl() with improved comment to describe
     the hardware.

 * Patch 3: unchaned

v5 -> v6:
 * Patch 1: unchanged

 * Patch 2: get rid of #ifdef
   - use if (IS_ENABLED(...)) { ... }instead of #ifdef inside functions
   - use __maybe_unused for functions previously enclosed by #ifdef'ery

 * Patch 3: unchanged

v4 -> v5:
 * Patch 1: always use RK3568 name
   - use full RK3568 name in patch description
   - add RK3568 to title in binding

 * Patch 2: full name and cosmetics
   - also always mention RK3568 as there may be other RNG in other
     (future) Rockchip SoCs
   - remove debug output on successful probe
   - use MODULE_AUTHOR several times instead of single comma-separated

 * Patch 3: unchanged

v3 -> v4:
 * Patch 1: minor corrections
   - fix Rokchip -> Rockchip typo
   - change commit title as requested

 * Patch 2: improved error handling and resource management
   - Always use writel() instead of writel_relaxed()
   - Use pm_runtime_resume_and_get
   - Correctly return error code in rk_rng_read()
   - Make use of devm_reset_control_array_get_exclusive
   - Use devm_pm_runtime_enable and there by get rid of rk_rng_remove()

 * Patch 3:
   - Move node to conform with ordering by address

v2 -> v3: patch adopted by Daniel Golle
 * Patch 1: address comments of Krzysztof Kozlowski, add MAINTAINERS
   - improved description
   - meaningful clock-names
   - add entry in MAINTAINERS files

 * Patch 2: numerous code-style improvements
   - drop misleading rk_rng_write_ctl(), simplify I/O writes
   - drop unused TRNG_RNG_DOUT_[1-7] macros
   - handle error handling for pm_runtime_get_sync()
   - use memcpy_fromio() instead of open coding for-loop
   - some minor white-spaces fixes

 * Patch 3:
   - use clock-names as defined in dt-bindings

v1 -> v2:
 * Patch 1: fix issues reported by Rob Herring and Krzysztof Kozlowski:
   - Rename rockchip-rng.yaml into rockchip,rk3568-rng.yaml
   - Fix binding title and description
   - Fix compatible property
   - Rename clocks and add the corresponding descriptions
   - Drop reset-names
   - Add a bus definition with #address-cells and #size-cells to the
     example.

 * Patch 2: fix issue reported by kernel test robot <lkp@intel.com>
   - Do not read the random registers as big endian, looking at the
     RK3568 TRM this is actually not needed. This fixes a sparse
     warning.

 * Patch 3: unchanged


Aurelien Jarno (3):
  dt-bindings: rng: Add Rockchip RK3568 TRNG
  hwrng: add hwrng driver for Rockchip RK3568 SoC
  arm64: dts: rockchip: add DT entry for RNG to RK356x

 .../bindings/rng/rockchip,rk3568-rng.yaml     |  61 +++++
 MAINTAINERS                                   |   7 +
 arch/arm64/boot/dts/rockchip/rk356x.dtsi      |   9 +
 drivers/char/hw_random/Kconfig                |  14 ++
 drivers/char/hw_random/Makefile               |   1 +
 drivers/char/hw_random/rockchip-rng.c         | 227 ++++++++++++++++++
 6 files changed, 319 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml
 create mode 100644 drivers/char/hw_random/rockchip-rng.c

-- 
2.45.2


^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2024-08-01 16:49 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-14 15:15 [PATCH v7 0/3] hwrng: add hwrng support for Rockchip RK3568 Daniel Golle
2024-07-14 15:15 ` [PATCH v7 1/3] dt-bindings: rng: Add Rockchip RK3568 TRNG Daniel Golle
2024-07-14 15:16 ` [PATCH v7 2/3] hwrng: add hwrng driver for Rockchip RK3568 SoC Daniel Golle
2024-07-15 19:47   ` Martin Kaiser
2024-07-21  0:26   ` Jason A. Donenfeld
2024-07-14 15:18 ` [PATCH v7 3/3] arm64: dts: rockchip: add DT entry for RNG to RK356x Daniel Golle
2024-07-14 18:09 ` [PATCH v7 0/3] hwrng: add hwrng support for Rockchip RK3568 Chen-Yu Tsai
2024-07-16 12:34 ` Diederik de Haas
2024-07-16 13:27   ` Daniel Golle
2024-07-16 13:59     ` Diederik de Haas
2024-07-16 14:13       ` Diederik de Haas
2024-07-16 15:18         ` Chen-Yu Tsai
2024-07-16 16:53           ` Diederik de Haas
2024-07-16 17:19             ` Diederik de Haas
2024-07-17  2:24               ` Daniel Golle
2024-07-17  2:58                 ` Chen-Yu Tsai
2024-07-17  3:34                   ` Dragan Simic
2024-07-17  5:06                   ` Anand Moon
2024-07-17  5:18                     ` Dragan Simic
2024-07-17  8:22                   ` Diederik de Haas
2024-07-17  8:31                     ` Dragan Simic
2024-07-17  8:38                     ` Chen-Yu Tsai
2024-07-17  8:49                       ` Diederik de Haas
2024-07-17 10:44                     ` Daniel Golle
2024-07-17  3:14                 ` Dragan Simic
2024-07-22 17:57             ` Chen-Yu Tsai
2024-07-22 19:03               ` Diederik de Haas
2024-07-24  6:07                 ` Dragan Simic
2024-07-29 23:18                   ` Daniel Golle
2024-07-30  9:03                     ` Diederik de Haas
2024-07-30 10:36                       ` Heiko Stübner
2024-07-30 12:08                         ` Chen-Yu Tsai
2024-08-01 16:48                     ` Dragan Simic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).