| /* | 
 |  * Copyright (c) 2019, Nordic Semiconductor | 
 |  * | 
 |  * SPDX-License-Identifier: Apache-2.0 | 
 |  */ | 
 |  | 
 | #include <nrfx_ipc.h> | 
 |  | 
 | #define NRFX_IPC_ID_MAX_VALUE	 IPC_CONF_NUM | 
 |  | 
 | /* | 
 |  * Group IPC signals, events and channels into message channels. | 
 |  * Message channels are one-way connections between cores. | 
 |  * | 
 |  * For example Message Channel 0 is configured as TX on core 0 | 
 |  * and as RX on core 1: | 
 |  * | 
 |  * [C0]			    [C1] | 
 |  * SIGNAL0 -> CHANNEL0 -> EVENT0 | 
 |  * | 
 |  * Message Channel 1 is configured as RX on core 0 and as TX | 
 |  * on core 1: | 
 |  * [C0]			    [C1] | 
 |  * EVENT1 <- CHANNEL1 <- SIGNAL1 | 
 |  */ | 
 |  | 
 | #define IPC_EVENT_BIT(idx) \ | 
 | 	((IS_ENABLED(CONFIG_IPM_MSG_CH_##idx##_RX)) << idx) | 
 |  | 
 | #define IPC_EVENT_BITS		\ | 
 | 	(			\ | 
 | 	 IPC_EVENT_BIT(0)  |	\ | 
 | 	 IPC_EVENT_BIT(1)  |	\ | 
 | 	 IPC_EVENT_BIT(2)  |	\ | 
 | 	 IPC_EVENT_BIT(3)  |	\ | 
 | 	 IPC_EVENT_BIT(4)  |	\ | 
 | 	 IPC_EVENT_BIT(5)  |	\ | 
 | 	 IPC_EVENT_BIT(6)  |	\ | 
 | 	 IPC_EVENT_BIT(7)  |	\ | 
 | 	 IPC_EVENT_BIT(8)  |	\ | 
 | 	 IPC_EVENT_BIT(9)  |	\ | 
 | 	 IPC_EVENT_BIT(10) |	\ | 
 | 	 IPC_EVENT_BIT(11) |	\ | 
 | 	 IPC_EVENT_BIT(12) |	\ | 
 | 	 IPC_EVENT_BIT(13) |	\ | 
 | 	 IPC_EVENT_BIT(14) |	\ | 
 | 	 IPC_EVENT_BIT(15)	\ | 
 | 	) | 
 |  | 
 | static const nrfx_ipc_config_t ipc_cfg = { | 
 | 	.send_task_config = { | 
 | 		[0] = BIT(0), | 
 | 		[1] = BIT(1), | 
 | 		[2] = BIT(2), | 
 | 		[3] = BIT(3), | 
 | 		[4] = BIT(4), | 
 | 		[5] = BIT(5), | 
 | 		[6] = BIT(6), | 
 | 		[7] = BIT(7), | 
 | 		[8] = BIT(8), | 
 | 		[9] = BIT(9), | 
 | 		[10] = BIT(10), | 
 | 		[11] = BIT(11), | 
 | 		[12] = BIT(12), | 
 | 		[13] = BIT(13), | 
 | 		[14] = BIT(14), | 
 | 		[15] = BIT(15), | 
 | 	}, | 
 | 	.receive_event_config = { | 
 | 		[0] = BIT(0), | 
 | 		[1] = BIT(1), | 
 | 		[2] = BIT(2), | 
 | 		[3] = BIT(3), | 
 | 		[4] = BIT(4), | 
 | 		[5] = BIT(5), | 
 | 		[6] = BIT(6), | 
 | 		[7] = BIT(7), | 
 | 		[8] = BIT(8), | 
 | 		[9] = BIT(9), | 
 | 		[10] = BIT(10), | 
 | 		[11] = BIT(11), | 
 | 		[12] = BIT(12), | 
 | 		[13] = BIT(13), | 
 | 		[14] = BIT(14), | 
 | 		[15] = BIT(15), | 
 | 	}, | 
 | 	.receive_events_enabled = IPC_EVENT_BITS, | 
 | }; |