[PATCH v5 1/5] dt-bindings: connector: add typec-power-opmode property to usb-connector

Rob Herring robh at kernel.org
Wed Nov 11 15:25:04 EST 2020


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 at 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 at 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 at 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 at 5V.
> > +      "3" refers to 3.0A at 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 at kernel.org>



More information about the linux-arm-kernel mailing list