Message ID | 1506386727-16370-3-git-send-email-jun.li@nxp.com |
---|---|
State | Superseded, archived |
Headers | show |
Series | staging: typec: tcpci: move out of staging | expand |
On Tue, Sep 26, 2017 at 08:45:17AM +0800, Li Jun wrote: > port-type is required for any typec port; default-role is only required > for drp; power source capable needs src-pdos; power sink capable needs > snk-pdos, max-snk-mv, max-snk-ma, op-snk-mw. > > Signed-off-by: Li Jun <jun.li@nxp.com> > --- > Documentation/devicetree/bindings/usb/typec.txt | 46 +++++++++++++++++++++++++ > 1 file changed, 46 insertions(+) > > diff --git a/Documentation/devicetree/bindings/usb/typec.txt b/Documentation/devicetree/bindings/usb/typec.txt > new file mode 100644 > index 0000000..36d4467 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/typec.txt > @@ -0,0 +1,46 @@ > +Generic typec and power delivery properties > +------------------------------------------- > + > +Required properties: > +- port-type: should be one of "source", "sink" or "dual". > +- default-role: preferred power role if drp, should be "sink" or "source". > +- src-pdos: An array of u32 with each entry providing supported power > + source data object(PDO), the detailed bit definitions of > + PDO can be found in "Universal Serial Bus Power Delivery > + Specification" chapter 6.4.1.2 Source_Capabilities Message, > + the order of each entry(PDO) should follow the PD spec chapter > + 6.4.1. Required only for power source and power dual role with > + power delivery support. > +- snk-pdos: An array of u32 with each entry providing supported power > + sink data object(PDO), the detailed bit definitions of PDO > + can be found in "Universal Serial Bus Power Delivery > + Specification" chapter 6.4.1.3 Sink Capabilities Message, > + the order of each entry(PDO) should follow the PD spec chapter > + 6.4.1. Required only for power sink and power dual role with > + power delivery support. Wouldn't it be better to supply a property per detail and let the drivers construct the pdos as needed? > +- max-snk-mv: The max voltage the sink can support in millivoltage, required > + only for power sink and power dual role with power delivery > + support. > +- max-snk-ma: The max current the sink can support in milliampere, required > + only for power sink and power dual role with power delivery > + support. > +- op-snk-mw: Sink required operating power in milliwatts, if source offered > + power is less then it, Capability Mismatch is set, required > + only for power sink and power dual role with power delivery > + support. I'm a little bit concerned about these. Has any OF/DT guys reviewed them? We should also keep in mind that the same properties should also be possible to use with ACPI. That may not be a problem as such, but we should consult the ACPI guys as well. Thanks,
Hi, > -----Original Message----- > From: Heikki Krogerus [mailto:heikki.krogerus@linux.intel.com] > Sent: Tuesday, September 26, 2017 4:23 PM > To: Jun Li <jun.li@nxp.com> > Cc: gregkh@linuxfoundation.org; linux@roeck-us.net; robh+dt@kernel.org; > mark.rutland@arm.com; yueyao@google.com; o_leveque@orange.fr; Peter > Chen <peter.chen@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>; linux- > usb@vger.kernel.org; devicetree@vger.kernel.org > Subject: Re: [PATCH 02/12] usb: typec: add basic typec properties > > On Tue, Sep 26, 2017 at 08:45:17AM +0800, Li Jun wrote: > > port-type is required for any typec port; default-role is only > > required for drp; power source capable needs src-pdos; power sink > > capable needs snk-pdos, max-snk-mv, max-snk-ma, op-snk-mw. > > > > Signed-off-by: Li Jun <jun.li@nxp.com> > > --- > > Documentation/devicetree/bindings/usb/typec.txt | 46 > > +++++++++++++++++++++++++ > > 1 file changed, 46 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/usb/typec.txt > > b/Documentation/devicetree/bindings/usb/typec.txt > > new file mode 100644 > > index 0000000..36d4467 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/usb/typec.txt > > @@ -0,0 +1,46 @@ > > +Generic typec and power delivery properties > > +------------------------------------------- > > + > > +Required properties: > > +- port-type: should be one of "source", "sink" or "dual". > > +- default-role: preferred power role if drp, should be "sink" or "source". > > +- src-pdos: An array of u32 with each entry providing supported power > > + source data object(PDO), the detailed bit definitions of > > + PDO can be found in "Universal Serial Bus Power Delivery > > + Specification" chapter 6.4.1.2 Source_Capabilities Message, > > + the order of each entry(PDO) should follow the PD spec chapter > > + 6.4.1. Required only for power source and power dual role with > > + power delivery support. > > +- snk-pdos: An array of u32 with each entry providing supported power > > + sink data object(PDO), the detailed bit definitions of PDO > > + can be found in "Universal Serial Bus Power Delivery > > + Specification" chapter 6.4.1.3 Sink Capabilities Message, > > + the order of each entry(PDO) should follow the PD spec chapter > > + 6.4.1. Required only for power sink and power dual role with > > + power delivery support. > > Wouldn't it be better to supply a property per detail and let the drivers construct > the pdos as needed? This is my original idea, but different kind of PDOs have so many detail attributes for different config, we will have a very long properties list, for simple, maybe it's easier for user to check the standard PD spec and construct it by hand in this case. > > > +- max-snk-mv: The max voltage the sink can support in millivoltage, required > > + only for power sink and power dual role with power delivery > > + support. > > +- max-snk-ma: The max current the sink can support in milliampere, required > > + only for power sink and power dual role with power delivery > > + support. > > +- op-snk-mw: Sink required operating power in milliwatts, if source offered > > + power is less then it, Capability Mismatch is set, required > > + only for power sink and power dual role with power delivery > > + support. > > I'm a little bit concerned about these. Has any OF/DT guys reviewed them? > > We should also keep in mind that the same properties should also be possible to > use with ACPI. That may not be a problem as such, but we should consult the > ACPI guys as well. > Ok, let's wait DT guys comments. Li Jun > > Thanks, > > -- > heikki -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/usb/typec.txt b/Documentation/devicetree/bindings/usb/typec.txt new file mode 100644 index 0000000..36d4467 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/typec.txt @@ -0,0 +1,46 @@ +Generic typec and power delivery properties +------------------------------------------- + +Required properties: +- port-type: should be one of "source", "sink" or "dual". +- default-role: preferred power role if drp, should be "sink" or "source". +- src-pdos: An array of u32 with each entry providing supported power + source data object(PDO), the detailed bit definitions of + PDO can be found in "Universal Serial Bus Power Delivery + Specification" chapter 6.4.1.2 Source_Capabilities Message, + the order of each entry(PDO) should follow the PD spec chapter + 6.4.1. Required only for power source and power dual role with + power delivery support. +- snk-pdos: An array of u32 with each entry providing supported power + sink data object(PDO), the detailed bit definitions of PDO + can be found in "Universal Serial Bus Power Delivery + Specification" chapter 6.4.1.3 Sink Capabilities Message, + the order of each entry(PDO) should follow the PD spec chapter + 6.4.1. Required only for power sink and power dual role with + power delivery support. +- max-snk-mv: The max voltage the sink can support in millivoltage, required + only for power sink and power dual role with power delivery + support. +- max-snk-ma: The max current the sink can support in milliampere, required + only for power sink and power dual role with power delivery + support. +- op-snk-mw: Sink required operating power in milliwatts, if source offered + power is less then it, Capability Mismatch is set, required + only for power sink and power dual role with power delivery + support. + +Example: + +ptn5110@50 { + compatible = "usb,tcpci"; + reg = <0x50>; + interrupt-parent = <&gpio3>; + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; + port-type = "dual"; + default-role = "sink"; + src-pdos = <0x380190c8>; + snk-pdos = <0x380190c8 0x3802d0c8>; + max-snk-mv = <9000>; + max-snk-ma = <1000>; + op-snk-mw = <9000>; +};
port-type is required for any typec port; default-role is only required for drp; power source capable needs src-pdos; power sink capable needs snk-pdos, max-snk-mv, max-snk-ma, op-snk-mw. Signed-off-by: Li Jun <jun.li@nxp.com> --- Documentation/devicetree/bindings/usb/typec.txt | 46 +++++++++++++++++++++++++ 1 file changed, 46 insertions(+)