/Linux-v5.10/drivers/usb/roles/ |
D | class.c | 1 // 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 …]
|
D | intel-xhci-usb-role-switch.c | 1 // 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 …]
|
D | Kconfig | 1 # 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/ |
D | ci.h | 1 /* 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 …]
|
D | otg.c | 1 // 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 …]
|
D | debug.c | 1 // 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/ |
D | typec.h | 1 /* 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 …]
|
D | role.h | 1 // 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 …]
|
D | tcpm.h | 1 /* 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/ |
D | usb-connector.yaml | 1 # 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/ |
D | policydb.h | 1 /* 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/ |
D | intel_pmc_mux.c | 1 // 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/ |
D | qcom-pmic-typec.c | 1 // 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 …]
|
D | tps6598x.c | 1 // 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 …]
|
D | class.c | 1 // 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/ |
D | extcon-usbc-cros-ec.c | 1 // 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 …]
|
D | extcon-axp288.c | 1 // 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/ |
D | core.c | 1 // 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 …]
|
D | core.h | 1 /* 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/ |
D | cros_ec_typec.c | 1 // 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/ |
D | sysfs-class-usb_role | 5 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
|
D | sysfs-class-typec | 1 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/ |
D | mediatek.c | 1 // 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/ |
D | qeth_l2_main.c | 1 // 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/ |
D | generic.txt | 4 - 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 …]
|