/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 …]
|
D | mediatek,musb.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Min Guo <min.guo@mediatek.com> 15 pattern: '^usb@[0-9a-f]+$' 19 - enum: 20 - mediatek,mt8516-musb 21 - mediatek,mt2701-musb 22 - mediatek,mt7623-musb 23 - const: mediatek,mtk-musb [all …]
|
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 bindings 10 - Amelie Delaunay <amelie.delaunay@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 …]
|
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 | maxim,max33359.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: Maxim TCPCI Type-C PD controller DT bindings 10 - Badhri Jagan Sridharan <badhri@google.com> 12 description: Maxim TCPCI Type-C PD controller 17 - maxim,max33359 27 $ref: ../connector/usb-connector.yaml# 32 - compatible 33 - reg [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 …]
|
/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/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-v5.15/include/linux/usb/ |
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 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. 99 * REVISIT: This is USB Power Delivery specific information, so this structure 100 * probable belongs to USB Power Delivery header file once we have them. 113 * struct typec_altmode_desc - USB Type-C Alternate Mode Descriptor [all …]
|
/Linux-v5.15/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 26 /* ------------------------------------------------------------------------- */ 63 return partner->identity; in get_pd_identity() 67 return cable->identity; in get_pd_identity() 74 struct typec_port *port = to_typec_port(dev->parent); in get_pd_product_type() 82 if (port->data_role == TYPEC_HOST) in get_pd_product_type() 83 ptype = product_type_ufp[PD_IDH_PTYPE(id->id_header)]; in get_pd_product_type() 85 ptype = product_type_dfp[PD_IDH_DFP_PTYPE(id->id_header)]; in get_pd_product_type() 88 ptype = product_type_cable[PD_IDH_PTYPE(id->id_header)]; in get_pd_product_type() [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-v5.15/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-v5.15/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 24 if (!ssusb->otg_switch.is_u3_drd) { in toggle_opstate() 25 mtu3_setbits(ssusb->mac_base, U3D_DEVICE_CONTROL, DC_SESSION); in toggle_opstate() 26 mtu3_setbits(ssusb->mac_base, U3D_POWER_MANAGEMENT, SOFT_CONN); in toggle_opstate() 30 /* only port0 supports dual-role mode */ 34 void __iomem *ibase = ssusb->ippc_base; in ssusb_port0_switch() 37 dev_dbg(ssusb->dev, "%s (switch u%d port0 to %s)\n", __func__, in ssusb_port0_switch() 41 /* 1. power off and disable u2 port0 */ in ssusb_port0_switch() 46 /* 2. power on, enable u2 port0 and select its mode */ in ssusb_port0_switch() [all …]
|
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/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-v5.15/drivers/net/dsa/sja1105/ |
D | sja1105_clocking.c | 1 // SPDX-License-Identifier: BSD-3-Clause 2 /* Copyright 2016-2018 NXP 3 * Copyright (c) 2018-2019, Vladimir Oltean <olteanv@gmail.com> 107 sja1105_packing(buf, &idiv->clksrc, 28, 24, size, op); in sja1105_cgu_idiv_packing() 108 sja1105_packing(buf, &idiv->autoblock, 11, 11, size, op); in sja1105_cgu_idiv_packing() 109 sja1105_packing(buf, &idiv->idiv, 5, 2, size, op); in sja1105_cgu_idiv_packing() 110 sja1105_packing(buf, &idiv->pd, 0, 0, size, op); in sja1105_cgu_idiv_packing() 116 const struct sja1105_regs *regs = priv->info->regs; in sja1105_cgu_idiv_config() 117 struct device *dev = priv->ds->dev; in sja1105_cgu_idiv_config() 121 if (regs->cgu_idiv[port] == SJA1105_RSV_ADDR) in sja1105_cgu_idiv_config() [all …]
|
/Linux-v5.15/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-v5.15/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 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/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-v5.15/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 …]
|