/Zephyr-latest/drivers/ipm/ |
D | Kconfig | 3 menuconfig IPM config 4 bool "Inter-Processor Mailbox (IPM) drivers" 9 if IPM 12 bool "IPM MHU driver" 19 bool "IPM NRF driver" 28 bool "Single instance of IPM device" 30 Enable this option if the IPM device should have 35 bool "ESP32 Software IPM driver" 42 bool "IPM driver based on IVSHMEM-Doorbell" 51 bool "AMD-Xilinx IPM driver" [all …]
|
D | ipm_sedi.c | 12 #include <zephyr/drivers/ipm.h> 23 struct ipm_sedi_context *ipm = dev->data; in set_ipm_dev_busy() local 26 atomic_set_bit(&ipm->status, is_write ? IPM_WRITE_BUSY_BIT : IPM_READ_BUSY_BIT); in set_ipm_dev_busy() 33 struct ipm_sedi_context *ipm = dev->data; in clear_ipm_dev_busy() local 36 atomic_clear_bit(&ipm->status, is_write ? IPM_WRITE_BUSY_BIT : IPM_READ_BUSY_BIT); in clear_ipm_dev_busy() 37 if ((!atomic_test_bit(&ipm->status, IPM_WRITE_BUSY_BIT)) in clear_ipm_dev_busy() 38 && (!atomic_test_bit(&ipm->status, IPM_READ_BUSY_BIT))) { in clear_ipm_dev_busy() 47 struct ipm_sedi_context *ipm = dev->data; in ipm_event_dispose() local 53 if (ipm->rx_msg_notify_cb != NULL) { in ipm_event_dispose() 57 sedi_ipc_read_msg(device, ipm->incoming_data_buf, len); in ipm_event_dispose() [all …]
|
D | Kconfig.nrfx_ipc_channel | 1 # nRF IPM driver channel configuration 6 menu "IPM Message Channel [$(nrfx_ipc_num)] configuration" 9 bool "IPM Message Channel $(nrfx_ipc_num)" 12 bool "IPM Message RX Channel" 16 bool "IPM Message TX Channel"
|
/Zephyr-latest/samples/drivers/ipm/ipm_mcux/src/ |
D | main_master.c | 10 #include <zephyr/drivers/ipm.h> 33 const struct device *ipm; in main() local 37 /* Get IPM device handle */ in main() 38 ipm = DEVICE_DT_GET_ANY(nxp_lpc_mailbox); in main() 39 if (!(ipm && device_is_ready(ipm))) { in main() 40 printk("Could not get IPM device handle!\n"); in main() 46 ipm_register_callback(ipm, ping_ipm_callback, NULL); in main() 47 /* Enable the IPM device */ in main() 48 ipm_set_enabled(ipm, 1); in main() 51 ipm_send(ipm, 1, 0, &first_message, 4); in main()
|
/Zephyr-latest/samples/drivers/ipm/ipm_mcux/remote/src/ |
D | main_remote.c | 10 #include <zephyr/drivers/ipm.h> 22 const struct device *ipm; in main() local 24 ipm = DEVICE_DT_GET_ANY(nxp_lpc_mailbox); in main() 25 if (!(ipm && device_is_ready(ipm))) { in main() 29 ipm_register_callback(ipm, ping_ipm_callback, NULL); in main() 30 ipm_set_enabled(ipm, 1); in main()
|
/Zephyr-latest/samples/drivers/ipm/ipm_imx/src/ |
D | main.c | 10 #include <zephyr/drivers/ipm.h> 34 const struct device *ipm; in main() local 36 ipm = DEVICE_DT_GET(DT_NODELABEL(mub)); in main() 37 if (!device_is_ready(ipm)) { in main() 41 ipm_register_callback(ipm, ipm_callback, NULL); in main() 42 ipm_set_enabled(ipm, 1); in main() 43 printk("IPM initialized, data size = %d\n", in main()
|
/Zephyr-latest/samples/boards/st/h7_dual_core/src/ |
D | main.c | 9 #include <zephyr/drivers/ipm.h> 37 const struct device *const ipm = DEVICE_DT_GET(DT_NODELABEL(mailbox)); in main() local 41 if (!device_is_ready(ipm)) { in main() 42 printk("ipm device not ready\n"); in main() 56 ipm_register_callback(ipm, new_message_callback, &data); in main() 58 ipm_set_enabled(ipm, 1); in main() 61 ipm_send(ipm, 0, 0, NULL, 0); in main()
|
/Zephyr-latest/samples/drivers/ipm/ipm_imx/ |
D | sample.yaml | 3 IPM and transmits it back unchanged 4 name: i.MX IPM sample 6 sample.ipm.ipm_imx: 17 - ipm
|
D | README.rst | 1 .. zephyr:code-sample:: ipm-imx 2 :name: IPM on NXP i.MX 5 Implement inter-processor mailbox (IPM) on i.MX SoCs containing a Messaging Unit peripheral. 11 using the IPM and transmits it back unchanged. The information about 17 which effectively creates four IPM channels. Selecting the option 22 Note that this is just a simple demo to demonstrate the i.MX IPM functionality 37 :zephyr-app: samples/drivers/ipm/ipm_imx 72 IPM initialized, data size = 4
|
/Zephyr-latest/samples/drivers/ipm/ipm_mhu_dual_core/ |
D | README.rst | 1 .. zephyr:code-sample:: ipm-mhu-dual-core 2 :name: IPM with ARM MHU 5 Implement inter-processor mailbox (IPM) using an MHU (Message Handling Unit) 25 This project outputs 'IPM MHU sample on musca_b1' to the console. 29 :zephyr-app: samples/drivers/ipm/ipm_mhu_dual_core 34 This project outputs 'IPM MHU sample on v2m_musca_b1_ns' to the console. 38 :zephyr-app: samples/drivers/ipm/ipm_mhu_dual_core 73 IPM MHU sample on musca_a 76 IPM MHU sample on musca_a_nonsecure
|
D | sample.yaml | 5 sample.ipm.ipm_mhu_dual_core: 6 tags: ipm
|
/Zephyr-latest/tests/drivers/ipm/src/ |
D | main.c | 8 #include <zephyr/drivers/ipm.h> 33 /* Set up the dummy IPM driver */ 40 /* Sending side of the console IPM driver, will forward anything sent 51 /* Receiving side of the console IPM driver. These numbers are 82 const struct device *ipm; in main() local 87 ipm = device_get_binding("ipm_dummy0"); in main() 88 if (ipm == NULL) { in main() 92 /* Try sending a raw string to the IPM device to show that the in main() 98 rc = ipm_send(ipm, 1, thestr[i], NULL, 0); in main()
|
/Zephyr-latest/samples/drivers/ipm/ipm_ivshmem/ |
D | sample.yaml | 2 name: IVSHMEM IPM Sample 4 sample.ipm.ipm_ivshmem: 9 - ipm
|
/Zephyr-latest/lib/open-amp/ |
D | Kconfig | 23 int "IPM RX channel ID" 27 This option specifies the IPM RX channel ID used in a VRING 31 int "IPM TX channel ID" 35 This option specifies the IPM TX channel ID used in a VRING
|
/Zephyr-latest/samples/drivers/ipm/ipm_esp32/ |
D | sample.yaml | 2 name: ESP32 IPM Sample 4 sample.ipm.ipm_esp32: 10 - ipm
|
D | README.rst | 1 .. zephyr:code-sample:: ipm-esp32 2 :name: IPM on ESP32 5 Implement inter-processor mailbox (IPM) between ESP32 APP and PRO CPUs. 13 message to the APP using the IPM driver, and waits for the APP response 25 Build the ESP32 IPM sample code as follows: 28 :zephyr-app: samples/drivers/ipm/ipm_esp32
|
/Zephyr-latest/samples/drivers/ipm/ |
D | README.rst | 1 .. zephyr:code-sample-category:: ipm 2 :name: Inter-Processor Mailbox (IPM) 5 These samples demonstrate how to use the :ref:`IPM <ipm_api>` driver API.
|
/Zephyr-latest/drivers/console/ |
D | ipm_console_receiver.c | 15 #include <zephyr/drivers/ipm.h> 42 printk("ipm console ring buffer error: %d\n", ret); in ipm_console_thread() 119 const struct device *ipm; in ipm_console_receiver_init() local 121 ipm = device_get_binding(config_info->bind_to); in ipm_console_receiver_init() 123 if (!ipm) { in ipm_console_receiver_init() 124 printk("unable to bind IPM console receiver to '%s'\n", in ipm_console_receiver_init() 129 if (ipm_max_id_val_get(ipm) < 0xFF) { in ipm_console_receiver_init() 130 printk("IPM driver %s doesn't support 8-bit id values", in ipm_console_receiver_init() 135 driver_data->ipm_device = ipm; in ipm_console_receiver_init() 141 ipm_register_callback(ipm, ipm_console_receive_callback, driver_data); in ipm_console_receiver_init() [all …]
|
D | ipm_console.c | 10 #include <zephyr/drivers/ipm.h> 32 LOG_ERR("Error sending character %c over IPM, ret %d", c, ret); in console_out() 60 LOG_DBG("IPM console initialization"); in ipm_console_init() 69 LOG_ERR("IPM driver does not support buffer length %d", in ipm_console_init() 79 /* Need to be initialized after IPM */
|
/Zephyr-latest/samples/drivers/ipm/ipm_mcux/remote/ |
D | sample.yaml | 4 name: IPM MCUX Mailbox Sample 6 sample.ipm.ipm_mcux.remote: 12 tags: ipm
|
/Zephyr-latest/dts/bindings/ipm/ |
D | intel,sedi-ipm.yaml | 5 description: INTEL SEDI IPM controller. 7 compatible: "intel,sedi-ipm" 21 description: sedi instance id of ipm
|
/Zephyr-latest/samples/drivers/ipm/ipm_mcux/ |
D | sample.yaml | 4 name: IPM MCUX Mailbox Sample 6 sample.ipm.ipm_mcux: 12 tags: ipm
|
D | README.rst | 1 .. zephyr:code-sample:: ipm-mcux 2 :name: IPM on NXP LPC 5 Implement inter-processor mailbox (IPM) on NXP LPC family. 28 :zephyr-app: samples/drivers/ipm/ipm_mcux 38 :zephyr-app: samples/drivers/ipm/ipm_mcux
|
/Zephyr-latest/samples/drivers/ipm/ipm_ivshmem/src/ |
D | main.c | 10 #include <zephyr/drivers/ipm.h> 19 printf("Received IPM notification over IVSHMEM\n"); in ipm_receive_callback() 43 "Send notification to other side using IPM", 49 "Send notification to other side using IPM",
|
/Zephyr-latest/subsys/ipc/rpmsg_service/ |
D | rpmsg_backend.c | 10 #include <zephyr/drivers/ipm.h> 117 /* The IPM interface is unclear on whether or not ipm_send in ipc_virtio_notify() 120 * dummy data, unless the IPM driver cannot transfer data. in ipc_virtio_notify() 169 /* Start IPM workqueue */ in rpmsg_backend_init() 175 /* Setup IPM workqueue item */ in rpmsg_backend_init() 189 /* IPM setup */ in rpmsg_backend_init() 192 LOG_ERR("IPM TX device is not ready"); in rpmsg_backend_init() 197 LOG_ERR("IPM RX device is not ready"); in rpmsg_backend_init() 205 LOG_ERR("Could not enable IPM interrupts and callbacks for RX"); in rpmsg_backend_init() 211 LOG_ERR("IPM device is not ready"); in rpmsg_backend_init() [all …]
|