arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / bindings / sram / qcom,ocmem.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sram/qcom,ocmem.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: On Chip Memory (OCMEM) that is present on some Qualcomm Snapdragon SoCs.
8
9 maintainers:
10   - Brian Masney <masneyb@onstation.org>
11
12 description: |
13   The On Chip Memory (OCMEM) is typically used by the GPU, camera/video, and
14   audio components on some Snapdragon SoCs.
15
16 properties:
17   compatible:
18     enum:
19       - qcom,msm8226-ocmem  # v1.1.0
20       - qcom,msm8974-ocmem  # v1.4.0
21
22   reg:
23     items:
24       - description: Control registers
25       - description: OCMEM address range
26
27   reg-names:
28     items:
29       - const: ctrl
30       - const: mem
31
32   clocks:
33     minItems: 1
34     items:
35       - description: Core clock
36       - description: Interface clock
37
38   clock-names:
39     minItems: 1
40     items:
41       - const: core
42       - const: iface
43
44   '#address-cells':
45     const: 1
46
47   '#size-cells':
48     const: 1
49
50   ranges:
51     maxItems: 1
52
53 required:
54   - compatible
55   - reg
56   - reg-names
57   - clocks
58   - clock-names
59   - '#address-cells'
60   - '#size-cells'
61   - ranges
62
63 additionalProperties: false
64
65 allOf:
66   - if:
67       properties:
68         compatible:
69           contains:
70             enum:
71               - qcom,msm8974-ocmem
72     then:
73       properties:
74         clocks:
75           minItems: 2
76         clock-names:
77           minItems: 2
78     else:
79       properties:
80         clocks:
81           minItems: 1
82         clock-names:
83           minItems: 1
84
85 patternProperties:
86   "-sram@[0-9a-f]+$":
87     type: object
88     additionalProperties: false
89     description: A region of reserved memory.
90
91     properties:
92       reg:
93         maxItems: 1
94
95     required:
96       - reg
97
98 examples:
99   - |
100     #include <dt-bindings/clock/qcom,rpmcc.h>
101     #include <dt-bindings/clock/qcom,mmcc-msm8974.h>
102
103     sram@fdd00000 {
104         compatible = "qcom,msm8974-ocmem";
105
106         reg = <0xfdd00000 0x2000>,
107               <0xfec00000 0x180000>;
108         reg-names = "ctrl",
109                     "mem";
110
111         clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>,
112                  <&mmcc OCMEMCX_OCMEMNOC_CLK>;
113         clock-names = "core",
114                       "iface";
115
116         #address-cells = <1>;
117         #size-cells = <1>;
118         ranges = <0 0xfec00000 0x100000>;
119
120         gmu-sram@0 {
121             reg = <0x0 0x100000>;
122         };
123     };