# 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.