/linux-5.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-5.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 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. 98 * REVISIT: This is USB Power Delivery specific information, so this structure 99 * probable belongs to USB Power Delivery header file once we have them. 112 * struct typec_altmode_desc - USB Type-C Alternate Mode Descriptor [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 83 * Optional; Called to enable/disable PD 3.0 fast role swap. [all …]
|
/linux-5.10/Documentation/ABI/testing/ |
D | sysfs-class-typec | 1 USB Type-C port devices (eg. /sys/class/typec/port0/) 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, 22 The supported power roles. This attribute can be used to request 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-5.10/Documentation/devicetree/bindings/usb/ |
D | mediatek,mtu3.txt | 4 - compatible : should be "mediatek,<soc-model>-mtu3", "mediatek,mtu3", 5 soc-model is the name of SoC, such as mt8173, mt2712 etc, 8 - "mediatek,mt8173-mtu3" 9 - reg : specifies physical base address and size of the registers 10 - reg-names: should be "mac" for device IP and "ippc" for IP port control 11 - interrupts : interrupt used by the device IP 12 - power-domains : a phandle to USB power domain node to control USB's 14 - vusb33-supply : regulator of USB avdd3.3v 15 - clocks : a list of phandle + clock-specifier pairs, one for each 16 entry in clock-names [all …]
|
D | mediatek,musb.txt | 2 ------------------------------------------- 5 - compatible : should be one of: 6 "mediatek,mt2701-musb" 8 followed by "mediatek,mtk-musb" 9 - reg : specifies physical base address and size of 11 - interrupts : interrupt used by musb controller 12 - interrupt-names : must be "mc" 13 - phys : PHY specifier for the OTG phy 14 - dr_mode : should be one of "host", "peripheral" or "otg", 16 - clocks : a list of phandle + clock-specifier pairs, one for [all …]
|
D | mediatek,mt6360-tcpc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: "http://devicetree.org/schemas/usb/mediatek,mt6360-tcpc.yaml#" 5 $schema: "http://devicetree.org/meta-schemas/core.yaml#" 7 title: Mediatek MT6360 Type-C Port Switch and Power Delivery controller DT bindings 10 - ChiYuan Huang <cy_huang@richtek.com> 13 Mediatek MT6360 is a multi-functional device. It integrates charger, ADC, flash, RGB indicators, 14 regulators (BUCKs/LDOs), and TypeC Port Switch with Power Delivery controller. 15 This document only describes MT6360 Type-C Port Switch and Power Delivery controller. 20 - mediatek,mt6360-tcpc [all …]
|
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 …]
|
D | typec-tcpci.txt | 2 --------------------------------------------- 5 - compatible: should be set one of following: 6 - "nxp,ptn5110" for NXP USB PD TCPC PHY IC ptn5110. 8 - reg: the i2c slave address of typec port controller device. 9 - interrupt-parent: the phandle to the interrupt controller which provides 11 - interrupts: interrupt specification for tcpci alert. 13 Required sub-node: 14 - connector: The "usb-c-connector" attached to the tcpci chip, the bindings 16 Documentation/devicetree/bindings/connector/usb-connector.yaml 23 interrupt-parent = <&gpio3>; [all …]
|
D | renesas,usb3-peri.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/usb/renesas,usb3-peri.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 15 - enum: 16 - renesas,r8a774a1-usb3-peri # RZ/G2M 17 - renesas,r8a774b1-usb3-peri # RZ/G2N 18 - renesas,r8a774c0-usb3-peri # RZ/G2E 19 - renesas,r8a774e1-usb3-peri # RZ/G2H [all …]
|
D | fcs,fusb302.txt | 1 Fairchild FUSB302 Type-C Port controllers 4 - compatible : "fcs,fusb302" 5 - reg : I2C slave address 6 - interrupts : Interrupt specifier 8 Required sub-node: 9 - connector : The "usb-c-connector" attached to the FUSB302 IC. The bindings 12 Documentation/devicetree/bindings/connector/usb-connector.yaml 17 fusb302: typec-portc@54 { 20 interrupt-parent = <&nmi_intc>; 24 compatible = "usb-c-connector"; [all …]
|
D | fsl-usb.txt | 9 - compatible : Should be "fsl-usb2-mph" for multi port host USB 10 controllers, or "fsl-usb2-dr" for dual role USB controllers 11 or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121. 13 also be mentioned (for eg. fsl-usb2-dr-v2.2 for bsc9132). 14 - phy_type : For multi port host USB controllers, should be one of 15 "ulpi", or "serial". For dual role USB controllers, should be 17 - reg : Offset and length of the register set for the device 18 - port0 : boolean; if defined, indicates port0 is connected for 19 fsl-usb2-mph compatible controllers. Either this property or 20 "port1" (or both) must be defined for "fsl-usb2-mph" compatible [all …]
|
/linux-5.10/drivers/net/dsa/sja1105/ |
D | sja1105_clocking.c | 1 // SPDX-License-Identifier: BSD-3-Clause 2 /* Copyright (c) 2016-2018, NXP Semiconductors 3 * Copyright (c) 2018-2019, Vladimir Oltean <olteanv@gmail.com> 99 sja1105_packing(buf, &idiv->clksrc, 28, 24, size, op); in sja1105_cgu_idiv_packing() 100 sja1105_packing(buf, &idiv->autoblock, 11, 11, size, op); in sja1105_cgu_idiv_packing() 101 sja1105_packing(buf, &idiv->idiv, 5, 2, size, op); in sja1105_cgu_idiv_packing() 102 sja1105_packing(buf, &idiv->pd, 0, 0, size, op); in sja1105_cgu_idiv_packing() 108 const struct sja1105_regs *regs = priv->info->regs; in sja1105_cgu_idiv_config() 109 struct device *dev = priv->ds->dev; in sja1105_cgu_idiv_config() 115 return -ERANGE; in sja1105_cgu_idiv_config() [all …]
|
/linux-5.10/drivers/usb/typec/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 tristate "USB Type-C Support" 6 USB Type-C Specification defines a cable and connector for USB where 8 be Type-A plug on one end of the cable and Type-B plug on the other. 9 Determination of the host-to-device relationship happens through a 10 specific Configuration Channel (CC) which goes through the USB Type-C 12 Accessory Modes - Analog Audio and Debug - and if USB Power Delivery 16 USB Power Delivery Specification defines a protocol that can be used 18 partners. USB Power Delivery allows higher voltages then the normal 19 5V, up to 20V, and current up to 5A over the cable. The USB Power [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 …]
|
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-5.10/drivers/extcon/ |
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> 28 /* Power source status register */ 114 /* Power up/down reason string array */ 116 "Last wake caused by user pressing the power button", 123 "Last shutdown caused by user pressing the power button", [all …]
|
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. 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() 77 msg->outsize = outsize; in cros_ec_pd_command() 78 msg->insize = insize; in cros_ec_pd_command() [all …]
|
/linux-5.10/Documentation/usb/ |
D | chipidea.rst | 2 ChipIdea Highspeed Dual Role Controller Driver 6 ----------------------------------- 12 ------------------------- 29 otg-rev = <0x0200>; 30 adp-disable; 33 ------------------- 35 1) Power up 2 Freescale i.MX6Q sabre SD boards with gadget class driver loaded 41 The A-device(with micro A plug inserted) should enumerate B-device. 43 3) Role switch 45 On B-device:: [all …]
|
/linux-5.10/drivers/usb/mtu3/ |
D | mtu3_dr.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * mtu3_dr.c - dual role switch and host glue layer 10 #include <linux/usb/role.h> 44 if (!ssusb->otg_switch.is_u3_drd) { in toggle_opstate() 45 mtu3_setbits(ssusb->mac_base, U3D_DEVICE_CONTROL, DC_SESSION); in toggle_opstate() 46 mtu3_setbits(ssusb->mac_base, U3D_POWER_MANAGEMENT, SOFT_CONN); in toggle_opstate() 50 /* only port0 supports dual-role mode */ 54 void __iomem *ibase = ssusb->ippc_base; in ssusb_port0_switch() 57 dev_dbg(ssusb->dev, "%s (switch u%d port0 to %s)\n", __func__, in ssusb_port0_switch() 61 /* 1. power off and disable u2 port0 */ in ssusb_port0_switch() [all …]
|
/linux-5.10/drivers/usb/cdns3/ |
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-5.10/Documentation/devicetree/bindings/chrome/ |
D | google,cros-ec-typec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/chrome/google,cros-ec-typec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Benson Leung <bleung@chromium.org> 11 - Prashant Malani <pmalani@chromium.org> 17 cros-ec node like google,cros-ec-spi. 21 const: google,cros-ec-typec 24 $ref: /schemas/connector/usb-connector.yaml# 27 - compatible [all …]
|
/linux-5.10/Documentation/driver-api/usb/ |
D | typec.rst | 3 USB Type-C connector class 7 ------------ 9 The typec class is meant for describing the USB Type-C ports in a system to the 14 The platforms are expected to register every USB Type-C port they have with the 15 class. In a normal case the registration will be done by a USB Type-C or PD PHY 18 considers the component registering the USB Type-C ports with the class as "port 26 attributes are described in Documentation/ABI/testing/sysfs-class-typec. 29 -------------------- 36 "port0-partner". Full path to the device would be 37 /sys/class/typec/port0/port0-partner/. [all …]
|
/linux-5.10/drivers/usb/core/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 24 Say N here if you don't want USB power session persistence 26 devices that lose power get reenumerated as if they had been 29 through the power/persist sysfs node. See 30 Documentation/driver-api/usb/persist.rst for more info. 45 Say N here unless you require new-device enumeration failure to 64 "Dual-Role" device, which can act as either a device 65 or a host. The initial role is decided by the type of 67 role devices talk to each other. 69 Select this only if your board has Mini-AB/Micro-AB [all …]
|
/linux-5.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" 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() 93 cap->data = ret; in cros_typec_parse_port_props() [all …]
|