# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/mtd/jedec,spi-nor.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: SPI NOR flash ST M25Pxx (and similar) serial flash chips

maintainers:
  - Rob Herring <robh@kernel.org>

allOf:
  - $ref: "mtd.yaml#"
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    oneOf:
      - items:
          - pattern: "^((((micron|spansion|st),)?\
              (m25p(40|80|16|32|64|128)|\
              n25q(32b|064|128a11|128a13|256a|512a|164k)))|\
              atmel,at25df(321a|641|081a)|\
              everspin,mr25h(10|40|128|256)|\
              (mxicy|macronix),mx25l(4005a|1606e|6405d|8005|12805d|25635e)|\
              (mxicy|macronix),mx25u(4033|4035)|\
              (spansion,)?s25fl(128s|256s1|512s|008k|064k|164k)|\
              (sst|microchip),sst25vf(016b|032b|040b)|\
              (sst,)?sst26wf016b|\
              (sst,)?sst25wf(040b|080)|\
              winbond,w25x(80|32)|\
              (winbond,)?w25q(16|32(w|dw)?|64(dw)?|80bl|128(fw)?|256))$"
          - const: jedec,spi-nor
      - items:
          - enum:
              - issi,is25lp016d
              - micron,mt25qu02g
              - mxicy,mx25r1635f
              - mxicy,mx25u6435f
              - mxicy,mx25v8035f
              - spansion,s25sl12801
              - spansion,s25fs512s
          - const: jedec,spi-nor
      - const: jedec,spi-nor
    description:
      Must also include "jedec,spi-nor" for any SPI NOR flash that can be
      identified by the JEDEC READ ID opcode (0x9F).

  reg:
    minItems: 1
    maxItems: 2

  spi-max-frequency: true
  spi-rx-bus-width: true
  spi-tx-bus-width: true

  m25p,fast-read:
    type: boolean
    description:
      Use the "fast read" opcode to read data from the chip instead of the usual
      "read" opcode. This opcode is not supported by all chips and support for
      it can not be detected at runtime. Refer to your chips' datasheet to check
      if this is supported by your chip.

  broken-flash-reset:
    type: boolean
    description:
      Some flash devices utilize stateful addressing modes (e.g., for 32-bit
      addressing) which need to be managed carefully by a system. Because these
      sorts of flash don't have a standardized software reset command, and
      because some systems don't toggle the flash RESET# pin upon system reset
      (if the pin even exists at all), there are systems which cannot reboot
      properly if the flash is left in the "wrong" state. This boolean flag can
      be used on such systems, to denote the absence of a reliable reset
      mechanism.

  label: true

  partitions:
    type: object

  '#address-cells': true
  '#size-cells': true

patternProperties:
  # Note: use 'partitions' node for new users
  '^partition@':
    type: object

  "^otp(-[0-9]+)?$":
    type: object

unevaluatedProperties: false

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        flash@0 {
            #address-cells = <1>;
            #size-cells = <1>;
            compatible = "spansion,m25p80", "jedec,spi-nor";
            reg = <0>;
            spi-max-frequency = <40000000>;
            m25p,fast-read;
        };
    };
...
