xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/partitions/nvmem-cells.yaml (revision 8aac90f18aef7c9eea906c3ff9a001ca7b94f375)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mtd/partitions/nvmem-cells.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Nvmem cells
8
9description: |
10  Any partition containing the compatible "nvmem-cells" will register as a
11  nvmem provider.
12  Each direct subnodes represents a nvmem cell following the nvmem binding.
13  Nvmem binding to declare nvmem-cells can be found in:
14  Documentation/devicetree/bindings/nvmem/nvmem.yaml
15
16maintainers:
17  - Ansuel Smith <ansuelsmth@gmail.com>
18
19allOf:
20  - $ref: /schemas/mtd/partitions/partition.yaml#
21  - $ref: /schemas/nvmem/nvmem.yaml#
22  - $ref: /schemas/nvmem/nvmem-deprecated-cells.yaml#
23
24properties:
25  compatible:
26    const: nvmem-cells
27
28required:
29  - compatible
30
31unevaluatedProperties: false
32
33examples:
34  - |
35    partitions {
36      compatible = "fixed-partitions";
37      #address-cells = <1>;
38      #size-cells = <1>;
39
40      /* ... */
41
42      };
43      art: art@1200000 {
44        compatible = "nvmem-cells";
45        reg = <0x1200000 0x0140000>;
46        label = "art";
47        read-only;
48        #address-cells = <1>;
49        #size-cells = <1>;
50
51        macaddr_gmac1: macaddr_gmac1@0 {
52          reg = <0x0 0x6>;
53        };
54
55        macaddr_gmac2: macaddr_gmac2@6 {
56          reg = <0x6 0x6>;
57        };
58
59        pre_cal_24g: pre_cal_24g@1000 {
60          reg = <0x1000 0x2f20>;
61        };
62
63        pre_cal_5g: pre_cal_5g@5000{
64          reg = <0x5000 0x2f20>;
65        };
66      };
67  - |
68    partitions {
69        compatible = "fixed-partitions";
70        #address-cells = <1>;
71        #size-cells = <1>;
72
73        partition@0 {
74            label = "bootloader";
75            reg = <0x000000 0x100000>;
76            read-only;
77        };
78
79        firmware@100000 {
80            compatible = "brcm,trx";
81            label = "firmware";
82            reg = <0x100000 0xe00000>;
83        };
84
85        calibration@f00000 {
86            compatible = "nvmem-cells";
87            label = "calibration";
88            reg = <0xf00000 0x100000>;
89            #address-cells = <1>;
90            #size-cells = <1>;
91
92            wifi0@0 {
93                reg = <0x000000 0x080000>;
94            };
95
96            wifi1@80000 {
97                reg = <0x080000 0x080000>;
98            };
99        };
100    };
101