You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All the notable changes to sEMMC are documented on this page. Refer to :ref:`intro_soft_peripherals_platform_support` for supported Nordic devices for each version.
11
+
12
+
v0.1.0
13
+
******
14
+
15
+
This is an initial release.
16
+
17
+
* Added the following for the nRF54H Series and nRF54L Series devices:
This documentation outlines the soft peripheral sEMMC.
11
+
It covers setup, integration, and operational guidelines for using sEMMC through the nrfx driver API, alongside detailed descriptions of limitations and performance considerations.
12
+
13
+
.. note::
14
+
The current version of sEMMC is based on JEDEC Standard No. 84-B51A.
This page provides an overview of the functionalities and configurations available for the soft peripheral sEMMC for the current state of development.
11
+
See the following sections for more details.
12
+
13
+
.. _semmc_features_command_support:
14
+
15
+
Command support
16
+
***************
17
+
18
+
sEMMC supports the following JEDEC Standard No. 84-B51A command groups:
19
+
20
+
* Class 0 - Basic
21
+
* Class 2 - Block read
22
+
* Class 4 - Block write
23
+
* Class 5 - Erase
24
+
* Class 6 - Write protection
25
+
* Class 7 - Lock device
26
+
* Class 11 - Command queuing
27
+
28
+
.. note::
29
+
Refer to the :file:`nrf_semmc.h` header for a list of supported commands.
30
+
31
+
32
+
.. _semmc_features_hs200_mode:
33
+
34
+
HS200 mode support
35
+
******************
36
+
37
+
sEMMC supports the HS200 mode for high-speed transfers. This allows sEMMC to operate at frequencies up to 80MHz on the nRF54H20 device.
38
+
39
+
.. note::
40
+
A tuning cycle using CMD21 might be necessary to find the optimal sampling point for reads. After doing a tuning cycle, apply the sampling value to :c:var:`nrf_semmc_config_t.read_delay`.
When working with sEMMC, you should be aware of the following limitations.
7
+
8
+
.. contents::
9
+
:local:
10
+
:depth: 2
11
+
12
+
v0.1.0
13
+
******
14
+
15
+
Refer to the following detailed descriptions of current limitations:
16
+
17
+
* sEMMC does not support octal-lane data transmissions.
18
+
* sEMMC does not support dual data rate, and as such no support for HS400.
19
+
* :c:var:`nrf_semmc_config_t.read_delay` can not be equal to or higher than the :c:var:`clkdiv` parameter in :ref:`semmc_timing`.
20
+
* :c:var:`clkdiv` parameter in :ref:`semmc_timing` must be even.
21
+
* Maximum frequency is limited to 80MHz on nRF54H Series (assuming a maximum device frequency of 320MHz, in HS200 mode) and 32MHz on nRF54L Series devices.
22
+
* A tuning cycle using CMD21 might be needed to set the proper value of :c:var:`nrf_semmc_config_t.read_delay`.
23
+
* Data buffers and response buffers needs to be pointers with a 32-bit aligned address.
24
+
* :c:var:`nrf_emmc_data_t.block_size` needs to be minimum 4 bytes for quad-lane data transmissions.
25
+
* Setting :c:var:`nrf_semmc_config_t.process_response` to `NRF_EMMC_RESPONSE_PROC_IGNORE` will only apply to any transaction in the read direction.
26
+
* sEMMC is not able to process response and data at the same time. See for example :ref:`semmc_nrf54H_series_porting_guide_read_response` on how to mitigate this.
27
+
* Any prepared transfer with :c:func:`nrf_semmc_cmd_prepare` will be discarded when using :c:func:`nrf_semmc_disable`.
0 commit comments