Re: [PATCH 2/7] dt-bindings: usb: dwc3: Add a gpio-usb-connector example

From: Stephen Boyd
Date: Wed Mar 18 2020 - 21:09:02 EST


Quoting Bryan O'Donoghue (2020-03-11 12:14:56)
> A USB connector should be a child node of the USB controller
> connector/usb-connector.txt. This patch adds an example of how to do this
> to the dwc3 binding descriptions.

I read that as a child of the USB interface controller, which is not the
same as the USB controller. For example, we're talking about having the
usb connector be a child of the EC on ChromeOS devices because that
manages the connector

>
> It is necessary to declare a connector as a child-node of a USB controller
> for role-switching to work, so this example should be helpful to others
> implementing that.

Maybe it should be a virtual node at the root of the DT if it's GPIO
controlled? And then the phy can be connected to the usb connector
through the graph binding.

>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> Cc: Mark Rutland <mark.rutland@xxxxxxx>
> Cc: linux-usb@xxxxxxxxxxxxxxx
> Cc: devicetree@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Acked-by: Felipe Balbi <balbi@xxxxxxxxxx>
> Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
> Tested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/usb/dwc3.txt | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
> index 66780a47ad85..4e1e4afccee6 100644
> --- a/Documentation/devicetree/bindings/usb/dwc3.txt
> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
> @@ -121,4 +121,12 @@ dwc3@4a030000 {
> interrupts = <0 92 4>
> usb-phy = <&usb2_phy>, <&usb3,phy>;

Weird that there's a comma here ^

Not a problem with this patch, just noticing it while reading the diff.

> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> +
> + usb_con: connector {
> + compatible = "gpio-usb-b-connector";
> + id-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
> + vbus-supply = <&usb3_vbus_reg>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&usb3_id_pin>, <&usb3_vbus_pin>;
> + };