Skip to content

Commit 331b2b1

Browse files
MarekPietakapi-no
authored andcommitted
applications: nrf_desktop: Use USB SOF synchronization on nRF54H
This is done to improve HID report rate stability. Jira: NCSDK-30503 Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no> Signed-off-by: Pekka Niskanen <pekka.niskanen@nordicsemi.no>
1 parent 5b2912d commit 331b2b1

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

applications/nrf_desktop/doc/usb_state.rst

+3
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ The module informs that the HID report was sent using :c:struct:`hid_report_sent
8585
In the case of :ref:`nrf_desktop_hid_mouse_report_handling`, enabling the USB SOF synchronization also synchronizes motion sensor sampling with the USB SOF instead of USB polls (motion sensor sampling is synchronized to :c:struct:`hid_report_sent_event`).
8686
This synchronization ensures that the sensor is sampled more evenly.
8787

88+
The :ref:`CONFIG_DESKTOP_USB_HID_REPORT_SENT_ON_SOF <config_desktop_app_options>` Kconfig option is enabled by default on the nRF54H Series SoC (:kconfig:option:`CONFIG_SOC_SERIES_NRF54HX`) to mitigate a negative impact of jitter related to USB polls.
89+
The negative impact of the jitter is more visible for USB High-Speed.
90+
8891
.. _nrf_desktop_usb_state_hid_class_instance:
8992

9093
USB HID class instance configuration

applications/nrf_desktop/src/modules/Kconfig.usb_state

+5
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ config DESKTOP_USB_PM_REQ_NO_PM_LATENCY
5959

6060
config DESKTOP_USB_HID_REPORT_SENT_ON_SOF
6161
bool "Submit HID report sent event on USB Start of Frame (SOF) [EXPERIMENTAL]"
62+
default y if SOC_SERIES_NRF54HX
6263
select EXPERIMENTAL
6364
help
6465
Delay submitting hid_report_sent_event until subsequent USB Start of
@@ -67,6 +68,10 @@ config DESKTOP_USB_HID_REPORT_SENT_ON_SOF
6768
report pipeline with two sequential reports is required to ensure that
6869
the USB peripheral can provide a HID report on every USB poll.
6970

71+
The feature is enabled by default for nRF54H Series SoC, because the
72+
negative impact of USB polling jitter is more visible in case of USB
73+
High-Speed.
74+
7075
choice DESKTOP_USB_STACK
7176
prompt "USB stack"
7277
default DESKTOP_USB_STACK_LEGACY

doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst

+2
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,8 @@ nRF Desktop
278278
Picolibc is used by default in Zephyr.
279279
* The nRF Desktop application image configurations to use Picolibc (:kconfig:option:`CONFIG_PICOLIBC`) by default.
280280
Using the minimal libc implementation (:kconfig:option:`CONFIG_MINIMAL_LIBC`) no longer decreases the memory footprint of the application image for most of the configurations.
281+
* Enabled :ref:`nrf_desktop_usb_state_sof_synchronization` (:ref:`CONFIG_DESKTOP_USB_HID_REPORT_SENT_ON_SOF <config_desktop_app_options>` Kconfig option) by default on the nRF54H Series SoC (:kconfig:option:`CONFIG_SOC_SERIES_NRF54HX`).
282+
The negative impact of USB polling jitter is more visible in case of USB High-Speed.
281283

282284
* Added:
283285

0 commit comments

Comments
 (0)