Re: [RESEND PATCH v2 1/6] dt-bindings: connector: add power-opmode optional property to usb-connector

From: Jun Li
Date: Wed Sep 23 2020 - 06:33:41 EST


Amelie DELAUNAY <amelie.delaunay@xxxxxx> 于2020年9月23日周三 下午5:31写道:
>
>
>
> On 9/23/20 11:08 AM, Jun Li wrote:
> > Amelie Delaunay <amelie.delaunay@xxxxxx> 于2020年9月2日周三 下午4:01写道:
> >>
> >> Power operation mode may depends on hardware design, so, add the optional
> >> property power-opmode for usb-c connector to select the power operation
> >> mode capability.
> >>
> >> Signed-off-by: Amelie Delaunay <amelie.delaunay@xxxxxx>
> >> ---
> >> Changes in v2:
> >> - Add description for possible operation current values
> >> ---
> >> .../bindings/connector/usb-connector.yaml | 20 +++++++++++++++++++
> >> 1 file changed, 20 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml
> >> index 9bd52e63c935..2fd85b9a7e1a 100644
> >> --- a/Documentation/devicetree/bindings/connector/usb-connector.yaml
> >> +++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml
> >> @@ -88,6 +88,26 @@ properties:
> >> - device
> >> - dual
> >>
> >> + power-opmode:
> >> + description: Determines the power operation mode that the Type C connector
> >> + will support and will advertise through CC pins.
> >> + - "default" corresponds to default USB voltage and current defined by the
> >> + USB 2.0 and USB 3.2 specifications, 5V 500mA for USB 2.0 ports and
> >> + 5V 900mA or 1500mA for USB 3.2 ports in single-lane or dual-lane
> >> + operation respectively.
> >> + - "1.5A" and "3.0A", 5V 1.5A and 5V 3.0A respectively, as defined in USB
> >> + Type-C Cable and Connector specification, when Power Delivery is not
> >> + supported.
> >> + - "usb_power_delivery" when Power Delivery is supported, as defined in
> >> + USB Power Delivery specification.
> >
> > Why need "usb_power_delivery"? isn't this information can be implied by
> > existing properties like if "source-pdos" is present?
> >
>
> power-opmode is an optional property.
> usb_power_delivery, as 3.0A, 1.5A or default here, only reflect the
> possible power operation mode you can set and that are understood by
> typec class:
> static const char * const typec_pwr_opmodes[] = {
> [TYPEC_PWR_MODE_USB] = "default",
> [TYPEC_PWR_MODE_1_5A] = "1.5A",
> [TYPEC_PWR_MODE_3_0A] = "3.0A",
> [TYPEC_PWR_MODE_PD] = "usb_power_delivery",
> };
>
> But I guess that a Type-C controller with usb power delivery support
> won't use power-opmode property but rather source/sink-pdos.
>
> power-opmode shows what will be advertised through CC pins. I can remove
> usb_power_delivery from the possible values, but what about the user who
> will add power-opmode property to configure his Type-C controller with
> USB power delivery support (sink and/or source by the way) ?

With power delivery support, this information should be abstracted from
source-pdos.

> Should I restrict the use of power-opmode to non-USB power delivery
> Type-C controllers ?

I think Yes. only need it for non-PD(power source/DRP).

Li Jun
> Please advise.
>
> Regards,
> Amelie
>
>
> > Li Jun
> >> + allOf:
> >> + - $ref: /schemas/types.yaml#definitions/string
> >> + enum:
> >> + - default
> >> + - 1.5A
> >> + - 3.0A
> >> + - usb_power_delivery
> >> +
> >> # The following are optional properties for "usb-c-connector" with power
> >> # delivery support.
> >> source-pdos:
> >> --
> >> 2.17.1
> >>