Home
last modified time | relevance | path

Searched +full:data +full:- +full:role (Results 1 – 25 of 342) sorted by relevance

12345678910>>...14

/Linux-v5.10/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 …]
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
58 struct intel_xhci_usb_data *data = usb_role_switch_get_drvdata(sw); in intel_xhci_usb_set_role() local
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()
[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
9 multiplexer/demultiplexer switch is used to route the data lines on
19 tristate "Intel XHCI USB Role Switch"
22 Driver for the internal USB role switch for switching the USB data
27 be called intel-xhci-usb-role-switch.
/Linux-v5.10/drivers/usb/chipidea/
Dci.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * ci.h - common structures, functions, and macros of the ChipIdea driver
5 * Copyright (C) 2008 Chipidea - MIPS Technologies, Inc. All rights reserved.
17 #include <linux/usb/otg-fsm.h>
19 #include <linux/usb/role.h>
75 * struct ci_hw_ep - endpoint representation
126 * struct ci_role_driver - host/gadget role driver
127 * @start: start this role
128 * @stop: stop this role
129 * @irq: irq handler for this role
[all …]
Dotg.c1 // SPDX-License-Identifier: GPL-2.0
3 * otg.c - ChipIdea USB IP core OTG driver
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()
50 if (cable->enabled) in hw_read_otgsc()
56 cable = &ci->platdata->id_extcon; in hw_read_otgsc()
57 if (!IS_ERR(cable->edev) || ci->role_switch) { in hw_read_otgsc()
58 if (cable->changed) in hw_read_otgsc()
[all …]
Ddebug.c1 // SPDX-License-Identifier: GPL-2.0
13 #include <linux/usb/otg-fsm.h>
24 static int ci_device_show(struct seq_file *s, void *data) in ci_device_show() argument
26 struct ci_hdrc *ci = s->private; in ci_device_show()
27 struct usb_gadget *gadget = &ci->gadget; in ci_device_show()
29 seq_printf(s, "speed = %d\n", gadget->speed); in ci_device_show()
30 seq_printf(s, "max_speed = %d\n", gadget->max_speed); in ci_device_show()
31 seq_printf(s, "is_otg = %d\n", gadget->is_otg); in ci_device_show()
32 seq_printf(s, "is_a_peripheral = %d\n", gadget->is_a_peripheral); in ci_device_show()
33 seq_printf(s, "b_hnp_enable = %d\n", gadget->b_hnp_enable); in ci_device_show()
[all …]
/Linux-v5.10/include/linux/usb/
Dtypec.h1 /* SPDX-License-Identifier: GPL-2.0 */
8 /* USB Type-C Specification releases */
76 * struct enter_usb_data - Enter_USB Message details
77 * @eudo: Enter_USB Data Object
80 * @active_link_training is a flag that should be set with uni-directional SBRX
81 * communication, and left 0 with passive cables and with bi-directional SBRX
90 * struct usb_pd_identity - USB Power Delivery identity data
96 * USB power delivery Discover Identity command response data.
112 * struct typec_altmode_desc - USB Type-C Alternate Mode Descriptor
150 * struct typec_plug_desc - USB Type-C Cable Plug Descriptor
[all …]
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
29 * @driver_data: Private data pointer
33 * device controller behind the USB connector with the role switch. If
52 int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role);
[all …]
Dtcpm.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Copyright 2015-2017 Google, Inc
55 * struct tcpc_dev - Port configuration and callback functions
60 * and cc=Rp-def. This allows the tcpm to provide a fallback
61 * current-limit detection method for the cc=Rp-def case.
74 * @set_roles: Called to set power and data roles
76 * Optional; if supported by hardware, called to start dual-role
77 * toggling or single-role connection detection. Toggling stops
79 * @try_role: Optional; called to set a preferred role
81 * @set_bist_data: Turn on/off bist data mode for compliance testing
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/connector/
Dusb-connector.yaml1 # SPDX-License-Identifier: GPL-2.0-only
3 ---
4 $id: http://devicetree.org/schemas/connector/usb-connector.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Rob Herring <robh@kernel.org>
20 - enum:
21 - usb-a-connector
22 - usb-b-connector
23 - usb-c-connector
25 - items:
[all …]
/Linux-v5.10/security/selinux/ss/
Dpolicydb.h1 /* SPDX-License-Identifier: GPL-2.0-only */
4 * configuration data for the security policy.
18 * Copyright (C) 2004-2005 Trusted Computer Solutions, Inc.
19 * Copyright (C) 2003 - 2004 Tresys Technology, LLC
35 * in the configuration data: individual permissions,
56 struct symtab permissions; /* class-specific permission symbol table */
59 /* Options how a new object user, role, and type should be decided */
76 /* Role attributes */
78 u32 value; /* internal role value */
79 u32 bounds; /* boundary of role */
[all …]
/Linux-v5.10/drivers/usb/typec/mux/
Dintel_pmc_mux.c1 // SPDX-License-Identifier: GPL-2.0
14 #include <linux/usb/role.h>
59 /* Common Mode Data bits */
65 /* DP specific Mode Data bits */
68 /* TBT specific Mode Data bits */
131 enum usb_role role; member
153 /* SoC expects the USB Type-C port numbers to start with 0 */ in update_port_status()
154 port_num = port->usb3_port - 1; in update_port_status()
156 port->iom_status = readl(port->pmc->iom_base + IOM_PORT_STATUS_OFFSET + in update_port_status()
162 if (port->sbu_orientation) in sbu_orientation()
[all …]
/Linux-v5.10/drivers/usb/typec/
Dqcom-pmic-typec.c1 // SPDX-License-Identifier: GPL-2.0
15 #include <linux/usb/role.h>
51 if (enable == qcom_usb->vbus_enabled) in qcom_pmic_typec_enable_vbus_regulator()
55 ret = regulator_enable(qcom_usb->vbus_reg); in qcom_pmic_typec_enable_vbus_regulator()
59 ret = regulator_disable(qcom_usb->vbus_reg); in qcom_pmic_typec_enable_vbus_regulator()
63 qcom_usb->vbus_enabled = enable; in qcom_pmic_typec_enable_vbus_regulator()
69 enum usb_role role; in qcom_pmic_typec_check_connection() local
73 regmap_read(qcom_usb->regmap, qcom_usb->base + TYPEC_MISC_STATUS, in qcom_pmic_typec_check_connection()
80 typec_set_orientation(qcom_usb->port, orientation); in qcom_pmic_typec_check_connection()
82 role = (stat & SNK_SRC_MODE) ? USB_ROLE_HOST : USB_ROLE_DEVICE; in qcom_pmic_typec_check_connection()
[all …]
Dtps6598x.c1 // SPDX-License-Identifier: GPL-2.0
15 #include <linux/usb/role.h>
102 * Max data bytes for Data1, Data2, and other registers. See ch 1.3.2:
110 u8 data[TPS_MAX_LEN + 1]; in tps6598x_block_read() local
113 if (WARN_ON(len + 1 > sizeof(data))) in tps6598x_block_read()
114 return -EINVAL; in tps6598x_block_read()
116 if (!tps->i2c_protocol) in tps6598x_block_read()
117 return regmap_raw_read(tps->regmap, reg, val, len); in tps6598x_block_read()
119 ret = regmap_raw_read(tps->regmap, reg, data, sizeof(data)); in tps6598x_block_read()
123 if (data[0] < len) in tps6598x_block_read()
[all …]
Dclass.c1 // SPDX-License-Identifier: GPL-2.0
3 * USB Type-C Connector Class
68 #define is_typec_partner(_dev_) (_dev_->type == &typec_partner_dev_type)
69 #define is_typec_cable(_dev_) (_dev_->type == &typec_cable_dev_type)
70 #define is_typec_plug(_dev_) (_dev_->type == &typec_plug_dev_type)
75 /* ------------------------------------------------------------------------- */
89 return partner->identity; in get_pd_identity()
93 return cable->identity; in get_pd_identity()
103 return sprintf(buf, "0x%08x\n", id->id_header); in id_header_show()
112 return sprintf(buf, "0x%08x\n", id->cert_stat); in cert_stat_show()
[all …]
/Linux-v5.10/drivers/extcon/
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.
53 * @outdata: EC command output data
55 * @indata: EC command input data
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()
[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>
136 ret = regmap_read(info->regmap, AXP288_PS_BOOT_REASON_REG, &val); in axp288_extcon_log_rsi()
138 dev_err(info->dev, "failed to read reset source indicator\n"); in axp288_extcon_log_rsi()
142 bits = val & GENMASK(ARRAY_SIZE(axp288_pwr_up_down_info) - 1, 0); in axp288_extcon_log_rsi()
144 dev_dbg(info->dev, "%s\n", axp288_pwr_up_down_info[i]); in axp288_extcon_log_rsi()
[all …]
/Linux-v5.10/drivers/usb/cdns3/
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>
24 #include "host-export.h"
25 #include "gadget-export.h"
30 static int cdns3_role_start(struct cdns3 *cdns, enum usb_role role) in cdns3_role_start() argument
34 if (WARN_ON(role > USB_ROLE_DEVICE)) in cdns3_role_start()
37 mutex_lock(&cdns->mutex); in cdns3_role_start()
38 cdns->role = role; in cdns3_role_start()
[all …]
Dcore.h1 /* SPDX-License-Identifier: GPL-2.0 */
5 * Copyright (C) 2017-2018 NXP
6 * Copyright (C) 2018-2019 Cadence.
12 #include <linux/usb/role.h>
20 * struct cdns3_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
25 * @irq: irq handler for this role
[all …]
/Linux-v5.10/drivers/platform/chrome/
Dcros_ec_typec.c1 // SPDX-License-Identifier: GPL-2.0-only
22 #include <linux/usb/role.h>
24 #define DRV_NAME "cros-ec-typec"
33 /* Per port data. */
53 /* Platform-specific data for the Chrome OS EC Type C controller. */
73 ret = fwnode_property_read_string(fwnode, "power-role", &buf); in cros_typec_parse_port_props()
75 dev_err(dev, "power-role not found: %d\n", ret); in cros_typec_parse_port_props()
82 cap->type = ret; in cros_typec_parse_port_props()
84 ret = fwnode_property_read_string(fwnode, "data-role", &buf); in cros_typec_parse_port_props()
86 dev_err(dev, "data-role not found: %d\n", ret); in cros_typec_parse_port_props()
[all …]
/Linux-v5.10/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
Dsysfs-class-typec1 USB Type-C port devices (eg. /sys/class/typec/port0/)
7 The supported USB data roles. This attribute can be used for
8 requesting data role swapping on the port. Swapping is supported
11 notified about role changes so that poll(2) on the attribute
12 wakes up. Change on the role will also generate uevent
13 KOBJ_CHANGE on the port. The current role is show in brackets,
23 power role swap on the port. Swapping is supported as
26 notified about role changes so that poll(2) on the attribute
27 wakes up. Change on the role will also generate uevent
28 KOBJ_CHANGE. The current role is show in brackets, for example
[all …]
/Linux-v5.10/drivers/usb/musb/
Dmediatek.c1 // SPDX-License-Identifier: GPL-2.0
11 #include <linux/dma-mapping.h>
15 #include <linux/usb/role.h>
50 enum usb_role role; member
56 struct device *dev = glue->dev; in mtk_musb_clks_get()
58 glue->main = devm_clk_get(dev, "main"); in mtk_musb_clks_get()
59 if (IS_ERR(glue->main)) { in mtk_musb_clks_get()
61 return PTR_ERR(glue->main); in mtk_musb_clks_get()
64 glue->mcu = devm_clk_get(dev, "mcu"); in mtk_musb_clks_get()
65 if (IS_ERR(glue->mcu)) { in mtk_musb_clks_get()
[all …]
/Linux-v5.10/drivers/s390/net/
Dqeth_l2_main.c1 // SPDX-License-Identifier: GPL-2.0
42 rc = -EOPNOTSUPP; in qeth_l2_setdelmac_makerc()
45 rc = -ENOSPC; in qeth_l2_setdelmac_makerc()
49 rc = -EADDRINUSE; in qeth_l2_setdelmac_makerc()
53 rc = -EADDRNOTAVAIL; in qeth_l2_setdelmac_makerc()
56 rc = -ENOENT; in qeth_l2_setdelmac_makerc()
59 rc = -EIO; in qeth_l2_setdelmac_makerc()
67 unsigned long data) in qeth_l2_send_setdelmac_cb() argument
69 struct qeth_ipa_cmd *cmd = (struct qeth_ipa_cmd *) data; in qeth_l2_send_setdelmac_cb()
71 return qeth_l2_setdelmac_makerc(card, cmd->hdr.return_code); in qeth_l2_send_setdelmac_cb()
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/usb/
Dgeneric.txt4 - maximum-speed: tells USB controllers we want to work up to a certain
5 speed. Valid arguments are "super-speed-plus",
6 "super-speed", "high-speed", "full-speed" and
7 "low-speed". In case this isn't passed via DT, USB
10 - dr_mode: tells Dual-Role USB controllers that we want to work on a
15 - phy_type: tells USB controllers that we want to configure the core to support
16 a UTMI+ PHY with an 8- or 16-bit interface if UTMI+ is
20 - otg-rev: tells usb driver the release number of the OTG and EH supplement
22 in binary-coded decimal (i.e. 2.0 is 0200H). This
24 is enabled, if ADP is required, otg-rev should be
[all …]

12345678910>>...14