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

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

Message

JiaJie Ho Jan. 17, 2023, 1:54 a.m. UTC
  This patch series adds kernel support for StarFive JH7110 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 v4->v5:
- Updated status in MAINTAINERS. (Conor)
- Specified targeted device in Kconfig title and descriptions. (Conor)
- Removed unnecessary goto label in patch 2. (Conor)
- Enable runtime PM before registering hwrng in patch 2. (Conor)

Changes v3->v4:
- Moved init_completion before IRQ registration to be prepared for
  spurious interrupts. (Herbert)
- Added locks to guard concurrent write to the same register. (Herbert)

Changes v2->v3:
- Use constant usecs and convert to jiffies. (Herbert)
- Removed sleep in irq handler. (Herbert)
- Limited wait time to 40us if wait == 0 for trng read. (Herbert)

Changes v1->v2:
- Updated of_match_ptr and added pm_sleep_ptr. (Krzysztof)
- Dropped "status" in dts as module is always on. (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/jh7110-trng.c          | 393 ++++++++++++++++++
 6 files changed, 476 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/rng/starfive,jh7110-trng.yaml
 create mode 100644 drivers/char/hw_random/jh7110-trng.c
  

Comments

Herbert Xu Jan. 27, 2023, 11 a.m. UTC | #1
On Tue, Jan 17, 2023 at 09:54:42AM +0800, Jia Jie Ho wrote:
> This patch series adds kernel support for StarFive JH7110 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 v4->v5:
> - Updated status in MAINTAINERS. (Conor)
> - Specified targeted device in Kconfig title and descriptions. (Conor)
> - Removed unnecessary goto label in patch 2. (Conor)
> - Enable runtime PM before registering hwrng in patch 2. (Conor)
> 
> Changes v3->v4:
> - Moved init_completion before IRQ registration to be prepared for
>   spurious interrupts. (Herbert)
> - Added locks to guard concurrent write to the same register. (Herbert)
> 
> Changes v2->v3:
> - Use constant usecs and convert to jiffies. (Herbert)
> - Removed sleep in irq handler. (Herbert)
> - Limited wait time to 40us if wait == 0 for trng read. (Herbert)
> 
> Changes v1->v2:
> - Updated of_match_ptr and added pm_sleep_ptr. (Krzysztof)
> - Dropped "status" in dts as module is always on. (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/jh7110-trng.c          | 393 ++++++++++++++++++
>  6 files changed, 476 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/rng/starfive,jh7110-trng.yaml
>  create mode 100644 drivers/char/hw_random/jh7110-trng.c
> 
> -- 
> 2.25.1

Patches 1-2 applied.  Thanks.