-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
add mbox backend for eGPIO #16592
add mbox backend for eGPIO #16592
Conversation
The following west manifest projects have been modified in this Pull Request:
Note: This message is automatically posted and updated by the Manifest GitHub Action. |
Test specificationCI/Jenkins/NRF
CI/Jenkins/integration
Detailed information of selected test modules Note: This message is automatically posted and updated by the CI |
You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds. Note: This comment is automatically posted by the Documentation Publishing GitHub Action. |
bf0d571
to
fb5a763
Compare
fb5a763
to
b1ff15f
Compare
snippets/emulated-gpio-icmsg/boards/nrf54l15pdk_nrf54l15_cpuapp.overlay
Outdated
Show resolved
Hide resolved
snippets/emulated-gpio-mbox/boards/nrf54l15pdk_nrf54l15_cpuapp.overlay
Outdated
Show resolved
Hide resolved
b1ff15f
to
68346d4
Compare
CI InformationTo view the history of this post, clich the 'edited' button above Inputs:Sources:sdk-nrf: PR head: cb2dc7ecfe3448d970a47eab9dff46b23477e098 more detailssdk-nrf:
zephyr:
Github labels
List of changed files detected by CI (42)
Outputs:ToolchainVersion: 9583beca34 Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
applications/sw_io_devices/gpio/boards/nrf54l15pdk_nrf54l15_cpuflpr_icmsg.overlay
Outdated
Show resolved
Hide resolved
applications/sw_io_devices/gpio/boards/nrf54l15pdk_nrf54l15_cpuflpr.overlay
Outdated
Show resolved
Hide resolved
dafa8ab
to
775b02e
Compare
775b02e
to
502497d
Compare
34c38b5
to
7642847
Compare
aa9ae92
to
51b2e25
Compare
@nordicjm Can you take a look? |
printk("Sending opcode: %d, pin %d, port %d, flag: %d\n", msg->opcode, msg->pin, msg->port, | ||
msg->flags); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use logging subsystem
51b2e25
to
977fc35
Compare
977fc35
to
51d56a9
Compare
@nordicjm can you take a look? |
Commits necessary for blinky to work eGPIO on L15. Signed-off-by: Jakub Zymelka <[email protected]>
Official naming changed from "sw-defined io devices" to "software defined peripherals". Signed-off-by: Jakub Zymelka <[email protected]>
Add an mbox-based shared struct type to the possible ipc communication channels. Signed-off-by: Jakub Zymelka <[email protected]>
Add an mbox-based shared struct type to the possible ipc communication channels. Signed-off-by: Jakub Zymelka <[email protected]>
Add an alternative in the form of a snippet using mbox channels and a shared structure for communication between cores. Signed-off-by: Jakub Zymelka <[email protected]>
Add SDP FLPR application image to the build depending on the enabled configuration. Signed-off-by: Jakub Zymelka <[email protected]>
Add yaml configurations to enable eGPIO tests with sysbuild and different backends. Signed-off-by: Jakub Zymelka <[email protected]>
51d56a9
to
cb2dc7e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not blocking requests but if we upstream this we will need to align with my comments.
nrfe_gpio_mbox_data_t *rx_data = (nrfe_gpio_mbox_data_t *)user_data; | ||
|
||
/* Try and get lock for the shared data structure */ | ||
if (atomic_flag_test_and_set(&rx_data->lock.locked)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use zephyr's atomic_set_bit with zephyr's primitve atomic_t
The comments may not be that critical
For testing with icmsg backend:
Build zephyr's blinky (zephyr/samples/basic/blinky) with:
west build -p -b nrf54l15dk/nrf54l15/cpuapp --sysbuild -- -DSB_CONFIG_SDP=y -DSB_CONFIG_EGPIO_FLPR_APPLICATION=y -DSB_CONFIG_EGPIO_BACKEND_ICMSG=y -DSB_CONFIG_PARTITION_MANAGER=n -DEXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_egpio.overlay"
or
west build -p -b nrf54l15dk/nrf54l15/cpuapp --test-item sample.basic.blinky.egpio_icmsg .
For testing with shared_struct mbox backend:
Build zephyr's blinky (zephyr/samples/basic/blinky) with:
west build -p -b nrf54l15dk/nrf54l15/cpuapp --sysbuild -- -DSB_CONFIG_SDP=y -DSB_CONFIG_EGPIO_FLPR_APPLICATION=y -DSB_CONFIG_EGPIO_BACKEND_MBOX=y -DSB_CONFIG_PARTITION_MANAGER=n -DEXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_egpio.overlay"
or
west build -p -b nrf54l15dk/nrf54l15/cpuapp --test-item sample.basic.blinky.egpio_mbox .
Flash images with:
west flash