Home
last modified time | relevance | path

Searched +full:usb +full:- +full:role +full:- +full:switch (Results 1 – 25 of 161) sorted by relevance

1234567

/Linux-v6.1/drivers/usb/roles/
Dclass.c1 // SPDX-License-Identifier: GPL-2.0
3 * USB Role Switch Support
10 #include <linux/usb/role.h>
22 enum usb_role role; member
36 * usb_role_switch_set_role - Set USB role for a switch
37 * @sw: USB role switch
38 * @role: USB role to be switched to
40 * Set USB role @role for @sw.
42 int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role) in usb_role_switch_set_role() argument
49 mutex_lock(&sw->lock); in usb_role_switch_set_role()
[all …]
DKconfig1 # SPDX-License-Identifier: GPL-2.0
4 tristate "USB Role Switch Support"
6 USB Role Switch is a device that can select the USB role - host or
7 device - for a USB port (connector). In most cases dual-role capable
8 USB controller will also represent the switch, but on some platforms
9 multiplexer/demultiplexer switch is used to route the data lines on
10 the USB connector between separate USB host and device controllers.
12 Say Y here if your USB connectors support both device and host roles.
19 tristate "Intel XHCI USB Role Switch"
22 Driver for the internal USB role switch for switching the USB data
[all …]
Dintel-xhci-usb-role-switch.c1 // SPDX-License-Identifier: GPL-2.0+
3 * Intel XHCI (Cherry Trail, Broxton and others) USB OTG role switch driver
5 * Copyright (c) 2016-2017 Hans de Goede <hdegoede@redhat.com>
23 #include <linux/usb/role.h>
52 "intel-xhci-usb-sw",
56 enum usb_role role) in intel_xhci_usb_set_role() argument
71 dev_err(data->dev, "Error could not acquire lock\n"); in intel_xhci_usb_set_role()
72 return -EIO; in intel_xhci_usb_set_role()
75 pm_runtime_get_sync(data->dev); in intel_xhci_usb_set_role()
80 * SW_SWITCH_EN bits to be zero for role switch, in intel_xhci_usb_set_role()
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/usb/
Dmediatek,mtu3.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 ---
5 $id: http://devicetree.org/schemas/usb/mediatek,mtu3.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
11 - Chunfeng Yun <chunfeng.yun@mediatek.com>
14 - $ref: "usb-drd.yaml"
23 - enum:
24 - mediatek,mt2712-mtu3
25 - mediatek,mt8173-mtu3
26 - mediatek,mt8183-mtu3
[all …]
Dmediatek,musb.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 ---
5 $id: http://devicetree.org/schemas/usb/mediatek,musb.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
11 - Min Guo <min.guo@mediatek.com>
15 pattern: '^usb@[0-9a-f]+$'
19 - enum:
20 - mediatek,mt8516-musb
21 - mediatek,mt2701-musb
22 - mediatek,mt7623-musb
[all …]
Dusb-drd.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/usb/usb-drd.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Generic USB OTG Controller
10 - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
13 otg-rev:
15 Tells usb driver the release number of the OTG and EH supplement with
16 which the device and its descriptors are compliant, in binary-coded
18 features (HNP/SRP/ADP) is enabled. If ADP is required, otg-rev should be
[all …]
Ddwc2.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/usb/dwc2.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: DesignWare HS OTG USB 2.0 controller Bindings
10 - Rob Herring <robh@kernel.org>
13 - $ref: usb-drd.yaml#
14 - $ref: usb-hcd.yaml#
19 - const: brcm,bcm2835-usb
20 - const: hisilicon,hi6220-usb
[all …]
Drenesas,usb3-peri.yaml1 # SPDX-License-Identifier: GPL-2.0-only
3 ---
4 $id: http://devicetree.org/schemas/usb/renesas,usb3-peri.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Renesas USB 3.0 Peripheral controller
10 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
15 - items:
16 - enum:
17 - renesas,r8a774a1-usb3-peri # RZ/G2M
18 - renesas,r8a774b1-usb3-peri # RZ/G2N
[all …]
Dmediatek,mt6360-tcpc.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: "http://devicetree.org/schemas/usb/mediatek,mt6360-tcpc.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7 title: Mediatek MT6360 Type-C Port Switch and Power Delivery controller DT bindings
10 - ChiYuan Huang <cy_huang@richtek.com>
13 Mediatek MT6360 is a multi-functional device. It integrates charger, ADC, flash, RGB indicators,
14 regulators (BUCKs/LDOs), and TypeC Port Switch with Power Delivery controller.
15 This document only describes MT6360 Type-C Port Switch and Power Delivery controller.
20 - mediatek,mt6360-tcpc
[all …]
Drichtek,rt1711h.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: "http://devicetree.org/schemas/usb/richtek,rt1711h.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7 title: Richtek RT1711H Type-C Port Switch and Power Delivery controller
10 - Gene Chen <gene_chen@richtek.com>
13 The RT1711H is a USB Type-C controller that complies with the latest
14 USB Type-C and PD standards. It does the USB Type-C detection including attach
15 and orientation. It integrates the physical layer of the USB BMC power
17 support for alternative interfaces of the Type-C specification.
[all …]
/Linux-v6.1/Documentation/ABI/testing/
Dsysfs-class-usb_role5 Place in sysfs for USB Role Switches. USB Role Switch is a
6 device that can select the data role (host or device) for USB
9 What: /sys/class/usb_role/<switch>/role
13 The current role of the switch. This attribute can be used for
14 requesting role swapping with non-USB Type-C ports. With USB
15 Type-C ports, the ABI defined for USB Type-C connector class
19 - none
20 - host
21 - device
/Linux-v6.1/include/linux/usb/
Drole.h1 // SPDX-License-Identifier: GPL-2.0
17 enum usb_role role);
21 * struct usb_role_switch_desc - USB Role Switch Descriptor
22 * @fwnode: The device node to be associated with the role switch
26 * @set: Callback for setting the role
27 * @get: Callback for getting the role (optional)
28 * @allow_userspace_control: If true userspace may change the role through sysfs
30 * @name: Name for the switch (optional)
32 * @usb2_port and @usb3_port will point to the USB host port and @udc to the USB
33 * device controller behind the USB connector with the role switch. If
[all …]
/Linux-v6.1/drivers/usb/cdns3/
DKconfig2 tristate "Cadence USB Support"
3 depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA
8 dual-role controller.
9 It supports: dual-role switch, Host-only, and Peripheral-only.
17 tristate "Cadence USB3 Dual-Role Controller"
20 Say Y here if your system has a Cadence USB3 dual-role controller.
21 It supports: dual-role switch, Host-only, and Peripheral-only.
34 Cadence USBSS-DEV driver.
41 depends on USB=y || USB=USB_CDNS3
51 tristate "Cadence USB3 support on PCIe-based platforms"
[all …]
Dcore.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2018-2019 Cadence.
6 * Copyright (C) 2017-2018 NXP
14 #include <linux/dma-mapping.h>
23 #include "host-export.h"
28 static int cdns_role_start(struct cdns *cdns, enum usb_role role) in cdns_role_start() argument
32 if (WARN_ON(role > USB_ROLE_DEVICE)) in cdns_role_start()
35 mutex_lock(&cdns->mutex); in cdns_role_start()
36 cdns->role = role; in cdns_role_start()
37 mutex_unlock(&cdns->mutex); in cdns_role_start()
[all …]
Dcore.h1 /* SPDX-License-Identifier: GPL-2.0 */
5 * Copyright (C) 2017-2018 NXP
6 * Copyright (C) 2018-2019 Cadence.
14 #include <linux/usb/otg.h>
15 #include <linux/usb/role.h>
20 * struct cdns_role_driver - host/gadget role driver
21 * @start: start this role
22 * @stop: stop this role
23 * @suspend: suspend callback for this role
24 * @resume: resume callback for this role
[all …]
/Linux-v6.1/drivers/misc/
Dhisi_hikey_usb.c1 // SPDX-License-Identifier: GPL-2.0
3 * Support for usb functionality of Hikey series boards
6 * Copyright (C) 2017-2018 Hilisicon Electronics Co., Ltd.
22 #include <linux/usb/role.h>
44 enum usb_role role; member
56 if (!hisi_hikey_usb->regulator) in hub_power_ctrl()
59 status = regulator_is_enabled(hisi_hikey_usb->regulator); in hub_power_ctrl()
64 ret = regulator_enable(hisi_hikey_usb->regulator); in hub_power_ctrl()
66 ret = regulator_disable(hisi_hikey_usb->regulator); in hub_power_ctrl()
69 dev_err(hisi_hikey_usb->dev, in hub_power_ctrl()
[all …]
/Linux-v6.1/Documentation/usb/
Dchipidea.rst2 ChipIdea Highspeed Dual Role Controller Driver
6 -----------------------------------
12 -------------------------
29 otg-rev = <0x0200>;
30 adp-disable;
33 -------------------
38 2) Connect 2 boards with usb cable with one end is micro A plug, the other end
41 The A-device(with micro A plug inserted) should enumerate B-device.
43 3) Role switch
45 On B-device::
[all …]
/Linux-v6.1/drivers/usb/mtu3/
Dmtu3.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * mtu3.h - MediaTek USB3 DRD header
21 #include <linux/usb.h>
22 #include <linux/usb/ch9.h>
23 #include <linux/usb/gadget.h>
24 #include <linux/usb/otg.h>
25 #include <linux/usb/role.h>
34 #define MU3D_EP_TXCR0(epnum) (U3D_TX1CSR0 + (((epnum) - 1) * 0x10))
35 #define MU3D_EP_TXCR1(epnum) (U3D_TX1CSR1 + (((epnum) - 1) * 0x10))
36 #define MU3D_EP_TXCR2(epnum) (U3D_TX1CSR2 + (((epnum) - 1) * 0x10))
[all …]
/Linux-v6.1/drivers/extcon/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
11 host USB ports. Many of 30-pin connectors including PDMI are
25 tristate "X-Power AXP288 EXTCON support"
29 Say Y here to enable support for USB peripheral detection
30 and USB MUX switching by X-Power AXP288 PMIC.
39 FSA9480 microUSB switch and accessory detector chip. The FSA9480 is a USB
40 port accessory detector and switch. The FSA9480 is fully controlled using
41 I2C and enables USB data, stereo and mono audio, video, microphone
55 Say Y here to enable extcon support for USB OTG ports controlled by
84 Maxim MAX14577/77836. The MAX14577/77836 MUIC is a USB port accessory
[all …]
Dextcon-axp288.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * extcon-axp288.c - X-Power AXP288 PMIC extcon cable detection driver
5 * Copyright (c) 2017-2018 Hans de Goede <hdegoede@redhat.com>
19 #include <linux/extcon-provider.h>
22 #include <linux/usb/role.h>
26 #include <asm/intel-family.h>
53 /* BC USB status register */
137 ret = regmap_read(info->regmap, AXP288_PS_BOOT_REASON_REG, &val); in axp288_extcon_log_rsi()
139 dev_err(info->dev, "failed to read reset source indicator\n"); in axp288_extcon_log_rsi()
143 bits = val & GENMASK(ARRAY_SIZE(axp288_pwr_up_down_info) - 1, 0); in axp288_extcon_log_rsi()
[all …]
Dextcon-usbc-cros-ec.c1 // SPDX-License-Identifier: GPL-2.0
7 #include <linux/extcon-provider.h>
28 unsigned int dr; /* data role */
29 bool pr; /* power role (true if VBUS enabled) */
49 * cros_ec_pd_command() - Send a command to the EC.
73 return -ENOMEM; in cros_ec_pd_command()
75 msg->version = version; in cros_ec_pd_command()
76 msg->command = command; in cros_ec_pd_command()
77 msg->outsize = outsize; in cros_ec_pd_command()
78 msg->insize = insize; in cros_ec_pd_command()
[all …]
/Linux-v6.1/drivers/usb/dwc2/
Ddrd.c1 // SPDX-License-Identifier: GPL-2.0
3 * drd.c - DesignWare USB2 DRD Controller Dual-role support
13 #include <linux/usb/role.h>
25 spin_lock_irqsave(&hsotg->lock, flags); in dwc2_ovr_init()
30 if (hsotg->role_sw_default_mode == USB_DR_MODE_HOST) in dwc2_ovr_init()
32 else if (hsotg->role_sw_default_mode == USB_DR_MODE_PERIPHERAL) in dwc2_ovr_init()
36 spin_unlock_irqrestore(&hsotg->lock, flags); in dwc2_ovr_init()
38 dwc2_force_mode(hsotg, (hsotg->dr_mode == USB_DR_MODE_HOST)); in dwc2_ovr_init()
45 /* Check if A-Session is already in the right state */ in dwc2_ovr_avalid()
48 return -EALREADY; in dwc2_ovr_avalid()
[all …]
/Linux-v6.1/Documentation/driver-api/usb/
Dtypec.rst3 USB Type-C connector class
7 ------------
9 The typec class is meant for describing the USB Type-C ports in a system to the
14 The platforms are expected to register every USB Type-C port they have with the
15 class. In a normal case the registration will be done by a USB Type-C or PD PHY
17 USB PD controller or even driver for Thunderbolt3 controller. This document
18 considers the component registering the USB Type-C ports with the class as "port
26 attributes are described in Documentation/ABI/testing/sysfs-class-typec.
29 --------------------
36 "port0-partner". Full path to the device would be
[all …]
/Linux-v6.1/drivers/usb/common/
Dusb-conn-gpio.c1 // SPDX-License-Identifier: GPL-2.0
3 * USB GPIO Based Connection Detection Driver
9 * Some code borrowed from drivers/extcon/extcon-usb-gpio.c
22 #include <linux/usb/role.h>
53 * Role | ID | VBUS
54 * ------------------------------------
61 * - VBUS only - we want to distinguish between [1] and [2], so ID is always 1
62 * - ID only - we want to distinguish between [1] and [4], so VBUS = ID
67 enum usb_role role; in usb_conn_detect_cable() local
74 id = info->id_gpiod ? in usb_conn_detect_cable()
[all …]
/Linux-v6.1/drivers/usb/chipidea/
Dotg.c1 // SPDX-License-Identifier: GPL-2.0
3 * otg.c - ChipIdea USB IP core OTG driver
15 #include <linux/usb/otg.h>
16 #include <linux/usb/gadget.h>
17 #include <linux/usb/chipidea.h>
25 * hw_read_otgsc - returns otgsc register bits value.
38 cable = &ci->platdata->vbus_extcon; in hw_read_otgsc()
39 if (!IS_ERR(cable->edev) || ci->role_switch) { in hw_read_otgsc()
40 if (cable->changed) in hw_read_otgsc()
45 if (cable->connected) in hw_read_otgsc()
[all …]

1234567