#ifndef HCI_H
#define HCI_H
#include <linux/io.h>
#define DBG(x, ...) …
#define W0_MASK(h, l) …
#define W1_MASK(h, l) …
#define W2_MASK(h, l) …
#define W3_MASK(h, l) …
#define W0_BIT_(x) …
#define W1_BIT_(x) …
#define W2_BIT_(x) …
#define W3_BIT_(x) …
#define reg_read(r) …
#define reg_write(r, v) …
#define reg_set(r, v) …
#define reg_clear(r, v) …
struct hci_cmd_ops;
struct i3c_hci { … };
struct hci_xfer { … };
static inline struct hci_xfer *hci_alloc_xfer(unsigned int n)
{ … }
static inline void hci_free_xfer(struct hci_xfer *xfer, unsigned int n)
{ … }
struct hci_io_ops { … };
extern const struct hci_io_ops mipi_i3c_hci_pio;
extern const struct hci_io_ops mipi_i3c_hci_dma;
struct i3c_hci_dev_data { … };
#define HCI_QUIRK_RAW_CCC …
#define HCI_QUIRK_PIO_MODE …
#define HCI_QUIRK_OD_PP_TIMING …
#define HCI_QUIRK_RESP_BUF_THLD …
void mipi_i3c_hci_resume(struct i3c_hci *hci);
void mipi_i3c_hci_pio_reset(struct i3c_hci *hci);
void mipi_i3c_hci_dct_index_reset(struct i3c_hci *hci);
void amd_set_od_pp_timing(struct i3c_hci *hci);
void amd_set_resp_buf_thld(struct i3c_hci *hci);
#endif