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

From: Badhri Jagan Sridharan
Date: Mon Sep 28 2020 - 22:44:27 EST


On Mon, Sep 28, 2020 at 1:57 AM Jun Li <lijun.kernel@xxxxxxxxx> wrote:
>
> 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.

Ended up naming it new-source-frs-type-ccurrent and have sent the
v9 version of the patch. Thanks for you reviews !

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