-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
applications: nrf_desktop: Add nRF54L10 support
nRF54L10 is emulated on nRF54L15 DK. Jira: NCSDK-30311 Signed-off-by: Marek Pieta <[email protected]>
- Loading branch information
1 parent
b6e825b
commit 6aa8df3
Showing
32 changed files
with
1,371 additions
and
0 deletions.
There are no files selected for viewing
7 changes: 7 additions & 0 deletions
7
applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/app.overlay
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
#include "app_common.dtsi" |
112 changes: 112 additions & 0 deletions
112
applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/app_common.dtsi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
/* Application does not use cpuflpr core. Assign whole RRAM to cpuapp. */ | ||
&cpuapp_rram { | ||
reg = < 0x0 DT_SIZE_K(1022) >; | ||
}; | ||
|
||
/ { | ||
/* Disable pwmleds and redefine them to align configuration with CAF LEDs requirements. | ||
* The configuration needs to match the used board revision. | ||
*/ | ||
/delete-node/ pwmleds; | ||
|
||
pwmleds0 { | ||
compatible = "pwm-leds"; | ||
status = "okay"; | ||
|
||
pwm_led0: led_pwm_0 { | ||
status = "okay"; | ||
pwms = <&pwm20 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; | ||
label = "LED System State"; | ||
}; | ||
}; | ||
|
||
pwmleds1 { | ||
compatible = "pwm-leds"; | ||
status = "okay"; | ||
|
||
pwm_led1: led_pwm_1 { | ||
status = "okay"; | ||
pwms = <&pwm21 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; | ||
label = "LED Conn State"; | ||
}; | ||
}; | ||
|
||
pwmleds2 { | ||
compatible = "pwm-leds"; | ||
status = "okay"; | ||
|
||
pwm_led2: led_pwm_2 { | ||
status = "okay"; | ||
pwms = <&pwm22 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; | ||
label = "LED Num Lock"; | ||
}; | ||
}; | ||
}; | ||
|
||
&pwm20 { | ||
status = "okay"; | ||
pinctrl-0 = <&pwm20_default_alt>; | ||
pinctrl-1 = <&pwm20_sleep_alt>; | ||
pinctrl-names = "default", "sleep"; | ||
}; | ||
|
||
&pwm21 { | ||
status = "okay"; | ||
pinctrl-0 = <&pwm21_default_alt>; | ||
pinctrl-1 = <&pwm21_sleep_alt>; | ||
pinctrl-names = "default", "sleep"; | ||
}; | ||
|
||
&pwm22 { | ||
status = "okay"; | ||
pinctrl-0 = <&pwm22_default_alt>; | ||
pinctrl-1 = <&pwm22_sleep_alt>; | ||
pinctrl-names = "default", "sleep"; | ||
}; | ||
|
||
&pinctrl { | ||
pwm20_default_alt: pwm20_default_alt { | ||
group1 { | ||
psels = <NRF_PSEL(PWM_OUT0, 2, 9)>; | ||
}; | ||
}; | ||
|
||
pwm20_sleep_alt: pwm20_sleep_alt { | ||
group1 { | ||
psels = <NRF_PSEL(PWM_OUT0, 2, 9)>; | ||
low-power-enable; | ||
}; | ||
}; | ||
|
||
pwm21_default_alt: pwm21_default_alt { | ||
group1 { | ||
psels = <NRF_PSEL(PWM_OUT0, 1, 10)>; | ||
}; | ||
}; | ||
|
||
pwm21_sleep_alt: pwm21_sleep_alt { | ||
group1 { | ||
psels = <NRF_PSEL(PWM_OUT0, 1, 10)>; | ||
low-power-enable; | ||
}; | ||
}; | ||
|
||
pwm22_default_alt: pwm22_default_alt { | ||
group1 { | ||
psels = <NRF_PSEL(PWM_OUT0, 2, 7)>; | ||
}; | ||
}; | ||
|
||
pwm22_sleep_alt: pwm22_sleep_alt { | ||
group1 { | ||
psels = <NRF_PSEL(PWM_OUT0, 2, 7)>; | ||
low-power-enable; | ||
}; | ||
}; | ||
}; |
12 changes: 12 additions & 0 deletions
12
applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/app_release.overlay
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
#include "app_common.dtsi" | ||
|
||
/* For nRF54L, watchdog status is disabled by default. Needs to be enabled in DTS overlay. */ | ||
&wdt31 { | ||
status = "okay"; | ||
}; |
25 changes: 25 additions & 0 deletions
25
applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/buttons_def.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
#include <caf/gpio_pins.h> | ||
|
||
/* This configuration file is included only once from button module and holds | ||
* information about pins forming keyboard matrix. | ||
*/ | ||
|
||
/* This structure enforces the header file is included only once in the build. | ||
* Violating this requirement triggers a multiple definition error at link time. | ||
*/ | ||
const struct {} buttons_def_include_once; | ||
|
||
static const struct gpio_pin col[] = {}; | ||
|
||
static const struct gpio_pin row[] = { | ||
{ .port = 1, .pin = DT_GPIO_PIN(DT_NODELABEL(button0), gpios) }, | ||
{ .port = 1, .pin = DT_GPIO_PIN(DT_NODELABEL(button1), gpios) }, | ||
{ .port = 1, .pin = DT_GPIO_PIN(DT_NODELABEL(button2), gpios) }, | ||
{ .port = 0, .pin = DT_GPIO_PIN(DT_NODELABEL(button3), gpios) }, | ||
}; |
26 changes: 26 additions & 0 deletions
26
applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/buttons_sim_def.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
#include <caf/key_id.h> | ||
|
||
/* This configuration file is included only once from buttons_sim module | ||
* and holds information about generated button presses sequence. | ||
*/ | ||
|
||
/* This structure enforces the header file is included only once in the build. | ||
* Violating this requirement triggers a multiple definition error at link time. | ||
*/ | ||
const struct {} buttons_sim_def_include_once; | ||
|
||
const static uint16_t simulated_key_sequence[] = { | ||
KEY_ID(0x00, 0x11), /* N */ | ||
KEY_ID(0x00, 0x12), /* O */ | ||
KEY_ID(0x00, 0x15), /* R */ | ||
KEY_ID(0x00, 0x07), /* D */ | ||
KEY_ID(0x00, 0x0C), /* I */ | ||
KEY_ID(0x00, 0x06), /* C */ | ||
KEY_ID(0x00, 0x2C), /* spacebar */ | ||
}; |
25 changes: 25 additions & 0 deletions
25
applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/click_detector_def.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
#include <caf/click_detector.h> | ||
|
||
/* This configuration file is included only once from click_detector module | ||
* and holds information about click detector configuration. | ||
*/ | ||
|
||
/* This structure enforces the header file is included only once in the build. | ||
* Violating this requirement triggers a multiple definition error at link time. | ||
*/ | ||
const struct {} click_detector_def_include_once; | ||
|
||
static const struct click_detector_config click_detector_config[] = { | ||
#if CONFIG_DESKTOP_BLE_PEER_CONTROL | ||
{ | ||
.key_id = CONFIG_DESKTOP_BLE_PEER_CONTROL_BUTTON, | ||
.consume_button_event = false, | ||
}, | ||
#endif /* CONFIG_DESKTOP_BLE_PEER_CONTROL */ | ||
}; |
23 changes: 23 additions & 0 deletions
23
applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/hid_keyboard_leds_def.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
#include "hid_keyboard_leds.h" | ||
|
||
/* This configuration file is included only once from hid_state module and holds | ||
* information about LEDs associated with HID keyboard LEDs report. | ||
*/ | ||
|
||
/* This structure enforces the header file is included only once in the build. | ||
* Violating this requirement triggers a multiple definition error at link time. | ||
*/ | ||
const struct {} hid_keyboard_leds_def_include_once; | ||
|
||
static const struct led_effect keyboard_led_on = LED_EFFECT_LED_ON(LED_COLOR(255, 255, 255)); | ||
static const struct led_effect keyboard_led_off = LED_EFFECT_LED_OFF(); | ||
|
||
/* Map HID keyboard LEDs to application LED IDs. */ | ||
static const uint8_t keyboard_led_map[] = { | ||
}; |
36 changes: 36 additions & 0 deletions
36
...ons/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/hid_keyboard_leds_def_keyboard.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
#include "hid_keyboard_leds.h" | ||
|
||
/* This configuration file is included only once from hid_state module and holds | ||
* information about LEDs associated with HID keyboard LEDs report. | ||
*/ | ||
|
||
/* This structure enforces the header file is included only once in the build. | ||
* Violating this requirement triggers a multiple definition error at link time. | ||
*/ | ||
const struct {} hid_keyboard_leds_def_include_once; | ||
|
||
/* On the nRF54L10 SoC, you can only use the **GPIO1** port for PWM hardware peripheral output. | ||
* Because of that, on the DK PCA10156 revision v0.8.1, **LED 0** and **LED 2** cannot be used for | ||
* PWM output. | ||
* | ||
* You can still use these LEDs with the PWM LED driver, but you must set the LED color to | ||
* ``LED_COLOR(255, 255, 255)`` or ``LED_COLOR(0, 0, 0)``. This ensures the PWM peripheral is not | ||
* used for the mentioned LEDs. | ||
*/ | ||
static const struct led_effect keyboard_led_on = LED_EFFECT_LED_ON(LED_COLOR(255, 255, 255)); | ||
static const struct led_effect keyboard_led_off = LED_EFFECT_LED_OFF(); | ||
|
||
/* Map HID keyboard LEDs to application LED IDs. */ | ||
static const uint8_t keyboard_led_map[] = { | ||
[HID_KEYBOARD_LEDS_NUM_LOCK] = 2, | ||
[HID_KEYBOARD_LEDS_CAPS_LOCK] = LED_UNAVAILABLE, | ||
[HID_KEYBOARD_LEDS_SCROLL_LOCK] = LED_UNAVAILABLE, | ||
[HID_KEYBOARD_LEDS_COMPOSE] = LED_UNAVAILABLE, | ||
[HID_KEYBOARD_LEDS_KANA] = LED_UNAVAILABLE, | ||
}; |
28 changes: 28 additions & 0 deletions
28
applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/hid_keymap_def.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
#include "hid_keymap.h" | ||
#include <caf/key_id.h> | ||
|
||
/* This configuration file is included only once from hid_state module and holds | ||
* information about mapping between buttons and generated reports. | ||
*/ | ||
|
||
/* This structure enforces the header file is included only once in the build. | ||
* Violating this requirement triggers a multiple definition error at link time. | ||
*/ | ||
const struct {} hid_keymap_def_include_once; | ||
|
||
/* | ||
* HID keymap. The Consumer Control keys are defined in section 15 of | ||
* the HID Usage Tables document under the following URL: | ||
* https://www.usb.org/sites/default/files/hut1_12.pdf | ||
*/ | ||
static const struct hid_keymap hid_keymap[] = { | ||
/* Intentionally left empty. nRF54L DK by default uses all buttons only to control | ||
* generating motion. | ||
*/ | ||
}; |
57 changes: 57 additions & 0 deletions
57
applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/hid_keymap_def_keyboard.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
#include "hid_keymap.h" | ||
#include <caf/key_id.h> | ||
|
||
/* This configuration file is included only once from hid_state module and holds | ||
* information about mapping between buttons and generated reports. | ||
*/ | ||
|
||
/* This structure enforces the header file is included only once in the build. | ||
* Violating this requirement triggers a multiple definition error at link time. | ||
*/ | ||
const struct {} hid_keymap_def_include_once; | ||
|
||
/* | ||
* HID keymap. The Consumer Control keys are defined in section 15 of | ||
* the HID Usage Tables document under the following URL: | ||
* https://www.usb.org/sites/default/files/hut1_12.pdf | ||
*/ | ||
static const struct hid_keymap hid_keymap[] = { | ||
{ KEY_ID(0x00, 0x00), 0x0004, REPORT_ID_KEYBOARD_KEYS }, /* A */ | ||
{ KEY_ID(0x00, 0x01), 0x0005, REPORT_ID_KEYBOARD_KEYS }, /* B */ | ||
{ KEY_ID(0x00, 0x02), 0x00E1, REPORT_ID_KEYBOARD_KEYS }, /* left shift */ | ||
|
||
{ KEY_ID(0x00, 0x04), 0x0004, REPORT_ID_KEYBOARD_KEYS }, /* A */ | ||
{ KEY_ID(0x00, 0x05), 0x0005, REPORT_ID_KEYBOARD_KEYS }, /* B */ | ||
{ KEY_ID(0x00, 0x06), 0x0006, REPORT_ID_KEYBOARD_KEYS }, /* C */ | ||
{ KEY_ID(0x00, 0x07), 0x0007, REPORT_ID_KEYBOARD_KEYS }, /* D */ | ||
{ KEY_ID(0x00, 0x08), 0x0008, REPORT_ID_KEYBOARD_KEYS }, /* E */ | ||
{ KEY_ID(0x00, 0x09), 0x0009, REPORT_ID_KEYBOARD_KEYS }, /* F */ | ||
{ KEY_ID(0x00, 0x0A), 0x000A, REPORT_ID_KEYBOARD_KEYS }, /* G */ | ||
{ KEY_ID(0x00, 0x0B), 0x000B, REPORT_ID_KEYBOARD_KEYS }, /* H */ | ||
{ KEY_ID(0x00, 0x0C), 0x000C, REPORT_ID_KEYBOARD_KEYS }, /* I */ | ||
{ KEY_ID(0x00, 0x0D), 0x000D, REPORT_ID_KEYBOARD_KEYS }, /* J */ | ||
{ KEY_ID(0x00, 0x0E), 0x000E, REPORT_ID_KEYBOARD_KEYS }, /* K */ | ||
{ KEY_ID(0x00, 0x0F), 0x000F, REPORT_ID_KEYBOARD_KEYS }, /* L */ | ||
{ KEY_ID(0x00, 0x10), 0x0010, REPORT_ID_KEYBOARD_KEYS }, /* M */ | ||
{ KEY_ID(0x00, 0x11), 0x0011, REPORT_ID_KEYBOARD_KEYS }, /* N */ | ||
{ KEY_ID(0x00, 0x12), 0x0012, REPORT_ID_KEYBOARD_KEYS }, /* O */ | ||
{ KEY_ID(0x00, 0x13), 0x0013, REPORT_ID_KEYBOARD_KEYS }, /* P */ | ||
{ KEY_ID(0x00, 0x14), 0x0014, REPORT_ID_KEYBOARD_KEYS }, /* Q */ | ||
{ KEY_ID(0x00, 0x15), 0x0015, REPORT_ID_KEYBOARD_KEYS }, /* R */ | ||
{ KEY_ID(0x00, 0x16), 0x0016, REPORT_ID_KEYBOARD_KEYS }, /* S */ | ||
{ KEY_ID(0x00, 0x17), 0x0017, REPORT_ID_KEYBOARD_KEYS }, /* T */ | ||
{ KEY_ID(0x00, 0x18), 0x0018, REPORT_ID_KEYBOARD_KEYS }, /* U */ | ||
{ KEY_ID(0x00, 0x19), 0x0019, REPORT_ID_KEYBOARD_KEYS }, /* V */ | ||
{ KEY_ID(0x00, 0x1A), 0x001A, REPORT_ID_KEYBOARD_KEYS }, /* W */ | ||
{ KEY_ID(0x00, 0x1B), 0x001B, REPORT_ID_KEYBOARD_KEYS }, /* X */ | ||
{ KEY_ID(0x00, 0x1C), 0x001C, REPORT_ID_KEYBOARD_KEYS }, /* Y */ | ||
{ KEY_ID(0x00, 0x1D), 0x001D, REPORT_ID_KEYBOARD_KEYS }, /* Z */ | ||
|
||
{ KEY_ID(0x00, 0x2C), 0x002C, REPORT_ID_KEYBOARD_KEYS }, /* spacebar */ | ||
}; |
10 changes: 10 additions & 0 deletions
10
applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/images/mcuboot/app.overlay
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
/* | ||
* Copyright (c) 2025 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
/* Application does not use cpuflpr core. Assign whole RRAM to cpuapp. */ | ||
&cpuapp_rram { | ||
reg = < 0x0 DT_SIZE_K(1022) >; | ||
}; |
3 changes: 3 additions & 0 deletions
3
...s/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/images/mcuboot/mcuboot_private.pem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
-----BEGIN PRIVATE KEY----- | ||
MC4CAQAwBQYDK2VwBCIEICxK09VLg3mY0uIQ62fgaMuz1qjOfxMt+XnWxwPCwkFX | ||
-----END PRIVATE KEY----- |
3 changes: 3 additions & 0 deletions
3
...top/configuration/nrf54l15dk_nrf54l10_cpuapp/images/mcuboot/mcuboot_private_fast_pair.pem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
-----BEGIN PRIVATE KEY----- | ||
MC4CAQAwBQYDK2VwBCIEIImWgCnsM8sTv2qWYujZjhofdi6OtjD7SuVksrCHztRP | ||
-----END PRIVATE KEY----- |
Oops, something went wrong.