Skip to content

Commit 1b2abb0

Browse files
SebastianBoerlubos
authored andcommitted
nrf_security: 54h20: ironside SE PSA Crypto support
Provide support for PSA crypto services based on ironside SE. Ref: NCSDK-32163 Signed-off-by: Sebastian Bøe <[email protected]>
1 parent 2a7b681 commit 1b2abb0

22 files changed

+662
-4
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
#ifndef __SDFW_PSA_IPC_SERVICE_H__
8+
#define __SDFW_PSA_IPC_SERVICE_H__
9+
10+
/*
11+
* This header contains symbols that are used by both the IRONside SE client
12+
* and the IRONside SE service.
13+
*/
14+
enum {
15+
IRONSIDE_SE_IPC_INDEX_HANDLE,
16+
IRONSIDE_SE_IPC_INDEX_IN_VEC,
17+
IRONSIDE_SE_IPC_INDEX_IN_LEN,
18+
IRONSIDE_SE_IPC_INDEX_OUT_VEC,
19+
IRONSIDE_SE_IPC_INDEX_OUT_LEN,
20+
IRONSIDE_SE_IPC_INDEX_STATUS_PTR,
21+
/* The last enum value is reserved for the size of the IPC buffer */
22+
IRONSIDE_SE_IPC_DATA_LEN
23+
};
24+
25+
/* We are adding the source files for the TF-M crypto partition to the build.
26+
*
27+
* The crypto partition will include the file psa_manifest/sid.h and
28+
* expect the below three symbols to be there.
29+
*
30+
* In a TF-M build, the TF-M build system will generate
31+
* psa_manifest/sid.h based on each partitions manifest.
32+
*
33+
* See https://trustedfirmware-m.readthedocs.io/
34+
* en/latest/integration_guide/services/tfm_secure_partition_addition.html
35+
*
36+
* for an example of a partition manifest.
37+
*/
38+
#define TFM_CRYPTO_SID (0x00000080U)
39+
#define TFM_CRYPTO_VERSION (1U)
40+
#define TFM_CRYPTO_HANDLE (0x40000100U)
41+
42+
#endif /* __SDFW_PSA_IPC_SERVICE_H__ */
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#
2+
# Copyright (c) 2024 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
# Disable Oberon PSA crypto drivers
8+
CONFIG_PSA_CRYPTO_DRIVER_OBERON=n
9+
10+
# Enable PSA crypto from SSF client
11+
CONFIG_PSA_SSF_CRYPTO_CLIENT=y
12+
CONFIG_SSF_PSA_CRYPTO_SERVICE_ENABLED=y
13+
14+
# Mbedtls configuration
15+
CONFIG_MBEDTLS_ENABLE_HEAP=y
16+
CONFIG_MBEDTLS_HEAP_SIZE=8192
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
&cpusec_cpuapp_ipc {
8+
status = "okay";
9+
};
10+
11+
&cpuapp_ram0x_region {
12+
status = "okay";
13+
};
14+
15+
&cpusec_bellboard {
16+
status = "okay";
17+
};
18+
19+
&cpuapp_bellboard {
20+
status = "okay";
21+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#
2+
# Copyright (c) 2024 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
# Disable Oberon PSA crypto drivers
8+
CONFIG_PSA_CRYPTO_DRIVER_OBERON=n
9+
10+
# Enable PSA crypto from SSF client
11+
CONFIG_PSA_SSF_CRYPTO_CLIENT=y
12+
CONFIG_SSF_PSA_CRYPTO_SERVICE_ENABLED=y
13+
14+
# Mbedtls configuration
15+
CONFIG_MBEDTLS_ENABLE_HEAP=y
16+
CONFIG_MBEDTLS_HEAP_SIZE=8192
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
&cpusec_cpuapp_ipc {
8+
status = "okay";
9+
};
10+
11+
&cpuapp_ram0x_region {
12+
status = "okay";
13+
};
14+
15+
&cpusec_bellboard {
16+
status = "okay";
17+
};
18+
19+
&cpuapp_bellboard {
20+
status = "okay";
21+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#
2+
# Copyright (c) 2024 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
# Disable Oberon PSA crypto drivers
8+
CONFIG_PSA_CRYPTO_DRIVER_OBERON=n
9+
10+
# Enable PSA crypto from SSF client
11+
CONFIG_PSA_SSF_CRYPTO_CLIENT=y
12+
CONFIG_SSF_PSA_CRYPTO_SERVICE_ENABLED=y
13+
14+
# Mbedtls configuration
15+
CONFIG_MBEDTLS_ENABLE_HEAP=y
16+
CONFIG_MBEDTLS_HEAP_SIZE=8192
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
&cpusec_cpuapp_ipc {
8+
status = "okay";
9+
};
10+
11+
&cpuapp_ram0x_region {
12+
status = "okay";
13+
};
14+
15+
&cpusec_bellboard {
16+
status = "okay";
17+
};
18+
19+
&cpuapp_bellboard {
20+
status = "okay";
21+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#
2+
# Copyright (c) 2024 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
# Disable Oberon PSA crypto drivers
8+
CONFIG_PSA_CRYPTO_DRIVER_OBERON=n
9+
10+
# Enable PSA crypto from SSF client
11+
CONFIG_PSA_SSF_CRYPTO_CLIENT=y
12+
CONFIG_SSF_PSA_CRYPTO_SERVICE_ENABLED=y
13+
14+
# Mbedtls configuration
15+
CONFIG_MBEDTLS_ENABLE_HEAP=y
16+
CONFIG_MBEDTLS_HEAP_SIZE=8192
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
&cpusec_cpuapp_ipc {
8+
status = "okay";
9+
};
10+
11+
&cpuapp_ram0x_region {
12+
status = "okay";
13+
};
14+
15+
&cpusec_bellboard {
16+
status = "okay";
17+
};
18+
19+
&cpuapp_bellboard {
20+
status = "okay";
21+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#
2+
# Copyright (c) 2024 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
# Disable Oberon PSA crypto drivers
8+
CONFIG_PSA_CRYPTO_DRIVER_OBERON=n
9+
10+
# Enable PSA crypto from SSF client
11+
CONFIG_PSA_SSF_CRYPTO_CLIENT=y
12+
CONFIG_SSF_PSA_CRYPTO_SERVICE_ENABLED=y
13+
14+
# Mbedtls configuration
15+
CONFIG_MBEDTLS_ENABLE_HEAP=y
16+
CONFIG_MBEDTLS_HEAP_SIZE=8192

0 commit comments

Comments
 (0)