xref: /linux/Documentation/devicetree/bindings/nvmem/rockchip-efuse.yaml (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
1# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/nvmem/rockchip-efuse.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Rockchip eFuse
8
9maintainers:
10  - Heiko Stuebner <heiko@sntech.de>
11
12allOf:
13  - $ref: nvmem.yaml#
14  - $ref: nvmem-deprecated-cells.yaml#
15
16properties:
17  compatible:
18    enum:
19      - rockchip,rk3066a-efuse
20      - rockchip,rk3188-efuse
21      - rockchip,rk3228-efuse
22      - rockchip,rk3288-efuse
23      - rockchip,rk3328-efuse
24      - rockchip,rk3368-efuse
25      - rockchip,rk3399-efuse
26
27      # Deprecated: old compatible value for rk3066a, rk3188 and rk3288
28      - rockchip,rockchip-efuse
29
30  reg:
31    description:
32      Registers location and eFuse size.
33    maxItems: 1
34
35  clocks:
36    description:
37      eFuse clock id.
38    maxItems: 1
39
40  clock-names:
41    const: pclk_efuse
42
43  rockchip,efuse-size:
44    description:
45      eFuse size in bytes. The eFuse size in property <reg> will be invalid if
46      this property is defined.
47    $ref: /schemas/types.yaml#/definitions/uint32
48
49required:
50  - compatible
51  - reg
52  - clocks
53  - clock-names
54
55unevaluatedProperties: false
56
57examples:
58  - |
59    #include <dt-bindings/clock/rk3288-cru.h>
60    efuse: efuse@ffb40000 {
61            compatible = "rockchip,rk3288-efuse";
62            reg = <0xffb40000 0x20>;
63            #address-cells = <1>;
64            #size-cells = <1>;
65            clocks = <&cru PCLK_EFUSE256>;
66            clock-names = "pclk_efuse";
67
68            /* Data cells */
69            cpu_leakage: cpu_leakage@17 {
70                    reg = <0x17 0x1>;
71            };
72    };
73...
74