/Zephyr-Core-3.5.0/drivers/mbox/ |
D | Kconfig | 4 menuconfig MBOX config 5 bool "Multi-Channel Inter-Processor Mailbox (MBOX) drivers" 10 if MBOX 14 source "drivers/mbox/Kconfig.nrfx" 15 source "drivers/mbox/Kconfig.nxp_s32" 16 source "drivers/mbox/Kconfig.nxp_imx" 17 source "drivers/mbox/Kconfig.andes" 20 int "MBOX init priority" 23 MBOX driver device initialization priority. 25 module = MBOX [all …]
|
/Zephyr-Core-3.5.0/include/zephyr/devicetree/ |
D | mbox.h | 3 * @brief MBOX Devicetree macro public API header file. 20 * @defgroup devicetree-mbox Devicetree MBOX API 26 * @brief Get the node identifier for the MBOX controller from a mboxes 31 * mbox1: mbox-controller@... { ... }; 36 * mbox-names = "tx", "rx"; 46 * as defined by the node's mbox-names property 48 * @return the node identifier for the MBOX controller in the named element 56 * @brief Get a MBOX channel value by name 60 * mbox1: mbox@... { 61 * #mbox-cells = <1>; [all …]
|
/Zephyr-Core-3.5.0/kernel/ |
D | mailbox.c | 92 void k_mbox_init(struct k_mbox *mbox) in k_mbox_init() argument 94 z_waitq_init(&mbox->tx_msg_queue); in k_mbox_init() 95 z_waitq_init(&mbox->rx_msg_queue); in k_mbox_init() 96 mbox->lock = (struct k_spinlock) {}; in k_mbox_init() 99 k_obj_core_init_and_link(K_OBJ_CORE(mbox), &obj_type_mailbox); in k_mbox_init() 102 SYS_PORT_TRACING_OBJ_INIT(k_mbox, mbox); in k_mbox_init() 206 * @param mbox Pointer to the mailbox object. 215 static int mbox_message_put(struct k_mbox *mbox, struct k_mbox_msg *tx_msg, in mbox_message_put() argument 231 key = k_spin_lock(&mbox->lock); in mbox_message_put() 233 SYS_PORT_TRACING_OBJ_FUNC_ENTER(k_mbox, message_put, mbox, timeout); in mbox_message_put() [all …]
|
/Zephyr-Core-3.5.0/samples/subsys/ipc/ipc_service/icmsg_me/boards/ |
D | nrf5340dk_nrf5340_cpuapp.overlay | 39 mboxes = <&mbox 0>, <&mbox 1>; 40 mbox-names = "tx", "rx"; 48 mboxes = <&mbox 2>, <&mbox 3>; 49 mbox-names = "tx", "rx";
|
/Zephyr-Core-3.5.0/samples/subsys/ipc/ipc_service/icmsg_me/remote/boards/ |
D | nrf5340dk_nrf5340_cpunet.overlay | 39 mboxes = <&mbox 0>, <&mbox 1>; 40 mbox-names = "rx", "tx"; 48 mboxes = <&mbox 2>, <&mbox 3>; 49 mbox-names = "rx", "tx";
|
/Zephyr-Core-3.5.0/samples/subsys/ipc/ipc_service/static_vrings/remote/boards/ |
D | nrf5340dk_nrf5340_cpunet.overlay | 32 mboxes = <&mbox 0>, <&mbox 1>; 33 mbox-names = "rx", "tx"; 41 mboxes = <&mbox 2>, <&mbox 3>; 42 mbox-names = "rx", "tx";
|
/Zephyr-Core-3.5.0/samples/subsys/logging/multidomain/boards/ |
D | nrf5340dk_nrf5340_cpuapp.overlay | 33 mboxes = <&mbox 0>, <&mbox 1>; 34 mbox-names = "tx", "rx"; 42 mboxes = <&mbox 2>, <&mbox 3>; 43 mbox-names = "tx", "rx";
|
/Zephyr-Core-3.5.0/samples/subsys/logging/multidomain/remote/boards/ |
D | nrf5340dk_nrf5340_cpunet.overlay | 33 mboxes = <&mbox 0>, <&mbox 1>; 34 mbox-names = "rx", "tx"; 42 mboxes = <&mbox 2>, <&mbox 3>; 43 mbox-names = "rx", "tx";
|
/Zephyr-Core-3.5.0/samples/subsys/ipc/ipc_service/static_vrings/boards/ |
D | nrf5340dk_nrf5340_cpuapp.overlay | 32 mboxes = <&mbox 0>, <&mbox 1>; 33 mbox-names = "tx", "rx"; 41 mboxes = <&mbox 2>, <&mbox 3>; 42 mbox-names = "tx", "rx";
|
/Zephyr-Core-3.5.0/samples/drivers/mbox/ |
D | sample.yaml | 2 name: MBOX IPC sample 4 sample.drivers.mbox: 11 tags: mbox
|
D | README.rst | 1 .. zephyr:code-sample:: mbox 2 :name: MBOX 5 Perform inter-processor mailbox communication using the MBOX API. 10 This sample demonstrates how to use the :ref:`MBOX API <mbox_api>`. 15 The sample can be built and executed on boards supporting MBOX. 21 :zephyr-app: samples/drivers/mbox/
|
/Zephyr-Core-3.5.0/dts/bindings/test/ |
D | vnd,mbox.yaml | 4 description: VND MBOX controller 6 compatible: "vnd,mbox" 10 mbox-cells:
|
/Zephyr-Core-3.5.0/doc/services/ipc/ipc_service/backends/ |
D | ipc_service_icmsg.rst | 13 The ICMsg backend uses shared memory and MBOX devices for exchanging data. 14 Shared memory is used to store the data, MBOX devices are used to signal that 31 * Define MBOX devices which are used to send the signal that informs the other 54 mboxes = <&mbox 0>, <&mbox 1>; 55 mbox-names = "tx", "rx"; 63 communication (domain or CPU) but you must swap the MBOX channels and memory
|
/Zephyr-Core-3.5.0/subsys/ipc/ipc_service/backends/ |
D | Kconfig | 13 depends on MBOX 22 depends on MBOX 32 depends on MBOX 43 depends on MBOX
|
/Zephyr-Core-3.5.0/tests/kernel/mbox/mbox_api/src/ |
D | test_mbox_api.c | 28 static struct k_mbox mbox; variable 113 /**TESTPOINT: mbox sync put empty message*/ in tmbox_put() 123 /**TESTPOINT: mbox sync put buffer*/ in tmbox_put() 135 /**TESTPOINT: mbox async put buffer*/ in tmbox_put() 246 /**TESTPOINT: mbox sync get buffer*/ in tmbox_get() 260 /**TESTPOINT: mbox sync get buffer*/ in tmbox_get() 276 /**TESTPOINT: mbox async get buffer*/ in tmbox_get() 407 /**TESTPOINT: thread-thread data passing via mbox*/ in tmbox() 424 k_mbox_init(&mbox); in ZTEST() 460 tmbox(&mbox); in ZTEST() [all …]
|
/Zephyr-Core-3.5.0/dts/arm/nordic/ |
D | nrf5340_cpuapp_ipc.dtsi | 10 mboxes = <&mbox 0>, <&mbox 1>; 11 mbox-names = "tx", "rx";
|
/Zephyr-Core-3.5.0/dts/bindings/mbox/ |
D | nordic,mbox-nrf-ipc.yaml | 4 description: Nordic nRF family IPC (MBOX Interprocessor Communication) 6 compatible: "nordic,mbox-nrf-ipc" 24 mbox-cells:
|
D | nxp,mbox-imx-mu.yaml | 2 NXP i.MX Message Unit as Zephyr MBOX 4 compatible: "nxp,mbox-imx-mu" 28 mbox-cells:
|
/Zephyr-Core-3.5.0/dts/bindings/ipc/ |
D | zephyr,ipc-icmsg.yaml | 25 description: phandle to the MBOX controller (TX and RX are required) 28 mbox-names: 29 description: MBOX channel names (must be called "tx" and "rx")
|
/Zephyr-Core-3.5.0/doc/hardware/peripherals/ |
D | mbox.rst | 3 Multi-Channel Inter-Processor Mailbox (MBOX) 9 An MBOX device is a peripheral capable of passing signals (and data depending 10 on the peripheral) between CPUs and clusters in the system. Each MBOX instance
|
/Zephyr-Core-3.5.0/tests/kernel/mbox/mbox_usage/src/ |
D | main.c | 20 static struct k_mbox mbox, multi_tmbox; variable 40 /* mbox sync put empty message */ in msg_sender() 85 k_mbox_init(&mbox); in test_mbox_init() 102 msg_receiver(&mbox, K_ANY, K_NO_WAIT); in ZTEST() 105 test_send, &mbox, NULL, NULL, in ZTEST() 108 msg_receiver(&mbox, K_ANY, K_MSEC(2)); in ZTEST() 125 test_send_un, &mbox, NULL, NULL, in ZTEST() 128 msg_receiver(&mbox, tid1, K_FOREVER); in ZTEST() 172 /* Create diff priority thread to receive msg with same mbox */ in ZTEST_USER()
|
/Zephyr-Core-3.5.0/samples/subsys/ipc/ipc_service/icmsg/boards/ |
D | nrf5340dk_nrf5340_cpuapp.overlay | 31 mboxes = <&mbox 0>, <&mbox 1>; 32 mbox-names = "tx", "rx";
|
/Zephyr-Core-3.5.0/samples/subsys/ipc/ipc_service/icmsg/remote/boards/ |
D | nrf5340dk_nrf5340_cpunet.overlay | 31 mboxes = <&mbox 0>, <&mbox 1>; 32 mbox-names = "rx", "tx";
|
/Zephyr-Core-3.5.0/include/zephyr/drivers/ |
D | mbox.h | 17 * @brief MBOX Interface 18 * @defgroup mbox_interface MBOX Interface 32 * | MBOX dev | | 44 * An MBOX device is a peripheral capable of passing signals (and data depending 45 * on the peripheral) between CPUs and clusters in the system. Each MBOX 52 * can register a callback on the channel 8 of the MBOX device. 71 #include <zephyr/devicetree/mbox.h> 89 * @brief Provides a type to hold an MBOX channel 91 * Struct type to hold an MBOX device pointer and the channel ID. 94 /** MBOX device pointer. */ [all …]
|
/Zephyr-Core-3.5.0/samples/drivers/mbox/remote/ |
D | sample.yaml | 2 name: MBOX IPC sample (remote) 8 tags: mbox
|