1 /* SPDX-License-Identifier: BSD-3-Clause */
3 * Copyright (c) 2020, MIPI Alliance, Inc.
5 * Author: Nicolas Pitre <npitre@baylibre.com>
7 * Common IBI related stuff
14 * IBI Status Descriptor bits
16 #define IBI_STS BIT(31)
17 #define IBI_ERROR BIT(30)
18 #define IBI_STATUS_TYPE BIT(29)
19 #define IBI_HW_CONTEXT GENMASK(28, 26)
20 #define IBI_TS BIT(25)
21 #define IBI_LAST_STATUS BIT(24)
22 #define IBI_CHUNKS GENMASK(23, 16)
23 #define IBI_ID GENMASK(15, 8)
24 #define IBI_TARGET_ADDR GENMASK(15, 9)
25 #define IBI_TARGET_RNW BIT(8)
26 #define IBI_DATA_LENGTH GENMASK(7, 0)
29 static inline struct i3c_dev_desc
*
30 i3c_hci_addr_to_dev(struct i3c_hci
*hci
, unsigned int addr
)
32 struct i3c_bus
*bus
= i3c_master_get_bus(&hci
->master
);
33 struct i3c_dev_desc
*dev
;
35 i3c_bus_for_each_i3cdev(bus
, dev
) {
36 if (dev
->info
.dyn_addr
== addr
)