Message ID | 20230220174930.7440-2-zajec5@gmail.com |
---|---|
State | New |
Headers | show |
Series | nvmem: add and use generic MMIO NVMEM | expand |
On Mon, 20 Feb 2023 18:49:29 +0100, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > Content of some NVMEM devices can be read using MMIO. Some of them > (probably very few though) may be also programmable that way. Add > generic binding to allow describing such hardware. > > This *doesn't* apply to any more complicated devices that need more > complex interface e.g. for writing. While such devices could be > supported for reading purposes by the same driver - they should get > their own binding. > > This binding will gain even more usability once we fully support NVMEM > layouts (describing content of NVMEM devices in an independent way). > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> > --- > V3: Make it clear this binding should NOT be used for more complex devices > --- > .../devicetree/bindings/nvmem/mmio.yaml | 50 +++++++++++++++++++ > 1 file changed, 50 insertions(+) > create mode 100644 Documentation/devicetree/bindings/nvmem/mmio.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/nvmem/mmio.yaml b/Documentation/devicetree/bindings/nvmem/mmio.yaml new file mode 100644 index 000000000000..9ca96b7a4856 --- /dev/null +++ b/Documentation/devicetree/bindings/nvmem/mmio.yaml @@ -0,0 +1,50 @@ +# 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 with content that can be accessed + using MMIO (memory-mapped I/O access). + + More complex devices that support any other access than a simple memory + mapping should use a custom binding. In such cases this binding's compatible + should NOT be used even as a fallback. + + This binding is designed to describe just an NVMEM content access method. The + way of handling actual content should be described independently (on top of + this binding). + +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>; + };