| /linux/drivers/usb/typec/mux/ |
| H A D | ps883x.c | 49 struct typec_retimer *retimer; member 69 static int ps883x_configure(struct ps883x_retimer *retimer, int cfg0, in ps883x_configure() argument 72 struct device *dev = &retimer->client->dev; in ps883x_configure() 75 if (retimer->cfg0 == cfg0 && retimer->cfg1 == cfg1 && retimer->cfg2 == cfg2) in ps883x_configure() 78 ret = regmap_write(retimer->regmap, REG_USB_PORT_CONN_STATUS_0, cfg0); in ps883x_configure() 84 ret = regmap_write(retimer->regmap, REG_USB_PORT_CONN_STATUS_1, cfg1); in ps883x_configure() 90 ret = regmap_write(retimer->regmap, REG_USB_PORT_CONN_STATUS_2, cfg2); in ps883x_configure() 96 retimer->cfg0 = cfg0; in ps883x_configure() 97 retimer->cfg1 = cfg1; in ps883x_configure() 98 retimer->cfg2 = cfg2; in ps883x_configure() [all …]
|
| H A D | ptn36502.c | 67 struct typec_retimer *retimer; member 236 static int ptn36502_retimer_set(struct typec_retimer *retimer, struct typec_retimer_state *state) in ptn36502_retimer_set() argument 238 struct ptn36502 *ptn = typec_retimer_get_drvdata(retimer); in ptn36502_retimer_set() 369 ptn->retimer = typec_retimer_register(dev, &retimer_desc); in ptn36502_probe() 370 if (IS_ERR(ptn->retimer)) { in ptn36502_probe() 371 ret = dev_err_probe(dev, PTR_ERR(ptn->retimer), in ptn36502_probe() 397 typec_retimer_unregister(ptn->retimer); in ptn36502_remove()
|
| H A D | nb7vpq904m.c | 68 struct typec_retimer *retimer; member 276 static int nb7vpq904m_retimer_set(struct typec_retimer *retimer, struct typec_retimer_state *state) in nb7vpq904m_retimer_set() argument 278 struct nb7vpq904m *nb7 = typec_retimer_get_drvdata(retimer); in nb7vpq904m_retimer_set() 461 nb7->retimer = typec_retimer_register(dev, &retimer_desc); in nb7vpq904m_probe() 462 if (IS_ERR(nb7->retimer)) { in nb7vpq904m_probe() 463 ret = dev_err_probe(dev, PTR_ERR(nb7->retimer), in nb7vpq904m_probe() 490 typec_retimer_unregister(nb7->retimer); in nb7vpq904m_remove()
|
| H A D | Kconfig | 60 tristate "Parade PS883x Type-C retimer driver" 66 Say Y or M if your system has a Parade PS883x Type-C retimer chip
|
| /linux/drivers/usb/typec/ |
| H A D | retimer.c | 49 struct typec_retimer *retimer; in fwnode_typec_retimer_get() local 51 retimer = fwnode_connection_find_match(fwnode, "retimer-switch", NULL, typec_retimer_match); in fwnode_typec_retimer_get() 52 if (!IS_ERR_OR_NULL(retimer)) in fwnode_typec_retimer_get() 53 WARN_ON(!try_module_get(retimer->dev.parent->driver->owner)); in fwnode_typec_retimer_get() 55 return retimer; in fwnode_typec_retimer_get() 65 void typec_retimer_put(struct typec_retimer *retimer) in typec_retimer_put() argument 67 if (!IS_ERR_OR_NULL(retimer)) { in typec_retimer_put() 68 module_put(retimer->dev.parent->driver->owner); in typec_retimer_put() 69 put_device(&retimer->dev); in typec_retimer_put() 74 int typec_retimer_set(struct typec_retimer *retimer, struct typec_retimer_state *state) in typec_retimer_set() argument [all …]
|
| H A D | bus.h | 15 struct typec_retimer *retimer; member
|
| H A D | Makefile | 3 typec-y := class.o mux.o bus.o pd.o retimer.o mode_selection.o
|
| H A D | class.c | 711 typec_retimer_put(to_altmode(adev)->retimer); in typec_unregister_altmode() 2117 typec_retimer_put(port->retimer); in typec_release() 2578 struct typec_retimer *retimer; in typec_port_register_altmode() local 2585 retimer = typec_retimer_get(&port->dev); in typec_port_register_altmode() 2586 if (IS_ERR(retimer)) { in typec_port_register_altmode() 2588 return ERR_CAST(retimer); in typec_port_register_altmode() 2593 typec_retimer_put(retimer); in typec_port_register_altmode() 2597 to_altmode(adev)->retimer = retimer; in typec_port_register_altmode() 2790 port->retimer = typec_retimer_get(&port->dev); in typec_register_port() 2791 if (IS_ERR(port->retimer)) { in typec_register_port() [all …]
|
| H A D | class.h | 70 struct typec_retimer *retimer; member
|
| H A D | bus.c | 21 if (!alt->retimer) in typec_altmode_set_retimer() 28 return typec_retimer_set(alt->retimer, &state); in typec_altmode_set_retimer()
|
| /linux/include/linux/usb/ |
| H A D | typec_retimer.h | 20 typedef int (*typec_retimer_set_fn_t)(struct typec_retimer *retimer, 31 void typec_retimer_put(struct typec_retimer *retimer); 32 int typec_retimer_set(struct typec_retimer *retimer, struct typec_retimer_state *state); 41 void typec_retimer_unregister(struct typec_retimer *retimer); 43 void *typec_retimer_get_drvdata(struct typec_retimer *retimer);
|
| /linux/Documentation/hwmon/ |
| H A D | pt5161l.rst | 22 PT5161L series PCIe retimer chips. 25 https://github.com/facebook/openbmc/tree/helium/common/recipes-lib/retimer-v2.14 40 fw_ver Firmware version of the retimer
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-bus-dfl-devices-n3000-nios | 18 the retimer A configured by the Nios firmware. The value is 30 retimer modes, more enumeration value is expected. 38 the retimer B configured by the Nios firmware. The value format
|
| /linux/drivers/platform/chrome/ |
| H A D | cros_ec_typec.c | 217 port->retimer = fwnode_typec_retimer_get(fwnode); in cros_typec_get_switch_handles() 218 if (IS_ERR(port->retimer)) { in cros_typec_get_switch_handles() 219 ret = PTR_ERR(port->retimer); in cros_typec_get_switch_handles() 244 typec_retimer_put(port->retimer); in cros_typec_get_switch_handles() 245 port->retimer = NULL; in cros_typec_get_switch_handles() 296 static int cros_typec_retimer_set(struct typec_retimer *retimer, struct typec_mux_state state) in cros_typec_retimer_set() argument 304 return typec_retimer_set(retimer, &rstate); in cros_typec_retimer_set() 315 cros_typec_retimer_set(port->retimer, port->state); in cros_typec_usb_disconnect_state() 539 ret = cros_typec_retimer_set(port->retimer, port->state); in cros_typec_usb_safe_state() 692 ret = cros_typec_retimer_set(port->retimer, port->state); in cros_typec_enable_dp() [all …]
|
| H A D | cros_ec_typec.h | 62 struct typec_retimer *retimer; member
|
| /linux/arch/arm64/boot/dts/qcom/ |
| H A D | qcs8550-aim300-aiot.dts | 141 typec-retimer@1c { 148 retimer-switch;
|
| H A D | hamoa-iot-evk.dts | 298 /* Left unused as the retimer is not used on this board. */ 723 retimer-switch; 827 retimer-switch;
|
| H A D | x1e001de-devkit.dts | 796 retimer-switch; 852 retimer-switch; 943 retimer-switch;
|
| H A D | x1e80100-lenovo-yoga-slim7x.dts | 864 retimer-switch; 920 retimer-switch; 977 retimer-switch;
|
| /linux/drivers/thunderbolt/ |
| H A D | Makefile | 6 thunderbolt-objs += usb4_port.o nvm.o retimer.o quirks.o clx.o
|
| H A D | Kconfig | 40 support under each USB4 port and retimer, including retimers
|
| /linux/Documentation/admin-guide/ |
| H A D | thunderbolt.rst | 199 Upgrading NVM on Thunderbolt device, host or retimer 211 Before you upgrade firmware on a device, host or retimer, please make 279 Upgrading on-board retimer NVM when there is no cable connected 281 If the platform supports, it may be possible to upgrade the retimer NVM 295 This enumerates and adds the on-board retimers. Now retimer NVM can be 297 section). However, the retimer is not disconnected as we are offline
|
| /linux/arch/arm/boot/dts/aspeed/ |
| H A D | aspeed-bmc-facebook-harma.dts | 344 retimer@24 { 508 retimer@24 {
|
| /linux/Documentation/firmware-guide/acpi/ |
| H A D | intel-pmc-mux.rst | 96 happen for example if a retimer on the platform handles the cable plug
|
| /linux/arch/arm64/boot/dts/freescale/ |
| H A D | fsl-lx2162a-clearfog.dts | 244 /* retimer@18 */
|