Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drivers: mbox: add initial drivers for nRF VEVIF & BELLBOARD #69303

Merged
merged 15 commits into from Mar 5, 2024

Conversation

gmarull
Copy link
Member

@gmarull gmarull commented Feb 21, 2024

Tested with:

west build -b nrf54h20pdk/nrf54h20/cpuapp samples/drivers/mbox -T sample.drivers.mbox.nrf54h20_vevif -p
west build -b nrf54h20pdk/nrf54h20/cpuapp samples/drivers/mbox -T sample.drivers.mbox.nrf54h20_bellboard -p

Pending:

@gmarull gmarull changed the title drivers: mbox: add initial driver for nRF VEVIF drivers: mbox: add initial drivers for nRF VEVIF & BELLBOARD Feb 22, 2024
drivers/mbox/mbox_nrf_bellboard_local.c Outdated Show resolved Hide resolved
Copy link
Contributor

@57300 57300 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just minor comments below.

samples/drivers/mbox/sample.yaml Outdated Show resolved Hide resolved
drivers/mbox/mbox_nrf_bellboard_local.c Outdated Show resolved Hide resolved
@gmarull gmarull marked this pull request as ready for review February 23, 2024 15:31
@gmarull gmarull requested a review from anangl as a code owner February 23, 2024 15:31
@zephyrbot zephyrbot added area: mbox area: RISCV RISCV Architecture (32-bit & 64-bit) area: Samples Samples area: Devicetree platform: nRF Nordic nRFx area: Devicetree Binding PR modifies or adds a Device Tree binding labels Feb 23, 2024
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 14, 2024
Set driver to initialize at early POST_KERNEL, so that we make sure
other future dependencies priorities (eg VEVIF) do not conflict.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 3e8ea343878acabdf163d1a084cef61f8e077ed5)
(cherry picked from commit 851de7e)
(cherry picked from commit 1bcad2f)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 14, 2024
By adding Kconfig options for both samples.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 253593c966f339e7aebbdbbbb8126963f3529ebe)
(cherry picked from commit a170171)
(cherry picked from commit 5529abc)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 14, 2024
This can be useful to provide multiple setups, eg unidirectional
ping-pong.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 5cb43795d8082be70e4a18f90e66c50122f3c293)
(cherry picked from commit 20f4571)
(cherry picked from commit e4189b3)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 14, 2024
- Include cleanup
- s/NET/REMOTE (remote core may have nothing to do with NET)
- Improved error reporting

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit cf67d54ed49d896112a285044a12a28b7dfacff0)
(cherry picked from commit 56cc531)
(cherry picked from commit fdd4cbe)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 14, 2024
Add nodes for APP/RAD BELLBOARD peripherals.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 19dca26c3c2801123b6c4e7e9d7915dba4f4ccce)
(cherry picked from commit 831c6b0)
(cherry picked from commit eadc28b)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 14, 2024
Add a new nodes for PPR's VEVIF. In app cores, VEVIF registers are part
of the VPR peripheral, so it is exposed as a child node (since it
requires its own properties, eg #mbox-cells). In VPR, it's a CPU child
since it's not a memory-mapped peripheral, but used with CSRs.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 901708525cd5fdeabdea78d3272c2639d796c0d0)
(cherry picked from commit 743cc86)
(cherry picked from commit eb64ac1)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 14, 2024
Add IPC shared memory regions in the global RAM, as well as an enlarged
SRAM region for Application core.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
(cherry picked from commit 7a5f20bc041a73d89484607bdf0fb8001bf146f3)
(cherry picked from commit 458185d)
(cherry picked from commit ccbbadf)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 14, 2024
Add `zephyr,ipc-icmsg*` nodes, with mboxes specified in a common file.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Gerard Marull-Partetas <gerard@teslabs.com>
(cherry picked from commit 035adef5768e79f4466e1f74dcd501efc39e2dc2)
(cherry picked from commit 6319eaa)
(cherry picked from commit f256013)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 14, 2024
Add support for nRF VEVIF.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit d40fd1f886666d0d61a7a555439857c5654bec55)
(cherry picked from commit 599986a)
(cherry picked from commit a66f3be)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 14, 2024
Add support for testing BELLBOARD between cpuapp (local) and cpuppr
(remote).

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 54d64e39a00b6ef9383ea46eb79a409e11ccc189)
(cherry picked from commit bd0efe3)
(cherry picked from commit 34e58ef)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 20, 2024
Set driver to initialize at early POST_KERNEL, so that we make sure
other future dependencies priorities (eg VEVIF) do not conflict.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 3e8ea343878acabdf163d1a084cef61f8e077ed5)
(cherry picked from commit 851de7e)
(cherry picked from commit 1bcad2f)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 20, 2024
By adding Kconfig options for both samples.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 253593c966f339e7aebbdbbbb8126963f3529ebe)
(cherry picked from commit a170171)
(cherry picked from commit 5529abc)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 20, 2024
This can be useful to provide multiple setups, eg unidirectional
ping-pong.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 5cb43795d8082be70e4a18f90e66c50122f3c293)
(cherry picked from commit 20f4571)
(cherry picked from commit e4189b3)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 20, 2024
- Include cleanup
- s/NET/REMOTE (remote core may have nothing to do with NET)
- Improved error reporting

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit cf67d54ed49d896112a285044a12a28b7dfacff0)
(cherry picked from commit 56cc531)
(cherry picked from commit fdd4cbe)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 20, 2024
Add nodes for APP/RAD BELLBOARD peripherals.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 19dca26c3c2801123b6c4e7e9d7915dba4f4ccce)
(cherry picked from commit 831c6b0)
(cherry picked from commit eadc28b)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 20, 2024
Add a new nodes for PPR's VEVIF. In app cores, VEVIF registers are part
of the VPR peripheral, so it is exposed as a child node (since it
requires its own properties, eg #mbox-cells). In VPR, it's a CPU child
since it's not a memory-mapped peripheral, but used with CSRs.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 901708525cd5fdeabdea78d3272c2639d796c0d0)
(cherry picked from commit 743cc86)
(cherry picked from commit eb64ac1)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 20, 2024
Add IPC shared memory regions in the global RAM, as well as an enlarged
SRAM region for Application core.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
(cherry picked from commit 7a5f20bc041a73d89484607bdf0fb8001bf146f3)
(cherry picked from commit 458185d)
(cherry picked from commit ccbbadf)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 20, 2024
Add `zephyr,ipc-icmsg*` nodes, with mboxes specified in a common file.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Gerard Marull-Partetas <gerard@teslabs.com>
(cherry picked from commit 035adef5768e79f4466e1f74dcd501efc39e2dc2)
(cherry picked from commit 6319eaa)
(cherry picked from commit f256013)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 20, 2024
Add support for nRF VEVIF.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit d40fd1f886666d0d61a7a555439857c5654bec55)
(cherry picked from commit 599986a)
(cherry picked from commit a66f3be)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 20, 2024
Add support for testing BELLBOARD between cpuapp (local) and cpuppr
(remote).

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 54d64e39a00b6ef9383ea46eb79a409e11ccc189)
(cherry picked from commit bd0efe3)
(cherry picked from commit 34e58ef)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 21, 2024
Set driver to initialize at early POST_KERNEL, so that we make sure
other future dependencies priorities (eg VEVIF) do not conflict.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 3e8ea343878acabdf163d1a084cef61f8e077ed5)
(cherry picked from commit 851de7e)
(cherry picked from commit 1bcad2f)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 21, 2024
By adding Kconfig options for both samples.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 253593c966f339e7aebbdbbbb8126963f3529ebe)
(cherry picked from commit a170171)
(cherry picked from commit 5529abc)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 21, 2024
This can be useful to provide multiple setups, eg unidirectional
ping-pong.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 5cb43795d8082be70e4a18f90e66c50122f3c293)
(cherry picked from commit 20f4571)
(cherry picked from commit e4189b3)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 21, 2024
- Include cleanup
- s/NET/REMOTE (remote core may have nothing to do with NET)
- Improved error reporting

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit cf67d54ed49d896112a285044a12a28b7dfacff0)
(cherry picked from commit 56cc531)
(cherry picked from commit fdd4cbe)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 21, 2024
Add nodes for APP/RAD BELLBOARD peripherals.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 19dca26c3c2801123b6c4e7e9d7915dba4f4ccce)
(cherry picked from commit 831c6b0)
(cherry picked from commit eadc28b)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 21, 2024
Add a new nodes for PPR's VEVIF. In app cores, VEVIF registers are part
of the VPR peripheral, so it is exposed as a child node (since it
requires its own properties, eg #mbox-cells). In VPR, it's a CPU child
since it's not a memory-mapped peripheral, but used with CSRs.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 901708525cd5fdeabdea78d3272c2639d796c0d0)
(cherry picked from commit 743cc86)
(cherry picked from commit eb64ac1)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 21, 2024
Add IPC shared memory regions in the global RAM, as well as an enlarged
SRAM region for Application core.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
(cherry picked from commit 7a5f20bc041a73d89484607bdf0fb8001bf146f3)
(cherry picked from commit 458185d)
(cherry picked from commit ccbbadf)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 21, 2024
Add `zephyr,ipc-icmsg*` nodes, with mboxes specified in a common file.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Gerard Marull-Partetas <gerard@teslabs.com>
(cherry picked from commit 035adef5768e79f4466e1f74dcd501efc39e2dc2)
(cherry picked from commit 6319eaa)
(cherry picked from commit f256013)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 21, 2024
Add support for nRF VEVIF.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit d40fd1f886666d0d61a7a555439857c5654bec55)
(cherry picked from commit 599986a)
(cherry picked from commit a66f3be)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
rlubos pushed a commit to rlubos/sdk-zephyr that referenced this pull request Mar 21, 2024
Add support for testing BELLBOARD between cpuapp (local) and cpuppr
(remote).

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
(cherry picked from commit 54d64e39a00b6ef9383ea46eb79a409e11ccc189)
(cherry picked from commit bd0efe3)
(cherry picked from commit 34e58ef)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Devicetree Binding PR modifies or adds a Device Tree binding area: Devicetree area: mbox area: RISCV RISCV Architecture (32-bit & 64-bit) area: Samples Samples platform: nRF Nordic nRFx
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants