xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/nvmem/rockchip-efuse.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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,rk1808-efuse
19      - rockchip,rk3066a-efuse
20      - rockchip,rk3128-efuse
21      - rockchip,rk3188-efuse
22      - rockchip,rk3228-efuse
23      - rockchip,rk3288-efuse
24      - rockchip,rk3288-secure-efuse
25      - rockchip,rk3328-efuse
26      - rockchip,rk3368-efuse
27      - rockchip,rk3399-efuse
28
29      # Deprecated: old compatible value for rk3066a, rk3188 and rk3288
30      - rockchip,rockchip-efuse
31
32  reg:
33    description:
34      Registers location and eFuse size.
35    maxItems: 1
36
37  clocks:
38    description:
39      eFuse clock id.
40    maxItems: 1
41
42  clock-names:
43    const: pclk_efuse
44
45  rockchip,efuse-size:
46    description:
47      eFuse size in bytes. The eFuse size in property <reg> will be invalid if
48      this property is defined.
49    $ref: /schemas/types.yaml#/definitions/uint32
50
51required:
52  - compatible
53  - reg
54  - clocks
55  - clock-names
56
57unevaluatedProperties: false
58
59examples:
60  - |
61    #include <dt-bindings/clock/rk3288-cru.h>
62    efuse: efuse@ffb40000 {
63            compatible = "rockchip,rk3288-efuse";
64            reg = <0xffb40000 0x20>;
65            #address-cells = <1>;
66            #size-cells = <1>;
67            clocks = <&cru PCLK_EFUSE256>;
68            clock-names = "pclk_efuse";
69
70            /* Data cells */
71            cpu_leakage: cpu_leakage@17 {
72                    reg = <0x17 0x1>;
73            };
74    };
75...
76