| /linux/drivers/usb/typec/ucsi/ |
| H A D | ucsi_glink.c | 70 struct ucsi *ucsi; member 84 static int pmic_glink_ucsi_read(struct ucsi *__ucsi, unsigned int offset, in pmic_glink_ucsi_read() 87 struct pmic_glink_ucsi *ucsi = ucsi_get_drvdata(__ucsi); in pmic_glink_ucsi_read() local 96 mutex_lock(&ucsi->lock); in pmic_glink_ucsi_read() 97 memset(ucsi->read_buf, 0, sizeof(ucsi->read_buf)); in pmic_glink_ucsi_read() 98 reinit_completion(&ucsi->read_ack); in pmic_glink_ucsi_read() 100 ret = pmic_glink_send(ucsi->client, &req, sizeof(req)); in pmic_glink_ucsi_read() 102 dev_err(ucsi->dev, "failed to send UCSI read request: %d\n", ret); in pmic_glink_ucsi_read() 106 left = wait_for_completion_timeout(&ucsi->read_ack, 5 * HZ); in pmic_glink_ucsi_read() 108 dev_err(ucsi->dev, "timeout waiting for UCSI read response\n"); in pmic_glink_ucsi_read() [all …]
|
| H A D | debugfs.c | 25 struct ucsi *ucsi = data; in ucsi_cmd() local 28 memset(&ucsi->debugfs->response, 0, sizeof(ucsi->debugfs->response)); in ucsi_cmd() 29 ucsi->debugfs->status = 0; in ucsi_cmd() 41 ret = ucsi_send_command(ucsi, val, NULL, 0); in ucsi_cmd() 56 ret = ucsi_send_command(ucsi, val, in ucsi_cmd() 57 &ucsi->debugfs->response, in ucsi_cmd() 58 sizeof(ucsi->debugfs->response)); in ucsi_cmd() 65 ucsi->debugfs->status = ret; in ucsi_cmd() 75 struct ucsi *ucsi = s->private; in ucsi_resp_show() local 77 if (ucsi->debugfs->status) in ucsi_resp_show() [all …]
|
| H A D | ucsi.c | 40 void ucsi_notify_common(struct ucsi *ucsi, u32 cci) in ucsi_notify_common() argument 47 if (UCSI_CCI_CONNECTOR(cci) <= ucsi->cap.num_connectors) in ucsi_notify_common() 48 ucsi_connector_change(ucsi, UCSI_CCI_CONNECTOR(cci)); in ucsi_notify_common() 50 dev_err(ucsi->dev, "bogus connector number in CCI: %lu\n", in ucsi_notify_common() 55 test_and_clear_bit(ACK_PENDING, &ucsi->flags)) in ucsi_notify_common() 56 complete(&ucsi->complete); in ucsi_notify_common() 59 test_and_clear_bit(COMMAND_PENDING, &ucsi->flags)) in ucsi_notify_common() 60 complete(&ucsi->complete); in ucsi_notify_common() 64 int ucsi_sync_control_common(struct ucsi *ucsi, u64 command, u32 *cci, in ucsi_sync_control_common() argument 71 set_bit(ACK_PENDING, &ucsi->flags); in ucsi_sync_control_common() [all …]
|
| H A D | ucsi_stm32g0.c | 67 struct ucsi *ucsi; member 82 static int ucsi_stm32g0_bl_check_ack(struct ucsi *ucsi) in ucsi_stm32g0_bl_check_ack() argument 84 struct ucsi_stm32g0 *g0 = ucsi_get_drvdata(ucsi); in ucsi_stm32g0_bl_check_ack() 119 static int ucsi_stm32g0_bl_cmd_check_ack(struct ucsi *ucsi, unsigned int cmd, bool check_ack) in ucsi_stm32g0_bl_cmd_check_ack() argument 121 struct ucsi_stm32g0 *g0 = ucsi_get_drvdata(ucsi); in ucsi_stm32g0_bl_cmd_check_ack() 150 return ucsi_stm32g0_bl_check_ack(ucsi); in ucsi_stm32g0_bl_cmd_check_ack() 155 static int ucsi_stm32g0_bl_cmd(struct ucsi *ucsi, unsigned int cmd) in ucsi_stm32g0_bl_cmd() argument 157 return ucsi_stm32g0_bl_cmd_check_ack(ucsi, cmd, true); in ucsi_stm32g0_bl_cmd() 160 static int ucsi_stm32g0_bl_rcv_check_ack(struct ucsi *ucsi, void *data, size_t len, bool check_ack) in ucsi_stm32g0_bl_rcv_check_ack() argument 162 struct ucsi_stm32g0 *g0 = ucsi_get_drvdata(ucsi); in ucsi_stm32g0_bl_rcv_check_ack() [all …]
|
| H A D | ucsi_yoga_c630.c | 35 struct ucsi *ucsi; member 41 static int yoga_c630_ucsi_read_version(struct ucsi *ucsi, u16 *version) in yoga_c630_ucsi_read_version() argument 43 struct yoga_c630_ucsi *uec = ucsi_get_drvdata(ucsi); in yoga_c630_ucsi_read_version() 50 static int yoga_c630_ucsi_read_cci(struct ucsi *ucsi, u32 *cci) in yoga_c630_ucsi_read_cci() argument 52 struct yoga_c630_ucsi *uec = ucsi_get_drvdata(ucsi); in yoga_c630_ucsi_read_cci() 65 static int yoga_c630_ucsi_read_message_in(struct ucsi *ucsi, in yoga_c630_ucsi_read_message_in() argument 68 struct yoga_c630_ucsi *uec = ucsi_get_drvdata(ucsi); in yoga_c630_ucsi_read_message_in() 82 static int yoga_c630_ucsi_async_control(struct ucsi *ucsi, u64 command) in yoga_c630_ucsi_async_control() argument 84 struct yoga_c630_ucsi *uec = ucsi_get_drvdata(ucsi); in yoga_c630_ucsi_async_control() 89 static int yoga_c630_ucsi_sync_control(struct ucsi *ucsi, in yoga_c630_ucsi_sync_control() argument [all …]
|
| H A D | ucsi_acpi.c | 22 struct ucsi *ucsi; member 45 static int ucsi_acpi_read_version(struct ucsi *ucsi, u16 *version) in ucsi_acpi_read_version() argument 47 struct ucsi_acpi *ua = ucsi_get_drvdata(ucsi); in ucsi_acpi_read_version() 59 static int ucsi_acpi_read_cci(struct ucsi *ucsi, u32 *cci) in ucsi_acpi_read_cci() argument 61 struct ucsi_acpi *ua = ucsi_get_drvdata(ucsi); in ucsi_acpi_read_cci() 68 static int ucsi_acpi_poll_cci(struct ucsi *ucsi, u32 *cci) in ucsi_acpi_poll_cci() argument 70 struct ucsi_acpi *ua = ucsi_get_drvdata(ucsi); in ucsi_acpi_poll_cci() 77 return ucsi_acpi_read_cci(ucsi, cci); in ucsi_acpi_poll_cci() 80 static int ucsi_acpi_read_message_in(struct ucsi *ucsi, void *val, size_t val_len) in ucsi_acpi_read_message_in() argument 82 struct ucsi_acpi *ua = ucsi_get_drvdata(ucsi); in ucsi_acpi_read_message_in() [all …]
|
| H A D | cros_ec_ucsi.c | 44 struct ucsi *ucsi; member 56 static int cros_ucsi_read(struct ucsi *ucsi, unsigned int offset, void *val, in cros_ucsi_read() argument 59 struct cros_ucsi_data *udata = ucsi_get_drvdata(ucsi); in cros_ucsi_read() 80 static int cros_ucsi_read_version(struct ucsi *ucsi, u16 *version) in cros_ucsi_read_version() argument 82 return cros_ucsi_read(ucsi, UCSI_VERSION, version, sizeof(*version)); in cros_ucsi_read_version() 85 static int cros_ucsi_read_cci(struct ucsi *ucsi, u32 *cci) in cros_ucsi_read_cci() argument 87 return cros_ucsi_read(ucsi, UCSI_CCI, cci, sizeof(*cci)); in cros_ucsi_read_cci() 90 static int cros_ucsi_read_message_in(struct ucsi *ucsi, void *val, in cros_ucsi_read_message_in() argument 93 return cros_ucsi_read(ucsi, UCSI_MESSAGE_IN, val, val_len); in cros_ucsi_read_message_in() 96 static int cros_ucsi_async_control(struct ucsi *ucsi, u64 cmd) in cros_ucsi_async_control() argument [all …]
|
| H A D | ucsi.h | 19 struct ucsi; 81 int (*read_version)(struct ucsi *ucsi, u16 *version); 82 int (*read_cci)(struct ucsi *ucsi, u32 *cci); 83 int (*poll_cci)(struct ucsi *ucsi, u32 *cci); 84 int (*read_message_in)(struct ucsi *ucsi, void *val, size_t val_len); 85 int (*sync_control)(struct ucsi *ucsi, u64 command, u32 *cci, 87 int (*async_control)(struct ucsi *ucsi, u64 command); 88 bool (*update_altmodes)(struct ucsi *ucsi, u8 recipient, 97 struct ucsi *ucsi_create(struct device *dev, const struct ucsi_operations *ops); 98 void ucsi_destroy(struct ucsi *ucsi); [all …]
|
| H A D | ucsi_huawei_gaokun.c | 82 struct gaokun_ucsi *ucsi; member 96 struct ucsi *ucsi; member 108 static int gaokun_ucsi_read_version(struct ucsi *ucsi, u16 *version) in gaokun_ucsi_read_version() argument 110 struct gaokun_ucsi *uec = ucsi_get_drvdata(ucsi); in gaokun_ucsi_read_version() 117 static int gaokun_ucsi_read_cci(struct ucsi *ucsi, u32 *cci) in gaokun_ucsi_read_cci() argument 119 struct gaokun_ucsi *uec = ucsi_get_drvdata(ucsi); in gaokun_ucsi_read_cci() 132 static int gaokun_ucsi_read_message_in(struct ucsi *ucsi, in gaokun_ucsi_read_message_in() argument 135 struct gaokun_ucsi *uec = ucsi_get_drvdata(ucsi); in gaokun_ucsi_read_message_in() 149 static int gaokun_ucsi_async_control(struct ucsi *ucsi, u64 command) in gaokun_ucsi_async_control() argument 151 struct gaokun_ucsi *uec = ucsi_get_drvdata(ucsi); in gaokun_ucsi_async_control() [all …]
|
| H A D | ucsi_ccg.c | 204 struct ucsi *ucsi; member 397 static bool ucsi_ccg_update_altmodes(struct ucsi *ucsi, in ucsi_ccg_update_altmodes() argument 402 struct ucsi_ccg *uc = ucsi_get_drvdata(ucsi); in ucsi_ccg_update_altmodes() 564 static int ucsi_ccg_read_version(struct ucsi *ucsi, u16 *version) in ucsi_ccg_read_version() argument 566 struct ucsi_ccg *uc = ucsi_get_drvdata(ucsi); in ucsi_ccg_read_version() 572 static int ucsi_ccg_read_cci(struct ucsi *ucsi, u32 *cci) in ucsi_ccg_read_cci() argument 574 struct ucsi_ccg *uc = ucsi_get_drvdata(ucsi); in ucsi_ccg_read_cci() 583 static int ucsi_ccg_read_message_in(struct ucsi *ucsi, void *val, size_t val_len) in ucsi_ccg_read_message_in() argument 585 struct ucsi_ccg *uc = ucsi_get_drvdata(ucsi); in ucsi_ccg_read_message_in() 594 static int ucsi_ccg_async_control(struct ucsi *ucsi, u64 command) in ucsi_ccg_async_control() argument [all …]
|
| H A D | displayport.c | 51 struct ucsi *ucsi = dp->con->ucsi; in ucsi_displayport_enter() local 70 ret = ucsi_send_command(ucsi, command, &cur, sizeof(cur)); in ucsi_displayport_enter() 72 if (ucsi->version > 0x0100) in ucsi_displayport_enter() 129 ret = ucsi_send_command(dp->con->ucsi, command, NULL, 0); in ucsi_displayport_exit() 196 return ucsi_send_command(dp->con->ucsi, command, NULL, 0); in ucsi_displayport_configure()
|
| H A D | thunderbolt.c | 60 ret = ucsi_send_command(tbt->con->ucsi, command, NULL, 0); in ucsi_thunderbolt_set_altmode() 93 ret = ucsi_send_command(con->ucsi, command, &cur, sizeof(cur)); in ucsi_thunderbolt_enter() 95 if (con->ucsi->version > 0x0100) in ucsi_thunderbolt_enter()
|
| H A D | psy.c | 39 struct device *dev = con->ucsi->dev; in ucsi_psy_get_scope() 46 if (con->ucsi->cap.attributes & mask) in ucsi_psy_get_scope() 63 if (con->ucsi->version >= UCSI_VERSION_2_0) in ucsi_psy_get_status() 315 struct device *dev = con->ucsi->dev; in ucsi_register_port_psy()
|
| H A D | Makefile | 6 typec_ucsi-y := ucsi.o
|
| H A D | trace.h | 4 #define TRACE_SYSTEM ucsi
|
| H A D | Kconfig | 23 https://www.intel.com/content/www/us/en/io/universal-serial-bus/usb-type-c-ucsi-spec.html
|
| /linux/drivers/usb/typec/ |
| H A D | Makefile | 7 obj-$(CONFIG_TYPEC_UCSI) += ucsi/
|
| H A D | Kconfig | 51 source "drivers/usb/typec/ucsi/Kconfig"
|
| /linux/drivers/i2c/busses/ |
| H A D | Makefile | 10 obj-$(CONFIG_I2C_CCGX_UCSI) += i2c-ccgx-ucsi.o
|
| /linux/arch/arm/boot/dts/st/ |
| H A D | stm32mp135f-dk.dts | 264 firmware-name = "stm32g0-ucsi.mp135f-dk.fw";
|
| /linux/drivers/pci/ |
| H A D | quirks.c | 5799 static void quirk_gpu_usb_typec_ucsi(struct pci_dev *ucsi) in quirk_gpu_usb_typec_ucsi() argument 5801 pci_create_device_link(ucsi, 3, 0, PCI_BASE_CLASS_DISPLAY, 16); in quirk_gpu_usb_typec_ucsi()
|
| /linux/arch/arm64/boot/dts/qcom/ |
| H A D | hamoa.dtsi | 556 usb_ucsi_shared_mem: usb-ucsi-shared@81f20000 {
|
| /linux/ |
| H A D | MAINTAINERS | 6101 F: drivers/usb/typec/ucsi/cros_ec_ucsi.c 11815 F: drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c
|