0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef DAT_H
0011 #define DAT_H
0012
0013
0014 #define DAT_0_I2C_DEVICE W0_BIT_(31)
0015 #define DAT_0_SIR_REJECT W0_BIT_(13)
0016 #define DAT_0_IBI_PAYLOAD W0_BIT_(12)
0017
0018 struct hci_dat_ops {
0019 int (*init)(struct i3c_hci *hci);
0020 void (*cleanup)(struct i3c_hci *hci);
0021 int (*alloc_entry)(struct i3c_hci *hci);
0022 void (*free_entry)(struct i3c_hci *hci, unsigned int dat_idx);
0023 void (*set_dynamic_addr)(struct i3c_hci *hci, unsigned int dat_idx, u8 addr);
0024 void (*set_static_addr)(struct i3c_hci *hci, unsigned int dat_idx, u8 addr);
0025 void (*set_flags)(struct i3c_hci *hci, unsigned int dat_idx, u32 w0, u32 w1);
0026 void (*clear_flags)(struct i3c_hci *hci, unsigned int dat_idx, u32 w0, u32 w1);
0027 int (*get_index)(struct i3c_hci *hci, u8 address);
0028 };
0029
0030 extern const struct hci_dat_ops mipi_i3c_hci_dat_v1;
0031
0032 #endif