On Thu, Jul 02, 2020 at 06:50:58PM -0700, Wesley Cheng wrote: > Introduce the dt-binding for enabling USB type C orientation and role > detection using the PM8150B. The driver will be responsible for receiving > the interrupt at a state change on the CC lines, reading the orientation/role, > and communicating this information to the remote clients, which can include > a role switch node and a type C switch. > > Signed-off-by: Wesley Cheng <wcheng@xxxxxxxxxxxxxx> > --- > .../bindings/usb/qcom,pmic-typec.yaml | 130 ++++++++++++++++++ > 1 file changed, 130 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml > > diff --git a/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml b/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml > new file mode 100644 > index 000000000000..735b1f74664b > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml > @@ -0,0 +1,130 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/usb/qcom,pmic-typec.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Qualcomm PMIC based USB type C Detection Driver > + > +maintainers: > + - Wesley Cheng <wcheng@xxxxxxxxxxxxxx> > + > +description: | > + Qualcomm PMIC Type C Detect > + > +properties: > + compatible: > + enum: > + - qcom,pm8150b-usb-typec > + > + reg: > + maxItems: 1 > + description: Type C base address > + > + interrupts: > + maxItems: 1 > + description: CC change interrupt from PMIC > + > + connector: > + description: Connector type for remote endpoints > + type: object > + $ref: /schemas/connector/usb-connector.yaml# Why is all the connector schema duplicated here? You only need things that are further constrained like 'compatible'. > + > + properties: > + compatible: > + enum: > + - usb-c-connector > + > + power-role: > + enum: > + - dual > + - source > + - sink > + > + data-role: > + enum: > + - dual > + - host > + - device > + > + ports: > + description: Remote endpoint connections > + type: object > + > + properties: > + port@0: > + description: Remote endpoints for the High Speed path > + type: object > + > + port@1: > + description: Remote endpoints for the Super Speed path > + type: object > + > + properties: > + endpoint@0: > + description: Connection to USB type C mux node > + type: object > + > + properties: > + remote-endpoint: > + maxItems: 1 'remote-endpoint' in not an array. > + description: Node reference to the type C mux > + > + endpoint@1: > + description: Connection to role switch node > + type: object > + > + properties: > + remote-endpoint: > + maxItems: 1 > + description: Node reference to the role switch node So USB-SS data can come from 'type C mux' or 'role switch node'? That seems odd. Rob