xref: /linux/Documentation/devicetree/bindings/crypto/qcom,prng.yaml (revision bba2c3615bd6cfee7456d1130f2e6b01b3f4e9ba)
1# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/crypto/qcom,prng.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Pseudo Random Number Generator
8
9maintainers:
10  - Vinod Koul <vkoul@kernel.org>
11
12properties:
13  compatible:
14    oneOf:
15      - enum:
16          - qcom,prng  # 8916 etc.
17          - qcom,prng-ee  # 8996 and later using EE
18      - items:
19          - enum:
20              - qcom,glymur-trng
21              - qcom,hawi-trng
22              - qcom,ipq5332-trng
23              - qcom,ipq5424-trng
24              - qcom,ipq9574-trng
25              - qcom,kaanapali-trng
26              - qcom,milos-trng
27              - qcom,nord-trng
28              - qcom,qcs615-trng
29              - qcom,qcs8300-trng
30              - qcom,sa8255p-trng
31              - qcom,sa8775p-trng
32              - qcom,sc7280-trng
33              - qcom,sm8450-trng
34              - qcom,sm8550-trng
35              - qcom,sm8650-trng
36              - qcom,sm8750-trng
37              - qcom,x1e80100-trng
38          - const: qcom,trng
39
40  reg:
41    maxItems: 1
42
43  clocks:
44    maxItems: 1
45
46  clock-names:
47    items:
48      - const: core
49
50required:
51  - compatible
52  - reg
53
54allOf:
55  - if:
56      not:
57        properties:
58          compatible:
59            contains:
60              const: qcom,trng
61    then:
62      required:
63        - clocks
64        - clock-names
65
66additionalProperties: false
67
68examples:
69  - |
70    rng@f9bff000 {
71        compatible = "qcom,prng";
72        reg = <0xf9bff000 0x200>;
73        clocks = <&clk 125>;
74        clock-names = "core";
75    };
76