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: > > Hi, > > > > On Wed, Feb 19, 2020 at 04:30:55PM -0800, Prashant Malani wrote: > > > 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 <pmalani@xxxxxxxxxxxx> > > > --- > > > > > > 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.yaml > > > > > > diff --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@xxxxxxxxxxxx> > > > + - Prashant Malani <pmalani@xxxxxxxxxxxx> > > > + > > > +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-role > > > > Do you really need to redefine those? > > No. > > > > > 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.txt > > Ideally, 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# > > > > > > > Then you just need to define the Chrome OS EC specific properties, so > > I guess just the "port-number". > > 'reg' as Stephen suggested. > > Rob