Message ID | 20230201064717.18410-2-zajec5@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | nvmem: add and use generic MMIO NVMEM | expand |
On Wed, Feb 01, 2023 at 07:47:14AM +0100, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > With the NVMEM layouts binding in place we should now use: > 1. NVMEM device access bindings > 2. NVMEM content description bindings > > This binding allows describing NVMEM devices that can be MMIO accessed. > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> > --- > .../devicetree/bindings/nvmem/mmio.yaml | 46 +++++++++++++++++++ > 1 file changed, 46 insertions(+) > create mode 100644 Documentation/devicetree/bindings/nvmem/mmio.yaml > > diff --git a/Documentation/devicetree/bindings/nvmem/mmio.yaml b/Documentation/devicetree/bindings/nvmem/mmio.yaml > new file mode 100644 > index 000000000000..27e3f6142769 > --- /dev/null > +++ b/Documentation/devicetree/bindings/nvmem/mmio.yaml > @@ -0,0 +1,46 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/nvmem/mmio.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MMIO access based NVMEM > + > +description: | > + This binding describes simple NVMEM devices that can be accessed by using MMIO > + (memory-mapped I/O access). > + > + It's a generic solution for providing NVMEM content access. The way of > + handling actual content may be device specific and can be described using a > + proper layout. Please add some guidance based on the discussion about when this should and shouldn't be used. Specifically, anything with potential write accesses should use a device specific compatible and not the generic one. > + > +maintainers: > + - Rafał Miłecki <rafal@milecki.pl> > + > +allOf: > + - $ref: nvmem.yaml# > + > +properties: > + compatible: > + const: mmio-nvmem > + > + reg: > + maxItems: 1 > + > + reg-io-width: > + description: | > + The size (in bytes) of the IO accesses that should be performed > + on the device. > + enum: [1, 2, 4, 8] > + > +required: > + - reg > + > +unevaluatedProperties: false > + > +examples: > + - | > + nvmem@10000 { > + compatible = "mmio-nvmem"; > + reg = <0x10000000 0x10000>; > + }; > -- > 2.34.1 >
diff --git a/Documentation/devicetree/bindings/nvmem/mmio.yaml b/Documentation/devicetree/bindings/nvmem/mmio.yaml new file mode 100644 index 000000000000..27e3f6142769 --- /dev/null +++ b/Documentation/devicetree/bindings/nvmem/mmio.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/nvmem/mmio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MMIO access based NVMEM + +description: | + This binding describes simple NVMEM devices that can be accessed by using MMIO + (memory-mapped I/O access). + + It's a generic solution for providing NVMEM content access. The way of + handling actual content may be device specific and can be described using a + proper layout. + +maintainers: + - Rafał Miłecki <rafal@milecki.pl> + +allOf: + - $ref: nvmem.yaml# + +properties: + compatible: + const: mmio-nvmem + + reg: + maxItems: 1 + + reg-io-width: + description: | + The size (in bytes) of the IO accesses that should be performed + on the device. + enum: [1, 2, 4, 8] + +required: + - reg + +unevaluatedProperties: false + +examples: + - | + nvmem@10000 { + compatible = "mmio-nvmem"; + reg = <0x10000000 0x10000>; + };