brintos

brintos / linux-shallow public Read only

0
0
Text · 933 B · e1f98e2 Raw
43 lines · c
1/* SPDX-License-Identifier: BSD-3-Clause */2/*3 * Copyright (c) 2020, MIPI Alliance, Inc.4 *5 * Author: Nicolas Pitre <npitre@baylibre.com>6 *7 * Common IBI related stuff8 */9 10#ifndef IBI_H11#define IBI_H12 13/*14 * IBI Status Descriptor bits15 */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)27 28/*  handy helpers */29static inline struct i3c_dev_desc *30i3c_hci_addr_to_dev(struct i3c_hci *hci, unsigned int addr)31{32	struct i3c_bus *bus = i3c_master_get_bus(&hci->master);33	struct i3c_dev_desc *dev;34 35	i3c_bus_for_each_i3cdev(bus, dev) {36		if (dev->info.dyn_addr == addr)37			return dev;38	}39	return NULL;40}41 42#endif43