.../devicetree/bindings/usb/fcs,fsa4480.yaml | 12 ++-- .../devicetree/bindings/usb/gpio-sbu-mux.yaml | 12 ++-- .../devicetree/bindings/usb/nxp,ptn36502.yaml | 12 ++-- .../bindings/usb/onnn,nb7vpq904m.yaml | 13 ++-- .../bindings/usb/qcom,wcd939x-usbss.yaml | 12 ++-- .../devicetree/bindings/usb/usb-switch.yaml | 68 +++++++++++++++++++ 6 files changed, 93 insertions(+), 36 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/usb-switch.yaml
Several bindings implement parts of Type-C USB orientation and mode
switching, and retiming. Keep definition of such properties in one
place, new usb-switch schema, to avoid duplicate defines.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
.../devicetree/bindings/usb/fcs,fsa4480.yaml | 12 ++--
.../devicetree/bindings/usb/gpio-sbu-mux.yaml | 12 ++--
.../devicetree/bindings/usb/nxp,ptn36502.yaml | 12 ++--
.../bindings/usb/onnn,nb7vpq904m.yaml | 13 ++--
.../bindings/usb/qcom,wcd939x-usbss.yaml | 12 ++--
.../devicetree/bindings/usb/usb-switch.yaml | 68 +++++++++++++++++++
6 files changed, 93 insertions(+), 36 deletions(-)
create mode 100644 Documentation/devicetree/bindings/usb/usb-switch.yaml
diff --git a/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml b/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml
index f9410eb76a62..8b25b9a01ced 100644
--- a/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml
+++ b/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml
@@ -27,13 +27,8 @@ properties:
vcc-supply:
description: power supply (2.7V-5.5V)
- 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
+ mode-switch: true
+ orientation-switch: true
port:
$ref: /schemas/graph.yaml#/$defs/port-base
@@ -79,6 +74,9 @@ required:
- reg
- port
+allOf:
+ - $ref: usb-switch.yaml#
+
additionalProperties: false
examples:
diff --git a/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml b/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml
index d3b2b666ec2a..88e1607cf053 100644
--- a/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml
+++ b/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml
@@ -33,13 +33,8 @@ properties:
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
+ mode-switch: true
+ orientation-switch: true
port:
$ref: /schemas/graph.yaml#/properties/port
@@ -54,6 +49,9 @@ required:
- orientation-switch
- port
+allOf:
+ - $ref: usb-switch.yaml#
+
additionalProperties: false
examples:
diff --git a/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml b/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml
index eee548ac1abe..d805dde80796 100644
--- a/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml
+++ b/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml
@@ -20,13 +20,8 @@ properties:
vdd18-supply:
description: Power supply for VDD18 pin
- retimer-switch:
- description: Flag the port as possible handle of SuperSpeed signals retiming
- type: boolean
-
- orientation-switch:
- description: Flag the port as possible handler of orientation switching
- type: boolean
+ orientation-switch: true
+ retimer-switch: true
ports:
$ref: /schemas/graph.yaml#/properties/ports
@@ -49,6 +44,9 @@ required:
- compatible
- reg
+allOf:
+ - $ref: usb-switch.yaml#
+
additionalProperties: false
examples:
diff --git a/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml b/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml
index c0201da002f6..589914d22bf2 100644
--- a/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml
+++ b/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml
@@ -21,14 +21,8 @@ properties:
description: power supply (1.8V)
enable-gpios: true
-
- retimer-switch:
- description: Flag the port as possible handle of SuperSpeed signals retiming
- type: boolean
-
- orientation-switch:
- description: Flag the port as possible handler of orientation switching
- type: boolean
+ orientation-switch: true
+ retimer-switch: true
ports:
$ref: /schemas/graph.yaml#/properties/ports
@@ -95,6 +89,9 @@ required:
- compatible
- reg
+allOf:
+ - $ref: usb-switch.yaml#
+
additionalProperties: false
examples:
diff --git a/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml b/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml
index 7ddfd3313a18..96346723f3e9 100644
--- a/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml
+++ b/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml
@@ -35,13 +35,8 @@ properties:
vdd-supply:
description: USBSS VDD 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
+ mode-switch: true
+ orientation-switch: true
ports:
$ref: /schemas/graph.yaml#/properties/ports
@@ -63,6 +58,9 @@ required:
- reg
- ports
+allOf:
+ - $ref: usb-switch.yaml#
+
additionalProperties: false
examples:
diff --git a/Documentation/devicetree/bindings/usb/usb-switch.yaml b/Documentation/devicetree/bindings/usb/usb-switch.yaml
new file mode 100644
index 000000000000..0d0b60234d1f
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/usb-switch.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/usb-switch.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: USB Orientation and Mode Switches Common Properties
+
+maintainers:
+ - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+description:
+ Common properties for devices handling USB mode and orientation switching.
+
+properties:
+ mode-switch:
+ description: Possible handle of altmode switching
+ type: boolean
+
+ orientation-switch:
+ description: Possible handler of orientation switching
+ type: boolean
+
+ retimer-switch:
+ description: Possible handle of SuperSpeed signals retiming
+ type: boolean
+
+ port:
+ $ref: /schemas/graph.yaml#/properties/port
+ description:
+ A port node to link the device to a TypeC controller for the purpose of
+ handling altmode muxing and orientation switching.
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/properties/port
+ description:
+ Super Speed (SS) Output endpoint to the Type-C connector
+
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ description:
+ Super Speed (SS) Input endpoint from the Super-Speed PHY
+ unevaluatedProperties: false
+
+ properties:
+ endpoint:
+ $ref: /schemas/graph.yaml#/$defs/endpoint-base
+ # additionalProperties: true
+ unevaluatedProperties: false
+ properties:
+ data-lanes:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 1
+ maxItems: 8
+ uniqueItems: true
+ items:
+ maximum: 8
+
+oneOf:
+ - required:
+ - port
+ - required:
+ - ports
+
+additionalProperties: true
--
2.34.1
On Mon Jan 15, 2024 at 10:29 AM CET, Krzysztof Kozlowski wrote: > Several bindings implement parts of Type-C USB orientation and mode > switching, and retiming. Keep definition of such properties in one > place, new usb-switch schema, to avoid duplicate defines. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > .../devicetree/bindings/usb/fcs,fsa4480.yaml | 12 ++-- > .../devicetree/bindings/usb/gpio-sbu-mux.yaml | 12 ++-- > .../devicetree/bindings/usb/nxp,ptn36502.yaml | 12 ++-- > .../bindings/usb/onnn,nb7vpq904m.yaml | 13 ++-- > .../bindings/usb/qcom,wcd939x-usbss.yaml | 12 ++-- > .../devicetree/bindings/usb/usb-switch.yaml | 68 +++++++++++++++++++ > 6 files changed, 93 insertions(+), 36 deletions(-) > create mode 100644 Documentation/devicetree/bindings/usb/usb-switch.yaml > > diff --git a/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml b/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml > index f9410eb76a62..8b25b9a01ced 100644 > --- a/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml > +++ b/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml > @@ -27,13 +27,8 @@ properties: > vcc-supply: > description: power supply (2.7V-5.5V) > > - 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 > + mode-switch: true > + orientation-switch: true > > port: > $ref: /schemas/graph.yaml#/$defs/port-base > @@ -79,6 +74,9 @@ required: > - reg > - port > > +allOf: > + - $ref: usb-switch.yaml# > + > additionalProperties: false > > examples: > diff --git a/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml b/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml > index d3b2b666ec2a..88e1607cf053 100644 > --- a/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml > +++ b/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml > @@ -33,13 +33,8 @@ properties: > 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 > + mode-switch: true > + orientation-switch: true > > port: > $ref: /schemas/graph.yaml#/properties/port > @@ -54,6 +49,9 @@ required: > - orientation-switch > - port > > +allOf: > + - $ref: usb-switch.yaml# > + > additionalProperties: false > > examples: > diff --git a/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml b/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml > index eee548ac1abe..d805dde80796 100644 > --- a/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml > +++ b/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml > @@ -20,13 +20,8 @@ properties: > vdd18-supply: > description: Power supply for VDD18 pin > > - retimer-switch: > - description: Flag the port as possible handle of SuperSpeed signals retiming > - type: boolean > - > - orientation-switch: > - description: Flag the port as possible handler of orientation switching > - type: boolean > + orientation-switch: true > + retimer-switch: true > > ports: > $ref: /schemas/graph.yaml#/properties/ports > @@ -49,6 +44,9 @@ required: > - compatible > - reg > > +allOf: > + - $ref: usb-switch.yaml# > + > additionalProperties: false > > examples: > diff --git a/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml b/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml > index c0201da002f6..589914d22bf2 100644 > --- a/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml > +++ b/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml > @@ -21,14 +21,8 @@ properties: > description: power supply (1.8V) > > enable-gpios: true > - > - retimer-switch: > - description: Flag the port as possible handle of SuperSpeed signals retiming > - type: boolean > - > - orientation-switch: > - description: Flag the port as possible handler of orientation switching > - type: boolean > + orientation-switch: true > + retimer-switch: true > > ports: > $ref: /schemas/graph.yaml#/properties/ports > @@ -95,6 +89,9 @@ required: > - compatible > - reg > > +allOf: > + - $ref: usb-switch.yaml# > + > additionalProperties: false > > examples: > diff --git a/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml b/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml > index 7ddfd3313a18..96346723f3e9 100644 > --- a/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml > +++ b/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml > @@ -35,13 +35,8 @@ properties: > vdd-supply: > description: USBSS VDD 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 > + mode-switch: true > + orientation-switch: true > > ports: > $ref: /schemas/graph.yaml#/properties/ports > @@ -63,6 +58,9 @@ required: > - reg > - ports > > +allOf: > + - $ref: usb-switch.yaml# > + > additionalProperties: false > > examples: > diff --git a/Documentation/devicetree/bindings/usb/usb-switch.yaml b/Documentation/devicetree/bindings/usb/usb-switch.yaml > new file mode 100644 > index 000000000000..0d0b60234d1f > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/usb-switch.yaml > @@ -0,0 +1,68 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/usb/usb-switch.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: USB Orientation and Mode Switches Common Properties > + > +maintainers: > + - Greg Kroah-Hartman <gregkh@linuxfoundation.org> > + > +description: > + Common properties for devices handling USB mode and orientation switching. > + > +properties: > + mode-switch: > + description: Possible handle of altmode switching handle -> handler > + type: boolean > + > + orientation-switch: > + description: Possible handler of orientation switching > + type: boolean > + > + retimer-switch: > + description: Possible handle of SuperSpeed signals retiming handle -> handler > + type: boolean > + > + port: > + $ref: /schemas/graph.yaml#/properties/port > + description: > + A port node to link the device to a TypeC controller for the purpose of > + handling altmode muxing and orientation switching. > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/properties/port > + description: > + Super Speed (SS) Output endpoint to the Type-C connector > + > + port@1: > + $ref: /schemas/graph.yaml#/$defs/port-base > + description: > + Super Speed (SS) Input endpoint from the Super-Speed PHY > + unevaluatedProperties: false > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > + # additionalProperties: true Don't think this should still be here? The rest looks sane to the extent I know dt bindings. Regards Luca > + unevaluatedProperties: false > + properties: > + data-lanes: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 1 > + maxItems: 8 > + uniqueItems: true > + items: > + maximum: 8 > + > +oneOf: > + - required: > + - port > + - required: > + - ports > + > +additionalProperties: true
On 15/01/2024 10:34, Luca Weiss wrote: >> diff --git a/Documentation/devicetree/bindings/usb/usb-switch.yaml b/Documentation/devicetree/bindings/usb/usb-switch.yaml >> new file mode 100644 >> index 000000000000..0d0b60234d1f >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/usb/usb-switch.yaml >> @@ -0,0 +1,68 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/usb/usb-switch.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: USB Orientation and Mode Switches Common Properties >> + >> +maintainers: >> + - Greg Kroah-Hartman <gregkh@linuxfoundation.org> >> + >> +description: >> + Common properties for devices handling USB mode and orientation switching. >> + >> +properties: >> + mode-switch: >> + description: Possible handle of altmode switching > > handle -> handler ack > >> + type: boolean >> + >> + orientation-switch: >> + description: Possible handler of orientation switching >> + type: boolean >> + >> + retimer-switch: >> + description: Possible handle of SuperSpeed signals retiming > > handle -> handler ack > >> + type: boolean >> + >> + port: >> + $ref: /schemas/graph.yaml#/properties/port >> + description: >> + A port node to link the device to a TypeC controller for the purpose of >> + handling altmode muxing and orientation switching. >> + >> + ports: >> + $ref: /schemas/graph.yaml#/properties/ports >> + properties: >> + port@0: >> + $ref: /schemas/graph.yaml#/properties/port >> + description: >> + Super Speed (SS) Output endpoint to the Type-C connector >> + >> + port@1: >> + $ref: /schemas/graph.yaml#/$defs/port-base >> + description: >> + Super Speed (SS) Input endpoint from the Super-Speed PHY >> + unevaluatedProperties: false >> + >> + properties: >> + endpoint: >> + $ref: /schemas/graph.yaml#/$defs/endpoint-base >> + # additionalProperties: true > > Don't think this should still be here? > Indeed, debug left-over. I'll remove it. Best regards, Krzysztof
© 2016 - 2025 Red Hat, Inc.