#include <linux/bitfield.h>
#include <linux/i3c/master.h>
#include "hci.h"
#include "cmd.h"
#include "dat.h"
#include "dct.h"
#define CMD_0_ATTR_A …
#define CMD_A0_TOC …
#define CMD_A0_ROC …
#define CMD_A0_DEV_COUNT(v) …
#define CMD_A0_DEV_INDEX(v) …
#define CMD_A0_CMD(v) …
#define CMD_A0_TID(v) …
#define CMD_0_ATTR_I …
#define CMD_I1_DATA_BYTE_4(v) …
#define CMD_I1_DATA_BYTE_3(v) …
#define CMD_I1_DATA_BYTE_2(v) …
#define CMD_I1_DATA_BYTE_1(v) …
#define CMD_I1_DEF_BYTE(v) …
#define CMD_I0_TOC …
#define CMD_I0_ROC …
#define CMD_I0_RNW …
#define CMD_I0_MODE(v) …
#define CMD_I0_DTT(v) …
#define CMD_I0_DEV_INDEX(v) …
#define CMD_I0_CP …
#define CMD_I0_CMD(v) …
#define CMD_I0_TID(v) …
#define CMD_0_ATTR_R …
#define CMD_R1_DATA_LENGTH(v) …
#define CMD_R1_DEF_BYTE(v) …
#define CMD_R0_TOC …
#define CMD_R0_ROC …
#define CMD_R0_RNW …
#define CMD_R0_MODE(v) …
#define CMD_R0_DBP …
#define CMD_R0_DEV_INDEX(v) …
#define CMD_R0_CP …
#define CMD_R0_CMD(v) …
#define CMD_R0_TID(v) …
#define CMD_0_ATTR_C …
#define CMD_C1_DATA_LENGTH(v) …
#define CMD_C1_OFFSET(v) …
#define CMD_C0_TOC …
#define CMD_C0_ROC …
#define CMD_C0_RNW …
#define CMD_C0_MODE(v) …
#define CMD_C0_16_BIT_SUBOFFSET …
#define CMD_C0_FIRST_PHASE_MODE …
#define CMD_C0_DATA_LENGTH_POSITION(v) …
#define CMD_C0_DEV_INDEX(v) …
#define CMD_C0_CP …
#define CMD_C0_CMD(v) …
#define CMD_C0_TID(v) …
#define CMD_0_ATTR_M …
#define CMD_M1_VENDOR_SPECIFIC …
#define CMD_M0_MIPI_RESERVED …
#define CMD_M0_MIPI_CMD …
#define CMD_M0_VENDOR_INFO_PRESENT …
#define CMD_M0_TID(v) …
enum hci_cmd_mode { … };
static enum hci_cmd_mode get_i3c_mode(struct i3c_hci *hci)
{ … }
static enum hci_cmd_mode get_i2c_mode(struct i3c_hci *hci)
{ … }
static void fill_data_bytes(struct hci_xfer *xfer, u8 *data,
unsigned int data_len)
{ … }
static int hci_cmd_v1_prep_ccc(struct i3c_hci *hci,
struct hci_xfer *xfer,
u8 ccc_addr, u8 ccc_cmd, bool raw)
{ … }
static void hci_cmd_v1_prep_i3c_xfer(struct i3c_hci *hci,
struct i3c_dev_desc *dev,
struct hci_xfer *xfer)
{ … }
static void hci_cmd_v1_prep_i2c_xfer(struct i3c_hci *hci,
struct i2c_dev_desc *dev,
struct hci_xfer *xfer)
{ … }
static int hci_cmd_v1_daa(struct i3c_hci *hci)
{ … }
const struct hci_cmd_ops mipi_i3c_hci_cmd_v1 = …;