/* * Platform data cannot be used here since usually it is already used * by low level serial driver. We can try to retrieve serial device * and check if DT entries were added.
*/
if (dev && dev->parent && dev->parent->of_node) if (nfcmrvl_uart_parse_dt(dev->parent->of_node, &config) == 0)
pdata = &config;
if (!pdata) {
pr_info("No platform data / DT -> fallback to module params\n");
config.hci_muxed = hci_muxed;
config.reset_n_io = reset_n_io;
config.flow_control = flow_control;
config.break_control = break_control;
pdata = &config;
}
if (priv->ndev->nfc_dev->fw_download_in_progress) return;
/* Remove BREAK to wake up the NFCC */ if (priv->config.break_control && nu->tty->ops->break_ctl) {
nu->tty->ops->break_ctl(nu->tty, 0);
usleep_range(3000, 5000);
}
}
if (priv->ndev->nfc_dev->fw_download_in_progress) return;
/* * To ensure that if the NFCC goes in DEEP SLEEP sate we can wake him * up. we set BREAK. Once we will be ready to send again we will remove * it.
*/ if (priv->config.break_control && nu->tty->ops->break_ctl) {
nu->tty->ops->break_ctl(nu->tty, -1);
usleep_range(1000, 3000);
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.