# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/mtd/mtd.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: MTD (Memory Technology Device) maintainers: - Miquel Raynal - Richard Weinberger properties: $nodename: pattern: "^(flash|.*sram|nand)(@.*)?$" label: description: User-defined MTD device name. Can be used to assign user friendly names to MTD devices (instead of the flash model or flash controller based name) in order to ease flash device identification and/or describe what they are used for. '#address-cells': deprecated: true '#size-cells': deprecated: true partitions: $ref: /schemas/mtd/partitions/partitions.yaml required: - compatible patternProperties: "@[0-9a-f]+$": $ref: partitions/partition.yaml deprecated: true "^partition@[0-9a-f]+": $ref: partitions/partition.yaml deprecated: true "^otp(-[0-9]+)?$": type: object allOf: - $ref: ../nvmem/nvmem.yaml# - $ref: ../nvmem/nvmem-deprecated-cells.yaml# unevaluatedProperties: false description: | An OTP memory region. Some flashes provide a one-time-programmable memory whose content can either be programmed by a user or is already pre-programmed by the factory. Some flashes might provide both. properties: compatible: enum: - user-otp - factory-otp required: - compatible # This is a generic file other binding inherit from additionalProperties: true examples: - | spi { #address-cells = <1>; #size-cells = <0>; flash@0 { reg = <0>; compatible = "jedec,spi-nor"; label = "System-firmware"; }; }; - | spi { #address-cells = <1>; #size-cells = <0>; flash@0 { reg = <0>; compatible = "jedec,spi-nor"; otp-1 { compatible = "factory-otp"; #address-cells = <1>; #size-cells = <1>; electronic-serial-number@0 { reg = <0 8>; }; }; otp-2 { compatible = "user-otp"; #address-cells = <1>; #size-cells = <1>; mac-address@0 { reg = <0 6>; }; }; }; }; ...