| # 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#" |
| |
| 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 |
| |
| "^otp(-[0-9]+)?$": |
| 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; |
| }; |
| }; |
| ... |