# 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 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: maxItems: 1 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 additionalProperties: 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; }; }; ...