• Home
  • Raw
  • Download

Lines Matching +full:nfc +full:- +full:uart

2  * Marvell NFC-over-UART driver
11 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
13 * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
22 #include <net/nfc/nci.h>
23 #include <net/nfc/nci_core.h>
29 static int reset_n_io = -EINVAL;
48 struct nci_uart *nu = priv->drv_data; in nfcmrvl_uart_nci_send()
50 return nu->ops.send(nu, skb); in nfcmrvl_uart_nci_send()
56 struct nci_uart *nu = priv->drv_data; in nfcmrvl_uart_nci_update_config()
59 nci_uart_set_config(nu, le32_to_cpu(config->baudrate), in nfcmrvl_uart_nci_update_config()
60 config->flow_control); in nfcmrvl_uart_nci_update_config()
76 matched_node = of_get_compatible_child(node, "marvell,nfc-uart"); in nfcmrvl_uart_parse_dt()
78 matched_node = of_get_compatible_child(node, "mrvl,nfc-uart"); in nfcmrvl_uart_parse_dt()
80 return -ENODEV; in nfcmrvl_uart_parse_dt()
90 if (of_find_property(matched_node, "flow-control", NULL)) in nfcmrvl_uart_parse_dt()
91 pdata->flow_control = 1; in nfcmrvl_uart_parse_dt()
93 pdata->flow_control = 0; in nfcmrvl_uart_parse_dt()
95 if (of_find_property(matched_node, "break-control", NULL)) in nfcmrvl_uart_parse_dt()
96 pdata->break_control = 1; in nfcmrvl_uart_parse_dt()
98 pdata->break_control = 0; in nfcmrvl_uart_parse_dt()
106 ** NCI UART OPS
114 struct device *dev = nu->tty->dev; in nfcmrvl_nci_uart_open()
122 if (dev && dev->parent && dev->parent->of_node) in nfcmrvl_nci_uart_open()
123 if (nfcmrvl_uart_parse_dt(dev->parent->of_node, &config) == 0) in nfcmrvl_nci_uart_open()
127 pr_info("No platform data / DT -> fallback to module params\n"); in nfcmrvl_nci_uart_open()
140 priv->support_fw_dnld = true; in nfcmrvl_nci_uart_open()
142 nu->drv_data = priv; in nfcmrvl_nci_uart_open()
143 nu->ndev = priv->ndev; in nfcmrvl_nci_uart_open()
150 nfcmrvl_nci_unregister_dev((struct nfcmrvl_private *)nu->drv_data); in nfcmrvl_nci_uart_close()
155 return nfcmrvl_nci_recv_frame((struct nfcmrvl_private *)nu->drv_data, in nfcmrvl_nci_uart_recv()
161 struct nfcmrvl_private *priv = (struct nfcmrvl_private *)nu->drv_data; in nfcmrvl_nci_uart_tx_start()
163 if (priv->ndev->nfc_dev->fw_download_in_progress) in nfcmrvl_nci_uart_tx_start()
167 if (priv->config.break_control && nu->tty->ops->break_ctl) { in nfcmrvl_nci_uart_tx_start()
168 nu->tty->ops->break_ctl(nu->tty, 0); in nfcmrvl_nci_uart_tx_start()
175 struct nfcmrvl_private *priv = (struct nfcmrvl_private *)nu->drv_data; in nfcmrvl_nci_uart_tx_done()
177 if (priv->ndev->nfc_dev->fw_download_in_progress) in nfcmrvl_nci_uart_tx_done()
185 if (priv->config.break_control && nu->tty->ops->break_ctl) { in nfcmrvl_nci_uart_tx_done()
186 nu->tty->ops->break_ctl(nu->tty, -1); in nfcmrvl_nci_uart_tx_done()
222 MODULE_DESCRIPTION("Marvell NFC-over-UART");
226 MODULE_PARM_DESC(flow_control, "Tell if UART needs flow control at init.");
229 MODULE_PARM_DESC(break_control, "Tell if UART driver must drive break signal.");