/linux-6.12.1/drivers/usb/roles/ |
D | class.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * USB Role Switch Support 11 #include <linux/usb/role.h> 28 enum usb_role role; member 42 static int connector_bind(struct device *dev, struct device *connector, void *data) in connector_bind() argument 46 ret = sysfs_create_link(&dev->kobj, &connector->kobj, "connector"); in connector_bind() 50 ret = sysfs_create_link(&connector->kobj, &dev->kobj, "usb-role-switch"); in connector_bind() 52 sysfs_remove_link(&dev->kobj, "connector"); in connector_bind() 57 static void connector_unbind(struct device *dev, struct device *connector, void *data) in connector_unbind() argument 59 sysfs_remove_link(&connector->kobj, "usb-role-switch"); in connector_unbind() [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-6.12.1/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> 76 * struct ci_hw_ep - endpoint representation 127 * struct ci_role_driver - host/gadget role driver 128 * @start: start this role 129 * @stop: stop this role 130 * @suspend: system suspend 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 …]
|
/linux-6.12.1/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 */ 59 static inline int is_sink(enum typec_role role) in is_sink() argument 61 return role == TYPEC_SINK; in is_sink() 64 static inline int is_source(enum typec_role role) in is_source() argument 66 return role == TYPEC_SOURCE; in is_source() 91 * struct enter_usb_data - Enter_USB Message details 92 * @eudo: Enter_USB Data Object 95 * @active_link_training is a flag that should be set with uni-directional SBRX 96 * communication, and left 0 with passive cables and with bi-directional SBRX [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-6.12.1/security/selinux/ss/ |
D | policydb.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 4 * configuration data for the security policy. 12 * Copyright (C) 2004-2005 Trusted Computer Solutions, Inc. 17 * Copyright (C) 2003-2004 Tresys Technology, LLC 33 * in the configuration data: individual permissions, 54 struct symtab permissions; /* class-specific permission symbol table */ 57 /* Options how a new object user, role, and type should be decided */ 74 /* Role attributes */ 76 u32 value; /* internal role value */ 77 u32 bounds; /* boundary of role */ [all …]
|
/linux-6.12.1/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" 29 static int cdns_role_start(struct cdns *cdns, enum usb_role role) in cdns_role_start() argument 33 if (WARN_ON(role > USB_ROLE_DEVICE)) in cdns_role_start() 36 mutex_lock(&cdns->mutex); in cdns_role_start() 37 cdns->role = role; in cdns_role_start() 38 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. 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 25 * @irq: irq handler for this role [all …]
|
/linux-6.12.1/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 71 msg = kzalloc(struct_size(msg, data, max(outsize, insize)), GFP_KERNEL); in cros_ec_pd_command() 73 return -ENOMEM; in cros_ec_pd_command() 75 msg->version = version; 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> 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() 145 dev_dbg(info->dev, "%s\n", axp288_pwr_up_down_info[i]); in axp288_extcon_log_rsi() [all …]
|
/linux-6.12.1/drivers/usb/typec/mux/ |
D | intel_pmc_mux.c | 1 // SPDX-License-Identifier: GPL-2.0 15 #include <linux/usb/role.h> 60 /* Common Mode Data bits */ 66 /* DP specific Mode Data bits */ 69 /* TBT specific Mode Data bits */ 141 enum usb_role role; member 169 /* SoC expects the USB Type-C port numbers to start with 0 */ in update_port_status() 170 port_num = port->usb3_port - 1; in update_port_status() 172 port->iom_status = readl(port->pmc->iom_base + in update_port_status() 173 port->pmc->iom_port_status_offset + in update_port_status() [all …]
|
/linux-6.12.1/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-6.12.1/drivers/usb/musb/ |
D | mediatek.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/dma-mapping.h> 16 #include <linux/usb/role.h> 51 enum usb_role role; member 57 struct device *dev = glue->dev; in mtk_musb_clks_get() 59 glue->clks[0].id = "main"; in mtk_musb_clks_get() 60 glue->clks[1].id = "mcu"; in mtk_musb_clks_get() 61 glue->clks[2].id = "univpll"; in mtk_musb_clks_get() 63 return devm_clk_bulk_get(dev, MTK_MUSB_CLKS_NUM, glue->clks); in mtk_musb_clks_get() 66 static int mtk_otg_switch_set(struct mtk_glue *glue, enum usb_role role) in mtk_otg_switch_set() argument [all …]
|
/linux-6.12.1/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,mt8186-mtu3 [all …]
|
/linux-6.12.1/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 27 Optional symlink to the USB Type-C connector.
|
/linux-6.12.1/drivers/net/wireless/realtek/rtw89/ |
D | chan.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2 /* Copyright(c) 2020-2022 Realtek Corporation 78 offset = (primary_freq - center_freq - 10) / 20; in rtw89_get_primary_chan_idx() 81 offset = (center_freq - primary_freq - 10) / 20; in rtw89_get_primary_chan_idx() 100 return (prisb_cal_ofst[bw] + pri_ch - central_ch) / 4; in rtw89_get_primary_sb_idx() 110 chan->channel = center_chan; in rtw89_chan_create() 111 chan->primary_channel = primary_chan; in rtw89_chan_create() 112 chan->band_type = band; in rtw89_chan_create() 113 chan->band_width = bandwidth; in rtw89_chan_create() 118 chan->freq = center_freq; in rtw89_chan_create() [all …]
|
/linux-6.12.1/drivers/usb/mtu3/ |
D | mtu3.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * mtu3.h - MediaTek USB3 DRD header 26 #include <linux/usb/role.h> 35 #define MU3D_EP_TXCR0(epnum) (U3D_TX1CSR0 + (((epnum) - 1) * 0x10)) 36 #define MU3D_EP_TXCR1(epnum) (U3D_TX1CSR1 + (((epnum) - 1) * 0x10)) 37 #define MU3D_EP_TXCR2(epnum) (U3D_TX1CSR2 + (((epnum) - 1) * 0x10)) 39 #define MU3D_EP_RXCR0(epnum) (U3D_RX1CSR0 + (((epnum) - 1) * 0x10)) 40 #define MU3D_EP_RXCR1(epnum) (U3D_RX1CSR1 + (((epnum) - 1) * 0x10)) 41 #define MU3D_EP_RXCR2(epnum) (U3D_RX1CSR2 + (((epnum) - 1) * 0x10)) 43 #define USB_QMU_TQHIAR(epnum) (U3D_TXQHIAR1 + (((epnum) - 1) * 0x4)) [all …]
|
/linux-6.12.1/arch/arm64/boot/dts/qcom/ |
D | sc7280-idp-ec-h1.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 11 pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>; 12 cs-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; 15 compatible = "google,cros-ec-spi"; 17 interrupt-parent = <&tlmm>; 19 pinctrl-names = "default"; 20 pinctrl-0 = <&ap_ec_int_l>; 21 spi-max-frequency = <3000000>; 22 wakeup-source; 25 compatible = "google,cros-ec-pwm"; [all …]
|
/linux-6.12.1/drivers/platform/chrome/ |
D | cros_ec_typec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 22 #define DRV_NAME "cros-ec-typec" 32 /* Supply the USB role switch with the correct pld_crc if it's missing. */ in cros_typec_role_switch_quirk() 33 switch_fwnode = fwnode_find_reference(fwnode, "usb-role-switch", 0); in cros_typec_role_switch_quirk() 37 if (adev && !adev->pld_crc) in cros_typec_role_switch_quirk() 38 adev->pld_crc = to_acpi_device_node(fwnode)->pld_crc; in cros_typec_role_switch_quirk() 52 ret = fwnode_property_read_string(fwnode, "power-role", &buf); in cros_typec_parse_port_props() 54 dev_err(dev, "power-role not found: %d\n", ret); in cros_typec_parse_port_props() 61 cap->type = ret; in cros_typec_parse_port_props() 63 ret = fwnode_property_read_string(fwnode, "data-role", &buf); in cros_typec_parse_port_props() [all …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/Documentation/virt/kvm/x86/ |
D | mmu.rst | 1 .. SPDX-License-Identifier: GPL-2.0 13 - correctness: 18 - security: 21 - performance: 23 - scaling: 25 - hardware: 27 - integration: 31 - dirty tracking: 33 and framebuffer-based displays 34 - footprint: [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/platform/ |
D | lenovo,yoga-c630-ec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/platform/lenovo,yoga-c630-ec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Bjorn Andersson <andersson@kernel.org> 13 The Qualcomm Snapdragon-based Lenovo Yoga C630 has an Embedded Controller 14 (EC) which handles things such as battery and USB Type-C. This binding 19 const: lenovo,yoga-c630-ec 24 '#address-cells': 27 '#size-cells': [all …]
|