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