Re: [PATCH 1/5] dt-bindings: connector: add optional properties for Type-B

Hans de Goede
2019-03-08T12:07:52Z

Hi,

On 08-03-19 07:13, Chunfeng Yun wrote:
> Add id-gpios, vbus-gpios, vbus-supply and pinctrl properties for
> usb-b-connector
>
> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> ---
> .../devicetree/bindings/connector/usb-connector.txt | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/connector/usb-connector.txt b/Documentation/devicetree/bindings/connector/usb-connector.txt
> index a9a2f2fc44f2..7a07b0f4f973 100644
> --- a/Documentation/devicetree/bindings/connector/usb-connector.txt
> +++ b/Documentation/devicetree/bindings/connector/usb-connector.txt
> @@ -17,6 +17,16 @@ Optional properties:
> - self-powered: Set this property if the usb device that has its own power
> source.
>
> +Optional properties for usb-b-connector:
> +- id-gpios: gpio for USB ID pin.

What about boards where the ID pin is *not* connected to a GPIO,
but e.g. to a special pin on the PMIC which can also detect
an ACA adapter ? Currently this case is handled by extcon
drivers, but we have no way to set e.g. vbus-supply for the
connector. Maybe in this case the usb-connector node should
be a child of the PMIC node ?

And in many cases there also is a mux to switch the datalines
between the host and device(gadget) controllers, how should
that be described in this model? See the new usb-role-switch
code under drivers/usb/roles

In some cases the mux is controlled through a gpio, so we
may want to add a "mux-gpios" here in which case we also
need to define what 0/1 means.

> +- vbus-gpios: gpio for USB VBUS pin.
> + see gpio/gpio.txt.
> +- vbus-supply: reference to the VBUS regulator, needed when supports
> + dual-role mode.

I think this needs some text that there can be either a vbus-gpio or
a vbus-supply. Oh wait reading:

https://patchwork.kernel.org/patch/10819377/

I see that this GPIO is for detecting vbus presence, not for driving/enabling
5v to Vbus from the board, that needs to be described more clearly.

> +- pinctrl-names : a pinctrl state named "default" is optional
> +- pinctrl-0 : pin control group
> + see pinctrl/pinctrl-bindings.txt
> +
> Optional properties for usb-c-connector:
> - power-role: should be one of "source", "sink" or "dual"(DRP) if typec
> connector has power support.
>

Regards,

Hans