xref: /linux/Documentation/devicetree/bindings/nvmem/renesas,rcar-efuse.yaml (revision 25768de50b1f2dbb6ea44bd5148a87fe2c9c3688)
1*2aea0d17SGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*2aea0d17SGeert Uytterhoeven%YAML 1.2
3*2aea0d17SGeert Uytterhoeven---
4*2aea0d17SGeert Uytterhoeven$id: http://devicetree.org/schemas/nvmem/renesas,rcar-efuse.yaml#
5*2aea0d17SGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2aea0d17SGeert Uytterhoeven
7*2aea0d17SGeert Uytterhoeventitle: R-Car E-FUSE connected to PFC
8*2aea0d17SGeert Uytterhoeven
9*2aea0d17SGeert Uytterhoevenmaintainers:
10*2aea0d17SGeert Uytterhoeven  - Geert Uytterhoeven <geert+renesas@glider.be>
11*2aea0d17SGeert Uytterhoeven
12*2aea0d17SGeert Uytterhoevendescription:
13*2aea0d17SGeert Uytterhoeven  The E-FUSE is a type of non-volatile memory, which is accessible through the
14*2aea0d17SGeert Uytterhoeven  Pin Function Controller (PFC) on some R-Car Gen4 SoCs.
15*2aea0d17SGeert Uytterhoeven
16*2aea0d17SGeert UytterhoevenallOf:
17*2aea0d17SGeert Uytterhoeven  - $ref: nvmem.yaml#
18*2aea0d17SGeert Uytterhoeven
19*2aea0d17SGeert Uytterhoevenproperties:
20*2aea0d17SGeert Uytterhoeven  compatible:
21*2aea0d17SGeert Uytterhoeven    enum:
22*2aea0d17SGeert Uytterhoeven      - renesas,r8a779a0-efuse # R-Car V3U
23*2aea0d17SGeert Uytterhoeven      - renesas,r8a779f0-efuse # R-Car S4-8
24*2aea0d17SGeert Uytterhoeven
25*2aea0d17SGeert Uytterhoeven  reg:
26*2aea0d17SGeert Uytterhoeven    maxItems: 1
27*2aea0d17SGeert Uytterhoeven    description: PFC System Group Fuse Control and Monitor register block
28*2aea0d17SGeert Uytterhoeven
29*2aea0d17SGeert Uytterhoeven  clocks:
30*2aea0d17SGeert Uytterhoeven    maxItems: 1
31*2aea0d17SGeert Uytterhoeven
32*2aea0d17SGeert Uytterhoeven  power-domains:
33*2aea0d17SGeert Uytterhoeven    maxItems: 1
34*2aea0d17SGeert Uytterhoeven
35*2aea0d17SGeert Uytterhoeven  resets:
36*2aea0d17SGeert Uytterhoeven    maxItems: 1
37*2aea0d17SGeert Uytterhoeven
38*2aea0d17SGeert Uytterhoevenrequired:
39*2aea0d17SGeert Uytterhoeven  - compatible
40*2aea0d17SGeert Uytterhoeven  - reg
41*2aea0d17SGeert Uytterhoeven  - clocks
42*2aea0d17SGeert Uytterhoeven  - power-domains
43*2aea0d17SGeert Uytterhoeven  - resets
44*2aea0d17SGeert Uytterhoeven
45*2aea0d17SGeert UytterhoevenunevaluatedProperties: false
46*2aea0d17SGeert Uytterhoeven
47*2aea0d17SGeert Uytterhoevenexamples:
48*2aea0d17SGeert Uytterhoeven  - |
49*2aea0d17SGeert Uytterhoeven    #include <dt-bindings/clock/r8a779f0-cpg-mssr.h>
50*2aea0d17SGeert Uytterhoeven    #include <dt-bindings/power/r8a779f0-sysc.h>
51*2aea0d17SGeert Uytterhoeven
52*2aea0d17SGeert Uytterhoeven    fuse@e6078800 {
53*2aea0d17SGeert Uytterhoeven        compatible = "renesas,r8a779f0-efuse";
54*2aea0d17SGeert Uytterhoeven        reg = <0xe6078800 0x200>;
55*2aea0d17SGeert Uytterhoeven        clocks = <&cpg CPG_MOD 915>;
56*2aea0d17SGeert Uytterhoeven        power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>;
57*2aea0d17SGeert Uytterhoeven        resets = <&cpg 915>;
58*2aea0d17SGeert Uytterhoeven
59*2aea0d17SGeert Uytterhoeven        nvmem-layout {
60*2aea0d17SGeert Uytterhoeven            compatible = "fixed-layout";
61*2aea0d17SGeert Uytterhoeven            #address-cells = <1>;
62*2aea0d17SGeert Uytterhoeven            #size-cells = <1>;
63*2aea0d17SGeert Uytterhoeven
64*2aea0d17SGeert Uytterhoeven            calib@144 {
65*2aea0d17SGeert Uytterhoeven                reg = <0x144 0x08>;
66*2aea0d17SGeert Uytterhoeven            };
67*2aea0d17SGeert Uytterhoeven        };
68*2aea0d17SGeert Uytterhoeven    };
69