blob: a44d44b328091db6e3aafc8ed4689d2fec53b2a3 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/nvmem/rockchip,otp.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Rockchip internal OTP (One Time Programmable) memory
8
9maintainers:
10 - Heiko Stuebner <heiko@sntech.de>
11
12properties:
13 compatible:
14 enum:
15 - rockchip,px30-otp
16 - rockchip,rk3308-otp
17 - rockchip,rk3588-otp
18
19 reg:
20 maxItems: 1
21
22 clocks:
23 minItems: 3
24 maxItems: 4
25
26 clock-names:
27 minItems: 3
28 items:
29 - const: otp
30 - const: apb_pclk
31 - const: phy
32 - const: arb
33
34 resets:
35 minItems: 1
36 maxItems: 3
37
38 reset-names:
39 minItems: 1
40 maxItems: 3
41
42required:
43 - compatible
44 - reg
45 - clocks
46 - clock-names
47 - resets
48 - reset-names
49
50allOf:
51 - $ref: nvmem.yaml#
52 - $ref: nvmem-deprecated-cells.yaml#
53
54 - if:
55 properties:
56 compatible:
57 contains:
58 enum:
59 - rockchip,px30-otp
60 - rockchip,rk3308-otp
61 then:
62 properties:
63 clocks:
64 maxItems: 3
65 resets:
66 maxItems: 1
67 reset-names:
68 items:
69 - const: phy
70
71 - if:
72 properties:
73 compatible:
74 contains:
75 enum:
76 - rockchip,rk3588-otp
77 then:
78 properties:
79 clocks:
80 minItems: 4
81 resets:
82 minItems: 3
83 reset-names:
84 items:
85 - const: otp
86 - const: apb
87 - const: arb
88
89unevaluatedProperties: false
90
91examples:
92 - |
93 #include <dt-bindings/clock/px30-cru.h>
94
95 soc {
96 #address-cells = <2>;
97 #size-cells = <2>;
98
99 otp: efuse@ff290000 {
100 compatible = "rockchip,px30-otp";
101 reg = <0x0 0xff290000 0x0 0x4000>;
102 clocks = <&cru SCLK_OTP_USR>, <&cru PCLK_OTP_NS>,
103 <&cru PCLK_OTP_PHY>;
104 clock-names = "otp", "apb_pclk", "phy";
105 resets = <&cru SRST_OTP_PHY>;
106 reset-names = "phy";
107 #address-cells = <1>;
108 #size-cells = <1>;
109
110 cpu_id: id@7 {
111 reg = <0x07 0x10>;
112 };
113
114 cpu_leakage: cpu-leakage@17 {
115 reg = <0x17 0x1>;
116 };
117
118 performance: performance@1e {
119 reg = <0x1e 0x1>;
120 bits = <4 3>;
121 };
122 };
123 };