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. Perhaps, I should name it sink-frs-typec-current. Does that make sense to you ? 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 > >