mbox series

[v4,0/3] hwrng: starfive: Add driver for TRNG module

Message ID 20230112043812.150393-1-jiajie.ho@starfivetech.com
Headers show
Series hwrng: starfive: Add driver for TRNG module | expand

Message

Jia Jie Ho Jan. 12, 2023, 4:38 a.m. UTC
This patch series adds kernel support for StarFive hardware random
number generator. First 2 patches add binding docs and device driver for
this module. Patch 3 adds devicetree entry for VisionFive 2 SoC.

Patch 3 needs to be applied on top of:
https://patchwork.kernel.org/project/linux-riscv/patch/20221220011247.35560-7-hal.feng@starfivetech.com/

Patch 3 also depends on additional clock and reset patches for stg domain
that are yet to be submitted to mailing list.

Changes v3 -> v4:
- move init completion before IRQ registration to be prepared for
  spurious interrupts. (Herbert)
- add locks to guard concurrent write to same register in Patch 2.
  (Herbert)

Changes v2 -> v3:
- use constant usecs and convert to jiffies in Patch 2. (Herbert)
- remove sleep in irq handler in Patch 2. (Herbert)
- limit wait timer to 40us if wait == 0 for trng read. (Herbert)

Changes v1 -> v2:
- updated of_match_ptr and added pm_sleep_ptr in Patch 2. (by Krzysztof)
- drop "status" in dts as module is always on in Patch 3. (by Krzysztof)

Jia Jie Ho (3):
  dt-bindings: rng: Add StarFive TRNG module
  hwrng: starfive - Add TRNG driver for StarFive SoC
  riscv: dts: starfive: Add TRNG node for VisionFive 2

 .../bindings/rng/starfive,jh7110-trng.yaml    |  55 +++
 MAINTAINERS                                   |   6 +
 arch/riscv/boot/dts/starfive/jh7110.dtsi      |  10 +
 drivers/char/hw_random/Kconfig                |  11 +
 drivers/char/hw_random/Makefile               |   1 +
 drivers/char/hw_random/starfive-trng.c        | 397 ++++++++++++++++++
 6 files changed, 480 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/rng/starfive,jh7110-trng.yaml
 create mode 100644 drivers/char/hw_random/starfive-trng.c