Home
last modified time | relevance | path

Searched +full:mipi +full:- +full:i3c +full:- +full:hci (Results 1 – 8 of 8) sorted by relevance

/linux/Documentation/devicetree/bindings/i3c/
H A Dmipi-i3c-hci.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/i3c/mipi-i3c-hci.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: MIPI I3C HCI
10 - Nicolas Pitre <npitre@baylibre.com>
13 - $ref: /schemas/i3c/i3c.yaml#
16 MIPI I3C Host Controller Interface
18 The MIPI I3C HCI (Host Controller Interface) specification defines
19 a common software driver interface to support compliant MIPI I3C
[all …]
/linux/drivers/i3c/master/mipi-i3c-hci/
H A Dcore.c1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2020, MIPI Alliance, Inc.
7 * Core driver code with main interface to the I3C subsystem.
13 #include <linux/i3c/master.h>
19 #include "hci.h"
29 #define HCI_VERSION 0x00 /* HCI Version (in BCD) */
36 #define HC_CONTROL_HOT_JOIN_CTRL BIT(8) /* Hot-Join ACK/NACK Control */
40 #define HC_CONTROL_IBA_INCLUDE BIT(0) /* Include I3C Broadcast Address */
107 #define IBI_NOTIFY_HJ_REJECTED BIT(0) /* Rejected Hot-Join Control */
120 struct i3c_hci *hci = to_i3c_hci(m); in i3c_hci_bus_init() local
[all …]
H A Dcmd_v2.c1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2020, MIPI Alliance, Inc.
7 * I3C HCI v2.0 Command Descriptor Handling
9 * Note: The I3C HCI v2.0 spec is still in flux. The code here will change.
13 #include <linux/i3c/master.h>
15 #include "hci.h"
66 static unsigned int get_i3c_rate_idx(struct i3c_hci *hci) in get_i3c_rate_idx() argument
68 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i3c_rate_idx()
70 if (bus->scl_rate.i3c >= 12000000) in get_i3c_rate_idx()
72 if (bus->scl_rate.i3c > 8000000) in get_i3c_rate_idx()
[all …]
H A Dext_caps.c1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2020, MIPI Alliance, Inc.
11 #include <linux/i3c/master.h>
15 #include "hci.h"
24 static int hci_extcap_hardware_id(struct i3c_hci *hci, void __iomem *base) in hci_extcap_hardware_id() argument
26 hci->vendor_mipi_id = readl(base + 0x04); in hci_extcap_hardware_id()
27 hci->vendor_version_id = readl(base + 0x08); in hci_extcap_hardware_id()
28 hci->vendor_product_id = readl(base + 0x0c); in hci_extcap_hardware_id()
30 dev_info(&hci->master.dev, "vendor MIPI ID: %#x\n", hci->vendor_mipi_id); in hci_extcap_hardware_id()
31 dev_info(&hci->master.dev, "vendor version ID: %#x\n", hci->vendor_version_id); in hci_extcap_hardware_id()
[all …]
H A Dcmd_v1.c1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2020, MIPI Alliance, Inc.
7 * I3C HCI v1.0/v1.1 Command Descriptor Handling
11 #include <linux/i3c/master.h>
13 #include "hci.h"
122 static enum hci_cmd_mode get_i3c_mode(struct i3c_hci *hci) in get_i3c_mode() argument
124 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i3c_mode()
126 if (bus->scl_rate.i3c > 8000000) in get_i3c_mode()
128 if (bus->scl_rate.i3c > 6000000) in get_i3c_mode()
130 if (bus->scl_rate.i3c > 4000000) in get_i3c_mode()
[all …]
H A Ddct_v1.c1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2020, MIPI Alliance, Inc.
10 #include <linux/i3c/master.h>
13 #include "hci.h"
20 void i3c_hci_dct_get_val(struct i3c_hci *hci, unsigned int dct_idx, in i3c_hci_dct_get_val() argument
23 void __iomem *reg = hci->DCT_regs + dct_idx * 4 * 4; in i3c_hci_dct_get_val()
32 *pid = ((u64)dct_entry_data[0]) << (47 - 32 + 1) | in i3c_hci_dct_get_val()
H A Dxfer_mode_rate.h1 /* SPDX-License-Identifier: BSD-3-Clause */
3 * Copyright (c) 2020, MIPI Alliance, Inc.
9 * This applies starting from I3C HCI v2.0.
22 #define XFERMODE_IDX_I3C_SDR 0x00 /* I3C SDR Mode */
23 #define XFERMODE_IDX_I3C_HDR_DDR 0x01 /* I3C HDR-DDR Mode */
24 #define XFERMODE_IDX_I3C_HDR_T 0x02 /* I3C HDR-Ternary Mode */
25 #define XFERMODE_IDX_I3C_HDR_BT 0x03 /* I3C HDR-BT Mode */
/linux/drivers/i3c/master/
H A DMakefile1 # SPDX-License-Identifier: GPL-2.0-only
2 obj-$(CONFIG_CDNS_I3C_MASTER) += i3c-master-cdns.o
3 obj-$(CONFIG_DW_I3C_MASTER) += dw-i3c-master.o
4 obj-$(CONFIG_AST2600_I3C_MASTER) += ast2600-i3c-master.o
5 obj-$(CONFIG_SVC_I3C_MASTER) += svc-i3c-master.o
6 obj-$(CONFIG_MIPI_I3C_HCI) += mipi-i3c-hci/