diff --git a/samples/bluetooth/peripheral_rscs/CMakeLists.txt b/samples/bluetooth/peripheral_rscs/CMakeLists.txt index e3f252ee830d..90eb51ef3c98 100644 --- a/samples/bluetooth/peripheral_rscs/CMakeLists.txt +++ b/samples/bluetooth/peripheral_rscs/CMakeLists.txt @@ -11,5 +11,6 @@ project(NONE) # NORDIC SDK APP START target_sources(app PRIVATE src/main.c + src/my_periphconf.c ) # NORDIC SDK APP END diff --git a/samples/bluetooth/peripheral_rscs/boards/nrf54h20dk_nrf54h20_cpuapp.overlay b/samples/bluetooth/peripheral_rscs/boards/nrf54h20dk_nrf54h20_cpuapp.overlay new file mode 100644 index 000000000000..08a4f3d0da60 --- /dev/null +++ b/samples/bluetooth/peripheral_rscs/boards/nrf54h20dk_nrf54h20_cpuapp.overlay @@ -0,0 +1,14 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +/delete-node/ &canpll; +/delete-node/ &can120; + +/ { + chosen { + /delete-property/ zephyr,canbus; + }; +}; diff --git a/samples/bluetooth/peripheral_rscs/boards/nrf54h20dk_nrf54h20_cpuapp_iron.overlay b/samples/bluetooth/peripheral_rscs/boards/nrf54h20dk_nrf54h20_cpuapp_iron.overlay new file mode 100644 index 000000000000..08a4f3d0da60 --- /dev/null +++ b/samples/bluetooth/peripheral_rscs/boards/nrf54h20dk_nrf54h20_cpuapp_iron.overlay @@ -0,0 +1,14 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +/delete-node/ &canpll; +/delete-node/ &can120; + +/ { + chosen { + /delete-property/ zephyr,canbus; + }; +}; diff --git a/samples/bluetooth/peripheral_rscs/sample.yaml b/samples/bluetooth/peripheral_rscs/sample.yaml index 94d61c7d638b..43df98ebbf23 100644 --- a/samples/bluetooth/peripheral_rscs/sample.yaml +++ b/samples/bluetooth/peripheral_rscs/sample.yaml @@ -15,6 +15,7 @@ tests: - nrf54l15dk/nrf54l10/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpuapp/iron platform_allow: - nrf52dk/nrf52832 - nrf52840dk/nrf52840 @@ -25,6 +26,7 @@ tests: - nrf54l15dk/nrf54l10/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpuapp/iron tags: - bluetooth - ci_build diff --git a/samples/bluetooth/peripheral_rscs/src/my_periphconf.c b/samples/bluetooth/peripheral_rscs/src/my_periphconf.c new file mode 100644 index 000000000000..1e1f77dd8b1a --- /dev/null +++ b/samples/bluetooth/peripheral_rscs/src/my_periphconf.c @@ -0,0 +1,85 @@ +#include + +/* gpio6 pin 0: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 0, 4); +/* gpio6 pin 2: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 2, 4); +/* gpio6 pin 3: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 3, 4); +/* gpio6 pin 4: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 4, 4); +/* gpio6 pin 5: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 5, 4); +/* gpio6 pin 6: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 6, 4); +/* gpio6 pin 7: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 7, 4); +/* gpio6 pin 8: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 8, 4); +/* gpio6 pin 9: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 9, 4); +/* gpio6 pin 10: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 10, 4); +/* gpio6 pin 11: CTRLSEL = 4*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938c00UL, 11, 4); +/* gpio9 pin 0: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f939200UL, 0, 0); +/* gpio9 pin 1: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f939200UL, 1, 0); +/* gpio9 pin 2: CTRLSEL = 2*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f939200UL, 2, 2); +/* gpio9 pin 3: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f939200UL, 3, 0); +/* gpio2 pin 4: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938400UL, 4, 0); +/* gpio2 pin 5: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938400UL, 5, 0); +/* gpio2 pin 6: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938400UL, 6, 0); +/* gpio2 pin 7: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938400UL, 7, 0); +/* gpio0 pin 8: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938000UL, 8, 0); +/* gpio0 pin 9: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938000UL, 9, 0); +/* gpio0 pin 10: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938000UL, 10, 0); +/* gpio0 pin 11: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938000UL, 11, 0); +/* gpio1 pin 7: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938200UL, 7, 0); +/* gpio1 pin 9: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938200UL, 9, 0); +/* gpio1 pin 10: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938200UL, 10, 0); +/* gpio1 pin 11: CTRLSEL = 0*/ +UICR_GPIO_PIN_CNF_CTRLSEL_SET(0x5f938200UL, 11, 0); +/* usbhs IRQ => APPLICATION */ +UICR_IRQMAP_IRQ_SINK_SET(NRFX_IRQ_NUMBER_GET(0x5f086000UL), NRF_PROCESSOR_APPLICATION); +/* exmif IRQ => APPLICATION */ +UICR_IRQMAP_IRQ_SINK_SET(NRFX_IRQ_NUMBER_GET(0x5f095000UL), NRF_PROCESSOR_APPLICATION); +/* adc IRQ => APPLICATION */ +UICR_IRQMAP_IRQ_SINK_SET(NRFX_IRQ_NUMBER_GET(0x5f982000UL), NRF_PROCESSOR_APPLICATION); +/* nfct IRQ => APPLICATION */ +UICR_IRQMAP_IRQ_SINK_SET(NRFX_IRQ_NUMBER_GET(0x5f985000UL), NRF_PROCESSOR_APPLICATION); +/* pwm130 IRQ => APPLICATION */ +UICR_IRQMAP_IRQ_SINK_SET(NRFX_IRQ_NUMBER_GET(0x5f9a4000UL), NRF_PROCESSOR_APPLICATION); +/* uart136 IRQ => APPLICATION */ +UICR_IRQMAP_IRQ_SINK_SET(NRFX_IRQ_NUMBER_GET(0x5f9d5000UL), NRF_PROCESSOR_APPLICATION); +/* uart135 IRQ => RADIOCORE */ +UICR_IRQMAP_IRQ_SINK_SET(NRFX_IRQ_NUMBER_GET(0x5f9c6000UL), NRF_PROCESSOR_RADIOCORE); +/* RADIOCORE IPCT ch. 2 => GLOBALSLOW IPCT ch. 2 */ +UICR_IPCMAP_CHANNEL_CFG(0, NRF_DOMAIN_RADIOCORE, 2, NRF_DOMAIN_GLOBALSLOW, 2); +/* GLOBALSLOW IPCT ch. 0 => RADIOCORE IPCT ch. 0 */ +UICR_IPCMAP_CHANNEL_CFG(1, NRF_DOMAIN_GLOBALSLOW, 0, NRF_DOMAIN_RADIOCORE, 0); +/* GLOBALSLOW IPCT ch. 2 => RADIOCORE IPCT ch. 2 */ +UICR_IPCMAP_CHANNEL_CFG(2, NRF_DOMAIN_GLOBALSLOW, 2, NRF_DOMAIN_RADIOCORE, 2); +/* PPIB133 ch. 0 => PPIB130 ch. 8 */ +UICR_PPIB_SUBSCRIBE_SEND_ENABLE(0x5f99d000UL, 0); +UICR_PPIB_PUBLISH_RECEIVE_ENABLE(0x5f925000UL, 8); +/* PPIB133 ch. 2 => PPIB130 ch. 10 */ +UICR_PPIB_SUBSCRIBE_SEND_ENABLE(0x5f99d000UL, 2); +UICR_PPIB_PUBLISH_RECEIVE_ENABLE(0x5f925000UL, 10); +/* PPIB130 ch. 11 => PPIB133 ch. 3 */ +UICR_PPIB_SUBSCRIBE_SEND_ENABLE(0x5f925000UL, 11); +UICR_PPIB_PUBLISH_RECEIVE_ENABLE(0x5f99d000UL, 3); \ No newline at end of file diff --git a/sysbuild/Kconfig.netcore b/sysbuild/Kconfig.netcore index baf59c038af6..dcd7e158e39c 100644 --- a/sysbuild/Kconfig.netcore +++ b/sysbuild/Kconfig.netcore @@ -18,6 +18,7 @@ config SUPPORT_NETCORE config NETCORE_REMOTE_BOARD_TARGET_CPUCLUSTER string default "cpunet" if SOC_NRF5340_CPUAPP + default "cpurad/iron" if SOC_NRF54H20_IRON default "cpurad" if SOC_NRF54H20_CPUAPP config NETCORE_REMOTE_DOMAIN diff --git a/west.yml b/west.yml index 08c1ffe4b0dd..bddf41db6fbc 100644 --- a/west.yml +++ b/west.yml @@ -65,7 +65,7 @@ manifest: # https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/modules.html - name: zephyr repo-path: sdk-zephyr - revision: c3a2b100f1b98a5164e0d5462c9b2c741ba6d5e2 + revision: pull/2959/head import: # In addition to the zephyr repository itself, NCS also # imports the contents of zephyr/west.yml at the above