Lines Matching +full:hci +full:- +full:muxed

1 // SPDX-License-Identifier: GPL-2.0-only
3 * Marvell NFC-over-UART driver
23 static int reset_n_io = -EINVAL;
42 struct nci_uart *nu = priv->drv_data; in nfcmrvl_uart_nci_send()
44 return nu->ops.send(nu, skb); in nfcmrvl_uart_nci_send()
50 struct nci_uart *nu = priv->drv_data; in nfcmrvl_uart_nci_update_config()
53 nci_uart_set_config(nu, le32_to_cpu(config->baudrate), in nfcmrvl_uart_nci_update_config()
54 config->flow_control); in nfcmrvl_uart_nci_update_config()
70 matched_node = of_get_compatible_child(node, "marvell,nfc-uart"); in nfcmrvl_uart_parse_dt()
72 matched_node = of_get_compatible_child(node, "mrvl,nfc-uart"); in nfcmrvl_uart_parse_dt()
74 return -ENODEV; in nfcmrvl_uart_parse_dt()
84 pdata->flow_control = of_property_read_bool(matched_node, "flow-control"); in nfcmrvl_uart_parse_dt()
85 pdata->break_control = of_property_read_bool(matched_node, "break-control"); in nfcmrvl_uart_parse_dt()
101 struct device *dev = nu->tty->dev; in nfcmrvl_nci_uart_open()
109 if (dev && dev->parent && dev->parent->of_node) in nfcmrvl_nci_uart_open()
110 if (nfcmrvl_uart_parse_dt(dev->parent->of_node, &config) == 0) in nfcmrvl_nci_uart_open()
114 pr_info("No platform data / DT -> fallback to module params\n"); in nfcmrvl_nci_uart_open()
127 priv->support_fw_dnld = true; in nfcmrvl_nci_uart_open()
129 nu->drv_data = priv; in nfcmrvl_nci_uart_open()
130 nu->ndev = priv->ndev; in nfcmrvl_nci_uart_open()
137 nfcmrvl_nci_unregister_dev((struct nfcmrvl_private *)nu->drv_data); in nfcmrvl_nci_uart_close()
142 return nfcmrvl_nci_recv_frame((struct nfcmrvl_private *)nu->drv_data, in nfcmrvl_nci_uart_recv()
148 struct nfcmrvl_private *priv = (struct nfcmrvl_private *)nu->drv_data; in nfcmrvl_nci_uart_tx_start()
150 if (priv->ndev->nfc_dev->fw_download_in_progress) in nfcmrvl_nci_uart_tx_start()
154 if (priv->config.break_control && nu->tty->ops->break_ctl) { in nfcmrvl_nci_uart_tx_start()
155 nu->tty->ops->break_ctl(nu->tty, 0); in nfcmrvl_nci_uart_tx_start()
162 struct nfcmrvl_private *priv = (struct nfcmrvl_private *)nu->drv_data; in nfcmrvl_nci_uart_tx_done()
164 if (priv->ndev->nfc_dev->fw_download_in_progress) in nfcmrvl_nci_uart_tx_done()
172 if (priv->config.break_control && nu->tty->ops->break_ctl) { in nfcmrvl_nci_uart_tx_done()
173 nu->tty->ops->break_ctl(nu->tty, -1); in nfcmrvl_nci_uart_tx_done()
193 MODULE_DESCRIPTION("Marvell NFC-over-UART");
203 MODULE_PARM_DESC(hci_muxed, "Tell if transport is muxed in HCI one.");