Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mctp_i3c_controller.h File Reference
#include <stdint.h>
#include <zephyr/kernel.h>
#include <zephyr/device.h>
#include <zephyr/drivers/i3c.h>
#include <zephyr/pmci/mctp/mctp_i3c_common.h>
#include <libmctp.h>

Go to the source code of this file.

Data Structures

struct  mctp_binding_i3c_controller
 An MCTP binding for Zephyr's I3C interface using IBI interrupts for signaling. More...

Macros

#define MCTP_I3C_CONTROLLER_DT_DEFINE(_name, _node_id)
 INTERNAL_HIDDEN.

Macro Definition Documentation

◆ MCTP_I3C_CONTROLLER_DT_DEFINE

#define MCTP_I3C_CONTROLLER_DT_DEFINE ( _name,
_node_id )
Value:
MCTP_I3C_CONTROLLER_DEFINE_DEVICES(_node_id, _name); \
MCTP_I3C_ENDPOINT_IDS(_node_id, _name); \
static struct i3c_device_desc \
*_name##_endpoint_i3c_devs[DT_PROP_LEN(_node_id, endpoints)]; \
static struct mctp_binding_i3c_controller _name = { \
.binding = { \
.name = STRINGIFY(_name), .version = 1, \
.start = mctp_i3c_controller_start, \
.tx = mctp_i3c_controller_tx, \
.pkt_size = MCTP_I3C_MAX_PKT_SIZE, \
}, \
.num_endpoints = DT_PROP_LEN(_node_id, endpoints), \
.devices = _name##_endpoints, \
.endpoint_ids = _name##_endpoint_ids, \
.endpoint_i3c_devs = _name##_endpoint_i3c_devs, \
};
#define DT_PROP_LEN(node_id, prop)
Get a property's logical length.
Definition devicetree.h:832
#define STRINGIFY(s)
Definition common.h:165
Structure describing a I3C target device.
Definition i3c.h:924
An MCTP binding for Zephyr's I3C interface using IBI interrupts for signaling.
Definition mctp_i3c_controller.h:21

INTERNAL_HIDDEN.

Define a MCTP bus binding for i3c controller

This bus binding make use of IBI interrupt signaling from targets to signal their desire to send a message. The binding specification (dsp0233 v1.0.1) offers alternative modes of operaton such as polling or directly reading but these are not implemented.

Parameters
_nameSymbolic name of the bus binding variable
_node_idDeviceTree Node containing the configuration of this MCTP binding