/linux-6.6.21/drivers/i3c/master/mipi-i3c-hci/ |
D | core.c | 30 #define reg_read(r) readl(hci->base_regs + (r)) 31 #define reg_write(r, v) writel(v, hci->base_regs + (r)) 128 struct i3c_hci *hci = to_i3c_hci(m); in i3c_hci_bus_init() local 134 if (hci->cmd == &mipi_i3c_hci_cmd_v1) { in i3c_hci_bus_init() 135 ret = mipi_i3c_hci_dat_v1.init(hci); in i3c_hci_bus_init() 151 ret = hci->io->init(hci); in i3c_hci_bus_init() 163 struct i3c_hci *hci = to_i3c_hci(m); in i3c_hci_bus_cleanup() local 168 hci->io->cleanup(hci); in i3c_hci_bus_cleanup() 169 if (hci->cmd == &mipi_i3c_hci_cmd_v1) in i3c_hci_bus_cleanup() 170 mipi_i3c_hci_dat_v1.cleanup(hci); in i3c_hci_bus_cleanup() [all …]
|
D | ext_caps.c | 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() 32 dev_info(&hci->master.dev, "vendor product ID: %#x\n", hci->vendor_product_id); in hci_extcap_hardware_id() 35 switch (hci->vendor_mipi_id) { in hci_extcap_hardware_id() 37 hci->quirks |= HCI_QUIRK_RAW_CCC; in hci_extcap_hardware_id() 45 static int hci_extcap_master_config(struct i3c_hci *hci, void __iomem *base) in hci_extcap_master_config() argument [all …]
|
D | dat_v1.c | 38 #define dat_w0_read(i) readl(hci->DAT_regs + (i) * 8) 39 #define dat_w1_read(i) readl(hci->DAT_regs + (i) * 8 + 4) 40 #define dat_w0_write(i, v) writel(v, hci->DAT_regs + (i) * 8) 41 #define dat_w1_write(i, v) writel(v, hci->DAT_regs + (i) * 8 + 4) 52 static int hci_dat_v1_init(struct i3c_hci *hci) in hci_dat_v1_init() argument 56 if (!hci->DAT_regs) { in hci_dat_v1_init() 57 dev_err(&hci->master.dev, in hci_dat_v1_init() 61 if (hci->DAT_entry_size != 8) { in hci_dat_v1_init() 62 dev_err(&hci->master.dev, in hci_dat_v1_init() 67 if (!hci->DAT_data) { in hci_dat_v1_init() [all …]
|
D | pio.c | 23 #define pio_reg_read(r) readl(hci->PIO_regs + (PIO_##r)) 24 #define pio_reg_write(r, v) writel(v, hci->PIO_regs + (PIO_##r)) 139 static int hci_pio_init(struct i3c_hci *hci) in hci_pio_init() argument 148 hci->io_data = pio; in hci_pio_init() 152 dev_info(&hci->master.dev, "CMD/RESP FIFO = %ld entries\n", in hci_pio_init() 154 dev_info(&hci->master.dev, "IBI FIFO = %ld bytes\n", in hci_pio_init() 156 dev_info(&hci->master.dev, "RX data FIFO = %d bytes\n", in hci_pio_init() 158 dev_info(&hci->master.dev, "TX data FIFO = %d bytes\n", in hci_pio_init() 168 if (hci->version_major == 1) { in hci_pio_init() 209 static void hci_pio_cleanup(struct i3c_hci *hci) in hci_pio_cleanup() argument [all …]
|
D | dma.c | 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)) 165 static void hci_dma_cleanup(struct i3c_hci *hci) in hci_dma_cleanup() argument 167 struct hci_rings_data *rings = hci->io_data; in hci_dma_cleanup() 183 dma_free_coherent(&hci->master.dev, in hci_dma_cleanup() 187 dma_free_coherent(&hci->master.dev, in hci_dma_cleanup() 192 dma_free_coherent(&hci->master.dev, in hci_dma_cleanup() 196 dma_unmap_single(&hci->master.dev, rh->ibi_data_dma, in hci_dma_cleanup() 205 hci->io_data = NULL; in hci_dma_cleanup() 208 static int hci_dma_init(struct i3c_hci *hci) in hci_dma_init() argument [all …]
|
D | dat.h | 19 int (*init)(struct i3c_hci *hci); 20 void (*cleanup)(struct i3c_hci *hci); 21 int (*alloc_entry)(struct i3c_hci *hci); 22 void (*free_entry)(struct i3c_hci *hci, unsigned int dat_idx); 23 void (*set_dynamic_addr)(struct i3c_hci *hci, unsigned int dat_idx, u8 addr); 24 void (*set_static_addr)(struct i3c_hci *hci, unsigned int dat_idx, u8 addr); 25 void (*set_flags)(struct i3c_hci *hci, unsigned int dat_idx, u32 w0, u32 w1); 26 void (*clear_flags)(struct i3c_hci *hci, unsigned int dat_idx, u32 w0, u32 w1); 27 int (*get_index)(struct i3c_hci *hci, u8 address);
|
D | cmd_v1.c | 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() 139 static enum hci_cmd_mode get_i2c_mode(struct i3c_hci *hci) in get_i2c_mode() argument 141 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i2c_mode() 172 static int hci_cmd_v1_prep_ccc(struct i3c_hci *hci, in hci_cmd_v1_prep_ccc() argument 177 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_ccc() 188 ret = mipi_i3c_hci_dat_v1.get_index(hci, ccc_addr); in hci_cmd_v1_prep_ccc() 222 static void hci_cmd_v1_prep_i3c_xfer(struct i3c_hci *hci, in hci_cmd_v1_prep_i3c_xfer() argument 228 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_i3c_xfer() 257 static void hci_cmd_v1_prep_i2c_xfer(struct i3c_hci *hci, in hci_cmd_v1_prep_i2c_xfer() argument [all …]
|
D | cmd_v2.c | 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() 83 static unsigned int get_i2c_rate_idx(struct i3c_hci *hci) in get_i2c_rate_idx() argument 85 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i2c_rate_idx() 92 static void hci_cmd_v2_prep_private_xfer(struct i3c_hci *hci, in hci_cmd_v2_prep_private_xfer() argument 151 static int hci_cmd_v2_prep_ccc(struct i3c_hci *hci, struct hci_xfer *xfer, in hci_cmd_v2_prep_ccc() argument 155 unsigned int rate = get_i3c_rate_idx(hci); in hci_cmd_v2_prep_ccc() 161 hci_cmd_v2_prep_private_xfer(hci, xfer, ccc_addr, mode, rate); in hci_cmd_v2_prep_ccc() 217 static void hci_cmd_v2_prep_i3c_xfer(struct i3c_hci *hci, in hci_cmd_v2_prep_i3c_xfer() argument 222 unsigned int rate = get_i3c_rate_idx(hci); in hci_cmd_v2_prep_i3c_xfer() [all …]
|
D | hci.h | 112 bool (*irq_handler)(struct i3c_hci *hci, unsigned int mask); 113 int (*queue_xfer)(struct i3c_hci *hci, struct hci_xfer *xfer, int n); 114 bool (*dequeue_xfer)(struct i3c_hci *hci, struct hci_xfer *xfer, int n); 115 int (*request_ibi)(struct i3c_hci *hci, struct i3c_dev_desc *dev, 117 void (*free_ibi)(struct i3c_hci *hci, struct i3c_dev_desc *dev); 118 void (*recycle_ibi_slot)(struct i3c_hci *hci, struct i3c_dev_desc *dev, 120 int (*init)(struct i3c_hci *hci); 121 void (*cleanup)(struct i3c_hci *hci); 140 void mipi_i3c_hci_resume(struct i3c_hci *hci); 141 void mipi_i3c_hci_pio_reset(struct i3c_hci *hci); [all …]
|
D | cmd.h | 50 (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);
|
D | Makefile | 3 obj-$(CONFIG_MIPI_I3C_HCI) += mipi-i3c-hci.o 4 mipi-i3c-hci-y := core.o ext_caps.o pio.o dma.o \
|
D | dct_v1.c | 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()
|
D | ibi.h | 30 i3c_hci_addr_to_dev(struct i3c_hci *hci, unsigned int addr) in i3c_hci_addr_to_dev() argument 32 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in i3c_hci_addr_to_dev()
|
D | ext_caps.h | 17 int i3c_hci_parse_ext_caps(struct i3c_hci *hci);
|
D | dct.h | 13 void i3c_hci_dct_get_val(struct i3c_hci *hci, unsigned int dct_idx,
|
/linux-6.6.21/drivers/net/wireless/realtek/rtw88/ |
D | hci.h | 37 return rtwdev->hci.ops->tx_write(rtwdev, pkt_info, skb); in rtw_hci_tx_write() 42 return rtwdev->hci.ops->tx_kick_off(rtwdev); in rtw_hci_tx_kick_off() 47 return rtwdev->hci.ops->setup(rtwdev); in rtw_hci_setup() 52 return rtwdev->hci.ops->start(rtwdev); in rtw_hci_start() 57 rtwdev->hci.ops->stop(rtwdev); in rtw_hci_stop() 62 rtwdev->hci.ops->deep_ps(rtwdev, enter); in rtw_hci_deep_ps() 67 rtwdev->hci.ops->link_ps(rtwdev, enter); in rtw_hci_link_ps() 72 rtwdev->hci.ops->interface_cfg(rtwdev); in rtw_hci_interface_cfg() 78 return rtwdev->hci.ops->write_data_rsvd_page(rtwdev, buf, size); in rtw_hci_write_data_rsvd_page() 84 return rtwdev->hci.ops->write_data_h2c(rtwdev, buf, size); in rtw_hci_write_data_h2c() [all …]
|
D | ps.c | 74 request = rtw_read8(rtwdev, rtwdev->hci.rpwm_addr); in rtw_power_mode_change() 75 confirm = rtw_read8(rtwdev, rtwdev->hci.cpwm_addr); in rtw_power_mode_change() 90 rtw_write8(rtwdev, rtwdev->hci.rpwm_addr, request); in rtw_power_mode_change() 96 rtwdev->hci.cpwm_addr); in rtw_power_mode_change()
|
/linux-6.6.21/net/nfc/hci/ |
D | Makefile | 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
|
/linux-6.6.21/Documentation/devicetree/bindings/i3c/ |
D | mipi-i3c-hci.yaml | 4 $id: http://devicetree.org/schemas/i3c/mipi-i3c-hci.yaml# 27 https://www.mipi.org/specifications/i3c-hci 31 const: mipi-i3c-hci 47 compatible = "mipi-i3c-hci";
|
/linux-6.6.21/drivers/staging/gdm724x/ |
D | gdm_usb.c | 59 struct hci_packet *hci; in request_mac_address() local 64 hci = kmalloc(struct_size(hci, data, 1), GFP_KERNEL); in request_mac_address() 65 if (!hci) in request_mac_address() 68 hci->cmd_evt = gdm_cpu_to_dev16(udev->gdm_ed, LTE_GET_INFORMATION); in request_mac_address() 69 hci->len = gdm_cpu_to_dev16(udev->gdm_ed, 1); in request_mac_address() 70 hci->data[0] = MAC_ADDRESS; in request_mac_address() 72 ret = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 2), hci, 5, in request_mac_address() 76 kfree(hci); in request_mac_address() 387 struct hci_packet *hci; in do_rx() local 406 hci = (struct hci_packet *)r->buf; in do_rx() [all …]
|
/linux-6.6.21/Documentation/ABI/testing/ |
D | sysfs-driver-hid | 2 What: /sys/class/bluetooth/hci<addr>/<hid-bus>:<vendor-id>:<product-id>.<num>/report_descriptor 13 What: /sys/class/bluetooth/hci<addr>/<hid-bus>:<vendor-id>:<product-id>.<num>/country
|
/linux-6.6.21/drivers/net/wireless/realtek/rtw89/ |
D | core.h | 4372 struct rtw89_hci_info hci; member 4470 return rtwdev->hci.ops->tx_write(rtwdev, tx_req); in rtw89_hci_tx_write() 4475 rtwdev->hci.ops->reset(rtwdev); in rtw89_hci_reset() 4480 return rtwdev->hci.ops->start(rtwdev); in rtw89_hci_start() 4485 rtwdev->hci.ops->stop(rtwdev); in rtw89_hci_stop() 4490 return rtwdev->hci.ops->deinit(rtwdev); in rtw89_hci_deinit() 4495 rtwdev->hci.ops->pause(rtwdev, pause); in rtw89_hci_pause() 4500 rtwdev->hci.ops->switch_mode(rtwdev, low_power); in rtw89_hci_switch_mode() 4505 rtwdev->hci.ops->recalc_int_mit(rtwdev); in rtw89_hci_recalc_int_mit() 4510 return rtwdev->hci.ops->check_and_reclaim_tx_resource(rtwdev, txch); in rtw89_hci_check_and_reclaim_tx_resource() [all …]
|
/linux-6.6.21/Documentation/devicetree/bindings/ufs/ |
D | samsung,exynos-ufs.yaml | 35 - const: hci 85 reg-names = "hci", "vs_hci", "unipro", "ufsp";
|
/linux-6.6.21/drivers/i3c/master/ |
D | Kconfig | 56 https://www.mipi.org/specifications/i3c-hci 59 called mipi-i3c-hci.
|
/linux-6.6.21/Documentation/driver-api/nfc/ |
D | index.rst | 10 nfc-hci
|