Re: [PATCH v3 1/4] dt-bindings: Add cros-ec Type C port driver
From: Prashant Malani <hidden>
Date: 2020-03-04 17:53:45
Also in:
lkml
Hi Rob, Thanks for reviewing the patch. Please see inline. On Thu, Feb 27, 2020 at 05:15:47PM -0600, Rob Herring wrote:
On Thu, Feb 27, 2020 at 05:12:16PM +0200, Heikki Krogerus wrote:quoted
Hi, On Wed, Feb 19, 2020 at 04:30:55PM -0800, Prashant Malani wrote:quoted
Some Chrome OS devices with Embedded Controllers (EC) can read and modify Type C port state. Add an entry in the DT Bindings documentation that lists out the logical device and describes the relevant port information, to be used by the corresponding driver. Signed-off-by: Prashant Malani <redacted> --- Changes in v3: - Fixed license identifier. - Renamed "port" to "connector". - Made "connector" be a "usb-c-connector" compatible property. - Updated port-number description to explain min and max values, and removed $ref which was causing dt_binding_check errors. - Fixed power-role, data-role and try-power-role details to make dt_binding_check pass. - Fixed example to include parent EC SPI DT Node. Changes in v2: - No changes. Patch first introduced in v2 of series. .../bindings/chrome/google,cros-ec-typec.yaml | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Documentation/devicetree/bindings/chrome/google,cros-ec-typec.yamldiff --git a/Documentation/devicetree/bindings/chrome/google,cros-ec-typec.yaml b/Documentation/devicetree/bindings/chrome/google,cros-ec-typec.yaml new file mode 100644 index 00000000000000..97fd982612f120 --- /dev/null +++ b/Documentation/devicetree/bindings/chrome/google,cros-ec-typec.yaml@@ -0,0 +1,86 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/chrome/google,cros-ec-typec.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Google Chrome OS EC(Embedded Controller) Type C port driver. + +maintainers: + - Benson Leung <bleung@chromium.org> + - Prashant Malani <pmalani@chromium.org> + +description: + Chrome OS devices have an Embedded Controller(EC) which has access to + Type C port state. This node is intended to allow the host to read and + control the Type C ports. The node for this device should be under a + cros-ec node like google,cros-ec-spi. + +properties: + compatible: + const: google,cros-ec-typec + + connector: + description: A node that represents a physical Type C connector port + on the device. + type: object + properties: + compatible: + const: usb-c-connector + port-number: + description: The number used by the Chrome OS EC to identify + this type C port. Valid values are 0 - (EC_USB_PD_MAX_PORTS - 1). + power-role: + description: Determines the power role that the Type C port will + adopt. + maxItems: 1 + contains: + enum: + - sink + - source + - dual + data-role: + description: Determines the data role that the Type C port will + adopt. + maxItems: 1 + contains: + enum: + - host + - device + - dual + try-power-role: + description: Determines the preferred power role of the Type C port. + maxItems: 1 + contains: + enum: + - sink + - source + - dual + + required: + - port-number + - power-role + - data-role + - try-power-roleDo you really need to redefine those?No.quoted
I think you just need to mention that there is a required sub-node "connector", and the place where it's described. So something like this: Required sub-node: - connector : The "usb-c-connector". The bindings of the connector node are specified in: Documentation/devicetree/bindings/connector/usb-connector.txtIdeally, we'd convert this to schema first and then here just have:
I've converted this to schema here: https://lkml.org/lkml/2020/3/4/790 I've sent that patch separately from this series, since there is ongoing discussion regarding the structure of the bindings (and use of OF graph API) here.
connector: $ref: /schemas/connector/usb-connector.yaml#quoted
Then you just need to define the Chrome OS EC specific properties, so I guess just the "port-number".'reg' as Stephen suggested. Rob