| # Copyright (c) 2018 Peter Bigot Consulting, LLC |
| # Copyright (c) 2019 Nordic Semiconductor ASA |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| # Common properties used by nodes describing M25P80-compatible SPI NOR |
| # serial flash devices, regardless of which Zephyr driver is being used. |
| # |
| # This extends JESD216-defined features with additional functionality |
| # that may be specific to the vendor of a M25P80-compatible device and |
| # only supported in certain drivers. Any information that can be |
| # obtained from standardized SFDP parameter blocks should be in |
| # jedec,jesd216.yaml instead. |
| |
| include: "jedec,jesd216.yaml" |
| |
| properties: |
| requires-ulbpr: |
| type: boolean |
| required: false |
| description: | |
| Indicates the device requires the ULBPR (0x98) command. |
| |
| Some flash chips such as the Microchip SST26VF series have a block |
| protection register that initializes to write-protected. Use this |
| property to indicate that the BPR must be unlocked before write |
| operations can proceed. |
| |
| has-dpd: |
| type: boolean |
| required: false |
| description: | |
| Indicates the device supports the DPD (0xB9) command. |
| |
| Use this property to indicate the flash chip supports the Deep |
| Power-Down mode that is entered by command 0xB9 to reduce power |
| consumption below normal standby levels. Use of this property |
| implies that the RDPD (0xAB) Release from Deep Power Down command |
| is also supported. (On some chips this command functions as Read |
| Electronic Signature; see t-enter-dpd). |
| |
| dpd-wakeup-sequence: |
| type: array |
| required: false |
| description: | |
| Specifies wakeup durations for devices without RDPD. |
| |
| Some devices (Macronix MX25R in particular) wake from deep power |
| down by a timed sequence of CSn toggles rather than the RDPD |
| command. This property specifies three durations measured in |
| nanoseconds, in this order: |
| (1) tDPDD (Delay Time for Release from Deep Power-Down Mode) |
| (2) tCDRP (CSn Toggling Time before Release from Deep Power-Down Mode) |
| (3) tRDP (Recovery Time for Release from Deep Power-Down Mode) |
| |
| Absence of this property indicates that the RDPD command should be |
| used to wake the chip from Deep Power-Down mode. |
| |
| t-enter-dpd: |
| type: int |
| required: false |
| description: | |
| Duration required to complete the DPD command. |
| |
| This provides the duration, in nanoseconds, that CSn must be |
| remain deasserted after issuing DPD before the chip will enter |
| deep power down. |
| |
| If not provided the driver does not enforce a delay. |
| |
| t-exit-dpd: |
| type: int |
| required: false |
| description: | |
| Duration required to complete the RDPD command. |
| |
| This provides the duration, in nanoseconds, that CSn must be |
| remain deasserted after issuing RDPD before the chip will exit |
| deep power down and be ready to receive additional commands. |
| |
| If not provided the driver does not enforce a delay. |
| |
| has-lock: |
| type: int |
| required: false |
| description: | |
| Bit mask of bits of the status register that should be cleared on |
| startup. |
| |
| Some devices from certain vendors power-up with block protect bits |
| set in the status register, which prevent any erase or program |
| operation from working. Devices that have this behavior need to |
| clear those bits on startup. However, other devices have |
| non-volatile bits in the status register that should not be |
| cleared. |
| |
| This value, when present, identifies bits in the status register |
| that should be cleared when the device is initialized. |