All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrzej Hajda <a.hajda@samsung.com>
To: Li Jun <jun.li@nxp.com>,
	robh+dt@kernel.org, gregkh@linuxfoundation.org,
	heikki.krogerus@linux.intel.com, linux@roeck-us.net
Cc: devel@driverdev.osuosl.org, peter.chen@nxp.com,
	devicetree@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-imx@nxp.com, shufan_lee@richtek.com
Subject: Re: [PATCH v4 01/13] dt-bindings: connector: add properties for typec
Date: Tue, 3 Apr 2018 10:29:35 +0200	[thread overview]
Message-ID: <d01a95e3-0648-7e83-19ee-15ca37041067@samsung.com> (raw)
In-Reply-To: <1522253178-32414-2-git-send-email-jun.li@nxp.com>

On 28.03.2018 18:06, Li Jun wrote:
> Add bingdings supported by current typec driver, so user can pass
> all those properties via dt.
>
> Signed-off-by: Li Jun <jun.li@nxp.com>
> ---
>  .../bindings/connector/usb-connector.txt           | 39 ++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/connector/usb-connector.txt b/Documentation/devicetree/bindings/connector/usb-connector.txt
> index e1463f1..922f22b 100644
> --- a/Documentation/devicetree/bindings/connector/usb-connector.txt
> +++ b/Documentation/devicetree/bindings/connector/usb-connector.txt
> @@ -15,6 +15,29 @@ Optional properties:
>  - type: size of the connector, should be specified in case of USB-A, USB-B
>    non-fullsize connectors: "mini", "micro".
>  
> +Optional properties for usb-c-connector:
> +- power-type: should be one of "source", "sink" or "dual"(DRP) if typec
> +  connector has power support.
> +- try-power-role: preferred power role if "dual"(DRP) can support Try.SNK
> +  or Try.SRC, should be "sink" for Try.SNK or "source" for Try.SRC.
> +- data-type: should be one of "host", "device", "dual"(DRD) if typec
> +  connector supports USB data.
> +
> +Required properties for usb-c-connector with power delivery support:
> +- source-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 for power source and power dual role.
> +- sink-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 for power sink and power dual role.
> +- op-sink-microwatt-hours: Sink required operating power in micro
> +  watt-hours, if source offered power is less then it, Capability Mismatch
> +  is set, required for power sink and power dual role.

I have lurked into specs and I am not sure what is the relation of this
field with PD protocol, there is Minimum Operating Power, Maximum
Operating Power and Operating Power present in different RDOs, there are
also similar fields in sink PDOs.
I guess it can be one of them, which one? why other ones are not
provided? What if this or any other property can be calculated only in
runtime?
I am not sure if any of them should be marked "required".

> +
>  Required nodes:
>  - any data bus to the connector should be modeled using the OF graph bindings
>    specified in bindings/graph.txt, unless the bus is between parent node and
> @@ -73,3 +96,19 @@ ccic: s2mm005@33 {
>  		};
>  	};
>  };
> +
> +3. USB-C connector attached to a typec port controller(ptn5110), which has
> +power delivery support and enables drp.
> +
> +typec: ptn5110@50 {
> +	...
> +	usb_con: connector {
> +		compatible = "usb-c-connector";
> +		label = "USB-C";
> +		power-type = "dual";
> +		try-power-role = "sink";
> +		source-pdos = <0x380190c8>;

I understand from DT specification point of view cryptic numbers are OK,
but for sake of readability I strongly suggest use/define macros similar
to the ones present already in kernel:
    source-pdos = < PDO_FIXED(5000, 400, PDO_FIXED_FLAGS) >;

It much less error prone, and makes review process much more easier.

Regards
Andrzej

> +		sink-pdos = <0x380190c8 0x3802d0c8>;
> +		op-sink-microwatt-hours = <9000000>;
> +	};
> +};


_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

WARNING: multiple messages have this Message-ID (diff)
From: Andrzej Hajda <a.hajda@samsung.com>
To: Li Jun <jun.li@nxp.com>,
	robh+dt@kernel.org, gregkh@linuxfoundation.org,
	heikki.krogerus@linux.intel.com, linux@roeck-us.net
Cc: shufan_lee@richtek.com, peter.chen@nxp.com,
	devicetree@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-imx@nxp.com, devel@driverdev.osuosl.org
Subject: [v4,01/13] dt-bindings: connector: add properties for typec
Date: Tue, 3 Apr 2018 10:29:35 +0200	[thread overview]
Message-ID: <d01a95e3-0648-7e83-19ee-15ca37041067@samsung.com> (raw)

On 28.03.2018 18:06, Li Jun wrote:
> Add bingdings supported by current typec driver, so user can pass
> all those properties via dt.
>
> Signed-off-by: Li Jun <jun.li@nxp.com>
> ---
>  .../bindings/connector/usb-connector.txt           | 39 ++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/connector/usb-connector.txt b/Documentation/devicetree/bindings/connector/usb-connector.txt
> index e1463f1..922f22b 100644
> --- a/Documentation/devicetree/bindings/connector/usb-connector.txt
> +++ b/Documentation/devicetree/bindings/connector/usb-connector.txt
> @@ -15,6 +15,29 @@ Optional properties:
>  - type: size of the connector, should be specified in case of USB-A, USB-B
>    non-fullsize connectors: "mini", "micro".
>  
> +Optional properties for usb-c-connector:
> +- power-type: should be one of "source", "sink" or "dual"(DRP) if typec
> +  connector has power support.
> +- try-power-role: preferred power role if "dual"(DRP) can support Try.SNK
> +  or Try.SRC, should be "sink" for Try.SNK or "source" for Try.SRC.
> +- data-type: should be one of "host", "device", "dual"(DRD) if typec
> +  connector supports USB data.
> +
> +Required properties for usb-c-connector with power delivery support:
> +- source-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 for power source and power dual role.
> +- sink-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 for power sink and power dual role.
> +- op-sink-microwatt-hours: Sink required operating power in micro
> +  watt-hours, if source offered power is less then it, Capability Mismatch
> +  is set, required for power sink and power dual role.

I have lurked into specs and I am not sure what is the relation of this
field with PD protocol, there is Minimum Operating Power, Maximum
Operating Power and Operating Power present in different RDOs, there are
also similar fields in sink PDOs.
I guess it can be one of them, which one? why other ones are not
provided? What if this or any other property can be calculated only in
runtime?
I am not sure if any of them should be marked "required".

> +
>  Required nodes:
>  - any data bus to the connector should be modeled using the OF graph bindings
>    specified in bindings/graph.txt, unless the bus is between parent node and
> @@ -73,3 +96,19 @@ ccic: s2mm005@33 {
>  		};
>  	};
>  };
> +
> +3. USB-C connector attached to a typec port controller(ptn5110), which has
> +power delivery support and enables drp.
> +
> +typec: ptn5110@50 {
> +	...
> +	usb_con: connector {
> +		compatible = "usb-c-connector";
> +		label = "USB-C";
> +		power-type = "dual";
> +		try-power-role = "sink";
> +		source-pdos = <0x380190c8>;

I understand from DT specification point of view cryptic numbers are OK,
but for sake of readability I strongly suggest use/define macros similar
to the ones present already in kernel:
    source-pdos = < PDO_FIXED(5000, 400, PDO_FIXED_FLAGS) >;

It much less error prone, and makes review process much more easier.

Regards
Andrzej

> +		sink-pdos = <0x380190c8 0x3802d0c8>;
> +		op-sink-microwatt-hours = <9000000>;
> +	};
> +};
---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2018-04-03  8:29 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-28 16:06 [PATCH v4 00/13] staging: typec: tcpci: move out of staging Li Jun
2018-03-28 16:06 ` [PATCH v4 01/13] dt-bindings: connector: add properties for typec Li Jun
2018-03-28 16:06   ` [v4,01/13] " Jun Li
2018-03-29 19:54   ` [PATCH v4 01/13] " Mats Karrman
2018-03-29 19:54     ` [v4,01/13] " Mats Karrman
2018-03-31  3:34     ` [PATCH v4 01/13] " Jun Li
2018-03-31  3:34       ` [v4,01/13] " Jun Li
2018-04-03  8:29   ` Andrzej Hajda [this message]
2018-04-03  8:29     ` Andrzej Hajda
2018-04-13 11:51     ` [PATCH v4 01/13] " Jun Li
2018-04-13 11:51       ` [v4,01/13] " Jun Li
2018-04-30 11:23   ` [PATCH v4 01/13] " Heikki Krogerus
2018-04-30 11:23     ` [v4,01/13] " Heikki Krogerus
2018-05-01  7:57     ` [PATCH v4 01/13] " Jun Li
2018-05-01  7:57       ` [v4,01/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 02/13] dt-bindings: usb: add documentation for typec port controller(TCPCI) Li Jun
2018-03-28 16:06   ` [v4,02/13] " Jun Li
2018-04-09 20:04   ` [PATCH v4 02/13] " Rob Herring
2018-04-09 20:04     ` [v4,02/13] " Rob Herring
2018-04-16 11:54     ` [PATCH v4 02/13] " Jun Li
2018-04-16 11:54       ` [v4,02/13] " Jun Li
2018-04-16 14:28       ` [PATCH v4 02/13] " Rob Herring
2018-04-16 14:28         ` [v4,02/13] " Rob Herring
2018-04-19 14:47         ` [PATCH v4 02/13] " Jun Li
2018-04-19 14:47           ` [v4,02/13] " Jun Li
2018-04-30  7:41   ` [PATCH v4 02/13] " Mats Karrman
2018-04-30  7:41     ` [v4,02/13] " Mats Karrman
2018-05-01  7:54     ` [PATCH v4 02/13] " Jun Li
2018-05-01  7:54       ` [v4,02/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 03/13] staging: typec: tcpci: add compatible string for nxp ptn5110 Li Jun
2018-03-28 16:06   ` [v4,03/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 04/13] usb: typec: add fwnode to tcpc Li Jun
2018-03-28 16:06   ` [v4,04/13] " Jun Li
2018-03-29 12:57   ` [PATCH v4 04/13] " Heikki Krogerus
2018-03-29 12:57     ` [v4,04/13] " Heikki Krogerus
2018-03-31  3:17     ` [PATCH v4 04/13] " Jun Li
2018-03-31  3:17       ` [v4,04/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 05/13] usb: typec: add API to get typec basic port power and data config Li Jun
2018-03-28 16:06   ` [v4,05/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 06/13] usb: typec: tcpm: support get typec and pd config from device properties Li Jun
2018-03-28 16:06   ` [v4,06/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 07/13] staging: typec: tcpci: register port before request irq Li Jun
2018-03-28 16:06   ` [v4,07/13] " Jun Li
2018-03-29 10:52   ` [PATCH v4 07/13] " Dan Carpenter
2018-03-29 10:52     ` [v4,07/13] " Dan Carpenter
2018-03-31  3:09     ` [PATCH v4 07/13] " Jun Li
2018-03-31  3:09       ` [v4,07/13] " Jun Li
2018-03-31  8:01       ` [PATCH v4 07/13] " Dan Carpenter
2018-03-31  8:01         ` [v4,07/13] " Dan Carpenter
2018-03-28 16:06 ` [PATCH v4 08/13] staging: typec: tcpci: enable vbus detection Li Jun
2018-03-28 16:06   ` [v4,08/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 09/13] typec: tcpm: add starting value for drp toggling Li Jun
2018-03-28 16:06   ` [v4,09/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 10/13] usb: typec: tcpm: set cc for drp toggling attach Li Jun
2018-03-28 16:06   ` [v4,10/13] " Jun Li
2018-03-29 21:18   ` [PATCH v4 10/13] " Mats Karrman
2018-03-29 21:18     ` [v4,10/13] " Mats Karrman
2018-03-31  3:37     ` [PATCH v4 10/13] " Jun Li
2018-03-31  3:37       ` [v4,10/13] " Jun Li
2018-03-29 22:49   ` [PATCH v4 10/13] " Guenter Roeck
2018-03-29 22:49     ` [v4,10/13] " Guenter Roeck
2018-03-31  4:38     ` [PATCH v4 10/13] " Jun Li
2018-03-31  4:38       ` [v4,10/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 11/13] staging: typec: tcpci: keep the not connecting cc line open Li Jun
2018-03-28 16:06   ` [v4,11/13] " Jun Li
2018-03-30 15:15   ` [PATCH v4 11/13] " Guenter Roeck
2018-03-30 15:15     ` [v4,11/13] " Guenter Roeck
2018-03-31  4:49     ` [PATCH v4 11/13] " Jun Li
2018-03-31  4:49       ` [v4,11/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 12/13] staging: typec: tcpci: Only touch target bit when enable vconn Li Jun
2018-03-28 16:06   ` [v4,12/13] " Jun Li
2018-03-28 16:06 ` [PATCH v4 13/13] staging: typec: tcpci: move tcpci driver out of staging Li Jun
2018-03-28 16:06   ` [v4,13/13] " Jun Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d01a95e3-0648-7e83-19ee-15ca37041067@samsung.com \
    --to=a.hajda@samsung.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=jun.li@nxp.com \
    --cc=linux-imx@nxp.com \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=peter.chen@nxp.com \
    --cc=robh+dt@kernel.org \
    --cc=shufan_lee@richtek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.