Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Aliro standardizes the interaction that lets a phone or wearable act as a digita

## Getting started

To get started with the nRF Door Lock and Access Control Add-on, follow the [documentation](https://docs.nordicsemi.com/bundle/door_lock_and_access_control_1.0.0/page/index.html).
To get started with the nRF Door Lock and Access Control Add-on, follow the [documentation](https://docs.nordicsemi.com/bundle/aliro_1.0.0/page/index.html).

## License

Expand Down
13 changes: 11 additions & 2 deletions app/Kconfig.defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ config MBEDTLS_PSA_CRYPTO_STORAGE_C
default y

choice TRUSTED_STORAGE_BACKEND_AEAD_KEY
default TRUSTED_STORAGE_BACKEND_AEAD_KEY_HASH_UID if SOC_SERIES_NRF52X
default TRUSTED_STORAGE_BACKEND_AEAD_KEY_HASH_UID if SOC_SERIES_NRF52
default TRUSTED_STORAGE_BACKEND_AEAD_KEY_DERIVE_FROM_HUK
endchoice

config HW_UNIQUE_KEY_WRITE_ON_CRYPTO_INIT
default y if (SOC_NRF5340_CPUAPP || SOC_SERIES_NRF54LX)
default y if (SOC_NRF5340_CPUAPP || SOC_SERIES_NRF54L)

# required by Aliro persistent storage
config FLASH
Expand Down Expand Up @@ -90,3 +90,12 @@ config SYSTEM_WORKQUEUE_STACK_SIZE
default 2048

endif # !CHIP

config DOOR_LOCK_ALIRO_CRYPTO_UTILS
default y

config DOOR_LOCK_SETTINGS_UTILS
default y

config DOOR_LOCK_ALIRO_WORKQUEUE
default y
12 changes: 6 additions & 6 deletions app/Kconfig.sysbuild
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ config NRF_DEFAULT_IPC_RADIO
# Enable Bluetooth serialization to network core
# This config automatically pulls in the `overlay-bt_hci_ipc.conf` in the ipc_radio image
config NETCORE_IPC_RADIO_BT_HCI_IPC
default y if SOC_SERIES_NRF53X
default y if SOC_SERIES_NRF53

#### Bootloader
choice BOOTLOADER
Expand All @@ -31,7 +31,7 @@ endchoice
config PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY
default y

if SOC_SERIES_NRF53X
if SOC_SERIES_NRF53

config SECURE_BOOT_NETCORE
default y
Expand All @@ -42,7 +42,7 @@ config NETCORE_APP_UPDATE
config MCUBOOT_NRF53_MULTI_IMAGE_UPDATE
default y

endif # SOC_SERIES_NRF53X
endif # SOC_SERIES_NRF53

endif # BOOTLOADER_MCUBOOT

Expand All @@ -54,7 +54,7 @@ config WIFI_NRF70
# Enable IEEE802.15.4 serialization to network core
# This config automatically pulls in the `overlay-802154.conf` in the ipc_radio image
config NETCORE_IPC_RADIO_IEEE802154
default y if SOC_SERIES_NRF53X && !WIFI_NRF70
default y if SOC_SERIES_NRF53 && !WIFI_NRF70

if BOOTLOADER_MCUBOOT

Expand All @@ -66,12 +66,12 @@ config DFU_MULTI_IMAGE_PACKAGE_APP
default y

#### DFU network core configuration
if SOC_SERIES_NRF53X
if SOC_SERIES_NRF53

config DFU_MULTI_IMAGE_PACKAGE_NET
default y

endif # SOC_SERIES_NRF53X
endif # SOC_SERIES_NRF53

if BOARD_NRF54L15DK || BOARD_NRF54LM20DK

Expand Down
11 changes: 7 additions & 4 deletions app/boards/nrf52840dk_nrf52840.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@
spi0_default_alt: spi0_default_alt {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 15)>,
<NRF_PSEL(SPIM_MOSI, 1, 13)>,
<NRF_PSEL(SPIM_MISO, 1, 14)>;
<NRF_PSEL(SPIM_MOSI, 1, 13)>,
<NRF_PSEL(SPIM_MISO, 1, 14)>;
};
};

spi0_sleep_alt: spi0_sleep_alt {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 15)>,
<NRF_PSEL(SPIM_MOSI, 1, 13)>,
<NRF_PSEL(SPIM_MISO, 1, 14)>;
<NRF_PSEL(SPIM_MOSI, 1, 13)>,
<NRF_PSEL(SPIM_MISO, 1, 14)>;
low-power-enable;
};
};
Expand All @@ -31,10 +31,13 @@
pinctrl-0 = <&spi0_default_alt>;
pinctrl-1 = <&spi0_sleep_alt>;
pinctrl-names = "default", "sleep";

nucleo_nfc@0 {
compatible = "x-nucleo-nfc";
reg = <0>;
spi-max-frequency = <DT_FREQ_M(8)>;
spi-cs-setup-delay-ns = <1000>;
spi-cs-hold-delay-ns = <1000>;
irq-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio1 10 (GPIO_ACTIVE_LOW | GPIO_PULL_DOWN)>;
};
Expand Down
1 change: 0 additions & 1 deletion app/boards/nrf52840dk_nrf52840_release.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,3 @@
&usbd {
status = "disabled";
};

12 changes: 7 additions & 5 deletions app/boards/nrf5340dk_nrf5340_cpuapp.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,19 @@
spi1_default_alt: spi1_default_alt {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 15)>,
<NRF_PSEL(SPIM_MOSI, 1, 13)>,
<NRF_PSEL(SPIM_MISO, 1, 14)>;
<NRF_PSEL(SPIM_MOSI, 1, 13)>,
<NRF_PSEL(SPIM_MISO, 1, 14)>;
};
};

spi1_sleep_alt: spi1_sleep_alt {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 15)>,
<NRF_PSEL(SPIM_MOSI, 1, 13)>,
<NRF_PSEL(SPIM_MISO, 1, 14)>;
<NRF_PSEL(SPIM_MOSI, 1, 13)>,
<NRF_PSEL(SPIM_MISO, 1, 14)>;
low-power-enable;
};
};

};

&spi1 {
Expand All @@ -42,10 +41,13 @@
pinctrl-0 = <&spi1_default_alt>;
pinctrl-1 = <&spi1_sleep_alt>;
pinctrl-names = "default", "sleep";

nucleo_nfc@0 {
compatible = "x-nucleo-nfc";
reg = <0>;
spi-max-frequency = <DT_FREQ_M(8)>;
spi-cs-setup-delay-ns = <1000>;
spi-cs-hold-delay-ns = <1000>;
irq-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio1 10 (GPIO_ACTIVE_LOW | GPIO_PULL_DOWN)>;
};
Expand Down
1 change: 0 additions & 1 deletion app/boards/nrf5340dk_nrf5340_cpuapp_release.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,3 @@
&spi4 {
status = "disabled";
};

16 changes: 10 additions & 6 deletions app/boards/nrf54l15dk_nrf54l15_cpuapp.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@

/ {
/* Disable buttons to avoid collision with interrupt and SCK pins for NFC tag reader.
It also allows to use the button with the same label (1) on all supported dev kits. */
* It also allows to use the button with the same label (1) on all supported dev kits.
*/
buttons {
/delete-node/ button_0;
/delete-node/ button_3;
Expand All @@ -28,7 +29,7 @@
nfc_power_switch: nfc_power_switch {
status = "okay";
compatible = "nfc-power-control";
gpios = <&gpio2 6 ( GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN )>;
gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
};

chosen {
Expand All @@ -40,16 +41,16 @@
spi21_default: spi21_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
<NRF_PSEL(SPIM_MOSI, 1, 11)>,
<NRF_PSEL(SPIM_MISO, 1, 12)>;
<NRF_PSEL(SPIM_MOSI, 1, 11)>,
<NRF_PSEL(SPIM_MISO, 1, 12)>;
};
};

spi21_sleep: spi21_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
<NRF_PSEL(SPIM_MOSI, 1, 11)>,
<NRF_PSEL(SPIM_MISO, 1, 12)>;
<NRF_PSEL(SPIM_MOSI, 1, 11)>,
<NRF_PSEL(SPIM_MISO, 1, 12)>;
low-power-enable;
};
};
Expand All @@ -63,10 +64,13 @@
pinctrl-0 = <&spi21_default>;
pinctrl-1 = <&spi21_sleep>;
pinctrl-names = "default", "sleep";

nucleo_nfc@0 {
compatible = "x-nucleo-nfc";
reg = <0>;
spi-max-frequency = <DT_FREQ_M(8)>;
spi-cs-setup-delay-ns = <1000>;
spi-cs-hold-delay-ns = <1000>;
irq-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
};
};
Expand Down
1 change: 0 additions & 1 deletion app/boards/nrf54l15dk_nrf54l15_cpuapp_release.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,3 @@
&spi22 {
status = "disabled";
};

24 changes: 16 additions & 8 deletions app/boards/nrf54lm20dk_nrf54lm20a_cpuapp.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@
spi21_default: spi21_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
<NRF_PSEL(SPIM_MOSI, 1, 11)>,
<NRF_PSEL(SPIM_MISO, 1, 12)>;
<NRF_PSEL(SPIM_MOSI, 1, 11)>,
<NRF_PSEL(SPIM_MISO, 1, 12)>;
};
};

spi21_sleep: spi21_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 1, 13)>,
<NRF_PSEL(SPIM_MOSI, 1, 11)>,
<NRF_PSEL(SPIM_MISO, 1, 12)>;
<NRF_PSEL(SPIM_MOSI, 1, 11)>,
<NRF_PSEL(SPIM_MISO, 1, 12)>;
low-power-enable;
};
};
Expand All @@ -31,18 +31,21 @@
pinctrl-0 = <&spi21_default>;
pinctrl-1 = <&spi21_sleep>;
pinctrl-names = "default", "sleep";

nucleo_nfc@0 {
compatible = "x-nucleo-nfc";
reg = <0>;
spi-max-frequency = <DT_FREQ_M(8)>;
spi-cs-setup-delay-ns = <1000>;
spi-cs-hold-delay-ns = <1000>;
irq-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
};
};

/ {

/* Disable button0 to align with the nRF54L15DK.
It also allows to use the button with the same label (1) on all supported dev kits. */
* It also allows to use the button with the same label (1) on all supported dev kits.
*/
buttons {
/delete-node/ button_0;
};
Expand All @@ -51,7 +54,6 @@
/delete-node/ led_0;
};


aliases {
/delete-property/ sw0;
/delete-property/ led0;
Expand All @@ -63,7 +65,6 @@
chosen {
nordic,pm-ext-flash = &mx25r64;
};

};

&gpio0 {
Expand All @@ -74,6 +75,13 @@
status = "okay";
};

&rram_controller {
cpuapp_rram: rram@0 {
reg = <0x0 DT_SIZE_K(2036)>;
ranges = <0x0 0x0 DT_SIZE_K(2036)>;
};
};

&mx25r64 {
status = "okay";
};
Expand Down
1 change: 0 additions & 1 deletion app/boards/nrf54lm20dk_nrf54lm20a_cpuapp_release.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,3 @@
&spi22 {
status = "disabled";
};

6 changes: 3 additions & 3 deletions app/prj.conf
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ CONFIG_SHELL_BACKEND_SERIAL_TX_RING_BUFFER_SIZE=1024
# Adjust logs queue size
CONFIG_SHELL_BACKEND_SERIAL_LOG_MESSAGE_QUEUE_SIZE=2048

# Workaournd for Murata issue:
# https://github.com/csa-access-control/aliro-actuator/issues/114
# Workaround for Murata issue:
# https://github.com/aliro-access-control/aliro-actuator/issues/114
CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS=n

# Override default values to match Aliro requirements for APDU message sizes.
Expand Down Expand Up @@ -85,4 +85,4 @@ CONFIG_PM_DEVICE_RUNTIME=y
# Try to disable unused RAM blocks to reduce power consumption
CONFIG_RAM_POWER_DOWN_LIBRARY=y

CONFIG_LOCK_MAX_CREDENTIAL_LENGTH=65
CONFIG_DOOR_LOCK_MATTER_ACCESS_MAX_CREDENTIAL_LENGTH=65
5 changes: 3 additions & 2 deletions app/prj_release.conf
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ CONFIG_LOG=n
CONFIG_USE_SEGGER_RTT=n

# Workaround for Murata issue:
# https://github.com/csa-access-control/aliro-actuator/issues/114
# https://github.com/aliro-access-control/aliro-actuator/issues/114
CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS=n

# Override default values to match Aliro requirements for APDU message sizes.
Expand All @@ -52,7 +52,7 @@ CONFIG_PM_DEVICE=y
# Try to disable unused RAM blocks to reduce power consumption
CONFIG_RAM_POWER_DOWN_LIBRARY=y

CONFIG_LOCK_MAX_CREDENTIAL_LENGTH=65
CONFIG_DOOR_LOCK_MATTER_ACCESS_MAX_CREDENTIAL_LENGTH=65

CONFIG_ASSERT=n
CONFIG_ASSERT_VERBOSE=n
Expand All @@ -65,6 +65,7 @@ CONFIG_SERIAL=n
CONFIG_SHELL=n
CONFIG_NCS_SAMPLE_MATTER_TEST_SHELL=n
CONFIG_LOG_MODE_MINIMAL=n
CONFIG_SHELL_STACK_SIZE=4096

CONFIG_THREAD_NAME=n
CONFIG_BOOT_BANNER=n
Expand Down
8 changes: 4 additions & 4 deletions app/sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,13 @@ tests:
- CONFIG_DOOR_LOCK_STEP_UP_PHASE=y
- CONFIG_DOOR_LOCK_CREDENTIAL_ISSUER_CA=y
- CONFIG_DOOR_LOCK_READER_CERTIFICATE=y
smoke.door_lock.nfc-ble-uwb.matter-exp_fast-step_up:
platform_allow: *id001
integration_platforms: *id001
smoke.door_lock.nfc-ble-uwb.dfu_smp-matter-exp_fast-step_up:
platform_allow: *id002
integration_platforms: *id002
extra_args:
- app_SNIPPET="uwb_qm35"
- SNIPPET=matter
- CONFIG_DFU_SMP_LOG_LEVEL_DBG=y
- CONFIG_CHIP_DFU_OVER_BT_SMP=y
- CONFIG_DOOR_LOCK_EXPEDITED_FAST_PHASE=y
- CONFIG_DOOR_LOCK_STEP_UP_PHASE=y
smoke.door_lock.nfc-ble-uwb:
Expand Down
13 changes: 13 additions & 0 deletions app/schedules_nfc.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#
# Copyright (c) 2026 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# Switch the zap file path
CONFIG_NCS_SAMPLE_MATTER_ZAP_FILE_PATH="${APPLICATION_CONFIG_DIR}/src/matter/zap_nfc_schedules/lock.zap"

# Enable schedules and read client configuration
CONFIG_DOOR_LOCK_MATTER_ACCESS_SCHEDULES=y
CONFIG_DOOR_LOCK_MATTER_ACCESS_DEBUG=y
CONFIG_CHIP_ENABLE_READ_CLIENT=y
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#
# Copyright (c) 2025 Nordic Semiconductor ASA
# Copyright (c) 2026 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# Switch the zap file path
CONFIG_NCS_SAMPLE_MATTER_ZAP_FILE_PATH="${APPLICATION_CONFIG_DIR}/snippets/schedules/lock.zap"
CONFIG_NCS_SAMPLE_MATTER_ZAP_FILE_PATH="${APPLICATION_CONFIG_DIR}/src/matter/zap_uwb_schedules/lock.zap"

# Enable schedules and read client configuration
CONFIG_LOCK_SCHEDULES=y
Expand Down
Loading
Loading