Resguardo inicial

This commit is contained in:
lastdragon
2026-09-06 12:53:21 -06:00
parent 662efe3c2a
commit ad2088d178
94853 changed files with 43200404 additions and 0 deletions
@@ -0,0 +1,50 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/SUNW,n2-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: SUN UltraSPARC HWRNG
maintainers:
- David S. Miller <davem@davemloft.net>
properties:
compatible:
enum:
- SUNW,n2-rng # for Niagara 2 Platform (SUN UltraSPARC T2 CPU)
- SUNW,vf-rng # for Victoria Falls Platform (SUN UltraSPARC T2 Plus CPU)
# for Rainbow/Yosemite Falls Platform (SUN SPARC T3/T4),
# (UltraSPARC KT/Niagara 3 - development names)
# more recent systems (after Oracle acquisition of SUN)
- SUNW,kt-rng
- ORCL,m4-rng # for SPARC T5/M5
- ORCL,m7-rng # for SPARC T7/M7
reg:
maxItems: 1
"rng-#units":
description: Number of RNG units
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 1
required:
- compatible
- reg
additionalProperties: false
# PS: see as well prtconfs.git by DaveM
examples:
- |
bus {
#address-cells = <1>;
#size-cells = <0>;
rng@e {
compatible = "ORCL,m4-rng";
reg = <0xe>;
rng-#units = <2>;
};
};
@@ -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>;
};
@@ -0,0 +1,43 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2019 BayLibre, SAS
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/amlogic,meson-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Amlogic Meson Random number generator
maintainers:
- Neil Armstrong <neil.armstrong@linaro.org>
properties:
compatible:
enum:
- amlogic,meson-rng
- amlogic,meson-s4-rng
reg:
maxItems: 1
clocks:
maxItems: 1
clock-names:
items:
- const: core
power-domains:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
rng@c8834000 {
compatible = "amlogic,meson-rng";
reg = <0xc8834000 0x4>;
};
@@ -0,0 +1,47 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/apm,x-gene-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: APM X-Gene SoC Random Number Generator
maintainers:
- Khuong Dinh <khuong@os.amperecomputing.com>
properties:
compatible:
const: apm,xgene-rng
clocks:
maxItems: 1
interrupts:
maxItems: 1
reg:
maxItems: 1
required:
- compatible
- clocks
- interrupts
- reg
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
soc {
#address-cells = <2>;
#size-cells = <2>;
rng@10520000 {
compatible = "apm,xgene-rng";
reg = <0x0 0x10520000 0x0 0x100>;
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&rngpkaclk 0>;
};
};
@@ -0,0 +1,52 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/arm-cctrng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Arm TrustZone CryptoCell TRNG engine
maintainers:
- Hadar Gat <hadar.gat@arm.com>
description: |+
Arm TrustZone CryptoCell TRNG (True Random Number Generator) engine.
properties:
compatible:
enum:
- arm,cryptocell-713-trng
- arm,cryptocell-703-trng
interrupts:
maxItems: 1
reg:
maxItems: 1
arm,rosc-ratio:
description:
Arm TrustZone CryptoCell TRNG engine has 4 ring oscillators.
Sampling ratio values for these 4 ring oscillators. (from calibration)
$ref: /schemas/types.yaml#/definitions/uint32-array
maxItems: 4
clocks:
maxItems: 1
required:
- compatible
- interrupts
- reg
- arm,rosc-ratio
additionalProperties: false
examples:
- |
arm_cctrng: rng@60000000 {
compatible = "arm,cryptocell-713-trng";
interrupts = <0 29 4>;
reg = <0x60000000 0x10000>;
arm,rosc-ratio = <5000 1000 500 0>;
};
@@ -0,0 +1,57 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/atmel,at91-trng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Atmel AT91 True Random Number Generator
maintainers:
- Nicolas Ferre <nicolas.ferre@microchip.com>
- Alexandre Belloni <alexandre.belloni@bootlin.com>
- Claudiu Beznea <claudiu.beznea@microchip.com>
properties:
compatible:
oneOf:
- enum:
- atmel,at91sam9g45-trng
- microchip,sam9x60-trng
- items:
- enum:
- microchip,lan9691-trng
- microchip,sama7g5-trng
- const: atmel,at91sam9g45-trng
- items:
- enum:
- microchip,sam9x7-trng
- microchip,sama7d65-trng
- const: microchip,sam9x60-trng
clocks:
maxItems: 1
interrupts:
maxItems: 1
reg:
maxItems: 1
required:
- compatible
- clocks
- interrupts
- reg
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
rng@fffcc000 {
compatible = "atmel,at91sam9g45-trng";
reg = <0xfffcc000 0x4000>;
interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&trng_clk>;
};
@@ -0,0 +1,82 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/brcm,bcm2835.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: BCM2835/6368 Random number generator
maintainers:
- Stefan Wahren <stefan.wahren@i2se.com>
- Florian Fainelli <f.fainelli@gmail.com>
- Herbert Xu <herbert@gondor.apana.org.au>
properties:
compatible:
enum:
- brcm,bcm2835-rng
- brcm,bcm-nsp-rng
- brcm,bcm5301x-rng
- brcm,bcm6368-rng
reg:
maxItems: 1
clocks:
maxItems: 1
clock-names:
const: ipsec
resets:
maxItems: 1
reset-names:
const: ipsec
interrupts:
maxItems: 1
required:
- compatible
- reg
if:
properties:
compatible:
enum:
- brcm,bcm6368-rng
then:
required:
- clocks
- clock-names
- resets
- reset-names
additionalProperties: false
examples:
- |
rng@7e104000 {
compatible = "brcm,bcm2835-rng";
reg = <0x7e104000 0x10>;
interrupts = <2 29>;
};
- |
rng@18033000 {
compatible = "brcm,bcm-nsp-rng";
reg = <0x18033000 0x14>;
};
- |
rng@10004180 {
compatible = "brcm,bcm6368-rng";
reg = <0x10004180 0x14>;
clocks = <&periph_clk 18>;
clock-names = "ipsec";
resets = <&periph_rst 4>;
reset-names = "ipsec";
};
@@ -0,0 +1,35 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/brcm,bcm74110-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: BCM74110 Random number generator
description:
Random number generator used on the BCM74110.
maintainers:
- Markus Mayer <mmayer@broadcom.com>
- Florian Fainelli <florian.fainelli@broadcom.com>
properties:
compatible:
enum:
- brcm,bcm74110-rng
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
rng@83ba000 {
compatible = "brcm,bcm74110-rng";
reg = <0x83ba000 0x14>;
};
@@ -0,0 +1,36 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/brcm,iproc-rng200.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: HWRNG support for the iproc-rng200 driver
maintainers:
- Florian Fainelli <f.fainelli@gmail.com>
properties:
compatible:
enum:
- brcm,bcm2711-rng200
- brcm,bcm7211-rng200
- brcm,bcm7278-rng200
- brcm,iproc-rng200
reg:
maxItems: 1
interrupts:
maxItems: 1
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
rng@18032000 {
compatible = "brcm,iproc-rng200";
reg = <0x18032000 0x28>;
interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
};
@@ -0,0 +1,32 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/hisi-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Hisilicon Random Number Generator
maintainers:
- Kefeng Wang <wangkefeng.wang@huawei>
properties:
compatible:
enum:
- hisilicon,hip04-rng
- hisilicon,hip05-rng
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
rng@d1010000 {
compatible = "hisilicon,hip05-rng";
reg = <0xd1010000 0x100>;
};
@@ -0,0 +1,52 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/imx-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Freescale RNGA/RNGB/RNGC (Random Number Generator Versions A, B and C)
maintainers:
- Vladimir Zapolskiy <vz@mleia.com>
properties:
compatible:
oneOf:
- const: fsl,imx21-rnga
- const: fsl,imx25-rngb
- const: fsl,imx31-rnga
- items:
- const: fsl,imx21-rnga
- items:
- enum:
- fsl,imx6sl-rngb
- fsl,imx6sll-rngb
- fsl,imx6ull-rngb
- const: fsl,imx25-rngb
- const: fsl,imx35-rngc
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
maxItems: 1
required:
- compatible
- reg
- interrupts
- clocks
additionalProperties: false
examples:
- |
rngb@53fb0000 {
compatible = "fsl,imx25-rngb";
reg = <0x53fb0000 0x4000>;
clocks = <&clks 109>;
interrupts = <22>;
};
@@ -0,0 +1,36 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/ingenic,rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: RNG in Ingenic SoCs
maintainers:
- 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
description:
The Random Number Generator in Ingenic SoCs.
properties:
compatible:
enum:
- ingenic,jz4780-rng
- ingenic,x1000-rng
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
rng: rng@d8 {
compatible = "ingenic,jz4780-rng";
reg = <0xd8 0x8>;
};
...
@@ -0,0 +1,43 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/ingenic,trng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: DTRNG in Ingenic SoCs
maintainers:
- 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
description:
The True Random Number Generator in Ingenic SoCs.
properties:
compatible:
enum:
- ingenic,x1830-dtrng
reg:
maxItems: 1
clocks:
maxItems: 1
required:
- compatible
- reg
- clocks
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/ingenic,x1830-cgu.h>
dtrng: trng@10072000 {
compatible = "ingenic,x1830-dtrng";
reg = <0x10072000 0xc>;
clocks = <&cgu X1830_CLK_DTRNG>;
};
...
@@ -0,0 +1,84 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/inside-secure,safexcel-eip76.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Inside-Secure HWRNG Module
maintainers:
- Jayesh Choudhary <j-choudhary@ti.com>
properties:
compatible:
oneOf:
- enum:
- ti,omap2-rng
- ti,omap4-rng
- inside-secure,safexcel-eip76
- items:
- enum:
- marvell,armada-8k-rng
- const: inside-secure,safexcel-eip76
ti,hwmods:
const: rng
deprecated: true
description: Name of the hwmod associated with the RNG module
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
minItems: 1
items:
- description: EIP150 gateable clock
- description: Main gateable clock
clock-names:
minItems: 1
items:
- const: core
- const: reg
allOf:
- if:
properties:
compatible:
contains:
enum:
- ti,omap4-rng
- inside-secure,safexcel-eip76
then:
required:
- interrupts
required:
- compatible
- reg
additionalProperties: false
examples:
- |
/* AM335x */
rng: rng@48310000 {
compatible = "ti,omap4-rng";
ti,hwmods = "rng";
reg = <0x48310000 0x2000>;
interrupts = <111>;
};
- |
/* SafeXcel IP-76 */
trng: rng@f2760000 {
compatible = "inside-secure,safexcel-eip76";
reg = <0xf2760000 0x7d>;
interrupts = <0 59 4>;
clocks = <&cpm_syscon0 1 25>;
};
...
@@ -0,0 +1,35 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/intel,ixp46x-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Intel IXP46x RNG
description: |
The Intel IXP46x has a random number generator at a fixed physical
location in memory. Each read is guaranteed to provide a unique
32 bit random number.
maintainers:
- Linus Walleij <linusw@kernel.org>
properties:
compatible:
const: intel,ixp46x-rng
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
rng@70002100 {
compatible = "intel,ixp46x-rng";
reg = <0x70002100 4>;
};
@@ -0,0 +1,40 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/microchip,pic32-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Microchip PIC32 Random Number Generator
description: |
The PIC32 RNG provides a pseudo random number generator which can be seeded
by another true random number generator.
maintainers:
- Joshua Henderson <joshua.henderson@microchip.com>
properties:
compatible:
enum:
- microchip,pic32mzda-rng
reg:
maxItems: 1
clocks:
maxItems: 1
required:
- compatible
- reg
- clocks
additionalProperties: false
examples:
- |
rng: rng@1f8e6000 {
compatible = "microchip,pic32mzda-rng";
reg = <0x1f8e6000 0x1000>;
clocks = <&PBCLK5>;
};
@@ -0,0 +1,49 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/microsoft,vmgenid.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Virtual Machine Generation ID
maintainers:
- Jason A. Donenfeld <Jason@zx2c4.com>
description:
Firmwares or hypervisors can use this devicetree to describe an
interrupt and a shared resource to inject a Virtual Machine Generation ID.
Virtual Machine Generation ID is a globally unique identifier (GUID) and
the devicetree binding follows VMGenID specification defined in
http://go.microsoft.com/fwlink/?LinkId=260709.
properties:
compatible:
const: microsoft,vmgenid
reg:
description:
Specifies a 16-byte VMGenID in endianness-agnostic hexadecimal format.
maxItems: 1
interrupts:
description:
Interrupt used to notify that a new VMGenID is available.
maxItems: 1
required:
- compatible
- reg
- interrupts
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
rng@80000000 {
compatible = "microsoft,vmgenid";
reg = <0x80000000 0x1000>;
interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>;
};
...
@@ -0,0 +1,80 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/mtk-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MediaTek Random number generator
maintainers:
- Sean Wang <sean.wang@mediatek.com>
properties:
$nodename:
pattern: "^rng(@[0-9a-f]+)?$"
compatible:
oneOf:
- enum:
- mediatek,mt7623-rng
- mediatek,mt7981-rng
- items:
- enum:
- mediatek,mt7622-rng
- mediatek,mt7629-rng
- mediatek,mt7986-rng
- mediatek,mt8365-rng
- mediatek,mt8516-rng
- const: mediatek,mt7623-rng
- items:
- enum:
- mediatek,mt7987-rng
- mediatek,mt7988-rng
- const: mediatek,mt7981-rng
reg:
maxItems: 1
clocks:
maxItems: 1
clock-names:
items:
- const: rng
required:
- compatible
allOf:
- if:
properties:
compatible:
contains:
const: mediatek,mt7981-rng
then:
properties:
reg: false
clocks: false
clock-names: false
else:
required:
- reg
- clocks
- clock-names
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/mt2701-clk.h>
rng@1020f000 {
compatible = "mediatek,mt7623-rng";
reg = <0x1020f000 0x1000>;
clocks = <&infracfg CLK_INFRA_TRNG>;
clock-names = "rng";
};
- |
rng {
compatible = "mediatek,mt7981-rng";
};
@@ -0,0 +1,37 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/nuvoton,npcm-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nuvoton NPCM SoC Random Number Generator
maintainers:
- Avi Fishman <avifishman70@gmail.com>
- Tomer Maimon <tmaimon77@gmail.com>
- Tali Perry <tali.perry1@gmail.com>
- Patrick Venture <venture@google.com>
- Nancy Yuen <yuenn@google.com>
- Benjamin Fair <benjaminfair@google.com>
properties:
compatible:
enum:
- nuvoton,npcm750-rng
- nuvoton,npcm845-rng
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
rng@f000b000 {
compatible = "nuvoton,npcm750-rng";
reg = <0xf000b000 0x8>;
};
@@ -0,0 +1,61 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/rockchip,rk3568-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Rockchip RK3568 TRNG
description: True Random Number Generator on Rockchip RK3568 SoC
maintainers:
- Aurelien Jarno <aurelien@aurel32.net>
- Daniel Golle <daniel@makrotopia.org>
properties:
compatible:
enum:
- rockchip,rk3568-rng
reg:
maxItems: 1
clocks:
items:
- description: TRNG clock
- description: TRNG AHB clock
clock-names:
items:
- const: core
- const: ahb
resets:
maxItems: 1
required:
- compatible
- reg
- clocks
- clock-names
- resets
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/rk3568-cru.h>
bus {
#address-cells = <2>;
#size-cells = <2>;
rng@fe388000 {
compatible = "rockchip,rk3568-rng";
reg = <0x0 0xfe388000 0x0 0x4000>;
clocks = <&cru CLK_TRNG_NS>, <&cru HCLK_TRNG_NS>;
clock-names = "core", "ahb";
resets = <&cru SRST_TRNG_NS>;
};
};
...
@@ -0,0 +1,60 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/rockchip,rk3588-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Rockchip RK3576/RK3588 TRNG
description: True Random Number Generator on Rockchip RK3576/RK3588 SoCs
maintainers:
- Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
properties:
compatible:
enum:
- rockchip,rk3576-rng
- rockchip,rk3588-rng
reg:
maxItems: 1
clocks:
items:
- description: TRNG AHB clock
interrupts:
maxItems: 1
resets:
maxItems: 1
required:
- compatible
- reg
- clocks
- interrupts
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/rockchip,rk3588-cru.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/reset/rockchip,rk3588-cru.h>
bus {
#address-cells = <2>;
#size-cells = <2>;
rng@fe378000 {
compatible = "rockchip,rk3588-rng";
reg = <0x0 0xfe378000 0x0 0x200>;
interrupts = <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&scmi_clk SCMI_HCLK_SECURE_NS>;
resets = <&scmi_reset SCMI_SRST_H_TRNG_NS>;
};
};
...
@@ -0,0 +1,45 @@
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/samsung,exynos4-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Samsung Exynos SoC Pseudo Random Number Generator
maintainers:
- Krzysztof Kozlowski <krzk@kernel.org>
properties:
compatible:
enum:
- samsung,exynos4-rng # for Exynos4210 and Exynos4412
- samsung,exynos5250-prng # for Exynos5250+
reg:
maxItems: 1
clocks:
maxItems: 1
clock-names:
items:
- const: secss
required:
- compatible
- reg
- clock-names
- clocks
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/exynos4.h>
rng@10830400 {
compatible = "samsung,exynos4-rng";
reg = <0x10830400 0x200>;
clocks = <&clock CLK_SSS>;
clock-names = "secss";
};
@@ -0,0 +1,83 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/samsung,exynos5250-trng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Samsung Exynos SoC True Random Number Generator
maintainers:
- Krzysztof Kozlowski <krzk@kernel.org>
- Łukasz Stelmach <l.stelmach@samsung.com>
properties:
compatible:
oneOf:
- enum:
- samsung,exynos5250-trng
- samsung,exynos850-trng
- items:
- const: google,gs101-trng
- const: samsung,exynos850-trng
clocks:
minItems: 1
maxItems: 2
clock-names:
minItems: 1
maxItems: 2
power-domains:
maxItems: 1
reg:
maxItems: 1
required:
- compatible
- clocks
- clock-names
- reg
allOf:
- if:
properties:
compatible:
contains:
const: samsung,exynos850-trng
then:
properties:
clocks:
items:
- description: SSS (Security Sub System) operating clock
- description: SSS (Security Sub System) bus clock
clock-names:
items:
- const: secss
- const: pclk
else:
properties:
clocks:
items:
- description: SSS (Security Sub System) operating clock
clock-names:
items:
- const: secss
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/exynos5250.h>
rng@10830600 {
compatible = "samsung,exynos5250-trng";
reg = <0x10830600 0x100>;
clocks = <&clock CLK_SSS>;
clock-names = "secss";
};
@@ -0,0 +1,36 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/silex-insight,ba431-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Silex Insight BA431 RNG
description: |
The BA431 hardware random number generator is an IP that is FIPS-140-2/3
certified.
maintainers:
- Olivier Sobrie <olivier.sobrie@silexinsight.com>
properties:
compatible:
const: silex-insight,ba431-rng
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
rng@42800000 {
compatible = "silex-insight,ba431-rng";
reg = <0x42800000 0x1000>;
};
...
@@ -0,0 +1,35 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/st,rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: STMicroelectronics Hardware Random Number Generator
maintainers:
- Patrice Chotard <patrice.chotard@foss.st.com>
properties:
compatible:
const: st,rng
clocks:
maxItems: 1
reg:
maxItems: 1
required:
- compatible
- clocks
- reg
additionalProperties: false
examples:
- |
rng@fee80000 {
compatible = "st,rng";
reg = <0xfee80000 0x1000>;
clocks = <&clk_sysin>;
};
@@ -0,0 +1,97 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/st,stm32-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: STMicroelectronics STM32 RNG
description: |
The STM32 hardware random number generator is a simple fixed purpose
IP and is fully separated from other crypto functions.
maintainers:
- Lionel Debieve <lionel.debieve@foss.st.com>
properties:
compatible:
enum:
- st,stm32-rng
- st,stm32mp13-rng
- st,stm32mp25-rng
reg:
maxItems: 1
clocks:
minItems: 1
maxItems: 2
clock-names:
items:
- const: core
- const: bus
resets:
maxItems: 1
clock-error-detect:
type: boolean
description: If set enable the clock detection management
st,rng-lock-conf:
type: boolean
description: If set, the RNG configuration in RNG_CR, RNG_HTCR and
RNG_NSCR will be locked.
access-controllers:
minItems: 1
maxItems: 2
required:
- compatible
- reg
- clocks
allOf:
- if:
properties:
compatible:
contains:
enum:
- st,stm32-rng
then:
properties:
st,rng-lock-conf: false
- if:
properties:
compatible:
contains:
enum:
- st,stm32-rng
- st,stm32mp13-rng
then:
properties:
clocks:
maxItems: 1
clock-names: false
else:
properties:
clocks:
minItems: 2
required:
- clock-names
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/stm32mp1-clks.h>
rng@54003000 {
compatible = "st,stm32-rng";
reg = <0x54003000 0x400>;
clocks = <&rcc RNG1_K>;
};
...
@@ -0,0 +1,59 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/starfive,jh7110-trng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: StarFive SoC TRNG Module
maintainers:
- Jia Jie Ho <jiajie.ho@starfivetech.com>
properties:
compatible:
oneOf:
- items:
- const: starfive,jh8100-trng
- const: starfive,jh7110-trng
- const: starfive,jh7110-trng
reg:
maxItems: 1
clocks:
items:
- description: Hardware reference clock
- description: AHB reference clock
clock-names:
items:
- const: hclk
- const: ahb
resets:
maxItems: 1
interrupts:
maxItems: 1
required:
- compatible
- reg
- clocks
- clock-names
- resets
- interrupts
additionalProperties: false
examples:
- |
rng: rng@1600C000 {
compatible = "starfive,jh7110-trng";
reg = <0x1600C000 0x4000>;
clocks = <&clk 15>, <&clk 16>;
clock-names = "hclk", "ahb";
resets = <&reset 3>;
interrupts = <30>;
};
...
@@ -0,0 +1,50 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/ti,keystone-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Keystone SoC Hardware Random Number Generator
maintainers:
- Nishanth Menon <nm@ti.com>
- Santosh Shilimkar <ssantosh@kernel.org>
properties:
compatible:
const: ti,keystone-rng
clocks:
maxItems: 1
clock-names:
items:
- const: fck
reg:
maxItems: 1
ti,syscon-sa-cfg:
$ref: /schemas/types.yaml#/definitions/phandle
description: |
Phandle to syscon node of the SA configuration registers. These
registers are shared between HWRNG and crypto drivers.
required:
- compatible
- clocks
- clock-names
- reg
- ti,syscon-sa-cfg
additionalProperties: false
examples:
- |
rng@24000 {
compatible = "ti,keystone-rng";
ti,syscon-sa-cfg = <&sa_config>;
clocks = <&clksa>;
clock-names = "fck";
reg = <0x24000 0x1000>;
};
@@ -0,0 +1,41 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/ti,omap-rom-rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: OMAP ROM Random Number Generator
maintainers:
- Pali Rohár <pali@kernel.org>
- Tony Lindgren <tony@atomide.com>
description:
Secure SoCs may provide RNG via secure ROM calls like Nokia N900 does.
The implementation can depend on the SoC secure ROM used.
properties:
compatible:
const: nokia,n900-rom-rng
clocks:
maxItems: 1
clock-names:
items:
- const: ick
required:
- compatible
- clocks
- clock-names
additionalProperties: false
examples:
- |
rng {
compatible = "nokia,n900-rom-rng";
clocks = <&rng_ick>;
clock-names = "ick";
};
@@ -0,0 +1,48 @@
# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/timeriomem_rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TimerIO Random Number Generator
maintainers:
- Krzysztof Kozlowski <krzk@kernel.org>
properties:
compatible:
const: timeriomem_rng
period:
$ref: /schemas/types.yaml#/definitions/uint32
description: wait time in microseconds to use between samples
quality:
$ref: /schemas/types.yaml#/definitions/uint32
default: 0
description:
Estimated number of bits of true entropy per 1024 bits read from the rng.
Defaults to zero which causes the kernel's default quality to be used
instead. Note that the default quality is usually zero which disables
using this rng to automatically fill the kernel's entropy pool.
reg:
maxItems: 1
description:
Base address to sample from. Currently 'reg' must be at least four bytes
wide and 32-bit aligned.
required:
- compatible
- period
- reg
additionalProperties: false
examples:
- |
rng@44 {
compatible = "timeriomem_rng";
reg = <0x44 0x04>;
period = <1000000>;
};
@@ -0,0 +1,33 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rng/xiphera,xip8001b-trng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Xiphera XIP8001B-trng
maintainers:
- Atte Tommiska <atte.tommiska@xiphera.com>
description: |
Xiphera FPGA-based true random number generator intellectual property core.
properties:
compatible:
const: xiphera,xip8001b-trng
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
rng@43c00000 {
compatible = "xiphera,xip8001b-trng";
reg = <0x43c00000 0x10000>;
};