Message ID | 20201106165805.31534-2-amelie.delaunay@st.com |
---|---|
State | Superseded |
Headers | show |
Series | STUSB1600 support on STM32MP15xx-DKx | expand |
On 11/9/20 4:03 PM, Rob Herring wrote: > On Fri, Nov 6, 2020 at 10:58 AM Amelie Delaunay <amelie.delaunay@st.com> wrote: >> >> Power operation mode may depends on hardware design, so, add the optional >> property typec-power-opmode for usb-c connector to select the power >> operation mode capability. >> >> Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com> >> --- >> Hi Bahdri, Rob, >> >> I've added the exlusion with FRS property, but new FRS property name >> should be use here so, be careful. >> >> --- >> .../bindings/connector/usb-connector.yaml | 24 +++++++++++++++++++ >> 1 file changed, 24 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml >> index 62781518aefc..a84464b3e1f2 100644 >> --- a/Documentation/devicetree/bindings/connector/usb-connector.yaml >> +++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml >> @@ -93,6 +93,24 @@ properties: >> - device >> - dual >> >> + typec-power-opmode: >> + description: Determines the power operation mode that the Type C connector >> + will support and will advertise through CC pins when it has no power >> + delivery support. >> + - "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. >> + allOf: >> + - $ref: /schemas/types.yaml#definitions/string >> + enum: >> + - default >> + - 1.5A >> + - 3.0A > > Use the enums here. Unless you want to define it as actual current as > a numerical value. If I understand your point correctly, I think I should remove allOf here and stick with what is done to describe power-role and data-role property. Right ? Regards, Amelie > > Rob >
On 11/9/20 5:02 PM, Rob Herring wrote: > On Mon, Nov 9, 2020 at 9:54 AM Amelie DELAUNAY <amelie.delaunay@st.com> wrote: >> >> On 11/9/20 4:03 PM, Rob Herring wrote: >>> On Fri, Nov 6, 2020 at 10:58 AM Amelie Delaunay <amelie.delaunay@st.com> wrote: >>>> >>>> Power operation mode may depends on hardware design, so, add the optional >>>> property typec-power-opmode for usb-c connector to select the power >>>> operation mode capability. >>>> >>>> Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com> >>>> --- >>>> Hi Bahdri, Rob, >>>> >>>> I've added the exlusion with FRS property, but new FRS property name >>>> should be use here so, be careful. >>>> >>>> --- >>>> .../bindings/connector/usb-connector.yaml | 24 +++++++++++++++++++ >>>> 1 file changed, 24 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml >>>> index 62781518aefc..a84464b3e1f2 100644 >>>> --- a/Documentation/devicetree/bindings/connector/usb-connector.yaml >>>> +++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml >>>> @@ -93,6 +93,24 @@ properties: >>>> - device >>>> - dual >>>> >>>> + typec-power-opmode: >>>> + description: Determines the power operation mode that the Type C connector >>>> + will support and will advertise through CC pins when it has no power >>>> + delivery support. >>>> + - "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. >>>> + allOf: >>>> + - $ref: /schemas/types.yaml#definitions/string >>>> + enum: >>>> + - default >>>> + - 1.5A >>>> + - 3.0A >>> >>> Use the enums here. Unless you want to define it as actual current as >>> a numerical value. >> >> If I understand your point correctly, I think I should remove allOf here >> and stick with what is done to describe power-role and data-role >> property. Right ? > > No, use the numerical values like FRS: > > + "1" refers to default USB power level as described by "Table > 6-14 Fixed Supply PDO - Sink". > + "2" refers to 1.5A@5V. > + "3" refers to 3.0A@5V. > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [1, 2, 3] But it changes the type-c class philosophy. There is already an API to convert string into enum, the same kind is used for data-role and power-role properties. Moveover, FRS values doesn't fit with typec_pwr_opmode enum: enum typec_pwr_opmode { TYPEC_PWR_MODE_USB, TYPEC_PWR_MODE_1_5A, TYPEC_PWR_MODE_3_0A, TYPEC_PWR_MODE_PD, }; Regards Amelie
On Mon, Nov 09, 2020 at 05:10:23PM +0100, Amelie DELAUNAY wrote: > > > On 11/9/20 5:02 PM, Rob Herring wrote: > > On Mon, Nov 9, 2020 at 9:54 AM Amelie DELAUNAY <amelie.delaunay@st.com> wrote: > > > > > > On 11/9/20 4:03 PM, Rob Herring wrote: > > > > On Fri, Nov 6, 2020 at 10:58 AM Amelie Delaunay <amelie.delaunay@st.com> wrote: > > > > > > > > > > Power operation mode may depends on hardware design, so, add the optional > > > > > property typec-power-opmode for usb-c connector to select the power > > > > > operation mode capability. > > > > > > > > > > Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com> > > > > > --- > > > > > Hi Bahdri, Rob, > > > > > > > > > > I've added the exlusion with FRS property, but new FRS property name > > > > > should be use here so, be careful. > > > > > > > > > > --- > > > > > .../bindings/connector/usb-connector.yaml | 24 +++++++++++++++++++ > > > > > 1 file changed, 24 insertions(+) > > > > > > > > > > diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml > > > > > index 62781518aefc..a84464b3e1f2 100644 > > > > > --- a/Documentation/devicetree/bindings/connector/usb-connector.yaml > > > > > +++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml > > > > > @@ -93,6 +93,24 @@ properties: > > > > > - device > > > > > - dual > > > > > > > > > > + typec-power-opmode: > > > > > + description: Determines the power operation mode that the Type C connector > > > > > + will support and will advertise through CC pins when it has no power > > > > > + delivery support. > > > > > + - "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. > > > > > + allOf: > > > > > + - $ref: /schemas/types.yaml#definitions/string > > > > > + enum: > > > > > + - default > > > > > + - 1.5A > > > > > + - 3.0A > > > > > > > > Use the enums here. Unless you want to define it as actual current as > > > > a numerical value. > > > > > > If I understand your point correctly, I think I should remove allOf here > > > and stick with what is done to describe power-role and data-role > > > property. Right ? > > > > No, use the numerical values like FRS: > > > > + "1" refers to default USB power level as described by "Table > > 6-14 Fixed Supply PDO - Sink". > > + "2" refers to 1.5A@5V. > > + "3" refers to 3.0A@5V. > > + $ref: /schemas/types.yaml#/definitions/uint32 > > + enum: [1, 2, 3] > > But it changes the type-c class philosophy. There is already an API to > convert string into enum, the same kind is used for data-role and power-role > properties. > Moveover, FRS values doesn't fit with typec_pwr_opmode enum: > enum typec_pwr_opmode { > TYPEC_PWR_MODE_USB, > TYPEC_PWR_MODE_1_5A, > TYPEC_PWR_MODE_3_0A, > TYPEC_PWR_MODE_PD, > }; Okay, then strings it is I guess. Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml index 62781518aefc..a84464b3e1f2 100644 --- a/Documentation/devicetree/bindings/connector/usb-connector.yaml +++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml @@ -93,6 +93,24 @@ properties: - device - dual + typec-power-opmode: + description: Determines the power operation mode that the Type C connector + will support and will advertise through CC pins when it has no power + delivery support. + - "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. + allOf: + - $ref: /schemas/types.yaml#definitions/string + enum: + - default + - 1.5A + - 3.0A + # The following are optional properties for "usb-c-connector" with power # delivery support. source-pdos: @@ -192,6 +210,12 @@ allOf: type: const: micro +anyOf: + - not: + required: + - typec-power-opmode + - new-source-frs-typec-current + additionalProperties: true examples:
Power operation mode may depends on hardware design, so, add the optional property typec-power-opmode for usb-c connector to select the power operation mode capability. Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com> --- Hi Bahdri, Rob, I've added the exlusion with FRS property, but new FRS property name should be use here so, be careful. --- .../bindings/connector/usb-connector.yaml | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+)