Message ID | 20241016151845.23712-1-ansuelsmth@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] dt-bindings: rng: add support for Airoha EN7581 TRNG | expand |
On Wed, 16 Oct 2024 17:18:41 +0200, Christian Marangi wrote: > Add support for Airoha EN7581 True Random Number generator. > > This module can generate up to 4bytes of raw data at times and support > self health test at startup. The module gets noise for randomness from > various source from ADC, AP, dedicated clocks and other devices attached > to the SoC producing true random numbers. > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > --- > .../bindings/rng/airoha,en7581-trng.yaml | 38 +++++++++++++++++++ > 1 file changed, 38 insertions(+) > create mode 100644 Documentation/devicetree/bindings/rng/airoha,en7581-trng.yaml > Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
On Wed, Oct 16, 2024 at 05:18:42PM +0200, Christian Marangi wrote: > Add support for Airoha TRNG. The Airoha SoC provide a True RNG module > that can output 4 bytes of raw data at times. > > The module makes use of various noise source to provide True Random > Number Generation. > > On probe the module is reset to operate Health Test and verify correct > execution of it. > > The module can also provide DRBG function but the execution mode is > mutually exclusive, running as TRNG doesn't permit to also run it as > DRBG. > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > --- > drivers/char/hw_random/Kconfig | 13 ++ > drivers/char/hw_random/Makefile | 1 + > drivers/char/hw_random/airoha-trng.c | 243 +++++++++++++++++++++++++++ > 3 files changed, 257 insertions(+) > create mode 100644 drivers/char/hw_random/airoha-trng.c > > diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig > index 5912c2dd6398..bda283f290bc 100644 > --- a/drivers/char/hw_random/Kconfig > +++ b/drivers/char/hw_random/Kconfig > @@ -62,6 +62,19 @@ config HW_RANDOM_AMD > > If unsure, say Y. > > +config HW_RANDOM_AIROHA > + tristate "Airoha True HW Random Number Generator support" > + depends on ARCH_AIROHA || COMPILE_TEST > + default HW_RANDOM This should not be always enabled when HW_RANDOM is enabled. Enabling driver should be a opt-in. Francesco
On Thu, Oct 17, 2024 at 03:11:12PM +0200, Francesco Dolcini wrote: > On Wed, Oct 16, 2024 at 05:18:42PM +0200, Christian Marangi wrote: > > Add support for Airoha TRNG. The Airoha SoC provide a True RNG module > > that can output 4 bytes of raw data at times. > > > > The module makes use of various noise source to provide True Random > > Number Generation. > > > > On probe the module is reset to operate Health Test and verify correct > > execution of it. > > > > The module can also provide DRBG function but the execution mode is > > mutually exclusive, running as TRNG doesn't permit to also run it as > > DRBG. > > > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > > --- > > drivers/char/hw_random/Kconfig | 13 ++ > > drivers/char/hw_random/Makefile | 1 + > > drivers/char/hw_random/airoha-trng.c | 243 +++++++++++++++++++++++++++ > > 3 files changed, 257 insertions(+) > > create mode 100644 drivers/char/hw_random/airoha-trng.c > > > > diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig > > index 5912c2dd6398..bda283f290bc 100644 > > --- a/drivers/char/hw_random/Kconfig > > +++ b/drivers/char/hw_random/Kconfig > > @@ -62,6 +62,19 @@ config HW_RANDOM_AMD > > > > If unsure, say Y. > > > > +config HW_RANDOM_AIROHA > > + tristate "Airoha True HW Random Number Generator support" > > + depends on ARCH_AIROHA || COMPILE_TEST > > > + default HW_RANDOM > This should not be always enabled when HW_RANDOM is enabled. Enabling > driver should be a opt-in. Was following the pattern with other HW_RANDOM config. Ok will drop.
On Thu, Oct 17, 2024 at 03:13:37PM +0200, Christian Marangi wrote: > On Thu, Oct 17, 2024 at 03:11:12PM +0200, Francesco Dolcini wrote: > > On Wed, Oct 16, 2024 at 05:18:42PM +0200, Christian Marangi wrote: > > > Add support for Airoha TRNG. The Airoha SoC provide a True RNG module > > > that can output 4 bytes of raw data at times. > > > > > > The module makes use of various noise source to provide True Random > > > Number Generation. > > > > > > On probe the module is reset to operate Health Test and verify correct > > > execution of it. > > > > > > The module can also provide DRBG function but the execution mode is > > > mutually exclusive, running as TRNG doesn't permit to also run it as > > > DRBG. > > > > > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > > > --- > > > drivers/char/hw_random/Kconfig | 13 ++ > > > drivers/char/hw_random/Makefile | 1 + > > > drivers/char/hw_random/airoha-trng.c | 243 +++++++++++++++++++++++++++ > > > 3 files changed, 257 insertions(+) > > > create mode 100644 drivers/char/hw_random/airoha-trng.c > > > > > > diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig > > > index 5912c2dd6398..bda283f290bc 100644 > > > --- a/drivers/char/hw_random/Kconfig > > > +++ b/drivers/char/hw_random/Kconfig > > > @@ -62,6 +62,19 @@ config HW_RANDOM_AMD > > > > > > If unsure, say Y. > > > > > > +config HW_RANDOM_AIROHA > > > + tristate "Airoha True HW Random Number Generator support" > > > + depends on ARCH_AIROHA || COMPILE_TEST > > > > > + default HW_RANDOM > > This should not be always enabled when HW_RANDOM is enabled. Enabling > > driver should be a opt-in. > > Was following the pattern with other HW_RANDOM config. Ok will drop. Whoops. I missed that it depends on ARCH_AIROHA. Given that dependency is fine to me without any change. Francesco
diff --git a/Documentation/devicetree/bindings/rng/airoha,en7581-trng.yaml b/Documentation/devicetree/bindings/rng/airoha,en7581-trng.yaml new file mode 100644 index 000000000000..dfc6d24ee7d9 --- /dev/null +++ b/Documentation/devicetree/bindings/rng/airoha,en7581-trng.yaml @@ -0,0 +1,38 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/rng/airoha,en7581-trng.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Airoha EN7851 True Random Number Generator + +maintainers: + - Christian Marangi <ansuelsmth@gmail.com> + +properties: + compatible: + const: airoha,en7581-trng + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + rng@1faa1000 { + compatible = "airoha,en7581-trng"; + reg = <0x1faa1000 0x1000>; + interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; + };
Add support for Airoha EN7581 True Random Number generator. This module can generate up to 4bytes of raw data at times and support self health test at startup. The module gets noise for randomness from various source from ADC, AP, dedicated clocks and other devices attached to the SoC producing true random numbers. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> --- .../bindings/rng/airoha,en7581-trng.yaml | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Documentation/devicetree/bindings/rng/airoha,en7581-trng.yaml