Re: [RESEND PATCH v2 1/6] dt-bindings: connector: add power-opmode optional property to usb-connector

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 9/23/20 11:08 AM, Jun Li wrote:
Amelie Delaunay <amelie.delaunay@xxxxxx> 于2020年9月2日周三 下午4:01写道:

Power operation mode may depends on hardware design, so, add the optional
property power-opmode for usb-c connector to select the power operation
mode capability.

Signed-off-by: Amelie Delaunay <amelie.delaunay@xxxxxx>
---
Changes in v2:
- Add description for possible operation current values
---
  .../bindings/connector/usb-connector.yaml     | 20 +++++++++++++++++++
  1 file changed, 20 insertions(+)

diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml
index 9bd52e63c935..2fd85b9a7e1a 100644
--- a/Documentation/devicetree/bindings/connector/usb-connector.yaml
+++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml
@@ -88,6 +88,26 @@ properties:
        - device
        - dual

+  power-opmode:
+    description: Determines the power operation mode that the Type C connector
+      will support and will advertise through CC pins.
+      - "default" corresponds to default USB voltage and current defined by the
+        USB 2.0 and USB 3.2 specifications, 5V 500mA for USB 2.0 ports and
+        5V 900mA or 1500mA for USB 3.2 ports in single-lane or dual-lane
+        operation respectively.
+      - "1.5A" and "3.0A", 5V 1.5A and 5V 3.0A respectively, as defined in USB
+        Type-C Cable and Connector specification, when Power Delivery is not
+        supported.
+      - "usb_power_delivery" when Power Delivery is supported, as defined in
+        USB Power Delivery specification.

Why need "usb_power_delivery"? isn't this information can be implied by
existing properties like if "source-pdos" is present?


power-opmode is an optional property.
usb_power_delivery, as 3.0A, 1.5A or default here, only reflect the possible power operation mode you can set and that are understood by typec class:
static const char * const typec_pwr_opmodes[] = {
	[TYPEC_PWR_MODE_USB]	= "default",
	[TYPEC_PWR_MODE_1_5A]	= "1.5A",
	[TYPEC_PWR_MODE_3_0A]	= "3.0A",
	[TYPEC_PWR_MODE_PD]	= "usb_power_delivery",
};

But I guess that a Type-C controller with usb power delivery support won't use power-opmode property but rather source/sink-pdos.

power-opmode shows what will be advertised through CC pins. I can remove usb_power_delivery from the possible values, but what about the user who will add power-opmode property to configure his Type-C controller with USB power delivery support (sink and/or source by the way) ? Should I restrict the use of power-opmode to non-USB power delivery Type-C controllers ?
Please advise.

Regards,
Amelie


Li Jun
+    allOf:
+      - $ref: /schemas/types.yaml#definitions/string
+    enum:
+      - default
+      - 1.5A
+      - 3.0A
+      - usb_power_delivery
+
    # The following are optional properties for "usb-c-connector" with power
    # delivery support.
    source-pdos:
--
2.17.1




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux