Message ID | 20200902075707.9052-2-amelie.delaunay@st.com |
---|---|
State | Superseded |
Headers | show |
Series | Add STUSB160x Type-C port controller support | expand |
On 9/23/20 11:08 AM, Jun Li wrote: > Amelie Delaunay <amelie.delaunay@st.com> 于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@st.com> >> --- >> 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) ? Should I restrict the use of power-opmode to non-USB power delivery Type-C controllers ? 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 >>
Amelie DELAUNAY <amelie.delaunay@st.com> 于2020年9月23日周三 下午5:31写道: > > > > On 9/23/20 11:08 AM, Jun Li wrote: > > Amelie Delaunay <amelie.delaunay@st.com> 于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@st.com> > >> --- > >> 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 > >>
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. + 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:
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@st.com> --- Changes in v2: - Add description for possible operation current values --- .../bindings/connector/usb-connector.yaml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+)