/linux/drivers/usb/roles/ |
H A 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 …]
|
H A 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/drivers/usb/chipidea/ |
H A 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/include/linux/usb/ |
H A 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 …]
|
/linux/drivers/extcon/ |
H A 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 …]
|
H A 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/Documentation/devicetree/bindings/usb/ |
H A 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 …]
|
H A D | usb-drd.yaml | 1 # 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# 10 - Greg Kroah-Hartman <gregkh@linuxfoundation.org> 13 otg-rev: 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 25 Tells Dual-Role USB controllers that we want to work on a particular 32 hnp-disable: [all …]
|
H A D | willsemi,wusb3801.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: WUSB3801 Type-C port controller 10 The Will Semiconductor WUSB3801 is a USB Type-C port controller which 11 supports role and plug orientation detection using the CC pins. It is 12 compatible with the USB Type-C Cable and Connector Specification v1.2. 15 - Samuel Holland <samuel@sholland.org> 20 - willsemi,wusb3801 30 $ref: ../connector/usb-connector.yaml# [all …]
|
H A D | st,stusb160x.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: STMicroelectronics STUSB160x Type-C controller 10 - Amelie Delaunay <amelie.delaunay@foss.st.com> 15 - st,stusb1600 23 vdd-supply: 24 description: main power supply (4.1V-22V) 26 vsys-supply: 27 description: low power supply (3.0V-5.5V) [all …]
|
H A D | richtek,rt1711h.txt | 4 - compatible : Must be "richtek,rt1711h". 5 - reg : Must be 0x4e, it's slave address of RT1711H. 6 - interrupts : <a b> where a is the interrupt number and b represents an 9 Required sub-node: 10 - connector: The "usb-c-connector" attached to the tcpci chip, the bindings 12 Documentation/devicetree/bindings/connector/usb-connector.yaml 18 interrupt-parent = <&gpio26>; 22 compatible = "usb-c-connector"; 23 label = "USB-C"; 24 data-role = "dual"; [all …]
|
H A D | analogix,anx7411.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Analogix ANX7411 Type-C controller 10 - Xin Ji <xji@analogixsemi.com> 15 - analogix,anx7411 25 $ref: ../connector/usb-connector.yaml 29 const: usb-c-connector 32 - compatible 33 - reg [all …]
|
/linux/drivers/net/wireless/realtek/rtw89/ |
H A D | chan.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2 /* Copyright(c) 2020-2022 Realtek Corporation 83 offset = (primary_freq - center_freq - 10) / 20; in rtw89_get_primary_chan_idx() 86 offset = (center_freq - primary_freq - 10) / 20; in rtw89_get_primary_chan_idx() 105 return (prisb_cal_ofst[bw] + pri_ch - central_ch) / 4; in rtw89_get_primary_sb_idx() 115 chan->channel = center_chan; in rtw89_chan_create() 116 chan->primary_channel = primary_chan; in rtw89_chan_create() 117 chan->band_type = band; in rtw89_chan_create() 118 chan->band_width = bandwidth; in rtw89_chan_create() 123 chan->freq = center_freq; in rtw89_chan_create() [all …]
|
/linux/drivers/usb/mtu3/ |
H A 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/Documentation/ABI/testing/ |
H A 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/arch/arm64/boot/dts/qcom/ |
H A 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/Documentation/virt/kvm/x86/ |
H A 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/net/bridge/ |
H A 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/Documentation/devicetree/bindings/platform/ |
H A 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 …]
|
/linux/drivers/usb/typec/ucsi/ |
H A D | ucsi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * USB Type-C Connector System Software Interface driver 21 * UCSI_TIMEOUT_MS - PPM communication timeout 31 * UCSI_SWAP_TIMEOUT_MS - Timeout for role swap requests 41 /* Ignore bogus data in CCI if busy indicator is set. */ in ucsi_notify_common() 49 test_and_clear_bit(ACK_PENDING, &ucsi->flags)) in ucsi_notify_common() 50 complete(&ucsi->complete); in ucsi_notify_common() 53 test_and_clear_bit(COMMAND_PENDING, &ucsi->flags)) in ucsi_notify_common() 54 complete(&ucsi->complete); in ucsi_notify_common() 59 void *data, size_t size) in ucsi_sync_control_common() argument [all …]
|
/linux/drivers/usb/musb/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 3 # USB Dual Role (OTG-ready) Controller Drivers 7 # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller 9 tristate 'Inventra Highspeed Dual Role Controller' 13 Say Y here if your system has a dual role high speed USB 16 it's being used with, including the USB peripheral role, 17 or the USB host role, or both. 27 module will be called "musb-hdrc". 53 bool "Dual Role mode" 74 tristate "DA8xx/OMAP-L1x" [all …]
|
/linux/net/netfilter/ |
H A D | nf_conntrack_proto_dccp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 27 * - REQUEST: 31 * A client MAY give up on its DCCP-Requests after some time 34 * - RESPOND: 41 * - PARTOPEN: 48 * - OPEN: 54 * - CLOSEREQ/CLOSING: 59 * round-trip times and should back off to not less than once every 62 * - TIMEWAIT: 135 * sNO -> sRQ Regular Request [all …]
|
/linux/drivers/media/tuners/ |
H A D | it913x.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 15 * struct it913x_platform_data - Platform data for the it913x driver 18 * @role: Chip role, single or dual configuration. 27 unsigned int role:2; member
|
/linux/drivers/usb/typec/tipd/ |
H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0 19 #include <linux/usb/role.h> 65 /* PBMc data out */ 69 /* reset de-assertion to ready for operation */ 145 const struct tipd_data *data; member 153 static const char *tps6598x_psy_name_prefix = "tps6598x-source-psy-"; 156 * Max data bytes for Data1, Data2, and other registers. See ch 1.3.2: 164 u8 data[TPS_MAX_LEN + 1]; in tps6598x_block_read() local 167 if (len + 1 > sizeof(data)) in tps6598x_block_read() 168 return -EINVAL; in tps6598x_block_read() [all …]
|
/linux/drivers/net/wireless/ti/wlcore/ |
H A D | cmd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2009-2010 Nokia Corporation 50 if (unlikely(wl->state == WLCORE_STATE_RESTARTING && in __wlcore_cmd_send() 52 return -EIO; in __wlcore_cmd_send() 55 return -EIO; in __wlcore_cmd_send() 58 cmd->id = cpu_to_le16(id); in __wlcore_cmd_send() 59 cmd->status = 0; in __wlcore_cmd_send() 62 WARN_ON(test_bit(WL1271_FLAG_IN_ELP, &wl->flags)); in __wlcore_cmd_send() 64 ret = wlcore_write(wl, wl->cmd_box_addr, buf, len, false); in __wlcore_cmd_send() 72 ret = wl->ops->trigger_cmd(wl, wl->cmd_box_addr, buf, len); in __wlcore_cmd_send() [all …]
|