Add bingdings supported by current typec driver, so user can pass
all those properties via dt.

Signed-off-by: Li Jun <jun...@nxp.com>
---
Change for v3:
- port-type change to be power-type which only for power.
- add data-type for data capability.
- preferred-role change to try-power-role(bool property need 2, and user
  may add both at the same time, so still use one property but rename
  it to be try-power-role).
- Separate basic typec and power delivery properties.
- keep the max-sink-mv/ma/mw, and op-mw, because the counterpart driver
  code is to be back[1], to be discussed if we need those 4 setting for long
  term.

[1] https://www.spinics.net/lists/linux-usb/msg166366.html
 
 .../bindings/connector/usb-connector.txt           | 48 ++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/Documentation/devicetree/bindings/connector/usb-connector.txt 
b/Documentation/devicetree/bindings/connector/usb-connector.txt
index e1463f1..9c7fc83 100644
--- a/Documentation/devicetree/bindings/connector/usb-connector.txt
+++ b/Documentation/devicetree/bindings/connector/usb-connector.txt
@@ -15,6 +15,35 @@ 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.
+- max-sink-microvolt: The max voltage the sink can support in micro volts,
+  required for power sink and power dual role.
+- max-sink-microamp: The max current the sink can support in micro amps,
+  required for power sink and power dual role.
+- max-sink-microwatt-hours: The max power the sink can support in micro
+  watt-hours, 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.
+
 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 +102,22 @@ 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>;
+               sink-pdos = <0x380190c8 0x3802d0c8>;
+               max-sink-microvolt = <9000>;
+               max-sink-microamp = <2000>;
+               max-sink-microwatt-hours = <18000>;
+               op-sink-microwatt-hours = <9000>;
+       };
+};
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to