Re: [PATCH v10 2/4] dt-bindings: usb: Add Qualcomm PMIC type C controller dt-binding

2020-10-14 Thread Wesley Cheng



On 10/13/2020 8:00 AM, Rob Herring wrote:
> 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 
>> ---
>>  .../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 ..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 
>> +
>> +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.
> 

Hi Rob,

The "port" node is going to be the connection to the usb role switch
device, which will be listening for the USB type C port change events.
(i.e handling USB role events, etc...)  In previous patches, this was
part of the connector node, which may not have made much sense, as the
connector model is used to describe the HW connections within a design.
 The role switch endpoint is more of a SW interaction between drivers,
thus the motivation to remove it from the connector node.

I think the current usb-connector design is OK as it is, since the only
component essentially involved in the SS path is the SS MUX that we've
been discussing, and this is true among designs that are supporting SSUSB.


Thanks

Regards,
Wesley Cheng

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


Re: [PATCH v10 2/4] dt-bindings: usb: Add Qualcomm PMIC type C controller dt-binding

2020-10-13 Thread Rob Herring
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 
> ---
>  .../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 ..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 
> +
> +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 
> +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 = <_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 = <_ss_mux>;
> +};
> +};
> +};
> +};
> +};
> +};
> +...
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
>