Re: [PATCH v8 05/11] dt-bindings: connector: Add property to set initial current cap for FRS

From: Jun Li
Date: Mon Sep 28 2020 - 04:57:38 EST


Badhri Jagan Sridharan <badhri@xxxxxxxxxx> 于2020年9月24日周四 下午6:09写道:
>
> Hi Jun,
>
> Thanks for the feedback !
> The sink PDO from current source reflects the current source's(i.e.
> transmitter of the FRS signal) power requirement during fr swap.
> The current sink (i.e. receiver of the FRS signal) should check if it
> will be able to satisfy the current source's
> requirement during frswap before enabling the frs signal reception.
> The property in this patch refers to maximum current capability
> that the current sink can satisfy.

In this case I agree a new property is required.

Rob mentioned another similar property for typec[1], which is
for typec source(without power delivery) to define its power
capability to present its Rp, so a different usage.

[1]https://lore.kernel.org/linux-arm-kernel/20200902075707.9052-2-amelie.delaunay@xxxxxx/

> Perhaps, I should name it
> sink-frs-typec-current. Does that make sense to you ?

it looks better, thanks.

Li Jun
>
> Thanks,
> Badhri
>
> On Wed, Sep 23, 2020 at 3:43 AM Jun Li <lijun.kernel@xxxxxxxxx> wrote:
> >
> > Badhri Jagan Sridharan <badhri@xxxxxxxxxx> 于2020年9月22日周二 上午3:57写道:
> > >
> > > This change adds frs-typec-current which allows setting the initial current
> > > capability of the new source when vSafe5V is applied during PD3.0
> > > sink Fast Role Swap.
> > >
> > > Signed-off-by: Badhri Jagan Sridharan <badhri@xxxxxxxxxx>
> > > ---
> > > Changes since v1:
> > > - Changing patch version to v6 to fix version number confusion.
> > >
> > > Changes since v6:
> > > - Removed the redundant usb-connector.txt that I created by mistake.
> > > - Moved to yaml.
> > >
> > > Changes since v7:
> > > - Rebase
> > > ---
> > > .../devicetree/bindings/connector/usb-connector.yaml | 8 ++++++++
> > > include/dt-bindings/usb/pd.h | 10 ++++++++++
> > > 2 files changed, 18 insertions(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml
> > > index 9bd52e63c935..1ca8e6a337e5 100644
> > > --- a/Documentation/devicetree/bindings/connector/usb-connector.yaml
> > > +++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml
> > > @@ -142,6 +142,14 @@ properties:
> > > required:
> > > - port@0
> > >
> > > + frs-typec-current:
> > > + description: Initial current capability of the new source when vSafe5V
> > > + is applied during PD3.0 Fast Role Swap. "Table 6-14 Fixed Supply PDO - Sink"
> > > + of "USB Power Delivery Specification Revision 3.0, Version 1.2" provides the
> > > + different power levels and "6.4.1.3.1.6 Fast Role Swap USB Type-C Current"
> > > + provides a detailed description of the field.
> > > + $ref: /schemas/types.yaml#/definitions/uint32
> >
> > If it's a part of sink PDO, I think you don't need a new property for this, just
> > define it directly into sink-pdos by adding a new PDO define for PD 3.0,
> > something like:
> >
> > sink-pdos = <PDO_FIXED_v3(5000, 3000, PDO_FIXED_USB_COMM, FRS_CURRENT_1P5A)>;
> >
> > Li Jun
> > > +
> > > required:
> > > - compatible
> > >
> > > diff --git a/include/dt-bindings/usb/pd.h b/include/dt-bindings/usb/pd.h
> > > index 985f2bbd4d24..db1ad4532197 100644
> > > --- a/include/dt-bindings/usb/pd.h
> > > +++ b/include/dt-bindings/usb/pd.h
> > > @@ -35,6 +35,16 @@
> > >
> > > #define VSAFE5V 5000 /* mv units */
> > >
> > > +/*
> > > + * Based on "Table 6-14 Fixed Supply PDO - Sink" of "USB Power Delivery Specification Revision 3.0,
> > > + * Version 1.2"
> > > + * Initial current capability of the new source when vSafe5V is applied.
> > > + */
> > > +#define FRS_NOT_SUPPORTED 0
> > > +#define FRS_DEFAULT_POWER 1
> > > +#define FRS_5V_1P5A 2
> > > +#define FRS_5V_3A 3
> > > +
> > > #define PDO_BATT_MAX_VOLT_SHIFT 20 /* 50mV units */
> > > #define PDO_BATT_MIN_VOLT_SHIFT 10 /* 50mV units */
> > > #define PDO_BATT_MAX_PWR_SHIFT 0 /* 250mW units */
> > > --
> > > 2.28.0.681.g6f77f65b4e-goog
> > >