mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
Merge tag 'usb-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB / Thunderbolt driver updates from Greg KH:
"Here is the big set of USB and Thunderbolt driver changes for 6.3-rc1.
Nothing major in here, just lots of good development, including:
- Thunderbolt additions for new device support and features
- xhci driver updates and cleanups
- USB gadget media driver updates (includes media core changes that
were acked by the v4l2 maintainers)
- lots of other USB gadget driver updates for new features
- dwc3 driver updates and fixes
- minor debugfs leak fixes
- typec driver updates and additions
- dt-bindings conversions to yaml
- other small bugfixes and driver updates
All have been in linux-next for a while with no reported issues"
* tag 'usb-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (237 commits)
usb: dwc3: xilinx: Remove unused of_gpio,h
usb: typec: pd: Add higher capability sysfs for sink PDO
usb: typec: pd: Remove usb_suspend_supported sysfs from sink PDO
usb: dwc3: pci: add support for the Intel Meteor Lake-M
usb: gadget: u_ether: Don't warn in gether_setup_name_default()
usb: gadget: u_ether: Convert prints to device prints
usb: gadget: u_serial: Add null pointer check in gserial_resume
usb: gadget: uvc: fix missing mutex_unlock() if kstrtou8() fails
xhci: host: potential NULL dereference in xhci_generic_plat_probe()
dt-bindings: usb: amlogic,meson-g12a-usb-ctrl: make G12A usb3-phy0 optional
usb: host: fsl-mph-dr-of: reuse device_set_of_node_from_dev
of: device: Do not ignore error code in of_device_uevent_modalias
of: device: Ignore modalias of reused nodes
usb: gadget: configfs: Fix set but not used variable warning
usb: gadget: uvc: Use custom strings if available
usb: gadget: uvc: Allow linking function to string descs
usb: gadget: uvc: Pick up custom string descriptor IDs
usb: gadget: uvc: Allow linking XUs to string descriptors
usb: gadget: configfs: Attach arbitrary strings to cdev
usb: gadget: configfs: Support arbitrary string descriptors
...
This commit is contained in:
@@ -143,3 +143,16 @@ Description:
|
||||
qw_sign an identifier to be reported as "OS String"
|
||||
proper
|
||||
============= ===============================================
|
||||
|
||||
What: /config/usb-gadget/gadget/webusb
|
||||
Date: Dec 2022
|
||||
KernelVersion: 6.3
|
||||
Description:
|
||||
This group contains "WebUSB" extension handling attributes.
|
||||
|
||||
============= ===============================================
|
||||
use flag turning "WebUSB" support on/off
|
||||
bcdVersion bcd WebUSB specification version number
|
||||
bVendorCode one-byte value used for custom per-device
|
||||
landingPage UTF-8 encoded URL of the device's landing page
|
||||
============= ===============================================
|
||||
|
||||
@@ -15,12 +15,14 @@ Date: Dec 2014
|
||||
KernelVersion: 4.0
|
||||
Description: Control descriptors
|
||||
|
||||
All attributes read only:
|
||||
All attributes read only except enable_interrupt_ep:
|
||||
|
||||
================ =============================
|
||||
=================== =============================
|
||||
bInterfaceNumber USB interface number for this
|
||||
streaming interface
|
||||
================ =============================
|
||||
enable_interrupt_ep flag to enable the interrupt
|
||||
endpoint for the VC interface
|
||||
=================== =============================
|
||||
|
||||
What: /config/usb-gadget/gadget/functions/uvc.name/control/class
|
||||
Date: Dec 2014
|
||||
@@ -52,7 +54,7 @@ Date: Dec 2014
|
||||
KernelVersion: 4.0
|
||||
Description: Default output terminal descriptors
|
||||
|
||||
All attributes read only:
|
||||
All attributes read only except bSourceID:
|
||||
|
||||
============== =============================================
|
||||
iTerminal index of string descriptor
|
||||
@@ -111,6 +113,34 @@ Description: Default processing unit descriptors
|
||||
bUnitID a non-zero id of this unit
|
||||
=============== ========================================
|
||||
|
||||
What: /config/usb-gadget/gadget/functions/uvc.name/control/extensions
|
||||
Date: Nov 2022
|
||||
KernelVersion: 6.1
|
||||
Description: Extension unit descriptors
|
||||
|
||||
What: /config/usb-gadget/gadget/functions/uvc.name/control/extensions/name
|
||||
Date: Nov 2022
|
||||
KernelVersion: 6.1
|
||||
Description: Extension Unit (XU) Descriptor
|
||||
|
||||
bLength, bUnitID and iExtension are read-only. All others are
|
||||
read-write.
|
||||
|
||||
================= ========================================
|
||||
bLength size of the descriptor in bytes
|
||||
bUnitID non-zero ID of this unit
|
||||
guidExtensionCode Vendor-specific code identifying the XU
|
||||
bNumControls number of controls in this XU
|
||||
bNrInPins number of input pins for this unit
|
||||
baSourceID list of the IDs of the units or terminals
|
||||
to which this XU is connected
|
||||
bControlSize size of the bmControls field in bytes
|
||||
bmControls list of bitmaps detailing which vendor
|
||||
specific controls are supported
|
||||
iExtension index of a string descriptor that describes
|
||||
this extension unit
|
||||
================= ========================================
|
||||
|
||||
What: /config/usb-gadget/gadget/functions/uvc.name/control/header
|
||||
Date: Dec 2014
|
||||
KernelVersion: 4.0
|
||||
@@ -165,7 +195,24 @@ Date: Dec 2014
|
||||
KernelVersion: 4.0
|
||||
Description: Default color matching descriptors
|
||||
|
||||
All attributes read only:
|
||||
All attributes read/write:
|
||||
|
||||
======================== ======================================
|
||||
bMatrixCoefficients matrix used to compute luma and
|
||||
chroma values from the color primaries
|
||||
bTransferCharacteristics optoelectronic transfer
|
||||
characteristic of the source picture,
|
||||
also called the gamma function
|
||||
bColorPrimaries color primaries and the reference
|
||||
white
|
||||
======================== ======================================
|
||||
|
||||
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching/name
|
||||
Date: Dec 2022
|
||||
KernelVersion: 6.3
|
||||
Description: Additional color matching descriptors
|
||||
|
||||
All attributes read/write:
|
||||
|
||||
======================== ======================================
|
||||
bMatrixCoefficients matrix used to compute luma and
|
||||
|
||||
@@ -69,7 +69,7 @@ Description:
|
||||
This file contains boolean value that tells does the device
|
||||
support both source and sink power roles.
|
||||
|
||||
What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_suspend_supported
|
||||
What: /sys/class/usb_power_delivery/.../source-capabilities/1:fixed_supply/usb_suspend_supported
|
||||
Date: May 2022
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
@@ -78,6 +78,15 @@ Description:
|
||||
will follow the USB 2.0 and USB 3.2 rules for suspend and
|
||||
resume.
|
||||
|
||||
What: /sys/class/usb_power_delivery/.../sink-capabilities/1:fixed_supply/higher_capability
|
||||
Date: February 2023
|
||||
Contact: Saranya Gopal <saranya.gopal@linux.intel.com>
|
||||
Description:
|
||||
This file shows the value of the Higher capability bit in
|
||||
vsafe5V Fixed Supply Object. If the bit is set, then the sink
|
||||
needs more than vsafe5V(eg. 12 V) to provide full functionality.
|
||||
Valid values: 0, 1
|
||||
|
||||
What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unconstrained_power
|
||||
Date: May 2022
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
|
||||
@@ -47,3 +47,18 @@ Description:
|
||||
USB SuperSpeed protocol. From user perspective pin assignments C
|
||||
and E are equal, where all channels on the connector are used
|
||||
for carrying DisplayPort protocol (allowing higher resolutions).
|
||||
|
||||
What: /sys/bus/typec/devices/.../displayport/hpd
|
||||
Date: Dec 2022
|
||||
Contact: Badhri Jagan Sridharan <badhri@google.com>
|
||||
Description:
|
||||
VESA DisplayPort Alt Mode on USB Type-C Standard defines how
|
||||
HotPlugDetect(HPD) shall be supported on the USB-C connector when
|
||||
operating in DisplayPort Alt Mode. This is a read only node which
|
||||
reflects the current state of HPD.
|
||||
|
||||
Valid values:
|
||||
- 1: when HPD’s logical state is high (HPD_High) as defined
|
||||
by VESA DisplayPort Alt Mode on USB Type-C Standard.
|
||||
- 0 when HPD’s logical state is low (HPD_Low) as defined by
|
||||
VESA DisplayPort Alt Mode on USB Type-C Standard.
|
||||
|
||||
@@ -64,8 +64,8 @@ Required properties if child node exists:
|
||||
Properties for children:
|
||||
|
||||
The OMAP HS USB Host subsystem contains EHCI and OHCI controllers.
|
||||
See Documentation/devicetree/bindings/usb/ehci-omap.txt and
|
||||
Documentation/devicetree/bindings/usb/ohci-omap3.txt.
|
||||
See Documentation/devicetree/bindings/usb/generic-ehci.yaml and
|
||||
Documentation/devicetree/bindings/usb/generic-ohci.yaml.
|
||||
|
||||
Example for OMAP4:
|
||||
|
||||
@@ -78,14 +78,14 @@ usbhshost: usbhshost@4a064000 {
|
||||
ranges;
|
||||
|
||||
usbhsohci: ohci@4a064800 {
|
||||
compatible = "ti,ohci-omap3", "usb-ohci";
|
||||
compatible = "ti,ohci-omap3";
|
||||
reg = <0x4a064800 0x400>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 76 0x4>;
|
||||
};
|
||||
|
||||
usbhsehci: ehci@4a064c00 {
|
||||
compatible = "ti,ehci-omap", "usb-ehci";
|
||||
compatible = "ti,ehci-omap";
|
||||
reg = <0x4a064c00 0x400>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 77 0x4>;
|
||||
|
||||
@@ -97,16 +97,6 @@ Nintendo Wii device tree
|
||||
- reg : should contain the EXI registers location and length
|
||||
- interrupts : should contain the EXI interrupt
|
||||
|
||||
1.g) The Open Host Controller Interface (OHCI) nodes
|
||||
|
||||
Represent the USB 1.x Open Host Controller Interfaces.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "nintendo,hollywood-usb-ohci","usb-ohci"
|
||||
- reg : should contain the OHCI registers location and length
|
||||
- interrupts : should contain the OHCI interrupt
|
||||
|
||||
1.h) The Enhanced Host Controller Interface (EHCI) node
|
||||
|
||||
Represents the USB 2.0 Enhanced Host Controller Interface.
|
||||
|
||||
@@ -13,10 +13,12 @@ maintainers:
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: allwinner,sun4i-a10-musb
|
||||
- const: allwinner,sun6i-a31-musb
|
||||
- const: allwinner,sun8i-a33-musb
|
||||
- const: allwinner,sun8i-h3-musb
|
||||
- enum:
|
||||
- allwinner,sun4i-a10-musb
|
||||
- allwinner,sun6i-a31-musb
|
||||
- allwinner,sun8i-a33-musb
|
||||
- allwinner,sun8i-h3-musb
|
||||
- allwinner,suniv-f1c100s-musb
|
||||
- items:
|
||||
- enum:
|
||||
- allwinner,sun8i-a83t-musb
|
||||
|
||||
@@ -108,6 +108,7 @@ allOf:
|
||||
then:
|
||||
properties:
|
||||
phy-names:
|
||||
minItems: 2
|
||||
items:
|
||||
- const: usb2-phy0 # USB2 PHY0 if USBHOST_A port is used
|
||||
- const: usb2-phy1 # USB2 PHY1 if USBOTG_B port is used
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
* Broadcom USB controllers
|
||||
|
||||
Required properties:
|
||||
- compatible: "brcm,bcm3384-ohci", "brcm,bcm3384-ehci"
|
||||
|
||||
These currently use the generic-ohci and generic-ehci drivers. On some
|
||||
systems, special handling may be needed in the following cases:
|
||||
|
||||
- Restoring state after systemwide power save modes
|
||||
- Sharing PHYs with the USBD (UDC) hardware
|
||||
- Figuring out which controllers are disabled on ASIC bondout variants
|
||||
@@ -11,6 +11,7 @@ Required properties:
|
||||
"fsl,imx6ul-usb"
|
||||
"fsl,imx7d-usb"
|
||||
"fsl,imx7ulp-usb"
|
||||
"fsl,imx8mm-usb"
|
||||
"lsi,zevio-usb"
|
||||
"qcom,ci-hdrc"
|
||||
"chipidea,usb2"
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/cypress,cypd4226.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Cypress cypd4226 Type-C Controller
|
||||
|
||||
maintainers:
|
||||
- Wayne Chang <waynec@nvidia.com>
|
||||
|
||||
description:
|
||||
The Cypress cypd4226 is a dual Type-C controller that is controlled
|
||||
via an I2C interface.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: cypress,cypd4226
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
reg:
|
||||
const: 0x08
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: cypd4226 host interrupt
|
||||
|
||||
firmware-name:
|
||||
enum:
|
||||
- nvidia,gpu
|
||||
- nvidia,jetson-agx-xavier
|
||||
description: |
|
||||
The name of the CCGx firmware built for product series.
|
||||
should be set one of following:
|
||||
- "nvidia,gpu" for the NVIDIA RTX product series
|
||||
- "nvidia,jetson-agx-xavier" for the NVIDIA Jetson product series
|
||||
|
||||
patternProperties:
|
||||
'^connector@[01]$':
|
||||
$ref: /schemas/connector/usb-connector.yaml#
|
||||
unevaluatedProperties: false
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
anyOf:
|
||||
- required:
|
||||
- connector@0
|
||||
- required:
|
||||
- connector@1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/tegra194-gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
typec@8 {
|
||||
compatible = "cypress,cypd4226";
|
||||
reg = <0x08>;
|
||||
interrupt-parent = <&gpio_aon>;
|
||||
interrupts = <TEGRA194_AON_GPIO(BB, 2) IRQ_TYPE_LEVEL_LOW>;
|
||||
firmware-name = "nvidia,jetson-agx-xavier";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
connector@0 {
|
||||
compatible = "usb-c-connector";
|
||||
reg = <0>;
|
||||
label = "USB-C";
|
||||
data-role = "dual";
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
endpoint {
|
||||
remote-endpoint = <&usb_role_switch0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,31 +0,0 @@
|
||||
OMAP HS USB EHCI controller
|
||||
|
||||
This device is usually the child of the omap-usb-host
|
||||
Documentation/devicetree/bindings/mfd/omap-usb-host.txt
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be "ti,ehci-omap"
|
||||
- reg: should contain one register range i.e. start and length
|
||||
- interrupts: description of the interrupt line
|
||||
|
||||
Optional properties:
|
||||
|
||||
- phys: list of phandles to PHY nodes.
|
||||
This property is required if at least one of the ports are in
|
||||
PHY mode i.e. OMAP_EHCI_PORT_MODE_PHY
|
||||
|
||||
To specify the port mode, see
|
||||
Documentation/devicetree/bindings/mfd/omap-usb-host.txt
|
||||
|
||||
Example for OMAP4:
|
||||
|
||||
usbhsehci: ehci@4a064c00 {
|
||||
compatible = "ti,ehci-omap";
|
||||
reg = <0x4a064c00 0x400>;
|
||||
interrupts = <0 77 0x4>;
|
||||
};
|
||||
|
||||
&usbhsehci {
|
||||
phys = <&hsusb1_phy 0 &hsusb3_phy>;
|
||||
};
|
||||
@@ -1,22 +0,0 @@
|
||||
* EHCI controller, Orion Marvell variants
|
||||
|
||||
Required properties:
|
||||
- compatible: must be one of the following
|
||||
"marvell,orion-ehci"
|
||||
"marvell,armada-3700-ehci"
|
||||
- reg: physical base address of the controller and length of memory mapped
|
||||
region.
|
||||
- interrupts: The EHCI interrupt
|
||||
|
||||
Optional properties:
|
||||
- clocks: reference to the clock
|
||||
- phys: reference to the USB PHY
|
||||
- phy-names: name of the USB PHY, should be "usb"
|
||||
|
||||
Example:
|
||||
|
||||
ehci@50000 {
|
||||
compatible = "marvell,orion-ehci";
|
||||
reg = <0x50000 0x1000>;
|
||||
interrupts = <19>;
|
||||
};
|
||||
@@ -5,7 +5,7 @@
|
||||
$id: http://devicetree.org/schemas/usb/faraday,fotg210.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Faraday Technology FOTG210 HS OTG USB 2.0 controller
|
||||
title: Faraday Technology FOTG200 series HS OTG USB 2.0 controller
|
||||
|
||||
maintainers:
|
||||
- Linus Walleij <linus.walleij@linaro.org>
|
||||
@@ -17,10 +17,11 @@ allOf:
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: faraday,fotg200
|
||||
- const: faraday,fotg210
|
||||
- items:
|
||||
- const: cortina,gemini-usb
|
||||
- const: faraday,fotg210
|
||||
- const: faraday,fotg200
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@@ -66,7 +67,7 @@ examples:
|
||||
#include <dt-bindings/clock/cortina,gemini-clock.h>
|
||||
#include <dt-bindings/reset/cortina,gemini-reset.h>
|
||||
usb0: usb@68000000 {
|
||||
compatible = "cortina,gemini-usb", "faraday,fotg210";
|
||||
compatible = "cortina,gemini-usb", "faraday,fotg200";
|
||||
reg = <0x68000000 0x1000>;
|
||||
interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
resets = <&syscon GEMINI_RESET_USB0>;
|
||||
|
||||
@@ -51,7 +51,7 @@ examples:
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
fsa4480@42 {
|
||||
typec-mux@42 {
|
||||
compatible = "fcs,fsa4480";
|
||||
reg = <0x42>;
|
||||
|
||||
|
||||
@@ -71,6 +71,9 @@ properties:
|
||||
description:
|
||||
Power pad (PWR) polarity is active low.
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
# Required child node:
|
||||
|
||||
patternProperties:
|
||||
@@ -87,12 +90,14 @@ required:
|
||||
- clocks
|
||||
- clock-names
|
||||
- interrupts
|
||||
- power-domains
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/imx8mp-clock.h>
|
||||
#include <dt-bindings/power/imx8mp-power.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
usb3_0: usb@32f10100 {
|
||||
compatible = "fsl,imx8mp-dwc3";
|
||||
@@ -102,6 +107,7 @@ examples:
|
||||
<&clk IMX8MP_CLK_USB_ROOT>;
|
||||
clock-names = "hsio", "suspend";
|
||||
interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
|
||||
power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
dma-ranges = <0x40000000 0x40000000 0xc0000000>;
|
||||
|
||||
@@ -74,6 +74,11 @@ properties:
|
||||
- const: usb-ehci
|
||||
- enum:
|
||||
- generic-ehci
|
||||
- marvell,armada-3700-ehci
|
||||
- marvell,orion-ehci
|
||||
- nuvoton,npcm750-ehci
|
||||
- nuvoton,npcm845-ehci
|
||||
- ti,ehci-omap
|
||||
- usb-ehci
|
||||
|
||||
reg:
|
||||
|
||||
@@ -6,9 +6,6 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: USB OHCI Controller
|
||||
|
||||
allOf:
|
||||
- $ref: "usb-hcd.yaml"
|
||||
|
||||
maintainers:
|
||||
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
@@ -49,7 +46,16 @@ properties:
|
||||
- ingenic,jz4740-ohci
|
||||
- snps,hsdk-v1.0-ohci
|
||||
- const: generic-ohci
|
||||
- const: generic-ohci
|
||||
- enum:
|
||||
- generic-ohci
|
||||
- ti,ohci-omap3
|
||||
- items:
|
||||
- enum:
|
||||
- cavium,octeon-6335-ohci
|
||||
- nintendo,hollywood-usb-ohci
|
||||
- nxp,ohci-nxp
|
||||
- st,spear600-ohci
|
||||
- const: usb-ohci
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@@ -119,11 +125,29 @@ properties:
|
||||
- host
|
||||
- otg
|
||||
|
||||
transceiver:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
The associated ISP1301 device. Necessary for the UDC controller for
|
||||
connecting to the USB physical layer.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
allOf:
|
||||
- $ref: usb-hcd.yaml
|
||||
- if:
|
||||
not:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: nxp,ohci-nxp
|
||||
then:
|
||||
properties:
|
||||
transceiver: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
|
||||
@@ -16,6 +16,7 @@ properties:
|
||||
compatible:
|
||||
enum:
|
||||
- usb5e3,608
|
||||
- usb5e3,610
|
||||
|
||||
reg: true
|
||||
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/usb/gpio-sbu-mux.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: GPIO-based SBU mux
|
||||
|
||||
maintainers:
|
||||
- Bjorn Andersson <andersson@kernel.org>
|
||||
|
||||
description:
|
||||
In USB Type-C applications the SBU lines needs to be connected, disconnected
|
||||
and swapped depending on the altmode and orientation. This binding describes
|
||||
a family of hardware solutions which switches between these modes using GPIO
|
||||
signals.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- onnn,fsusb43l10x
|
||||
- pericom,pi3usb102
|
||||
- const: gpio-sbu-mux
|
||||
|
||||
enable-gpios:
|
||||
description: Switch enable GPIO
|
||||
|
||||
select-gpios:
|
||||
description: Orientation select
|
||||
|
||||
vcc-supply:
|
||||
description: power supply
|
||||
|
||||
mode-switch:
|
||||
description: Flag the port as possible handle of altmode switching
|
||||
type: boolean
|
||||
|
||||
orientation-switch:
|
||||
description: Flag the port as possible handler of orientation switching
|
||||
type: boolean
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node to link the SBU mux to a TypeC controller for the purpose of
|
||||
handling altmode muxing and orientation switching.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- enable-gpios
|
||||
- select-gpios
|
||||
- mode-switch
|
||||
- orientation-switch
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
tcpm {
|
||||
connector {
|
||||
compatible = "usb-c-connector";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
tcpm_hs_out: endpoint {
|
||||
remote-endpoint = <&usb_hs_phy_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
tcpm_ss_out: endpoint {
|
||||
remote-endpoint = <&usb_ss_phy_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
tcpm_sbu_out: endpoint {
|
||||
remote-endpoint = <&sbu_mux_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sbu-mux {
|
||||
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
|
||||
|
||||
enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
|
||||
select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
mode-switch;
|
||||
orientation-switch;
|
||||
|
||||
port {
|
||||
sbu_mux_in: endpoint {
|
||||
remote-endpoint = <&tcpm_sbu_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user