zephyr/samples/drivers/jesd216
Aksel Skauge Mellbye bc6c363bc9 boards: silabs: Consistently name dev kits
Rename all Silicon Labs dev kits to always use the official kit name
as board target name. Previous kit names used various naming schemes,
including putting part of the SoC name in the board name. With HWMv2,
SoC names (if needed) should go in the SoC board qualifier.

Use HWMv2 revisions for the two variants of SLTB010A.

Split the xG27 Dev Kit from the EFR32BG22 Thunderboard. This attempt
at deduplication is confusing due to the very different kit names
and use of different ICs (BG22 vs BG27), and was not continued with
the xG24 Dev Kit, meaning that it wasn't consistent.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2024-06-12 12:52:28 -04:00
..
boards Revert "samples: drivers: jesd216: add nRF54H20 overlay" 2024-06-06 15:21:18 -05:00
src samples: drivers: include the stm32 xspi node for running the samples 2024-05-15 10:56:04 +02:00
CMakeLists.txt
prj.conf
README.rst boards: silabs: Consistently name dev kits 2024-06-12 12:52:28 -04:00
sample.yaml samples: drivers: include the stm32 xspi node for running the samples 2024-05-15 10:56:04 +02:00

.. zephyr:code-sample:: jesd216
   :name: JESD216 flash
   :relevant-api: flash_interface

   Use the JESD216 flash API to extract information from a compatible serial memory device.

Overview
********

This sample demonstrates how to use the JESD216 flash API to extract
information from a compatible serial device, and serves as utility to
generate ``jedec,spi-nor`` devicetree property values for the device.

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

The application will build only for a target that has a devicetree entry
with ``jedec,spi-nor`` as a compatible, and for which the driver
supports :kconfig:option:`CONFIG_FLASH_JESD216_API`.

.. zephyr-app-commands::
   :zephyr-app: samples/drivers/jesd216
   :board: sltb004a
   :goals: build flash
   :compact:

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

.. code-block:: console

   MX25R8035F: SFDP v 1.6 AP ff with 3 PH
   PH0: ff00 rev 1.6: 16 DW @ 30
   Summary of BFP content:
   DTR Clocking not supported
   Addressing: 3-Byte only
   4-KiBy erase: uniform
   Support QSPI XIP
   Support 1-1-1
   Support 1-1-2: instr 3Bh, 0 mode clocks, 8 waits
   Support 1-1-4: instr 6Bh, 0 mode clocks, 8 waits
   Support 1-2-2: instr BBh, 0 mode clocks, 4 waits
   Support 1-4-4: instr EBh, 2 mode clocks, 4 waits
   Flash density: 1048576 bytes
   ET1: instr 20h for 4096 By; typ 48 ms, max 384 ms
   ET2: instr 52h for 32768 By; typ 240 ms, max 1920 ms
   ET3: instr D8h for 65536 By; typ 480 ms, max 3840 ms
   Chip erase: typ 6144 ms, max 36864 ms
   Byte program: type 32 + 1 * B us, max 192 + 6 * B us
   Page program: typ 896 us, max 5376 us
   Page size: 256 By
   Suspend: B0h ; Resume: 30h
   DPD: Enter B9h, exit ABh ; delay 40000 ns ; poll 0x3d
   size = <8388608>;
   sfdp-bfp = [
           e5 20 f1 ff  ff ff 7f 00  44 eb 08 6b  08 3b 04 bb
           ee ff ff ff  ff ff 00 ff  ff ff 00 ff  0c 20 0f 52
           10 d8 00 ff  23 72 f5 00  82 ed 04 b7  44 83 38 44
           30 b0 30 b0  f7 c4 d5 5c  00 be 29 ff  f0 d0 ff ff
           ];
   PH1: ffc2 rev 1.0: 4 DW @ 110
   sfdp-ffc2 = [
           00 36 50 16  9d f9 c0 64  fe cf ff ff  ff ff ff ff
           ];
   PH2: ff84 rev 1.0: 2 DW @ c0
   sfdp-ff84 = [
           00 00 f0 ff  ff ff ff ff
           ];
   jedec-id = [c2 28 14];