/Linux-v5.15/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.15/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 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() 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() [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.15/include/linux/usb/ |
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 | typec.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 /* USB Type-C Specification releases */ 77 * struct enter_usb_data - Enter_USB Message details 78 * @eudo: Enter_USB Data Object 81 * @active_link_training is a flag that should be set with uni-directional SBRX 82 * communication, and left 0 with passive cables and with bi-directional SBRX 91 * struct usb_pd_identity - USB Power Delivery identity data 97 * USB power delivery Discover Identity command response data. 113 * struct typec_altmode_desc - USB Type-C Alternate Mode Descriptor 159 * struct typec_plug_desc - USB Type-C Cable Plug Descriptor [all …]
|
D | tcpm.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright 2015-2017 Google, Inc 59 * struct tcpc_dev - Port configuration and callback functions 64 * and cc=Rp-def. This allows the tcpm to provide a fallback 65 * current-limit detection method for the cc=Rp-def case. 80 * @set_roles: Called to set power and data roles 82 * Optional; if supported by hardware, called to start dual-role 83 * toggling or single-role connection detection. Toggling stops 85 * @try_role: Optional; called to set a preferred role 87 * @set_bist_data: Turn on/off bist data mode for compliance testing [all …]
|
/Linux-v5.15/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.15/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> 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 …]
|
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 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 25 * @irq: irq handler for this role [all …]
|
/Linux-v5.15/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 */ 129 enum usb_role role; member 152 /* SoC expects the USB Type-C port numbers to start with 0 */ in update_port_status() 153 port_num = port->usb3_port - 1; in update_port_status() 155 port->iom_status = readl(port->pmc->iom_base + in update_port_status() 156 port->pmc->iom_port_status_offset + in update_port_status() [all …]
|
/Linux-v5.15/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.15/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.15/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 …]
|
/Linux-v5.15/drivers/net/ethernet/intel/ice/ |
D | ice_lag.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (C) 2018-2021, Intel Corporation. */ 10 * ice_lag_nop_handler - no-op Rx handler to disable LAG 19 * ice_lag_set_primary - set PF LAG state as Primary 24 struct ice_pf *pf = lag->pf; in ice_lag_set_primary() 29 if (lag->role != ICE_LAG_UNSET && lag->role != ICE_LAG_BACKUP) { in ice_lag_set_primary() 31 netdev_name(lag->netdev)); in ice_lag_set_primary() 35 lag->role = ICE_LAG_PRIMARY; in ice_lag_set_primary() 39 * ice_lag_set_backup - set PF LAG state to Backup 44 struct ice_pf *pf = lag->pf; in ice_lag_set_backup() [all …]
|
/Linux-v5.15/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
|
/Linux-v5.15/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.15/Documentation/devicetree/bindings/usb/ |
D | mediatek,mtu3.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 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 27 - mediatek,mt8192-mtu3 [all …]
|
/Linux-v5.15/drivers/usb/mtu3/ |
D | mtu3.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * mtu3.h - MediaTek USB3 DRD header 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)) 38 #define MU3D_EP_RXCR0(epnum) (U3D_RX1CSR0 + (((epnum) - 1) * 0x10)) 39 #define MU3D_EP_RXCR1(epnum) (U3D_RX1CSR1 + (((epnum) - 1) * 0x10)) 40 #define MU3D_EP_RXCR2(epnum) (U3D_RX1CSR2 + (((epnum) - 1) * 0x10)) 42 #define USB_QMU_TQHIAR(epnum) (U3D_TXQHIAR1 + (((epnum) - 1) * 0x4)) [all …]
|
/Linux-v5.15/drivers/platform/chrome/ |
D | cros_ec_typec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 24 #include <linux/usb/role.h> 26 #define DRV_NAME "cros-ec-typec" 41 /* Per port data. */ 61 uint8_t role; member 66 /* Flag indicating that PD partner discovery data parsing is completed. */ 74 /* Platform-specific data for the Chrome OS EC Type C controller. */ 96 ret = fwnode_property_read_string(fwnode, "power-role", &buf); in cros_typec_parse_port_props() 98 dev_err(dev, "power-role not found: %d\n", ret); in cros_typec_parse_port_props() 105 cap->type = ret; in cros_typec_parse_port_props() [all …]
|
/Linux-v5.15/drivers/usb/typec/tipd/ |
D | core.c | 1 // SPDX-License-Identifier: GPL-2.0 16 #include <linux/usb/role.h> 106 static const char *tps6598x_psy_name_prefix = "tps6598x-source-psy-"; 109 * Max data bytes for Data1, Data2, and other registers. See ch 1.3.2: 117 u8 data[TPS_MAX_LEN + 1]; in tps6598x_block_read() local 120 if (WARN_ON(len + 1 > sizeof(data))) in tps6598x_block_read() 121 return -EINVAL; in tps6598x_block_read() 123 if (!tps->i2c_protocol) in tps6598x_block_read() 124 return regmap_raw_read(tps->regmap, reg, val, len); in tps6598x_block_read() 126 ret = regmap_raw_read(tps->regmap, reg, data, sizeof(data)); in tps6598x_block_read() [all …]
|
/Linux-v5.15/net/bridge/ |
D | br_private_mrp.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 53 * BR_MRP_NONE - means the HW can't run at all the protocol, so the SW stops 55 * BR_MRP_SW - the HW can help the SW to run the protocol, by redirecting MRP 57 * BR_MRP_HW - the HW can implement completely the protocol. 71 enum br_mrp_port_role_type role); 74 int br_mrp_set_ring_role(struct net_bridge *br, struct br_mrp_ring_role *role); 77 int br_mrp_set_in_role(struct net_bridge *br, struct br_mrp_in_role *role); 86 enum br_mrp_ring_role_type role); 95 enum br_mrp_port_role_type role); 99 enum br_mrp_in_role_type role); [all …]
|