zephyr/samples/drivers/spi_flash
Jordan Yates 6487a2a663 flash: spi_nor: remove SPI_NOR_IDLE_IN_DPD
Remove `SPI_NOR_IDLE_IN_DPD` to simplify the possible transition states
in the `spi_nor` driver. This option was originally added 5 years ago
when device runtime PM was in a much less mature state.

I do not believe having a separate power management implementation for
this one in-tree driver is in the interests of the project.

The behaviour of `SPI_NOR_IDLE_IN_DPD` leads to extremly suboptimal
behaviour in use cases where multiple small reads are performed
sequentially, see #69588.

Removal of this option does not break the behaviour of any existing
applications, only increases current consumption in idle by ~10uA until
device runtime PM is enabled.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-08-27 07:15:28 -04:00
..
boards samples: fix adafruit_feather board name 2024-08-01 14:56:25 +02:00
src samples: spi_flash: node from compat, not alias 2024-06-06 15:21:18 -05:00
CMakeLists.txt
prj.conf
README.rst samples: spi_flash: node from compat, not alias 2024-06-06 15:21:18 -05:00
sample.yaml flash: spi_nor: remove SPI_NOR_IDLE_IN_DPD 2024-08-27 07:15:28 -04:00

.. zephyr:code-sample:: spi-nor
   :name: JEDEC SPI-NOR flash
   :relevant-api: flash_interface

   Use the flash API to interact with an SPI NOR serial flash memory device.

Overview
********

This sample demonstrates using the :ref:`flash API <flash_api>` on a SPI NOR serial flash
memory device.  While trivial it is an example of direct access and
allows confirmation that the flash is working and that automatic power
savings is correctly implemented.

Building and Running
********************

The application will build only for a target that has a devicetree node with one of the
following bindings as a compatible:

* :dtcompatible:`jedec,spi-nor`,
* :dtcompatible:`st,stm32-qspi-nor`,
* :dtcompatible:`st,stm32-ospi-nor`,
* :dtcompatible:`nordic,qspi-nor`.

.. zephyr-app-commands::
   :zephyr-app: samples/drivers/spi_flash
   :board: nrf52840dk/nrf52840
   :goals: build flash
   :compact:

Sample Output
=============

.. code-block:: console

   *** Booting Zephyr OS build zephyr-v2.3.0-2142-gca01d2e1d748  ***

   JEDEC QSPI-NOR SPI flash testing
   ==========================

   Test 1: Flash erase
   Flash erase succeeded!

   Test 2: Flash write
   Attempting to write 4 bytes
   Data read matches data written. Good!