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 > >>