diff --git a/hw/bsp/nordic_pca10121/boot-nrf5340.ld b/hw/bsp/nordic_pca10121/boot-nrf5340.ld index 1d60514633..839b1ef26b 100644 --- a/hw/bsp/nordic_pca10121/boot-nrf5340.ld +++ b/hw/bsp/nordic_pca10121/boot-nrf5340.ld @@ -20,6 +20,8 @@ MEMORY { FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x8000 RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x80000 + sram_ipc0_tx (rw) : ORIGIN = 0x20070000, LENGTH = 0x4000 + sram_ipc0_rx (rw) : ORIGIN = 0x20074000, LENGTH = 0x4000 } /* The bootloader does not contain an image header */ diff --git a/hw/bsp/nordic_pca10121/net/boot-nrf5340_net.ld b/hw/bsp/nordic_pca10121/net/boot-nrf5340_net.ld index 8a2a152fca..629cbb360a 100644 --- a/hw/bsp/nordic_pca10121/net/boot-nrf5340_net.ld +++ b/hw/bsp/nordic_pca10121/net/boot-nrf5340_net.ld @@ -21,6 +21,8 @@ MEMORY FLASH (rx) : ORIGIN = 0x01000000, LENGTH = 0x4000 RAM (rwx) : ORIGIN = 0x21000000, LENGTH = 0x10000 IPC (rw) : ORIGIN = 0x20000400, LENGTH = 0x400 + sram_ipc0_tx (rw) : ORIGIN = 0x20070000, LENGTH = 0x4000 + sram_ipc0_rx (rw) : ORIGIN = 0x20074000, LENGTH = 0x4000 } /* The bootloader does not contain an image header */ diff --git a/hw/bsp/nordic_pca10121/net/nrf5340_net.ld b/hw/bsp/nordic_pca10121/net/nrf5340_net.ld index 91bfe1c497..b28ab837ff 100644 --- a/hw/bsp/nordic_pca10121/net/nrf5340_net.ld +++ b/hw/bsp/nordic_pca10121/net/nrf5340_net.ld @@ -21,6 +21,8 @@ MEMORY FLASH (rx) : ORIGIN = 0x01008000, LENGTH = 0x30000 RAM (rwx) : ORIGIN = 0x21000000, LENGTH = 0x10000 IPC (rw) : ORIGIN = 0x20000400, LENGTH = 0x400 + sram_ipc0_tx (rw) : ORIGIN = 0x20070000, LENGTH = 0x4000 + sram_ipc0_rx (rw) : ORIGIN = 0x20074000, LENGTH = 0x4000 } /* This linker script is used for images and thus contains an image header */ diff --git a/hw/bsp/nordic_pca10121/net/pkg.yml b/hw/bsp/nordic_pca10121/net/pkg.yml index 13aff8c3da..07aa8973e0 100644 --- a/hw/bsp/nordic_pca10121/net/pkg.yml +++ b/hw/bsp/nordic_pca10121/net/pkg.yml @@ -34,5 +34,7 @@ pkg.deps: - "@apache-mynewt-core/hw/scripts" - "@apache-mynewt-core/hw/mcu/nordic/nrf5340_net" - "@apache-mynewt-core/libc" + +pkg.deps.'BLE_TRANSPORT == 1 && BLE_TRANSPORT_HS != "ipc"': - "@apache-mynewt-core/sys/flash_map" - "@apache-mynewt-core/hw/drivers/flash/ipc_nrf5340_flash" diff --git a/hw/bsp/nordic_pca10121/net/syscfg.yml b/hw/bsp/nordic_pca10121/net/syscfg.yml index 9179b2e96c..f36fa9e74f 100644 --- a/hw/bsp/nordic_pca10121/net/syscfg.yml +++ b/hw/bsp/nordic_pca10121/net/syscfg.yml @@ -84,3 +84,16 @@ syscfg.vals.BLE_CONTROLLER: syscfg.vals.BLE_TRANSPORT: BLE_TRANSPORT_HS: nrf5340 + +syscfg.vals.'BLE_TRANSPORT_HS=="ipc" || BLE_TRANSPORT_IPC_BACKEND=="icbmsg"': + # The APP core have the same values but switched directions + BLE_TRANSPORT_IPC_TX_CHANNEL: 1 + BLE_TRANSPORT_IPC_RX_CHANNEL: 0 + IPC_SYNC_TX_CHANNEL: 1 + IPC_SYNC_RX_CHANNEL: 0 + IPC_ICBMSG_TX_REGION_NAME: "\".ipc0_rx\"" + IPC_ICBMSG_RX_REGION_NAME: "\".ipc0_tx\"" + IPC_ICBMSG_NUM_TX_BLOCKS: 24 + IPC_ICBMSG_NUM_RX_BLOCKS: 16 + IPC_ICBMSG_TX_REGION_SIZE: 0x4000 + IPC_ICBMSG_RX_REGION_SIZE: 0x4000 diff --git a/hw/bsp/nordic_pca10121/nrf5340.ld b/hw/bsp/nordic_pca10121/nrf5340.ld index 6ee5122a54..82e41d1cad 100644 --- a/hw/bsp/nordic_pca10121/nrf5340.ld +++ b/hw/bsp/nordic_pca10121/nrf5340.ld @@ -20,6 +20,8 @@ MEMORY { FLASH (rx) : ORIGIN = 0x0000c000, LENGTH = 0x76000 RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x80000 + sram_ipc0_tx (rw) : ORIGIN = 0x20070000, LENGTH = 0x4000 + sram_ipc0_rx (rw) : ORIGIN = 0x20074000, LENGTH = 0x4000 } /* This linker script is used for images and thus contains an image header */ diff --git a/hw/bsp/nordic_pca10121/syscfg.yml b/hw/bsp/nordic_pca10121/syscfg.yml index 64a48ec60d..82700c4ada 100644 --- a/hw/bsp/nordic_pca10121/syscfg.yml +++ b/hw/bsp/nordic_pca10121/syscfg.yml @@ -112,12 +112,30 @@ syscfg.vals.BLE_TRANSPORT: BLE_TRANSPORT_LL: nrf5340 syscfg.vals.BSP_NRF5340_NET_ENABLE: - BSP_NRF5340_NET_FLASH_ENABLE: 1 BLE_HCI_VS: 1 +syscfg.vals.'BSP_NRF5340_NET_ENABLE && BLE_TRANSPORT_LL != "ipc"': + BSP_NRF5340_NET_FLASH_ENABLE: 1 + syscfg.vals.BSP_NRF5340_NET_FLASH_ENABLE: IPC_NRF5340_CHANNELS: 4 +syscfg.vals.IPC_NRF5340_FLASH_CLIENT: + HAL_FLASH_MAX_DEVICE_COUNT: 3 + +syscfg.vals.'BLE_TRANSPORT_LL=="ipc" || BLE_TRANSPORT_IPC_BACKEND=="icbmsg"': + # The APP core have the same values but switched directions + BLE_TRANSPORT_IPC_TX_CHANNEL: 0 + BLE_TRANSPORT_IPC_RX_CHANNEL: 1 + IPC_SYNC_TX_CHANNEL: 0 + IPC_SYNC_RX_CHANNEL: 1 + IPC_ICBMSG_TX_REGION_NAME: "\".ipc0_tx\"" + IPC_ICBMSG_RX_REGION_NAME: "\".ipc0_rx\"" + IPC_ICBMSG_NUM_TX_BLOCKS: 16 + IPC_ICBMSG_NUM_RX_BLOCKS: 24 + IPC_ICBMSG_TX_REGION_SIZE: 0x4000 + IPC_ICBMSG_RX_REGION_SIZE: 0x4000 + syscfg.restrictions.BSP_NRF5340_NET_FLASH_ENABLE: - 'IPC_NRF5340_CHANNELS >= 4'