| /linux/drivers/usb/typec/ucsi/ |
| H A D | ucsi_glink.c | 15 #include "ucsi.h" 64 struct ucsi *ucsi; member 78 static int pmic_glink_ucsi_read(struct ucsi *__ucsi, unsigned int offset, in pmic_glink_ucsi_read() 81 struct pmic_glink_ucsi *ucsi = ucsi_get_drvdata(__ucsi); in pmic_glink_ucsi_read() local 90 mutex_lock(&ucsi->lock); in pmic_glink_ucsi_read() 91 memset(ucsi->read_buf, 0, sizeof(ucsi->read_buf)); in pmic_glink_ucsi_read() 92 reinit_completion(&ucsi->read_ack); in pmic_glink_ucsi_read() 94 ret = pmic_glink_send(ucsi->client, &req, sizeof(req)); in pmic_glink_ucsi_read() 96 dev_err(ucsi->dev, "failed to send UCSI read request: %d\n", ret); in pmic_glink_ucsi_read() 100 left = wait_for_completion_timeout(&ucsi->read_ack, 5 * HZ); in pmic_glink_ucsi_read() [all …]
|
| H A D | cros_ec_ucsi.c | 3 * UCSI driver for ChromeOS EC 20 #include "ucsi.h" 23 * Maximum size in bytes of a UCSI message between AP and EC 38 struct ucsi *ucsi; member 50 static int cros_ucsi_read(struct ucsi *ucsi, unsigned int offset, void *val, in cros_ucsi_read() argument 53 struct cros_ucsi_data *udata = ucsi_get_drvdata(ucsi); in cros_ucsi_read() 74 static int cros_ucsi_read_version(struct ucsi *ucsi, u16 *version) in cros_ucsi_read_version() argument 76 return cros_ucsi_read(ucsi, UCSI_VERSION, version, sizeof(*version)); in cros_ucsi_read_version() 79 static int cros_ucsi_read_cci(struct ucsi *ucsi, u32 *cci) in cros_ucsi_read_cci() argument 81 return cros_ucsi_read(ucsi, UCSI_CCI, cci, sizeof(*cci)); in cros_ucsi_read_cci() [all …]
|
| H A D | ucsi_acpi.c | 3 * UCSI ACPI driver 14 #include "ucsi.h" 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() [all …]
|
| H A D | ucsi_yoga_c630.c | 23 #include "ucsi.h" 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() [all …]
|
| H A D | Kconfig | 9 USB Type-C Connector System Software Interface (UCSI) is a 11 control the USB Type-C ports. On UCSI system the USB Type-C ports 14 is required. UCSI is available on most of the new Intel based systems 17 UCSI specification does not define the interface method, so depending 22 The UCSI specification can be downloaded from: 23 https://www.intel.com/content/www/us/en/io/universal-serial-bus/usb-type-c-ucsi-spec.html 31 tristate "UCSI Interface Driver for Cypress CCGx" 34 This driver enables UCSI support on platforms that expose a 41 tristate "UCSI ACPI Interface Driver" 44 This driver enables UCSI support on platforms that expose UCSI [all …]
|
| H A D | ucsi_huawei_gaokun.c | 3 * ucsi-huawei-gaokun - A UCSI driver for HUAWEI Matebook E Go 23 #include "ucsi.h" 82 struct gaokun_ucsi *ucsi; member 96 struct ucsi *ucsi; member 106 /* For UCSI */ 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 [all …]
|
| H A D | ucsi_ccg.c | 3 * UCSI driver for Cypress CCGx Type-C controller 8 * Some code borrowed from drivers/usb/typec/ucsi/ucsi_acpi.c 22 #include "ucsi.h" 128 /* Firmware for Tegra doesn't support UCSI ALT command, built 203 struct ucsi *ucsi; member 365 * Flush CCGx RESPONSE queue by acking interrupts. Above ucsi control in ucsi_ccg_init() 396 static bool ucsi_ccg_update_altmodes(struct ucsi *ucsi, in ucsi_ccg_update_altmodes() argument 401 struct ucsi_ccg *uc = ucsi_get_drvdata(ucsi); in ucsi_ccg_update_altmodes() 563 static int ucsi_ccg_read_version(struct ucsi *ucsi, u16 *version) in ucsi_ccg_read_version() argument 565 struct ucsi_ccg *uc = ucsi_get_drvdata(ucsi); in ucsi_ccg_read_version() [all …]
|
| H A D | displayport.c | 3 * UCSI DisplayPort Alternate Mode Support 12 #include "ucsi.h" 34 * Note. Alternate mode control is optional feature in UCSI. It means that even 39 * them. That is because UCSI defines alt mode details and alt mode "overriding" 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 | psy.c | 3 * Power Supply for UCSI 13 #include "ucsi.h" 38 struct device *dev = con->ucsi->dev; in ucsi_psy_get_scope() 45 if (con->ucsi->cap.attributes & mask) in ucsi_psy_get_scope() 165 /* UCSI can't tell b/w DCP/CDP or USB2/3x1/3x2 SDP chargers */ in ucsi_psy_get_current_max() 256 struct device *dev = con->ucsi->dev; in ucsi_register_port_psy() 262 psy_name = devm_kasprintf(dev, GFP_KERNEL, "ucsi-source-psy-%s%d", in ucsi_register_port_psy()
|
| H A D | Makefile | 6 typec_ucsi-y := ucsi.o
|
| H A D | trace.c | 3 #include "ucsi.h"
|
| H A D | trace.h | 4 #define TRACE_SYSTEM ucsi
|
| /linux/drivers/i2c/busses/ |
| H A D | i2c-ccgx-ucsi.c | 3 * Instantiate UCSI device for Cypress CCGx Type-C controller. 12 #include "i2c-ccgx-ucsi.h" 21 strscpy(info.type, "ccgx-ucsi", sizeof(info.type)); in i2c_new_ccgx_ucsi() 30 MODULE_DESCRIPTION("Instantiate UCSI device for Cypress CCGx Type-C controller");
|
| H A D | i2c-designware-pcidrv.c | 28 #include "i2c-ccgx-ucsi.h" 284 "register UCSI failed\n"); in i2c_dw_pci_probe()
|
| H A D | i2c-designware-core.h | 322 * Enable UCSI interrupt by writing 0xd at register
|
| /linux/drivers/platform/arm64/ |
| H A D | huawei-gaokun-ec.c | 375 /* API for UCSI */ 378 * gaokun_ec_ucsi_read - Read UCSI data from EC 382 * Read CCI and MSGI (used by UCSI subdriver). 403 * gaokun_ec_ucsi_write - Write UCSI data to EC 407 * Write CTRL and MSGO (used by UCSI subdriver). 423 * gaokun_ec_ucsi_get_reg - Get UCSI register from EC 425 * @ureg: The gaokun ucsi register 427 * Get UCSI register data (used by UCSI subdriver). 452 * Ack pin assignment notifications (used by UCSI subdriver).
|
| /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/include/linux/platform_data/ |
| H A D | lenovo-yoga-c630.h | 17 #define YOGA_C630_DEV_UCSI "ucsi"
|
| /linux/Documentation/devicetree/bindings/usb/ |
| H A D | st,typec-stm32g0.yaml | 11 typically using the UCSI protocol over I2C, with a dedicated alert
|
| /linux/drivers/soc/qcom/ |
| H A D | pmic_glink.c | 319 ret = pmic_glink_add_aux_device(pg, &pg->ucsi_aux, "ucsi"); in pmic_glink_probe()
|
| /linux/Documentation/driver-api/usb/ |
| H A D | typec.rst | 16 driver, but it may be a driver for firmware interface such as UCSI, driver for
|
| /linux/drivers/platform/surface/ |
| H A D | surface_aggregator_registry.c | 140 /* HID device instance 7 (SAM, TID=1, UCM UCSI HID client). */
|
| /linux/arch/arm/boot/dts/st/ |
| H A D | stm32mp135f-dk.dts | 246 firmware-name = "stm32g0-ucsi.mp135f-dk.fw";
|
| /linux/drivers/pci/ |
| H A D | quirks.c | 5731 * Create device link for GPUs with integrated Type-C UCSI controller 5732 * to VGA. Currently there is no class code defined for UCSI device over PCI 5733 * so using UNKNOWN class for now and it will be updated when UCSI 5737 static void quirk_gpu_usb_typec_ucsi(struct pci_dev *ucsi) in quirk_gpu_usb_typec_ucsi() argument 5739 pci_create_device_link(ucsi, 3, 0, PCI_BASE_CLASS_DISPLAY, 16); in quirk_gpu_usb_typec_ucsi()
|