xref: /linux/Documentation/devicetree/bindings/nvmem/mediatek,efuse.yaml (revision 0d5ec7919f3747193f051036b2301734a4b5e1d6)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/nvmem/mediatek,efuse.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MediaTek efuse
8
9description: |
10  MediaTek's efuse is used for storing calibration data, it can be accessed
11  on ARM devices usiong I/O mapped memory.
12
13maintainers:
14  - Andrew-CT Chen <andrew-ct.chen@mediatek.com>
15  - Lala Lin <lala.lin@mediatek.com>
16
17allOf:
18  - $ref: nvmem.yaml#
19  - $ref: nvmem-deprecated-cells.yaml#
20
21properties:
22  $nodename:
23    pattern: "^efuse@[0-9a-f]+$"
24
25  compatible:
26    oneOf:
27      - items:
28          - const: mediatek,mt8188-efuse
29          - const: mediatek,mt8186-efuse
30      - const: mediatek,mt8186-efuse
31
32      - items:
33          - enum:
34              - mediatek,mt8186-efuse
35              - mediatek,mt8188-efuse
36          - const: mediatek,efuse
37        deprecated: true
38        description: Some compatibles also imply a decoding scheme for the
39          "gpu-speedbin" cell, and thus are not backward compatible to the
40          generic "mediatek,efuse" compatible.
41
42      - items:
43          - enum:
44              - mediatek,mt7622-efuse
45              - mediatek,mt7623-efuse
46              - mediatek,mt7981-efuse
47              - mediatek,mt7986-efuse
48              - mediatek,mt7988-efuse
49              - mediatek,mt8173-efuse
50              - mediatek,mt8183-efuse
51              - mediatek,mt8192-efuse
52              - mediatek,mt8195-efuse
53              - mediatek,mt8516-efuse
54          - const: mediatek,efuse
55      - const: mediatek,mt8173-efuse
56        deprecated: true
57
58  reg:
59    maxItems: 1
60
61required:
62  - compatible
63  - reg
64
65unevaluatedProperties: false
66
67examples:
68  - |
69    efuse@11c10000 {
70        compatible = "mediatek,mt8195-efuse", "mediatek,efuse";
71        reg = <0x11c10000 0x1000>;
72        #address-cells = <1>;
73        #size-cells = <1>;
74
75        u3_tx_imp_p0: usb3-tx-imp@184,1 {
76            reg = <0x184 0x1>;
77            bits = <0 5>;
78        };
79        u3_rx_imp_p0: usb3-rx-imp@184,2 {
80            reg = <0x184 0x2>;
81            bits = <5 5>;
82        };
83        u3_intr_p0: usb3-intr@185 {
84            reg = <0x185 0x1>;
85            bits = <2 6>;
86        };
87        comb_tx_imp_p1: usb3-tx-imp@186,1 {
88            reg = <0x186 0x1>;
89            bits = <0 5>;
90        };
91        comb_rx_imp_p1: usb3-rx-imp@186,2 {
92            reg = <0x186 0x2>;
93            bits = <5 5>;
94        };
95        comb_intr_p1: usb3-intr@187 {
96            reg = <0x187 0x1>;
97            bits = <2 6>;
98        };
99        u2_intr_p0: usb2-intr-p0@188,1 {
100            reg = <0x188 0x1>;
101            bits = <0 5>;
102        };
103        u2_intr_p1: usb2-intr-p1@188,2 {
104            reg = <0x188 0x2>;
105            bits = <5 5>;
106        };
107    };
108