On Thu, Oct 08, 2020 at 04:59:32PM -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 | 115 ++++++++++++++++++ > 1 file changed, 115 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..40e0a296f922 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml > @@ -0,0 +1,115 @@ > +# 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 > + > + port: > + description: Remote endpoint connection to the DRD switch > + type: object I don't understand what this is supposed to be. You'll have to expand the example or provide a block diagram of what the connections/routing looks like. > + > + properties: > + endpoint: > + description: Connection to the DRD switch being used > + type: object > + > + connector: > + $ref: /connector/usb-connector.yaml# > + description: Connector type for remote endpoints > + type: object > + > + properties: > + compatible: > + enum: > + - usb-c-connector > + > + power-role: true > + data-role: true > + > + ports: > + description: Remote endpoint connections for type C paths > + type: object > + > + properties: > + port@1: > + description: Remote endpoints for the Super Speed path > + type: object > + > + properties: > + endpoint: > + description: Connection to USB type C mux node > + type: object > + > + required: > + - compatible > + > +required: > + - compatible > + - reg > + - interrupts > + - connector > + - port > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + pm8150b { > + #address-cells = <1>; > + #size-cells = <0>; > + pm8150b_typec: usb-typec@1500 { > + compatible = "qcom,pm8150b-usb-typec"; > + reg = <0x1500>; > + interrupts = <0x2 0x15 0x5 IRQ_TYPE_EDGE_RISING>; > + > + port { > + usb3_role: endpoint { > + remote-endpoint = <&dwc3_drd_switch>; > + }; > + }; > + > + connector { > + compatible = "usb-c-connector"; > + power-role = "dual"; > + data-role = "dual"; > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + port@0 { > + reg = <0>; > + }; > + port@1 { > + reg = <1>; > + #address-cells = <1>; > + #size-cells = <0>; > + usb3_data_ss: endpoint { > + remote-endpoint = <&qmp_ss_mux>; > + }; > + }; > + }; > + }; > + }; > + }; > +... > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project >