From: Aurelien Jarno <aurelien@xxxxxxxxxxx> Add the True Random Number Generator on the Rockchip RK3568 SoC. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Daniel Golle <daniel@xxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> --- .../bindings/rng/rockchip,rk3568-rng.yaml | 82 +++++++++++++++++++ MAINTAINERS | 6 ++ 2 files changed, 88 insertions(+) create mode 100644 Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml diff --git a/Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml b/Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml new file mode 100644 index 000000000000..383a39e60ad8 --- /dev/null +++ b/Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml @@ -0,0 +1,82 @@ +# 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@xxxxxxxxxxx> + - Daniel Golle <daniel@xxxxxxxxxxxxxx> + +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 + + 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. + + rockchip,sample-count: + $ref: /schemas/types.yaml#/definitions/uint32 + default: 1000 + description: + Bits to skip on TRNG osc ring output before collection. + The value is a tradeoff between speed and quality, the higher the slower + and the better quality. + + resets: + maxItems: 1 + +required: + - compatible + - reg + - clocks + - clock-names + - quality + - resets + - rockchip,sample-count + +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"; + quality = <900>; + resets = <&cru SRST_TRNG_NS>; + rockchip,sample-count = <1000>; + }; + }; + +... diff --git a/MAINTAINERS b/MAINTAINERS index 61053a8c625e..41aecf9736c9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19707,6 +19707,12 @@ F: Documentation/userspace-api/media/v4l/metafmt-rkisp1.rst F: drivers/media/platform/rockchip/rkisp1 F: include/uapi/linux/rkisp1-config.h +ROCKCHIP RK3568 RANDOM NUMBER GENERATOR SUPPORT +M: Daniel Golle <daniel@xxxxxxxxxxxxxx> +M: Aurelien Jarno <aurelien@xxxxxxxxxxx> +S: Maintained +F: Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml + ROCKCHIP RASTER 2D GRAPHIC ACCELERATION UNIT DRIVER M: Jacob Chen <jacob-chen@xxxxxxxxxx> M: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> -- 2.45.2