Message ID | 20241203-gs101-phy-lanes-orientation-phy-v2-2-40dcf1b7670d@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | USB31DRD phy updates for Google Tensor gs101 (orientation & DWC3 rpm) | expand |
On Tue, Dec 03, 2024 at 12:13:50PM +0000, André Draszik wrote: > orientation-switch is the standard declaration to inform the Type-C mux > layer that a remote-endpoint is capable of processing orientation > change messages. > > The USB PHY on gs101 needs to be configured based on the orientation of > the connector. For that the DTS needs a link between the phy's port and > a TCPCi, and we'll need to inform the phy driver that it should handle > the orientation (register a handler). > > Update the schema to enforce that by requiring the orientation-switch > and port properties on gs101 (only). We disallow orientation-switch on > all other supported platforms, since other versions of this phy (or its > system integration) don't currently support or even need it. > > Even though this new required gs101 property is an ABI break, the > intention for the driver is to behave as before if it's missing > (meaning for gs101 it will work in SS mode in one orientation only). > Other platforms are not affected. > > Reviewed-by: Peter Griffin <peter.griffin@linaro.org> > Signed-off-by: André Draszik <andre.draszik@linaro.org> > > --- > v2: > * squash original patches #2 and #3 > * actually disallow orientation-switch on !gs101 (not just optional) (Conor) > * update commit message to clarify that the intention for the driver is > to work with old and new DTS (Conor) > * collect tags > --- > Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml b/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml > index 1f8b35917b11..c1d16254aeec 100644 > --- a/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml > +++ b/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml > @@ -51,6 +51,9 @@ properties: > "#phy-cells": > const: 1 > > + orientation-switch: > + $ref: /schemas/usb/usb-switch.yaml#/properties/orientation-switch Generally, we don't reference things at a property level, but node level. You can just do: - if: properties: compatible: contains: const: google,gs101-usb31drd-phy then: $ref: /schemas/usb/usb-switch.yaml# And switch additionalProperties with unevaluatedProperties. Rob
diff --git a/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml b/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml index 1f8b35917b11..c1d16254aeec 100644 --- a/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml +++ b/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml @@ -51,6 +51,9 @@ properties: "#phy-cells": const: 1 + orientation-switch: + $ref: /schemas/usb/usb-switch.yaml#/properties/orientation-switch + port: $ref: /schemas/graph.yaml#/properties/port description: @@ -139,6 +142,8 @@ allOf: required: - reg-names + - orientation-switch + - port - pll-supply - dvdd-usb20-supply - vddh-usb20-supply @@ -146,6 +151,10 @@ allOf: - vdda-usbdp-supply - vddh-usbdp-supply + else: + properties: + orientation-switch: false + - if: properties: compatible: