Home
last modified time | relevance | path

Searched full:hci (Results 1 – 25 of 165) sorted by relevance

1234567

/linux/drivers/i3c/master/mipi-i3c-hci/
H A Dcore.c17 #include <linux/platform_data/mipi-i3c-hci.h>
21 #include "hci.h"
30 #define HCI_VERSION 0x00 /* HCI Version (in BCD) */
118 static void i3c_hci_set_master_dyn_addr(struct i3c_hci *hci) in i3c_hci_set_master_dyn_addr() argument
121 MASTER_DYNAMIC_ADDR(hci->dyn_addr) | MASTER_DYNAMIC_ADDR_VALID); in i3c_hci_set_master_dyn_addr()
126 struct i3c_hci *hci = to_i3c_hci(m); in i3c_hci_bus_init() local
130 if (hci->cmd == &mipi_i3c_hci_cmd_v1) { in i3c_hci_bus_init()
131 ret = mipi_i3c_hci_dat_v1.init(hci); in i3c_hci_bus_init()
139 hci->dyn_addr = ret; in i3c_hci_bus_init()
140 i3c_hci_set_master_dyn_addr(hci); in i3c_hci_bus_init()
[all …]
H A Dmipi-i3c-hci-pci.c3 * PCI glue code for MIPI I3C HCI driver
18 #include <linux/platform_data/mipi-i3c-hci.h>
37 int (*init)(struct mipi_i3c_hci_pci *hci);
38 void (*exit)(struct mipi_i3c_hci_pci *hci);
75 struct mipi_i3c_hci_pci *hci = dev_get_drvdata(dev); in intel_ltr_set() local
76 struct intel_host *host = hci->private; in intel_ltr_set()
125 static void intel_add_debugfs(struct mipi_i3c_hci_pci *hci) in intel_add_debugfs() argument
127 struct dentry *dir = debugfs_create_dir(dev_name(&hci->pci->dev), NULL); in intel_add_debugfs()
128 struct intel_host *host = hci->private; in intel_add_debugfs()
137 static void intel_remove_debugfs(struct mipi_i3c_hci_pci *hci) in intel_remove_debugfs() argument
[all …]
H A Dpio.c14 #include "hci.h"
22 #define pio_reg_read(r) readl(hci->PIO_regs + (PIO_##r))
23 #define pio_reg_write(r, v) writel(v, hci->PIO_regs + (PIO_##r))
138 static void __hci_pio_init(struct i3c_hci *hci, u32 *size_val_ptr) in __hci_pio_init() argument
141 struct hci_pio_data *pio = hci->io_data; in __hci_pio_init()
154 if (hci->version_major == 1) { in __hci_pio_init()
193 static void hci_pio_suspend(struct i3c_hci *hci) in hci_pio_suspend() argument
197 i3c_hci_sync_irq_inactive(hci); in hci_pio_suspend()
200 static void hci_pio_resume(struct i3c_hci *hci) in hci_pio_resume() argument
202 __hci_pio_init(hci, NULL); in hci_pio_resume()
[all …]
H A Ddma.c7 * Note: The I3C HCI v2.0 spec is still in flux. The IBI support is based on
19 #include "hci.h"
40 #define rhs_reg_read(r) readl(hci->RHS_regs + (RHS_##r))
41 #define rhs_reg_write(r, v) writel(v, hci->RHS_regs + (RHS_##r))
149 static void hci_dma_cleanup(struct i3c_hci *hci) in hci_dma_cleanup() argument
151 struct hci_rings_data *rings = hci->io_data; in hci_dma_cleanup()
165 i3c_hci_sync_irq_inactive(hci); in hci_dma_cleanup()
179 struct i3c_hci *hci = data; in hci_dma_free() local
180 struct hci_rings_data *rings = hci->io_data; in hci_dma_free()
210 hci->io_data = NULL; in hci_dma_free()
[all …]
H A Dhci.h7 * Common HCI stuff
27 #define reg_read(r) readl(hci->base_regs + (r))
28 #define reg_write(r, v) writel(v, hci->base_regs + (r))
76 * hci->cmd->*() method. The cmd method will initialize cmd_desc[] and
80 * hci->io->queue_xfer(), and requires CMD_0_ROC to be set.
120 bool (*irq_handler)(struct i3c_hci *hci);
121 int (*queue_xfer)(struct i3c_hci *hci, struct hci_xfer *xfer, int n);
122 bool (*dequeue_xfer)(struct i3c_hci *hci, struct hci_xfer *xfer, int n);
123 int (*request_ibi)(struct i3c_hci *hci, struct i3c_dev_desc *dev,
125 void (*free_ibi)(struct i3c_hci *hci, struct i3c_dev_desc *dev);
[all …]
H A Dcmd.h50 (atomic_inc_return_relaxed(&hci->next_cmd_tid) % (1U << 4))
54 int (*prep_ccc)(struct i3c_hci *hci, struct hci_xfer *xfer,
56 void (*prep_i3c_xfer)(struct i3c_hci *hci, struct i3c_dev_desc *dev,
58 void (*prep_i2c_xfer)(struct i3c_hci *hci, struct i2c_dev_desc *dev,
60 int (*perform_daa)(struct i3c_hci *hci);
H A Dhci_quirks.c3 * I3C HCI Quirks
12 #include "hci.h"
25 void amd_set_od_pp_timing(struct i3c_hci *hci) in amd_set_od_pp_timing() argument
37 void amd_set_resp_buf_thld(struct i3c_hci *hci) in amd_set_resp_buf_thld() argument
H A Ddct_v1.c13 #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()
/linux/Documentation/driver-api/nfc/
H A Dnfc-hci.rst2 HCI backend for NFC Core
11 The HCI layer implements much of the ETSI TS 102 622 V10.2.0 specification. It
12 enables easy writing of HCI-based NFC drivers. The HCI layer runs as an NFC Core
14 to HCI commands and events.
16 HCI chapter
19 HCI registers as an nfc device with NFC Core. Requests coming from userspace are
20 routed through netlink sockets to NFC Core and then to HCI. From this point,
21 they are translated in a sequence of HCI commands sent to the HCI layer in the
24 from HCI Rx context).
25 HCI events can also be received from the host controller. They will be handled
[all …]
H A Dnfc-pn544.rst18 In the normal (HCI) mode and in the firmware update mode read and
22 In the normal (HCI) mode the protocol used is derived from the ETSI
23 HCI specification. The firmware is updated using a specific protocol,
24 which is different from HCI.
26 HCI messages consist of an eight bit header and the message body. The
27 header contains the message length. Maximum size for an HCI message is
28 33. In HCI mode sent messages are tested for a correct
33 For the ETSI HCI specification see
/linux/Documentation/devicetree/bindings/i3c/
H A Dmipi-i3c-hci.yaml4 $id: http://devicetree.org/schemas/i3c/mipi-i3c-hci.yaml#
7 title: MIPI I3C HCI
18 The MIPI I3C HCI (Host Controller Interface) specification defines
27 https://www.mipi.org/specifications/i3c-hci
31 const: mipi-i3c-hci
47 compatible = "mipi-i3c-hci";
/linux/net/nfc/hci/
H A DKconfig4 tristate "NFC HCI implementation"
7 Say Y here if you want to build support for a kernel NFC HCI
9 HCI frames, like for example the NXP pn544.
14 bool "SHDLC link layer for HCI based NFC drivers"
17 Say yes if you use an NFC HCI driver that requires SHDLC link layer.
H A DMakefile3 # Makefile for the Linux NFC HCI layer.
6 obj-$(CONFIG_NFC_HCI) += hci.o
8 hci-y := core.o hcp.o command.o llc.o llc_nop.o
9 hci-$(CONFIG_NFC_SHDLC) += llc_shdlc.o
H A Dcommand.c6 #define pr_fmt(fmt) "hci: %s: " fmt, __func__
13 #include <net/nfc/hci.h>
15 #include "hci.h"
26 /* TODO: Define hci cmd execution delay. Should it be the same in nfc_hci_execute_cmd_async()
34 * HCI command execution completion callback.
35 * err will be a standard linux error (may be converted from HCI response)
43 pr_debug("HCI Cmd completed with result=%d\n", err); in nfc_hci_execute_cb()
68 /* TODO: Define hci cmd execution delay. Should it be the same in nfc_hci_execute_cmd()
108 * Execute an hci command sent to gate.
249 * and fill param with it. HCI spec 6.1.3.5 */ in nfc_hci_clear_all_pipes()
H A Dhcp.c6 #define pr_fmt(fmt) "hci: %s: " fmt, __func__
12 #include <net/nfc/hci.h>
14 #include "hci.h"
/linux/drivers/bluetooth/
H A Dhci_serdev.c3 * Bluetooth HCI serdev driver lib
28 /* Update HCI stat counters */ in hci_uart_tx_complete()
91 /* ------- Interface to HCI layer ------ */
163 /* Send frames from HCI layer */
237 /* HCI UART devices are assumed to be wakeable by default. in hci_uart_wakeup()
328 /* Initialize and register HCI device */ in hci_uart_register_device_priv()
331 BT_ERR("Can't allocate HCI device"); in hci_uart_register_device_priv()
373 BT_ERR("Can't register HCI device"); in hci_uart_register_device_priv()
H A Ddtl1_cs.c72 unsigned long flowmask; /* HCI flow mask */
261 /* send frame to the HCI layer */ in dtl1_receive()
267 BT_ERR("Unknown HCI packet with type 0x%02x received", in dtl1_receive()
356 /* ======================== HCI interface ======================== */
432 /* ======================== Card services HCI interaction ======================== */
451 /* Initialize HCI device */ in dtl1_open()
454 BT_ERR("Can't allocate HCI device"); in dtl1_open()
489 /* Timeout before it is safe to send the first HCI packet */ in dtl1_open()
492 /* Register HCI device */ in dtl1_open()
494 BT_ERR("Can't register HCI device"); in dtl1_open()
H A Dhci_ldisc.c4 * Bluetooth HCI UART driver
52 BT_INFO("HCI UART protocol %s registered", p->name); in hci_uart_register_proto()
82 /* Update HCI stat counters */ in hci_uart_tx_complete()
196 BT_ERR("Can't register HCI device"); in hci_uart_init_work()
225 /* ------- Interface to HCI layer ------ */
273 /* Send frames from HCI layer */
643 /* Initialize and register HCI device */ in hci_uart_register_dev()
646 BT_ERR("Can't allocate HCI device"); in hci_uart_register_dev()
694 BT_ERR("Can't register HCI device"); in hci_uart_register_dev()
846 BT_INFO("HCI UART driver ver %s", VERSION); in hci_uart_init()
[all …]
H A Dbluecard_cs.c315 /* Wait before the next HCI packet can be send */ in bluecard_write_wakeup()
433 BT_ERR("Unknown HCI packet with type 0x%02x received", in bluecard_receive()
556 /* ======================== Device specific HCI commands ======================== */
604 /* ======================== HCI interface ======================== */
677 /* ======================== Card services HCI interaction ======================== */
696 /* Initialize HCI device */ in bluecard_open()
699 BT_ERR("Can't allocate HCI device"); in bluecard_open()
778 /* Timeout before it is safe to send the first HCI packet */ in bluecard_open()
781 /* Register HCI device */ in bluecard_open()
783 BT_ERR("Can't register HCI device"); in bluecard_open()
/linux/drivers/nfc/st21nfca/
H A Dst21nfca.h9 #include <net/nfc/hci.h>
15 /* framing in HCI mode */
53 #define DRIVER_DESC "HCI NFC driver for ST21NFCA"
76 * @HCI_CLEAR_ALL_PIPES: Allow to execute a HCI clear all pipes command.
89 * @HCI_GET_PARAM: Allow to retrieve an HCI CLF parameter (for example the
/linux/net/bluetooth/
H A DKconfig28 HCI device and connection manager, scheduler
33 HCI Device drivers (Interface to the hardware)
103 This options enables support for the Microsoft defined HCI
111 Project defined HCI vendor extensions.
H A Dhci_core.c26 /* Bluetooth HCI core. */
54 /* HCI device list */
58 /* HCI callback list */
62 /* HCI ID Numbering */
65 /* Get HCI device by index.
437 /* ---- HCI ioctl helpers ---- */
886 /* ---- Interface to HCI drivers ---- */
968 /* During the HCI setup phase, a few error conditions are in hci_power_on()
1437 /* Convert to HCI addr type which struct smp_ltk uses */ in hci_bdaddr_is_paired()
1461 /* HCI command timer function */
[all …]
/linux/include/net/bluetooth/
H A Dhci.h40 /* HCI dev events */
51 /* HCI notify events */
59 /* HCI bus types */
73 /* HCI device quirks */
75 /* When this quirk is set, the HCI Reset command is send when
90 * HCI Read Buffer Size command are corrected if invalid.
108 /* When this quirk is set, then the HCI Read Local Supported
120 * HCI Delete Stored Link Key command is advertised, but
137 * initially reported by HCI Read BD Address command
147 * initially reported by HCI Rea
[all...]
/linux/Documentation/devicetree/bindings/ufs/
H A Dsamsung,exynos-ufs.yaml26 - description: HCI register
33 - const: hci
123 reg-names = "hci", "vs_hci", "unipro", "ufsp";
/linux/Documentation/devicetree/bindings/net/nfc/
H A Dmarvell,nci.yaml19 hci-muxed:
22 Specifies that the chip is muxing NCI over HCI frames
167 hci-muxed;

1234567