Lines Matching refs:serdev

185 	struct serdev_device *serdev;  member
449 status = serdev_device_set_tiocm(nxpdev->serdev, TIOCM_DTR, 0); in ps_control()
451 status = serdev_device_set_tiocm(nxpdev->serdev, 0, TIOCM_DTR); in ps_control()
456 status = serdev_device_break_ctl(nxpdev->serdev, 0); in ps_control()
458 status = serdev_device_break_ctl(nxpdev->serdev, -1); in ps_control()
506 struct serdev_device *serdev = nxpdev->serdev; in ps_setup() local
511 psdata->h2c_ps_gpio = devm_gpiod_get_optional(&serdev->dev, "device-wakeup", in ps_setup()
519 if (device_property_read_u8(&serdev->dev, "nxp,wakein-pin", &psdata->h2c_wakeup_gpio)) { in ps_setup()
527 if (of_property_read_bool(serdev->dev.of_node, "wakeup-source")) { in ps_setup()
528 psdata->irq_handler = of_irq_get_byname(serdev->dev.of_node, "wakeup"); in ps_setup()
534 if (device_property_read_u8(&serdev->dev, "nxp,wakeout-pin", &psdata->c2h_wakeup_gpio)) { in ps_setup()
546 ret = devm_request_irq(&serdev->dev, psdata->irq_handler, in ps_setup()
549 dev_name(&serdev->dev), nxpdev); in ps_setup()
553 device_init_wakeup(&serdev->dev, true); in ps_setup()
689 serdev_device_set_tiocm(nxpdev->serdev, 0, TIOCM_RTS); in ps_init()
691 serdev_device_set_tiocm(nxpdev->serdev, TIOCM_RTS, 0); in ps_init()
715 serdev_device_set_tiocm(nxpdev->serdev, 0, TIOCM_DTR); in ps_init()
716 serdev_device_set_tiocm(nxpdev->serdev, TIOCM_DTR, 0); in ps_init()
721 serdev_device_break_ctl(nxpdev->serdev, -1); in ps_init()
723 serdev_device_break_ctl(nxpdev->serdev, 0); in ps_init()
748 serdev_device_set_baudrate(nxpdev->serdev, HCI_NXP_PRI_BAUDRATE); in nxp_download_firmware()
749 serdev_device_set_flow_control(nxpdev->serdev, false); in nxp_download_firmware()
775 serdev_device_set_flow_control(nxpdev->serdev, true); in nxp_download_firmware()
794 serdev_device_write_buf(nxpdev->serdev, ack_nak, len); in nxp_send_ack()
817 serdev_device_write_buf(nxpdev->serdev, (u8 *)&nxp_cmd5, sizeof(nxp_cmd5)); in nxp_fw_change_baudrate()
839 serdev_device_write_buf(nxpdev->serdev, (u8 *)&uart_config, sizeof(uart_config)); in nxp_fw_change_baudrate()
840 serdev_device_wait_until_sent(nxpdev->serdev, 0); in nxp_fw_change_baudrate()
861 serdev_device_write_buf(nxpdev->serdev, (u8 *)&nxp_cmd7, sizeof(nxp_cmd7)); in nxp_fw_change_timeout()
862 serdev_device_wait_until_sent(nxpdev->serdev, 0); in nxp_fw_change_timeout()
911 !device_property_read_string(&nxpdev->serdev->dev, in nxp_request_firmware()
991 serdev_device_set_baudrate(nxpdev->serdev, in nxp_recv_fw_req_v1()
993 serdev_device_set_flow_control(nxpdev->serdev, true); in nxp_recv_fw_req_v1()
1013 serdev_device_wait_until_sent(nxpdev->serdev, 0); in nxp_recv_fw_req_v1()
1014 serdev_device_set_baudrate(nxpdev->serdev, in nxp_recv_fw_req_v1()
1016 serdev_device_set_flow_control(nxpdev->serdev, true); in nxp_recv_fw_req_v1()
1056 serdev_device_write_buf(nxpdev->serdev, nxpdev->fw->data + in nxp_recv_fw_req_v1()
1176 serdev_device_write_buf(nxpdev->serdev, crc_nak_buf.buf, in nxp_handle_fw_download_error()
1185 serdev_device_write_buf(nxpdev->serdev, timeout_nak_buf.buf, in nxp_handle_fw_download_error()
1242 serdev_device_set_baudrate(nxpdev->serdev, in nxp_recv_fw_req_v3()
1244 serdev_device_set_flow_control(nxpdev->serdev, true); in nxp_recv_fw_req_v3()
1269 serdev_device_write_buf(nxpdev->serdev, nxpdev->fw->data + in nxp_recv_fw_req_v3()
1299 serdev_device_set_baudrate(nxpdev->serdev, nxpdev->new_baudrate); in nxp_set_baudrate_cmd()
1312 serdev_device_set_baudrate(nxpdev->serdev, HCI_NXP_PRI_BAUDRATE); in nxp_check_boot_sign()
1314 serdev_device_set_flow_control(nxpdev->serdev, false); in nxp_check_boot_sign()
1316 serdev_device_set_flow_control(nxpdev->serdev, true); in nxp_check_boot_sign()
1443 struct serdev_device *serdev = nxpdev->serdev; in nxp_setup() local
1459 snprintf(device_string, 30, "BTNXPUART_DEV=%s", dev_name(&serdev->dev)); in nxp_setup()
1463 kobject_uevent_env(&serdev->dev.kobj, KOBJ_CHANGE, envp); in nxp_setup()
1465 serdev_device_set_baudrate(nxpdev->serdev, nxpdev->fw_init_baudrate); in nxp_setup()
1520 serdev_device_set_flow_control(nxpdev->serdev, false); in nxp_shutdown()
1659 struct serdev_device *serdev = nxpdev->serdev; in btnxpuart_tx_work() local
1668 len = serdev_device_write_buf(serdev, skb->data, skb->len); in btnxpuart_tx_work()
1699 err = serdev_device_open(nxpdev->serdev); in btnxpuart_open()
1702 dev_name(&nxpdev->serdev->dev)); in btnxpuart_open()
1713 serdev_device_close(nxpdev->serdev); in btnxpuart_close()
1728 serdev_device_write_flush(nxpdev->serdev); in btnxpuart_flush()
1752 static size_t btnxpuart_receive_buf(struct serdev_device *serdev, in btnxpuart_receive_buf() argument
1755 struct btnxpuart_dev *nxpdev = serdev_device_get_drvdata(serdev); in btnxpuart_receive_buf()
1775 static void btnxpuart_write_wakeup(struct serdev_device *serdev) in btnxpuart_write_wakeup() argument
1777 serdev_device_write_wakeup(serdev); in btnxpuart_write_wakeup()
1788 struct serdev_device *serdev = nxpdev->serdev; in nxp_coredump_notify() local
1793 snprintf(device_string, 30, "BTNXPUART_DEV=%s", dev_name(&serdev->dev)); in nxp_coredump_notify()
1811 kobject_uevent_env(&serdev->dev.kobj, KOBJ_CHANGE, envp); in nxp_coredump_notify()
1814 static int nxp_serdev_probe(struct serdev_device *serdev) in nxp_serdev_probe() argument
1821 nxpdev = devm_kzalloc(&serdev->dev, sizeof(*nxpdev), GFP_KERNEL); in nxp_serdev_probe()
1825 nxpdev->nxp_data = (struct btnxpuart_data *)device_get_match_data(&serdev->dev); in nxp_serdev_probe()
1827 nxpdev->serdev = serdev; in nxp_serdev_probe()
1828 serdev_device_set_drvdata(serdev, nxpdev); in nxp_serdev_probe()
1830 serdev_device_set_client_ops(serdev, &btnxpuart_client_ops); in nxp_serdev_probe()
1838 device_property_read_u32(&nxpdev->serdev->dev, "fw-init-baudrate", in nxp_serdev_probe()
1843 device_property_read_u32(&nxpdev->serdev->dev, "max-speed", in nxp_serdev_probe()
1849 dev_err(&serdev->dev, in nxp_serdev_probe()
1858 nxpdev->pdn = devm_reset_control_get_optional_shared(&serdev->dev, NULL); in nxp_serdev_probe()
1862 err = devm_regulator_get_enable(&serdev->dev, "vcc"); in nxp_serdev_probe()
1864 dev_err(&serdev->dev, "Failed to enable vcc regulator\n"); in nxp_serdev_probe()
1871 dev_err(&serdev->dev, "Can't allocate HCI device\n"); in nxp_serdev_probe()
1894 SET_HCIDEV_DEV(hdev, &serdev->dev); in nxp_serdev_probe()
1896 device_property_read_u8_array(&nxpdev->serdev->dev, in nxp_serdev_probe()
1903 dev_err(&serdev->dev, "Can't register HCI device\n"); in nxp_serdev_probe()
1921 static void nxp_serdev_remove(struct serdev_device *serdev) in nxp_serdev_remove() argument
1923 struct btnxpuart_dev *nxpdev = serdev_device_get_drvdata(serdev); in nxp_serdev_remove()