Message ID | 20200318070730.4012371-1-enric.balletbo@collabora.com |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | [v4,1/4] dt-bindings: Add binding for the Analogix ANX7688 chip | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success | |
robh/dt-meta-schema | success |
On Wed, Mar 18, 2020 at 08:07:27AM +0100, Enric Balletbo i Serra wrote: > The ANX7688 chip is a Type-C Port Controller, HDMI to DP converter and > USB-C mux between USB 3.0 lanes and the DP output. > > For our use case a big part of the chip, like power supplies, control > gpios and the usb-c part is managed by an Embedded Controller, hence, > this is its simplest form of the binding. We'd prefer introduce these > properties for someone with a different use case so they can test > on their hardware. I'm not sure this is a move in the right direction from the prior version. Just because you have multiple functions that doesn't mean the DT has multiple child nodes. What's a 'function' exactly may vary by OS (or in time). Are the USB-C functions separate h/w? Are there separate resources for each sub-function that need to be defined in DT? We do need to be able to construct a graph with this device, HDMI output, USB host, and USB connector. That may dictate what does or doesn't work here. > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > --- > > Changes in v4: None > Changes in v3: > - Add binding for ANX7688 multi-function device. > > Changes in v2: None > > .../bindings/mfd/analogix,anx7688.yaml | 48 +++++++++++++++++++ > 1 file changed, 48 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/analogix,anx7688.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/analogix,anx7688.yaml b/Documentation/devicetree/bindings/mfd/analogix,anx7688.yaml > new file mode 100644 > index 000000000000..bb95a4e87188 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/analogix,anx7688.yaml > @@ -0,0 +1,48 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/analogix,anx7688.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analogix ANX7688 HDMI to USB Type-C Bridge (Port Controller with MUX) > + > +maintainers: > + - Nicolas Boichat <drinkcat@chromium.org> > + - Enric Balletbo i Serra <enric.balletbo@collabora.com> > + > +description: | > + ANX7688 converts HDMI 2.0 to DisplayPort 1.3 Ultra-HDi (4096x2160p60) > + including an intelligent crosspoint switch to support USB Type-C (USB-C). > + The integrated crosspoint switch supports USB 3.1 data transfer along with > + the DisplayPort Alternate Mode signaling over USB Type-C. Additionally, > + an on-chip microcontroller (OCM) is available to manage the signal switching, > + Channel Configuration (CC) detection, USB Power Delivery (USB-PD), Vendor > + Defined Message (VDM) protocol support and other functions as defined in the > + USB TypeC and USB Power Delivery specifications. > + > + As a result, a multi-function device is exposed as parent of the video > + bridge, TCPC and MUX blocks. > + > +properties: > + compatible: > + const: analogix,anx7688 > + > + reg: > + maxItems: 1 > + description: I2C address of the device > + > +required: > + - compatible > + - reg If this does stay like this, then you need to define the child node(s) here and reference their bindings. > + > +examples: > + - | > + i2c0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + anx7688: anx7688@2c { > + compatible = "analogix,anx7688"; > + reg = <0x2c>; > + }; > + }; > -- > 2.25.1 >
diff --git a/Documentation/devicetree/bindings/mfd/analogix,anx7688.yaml b/Documentation/devicetree/bindings/mfd/analogix,anx7688.yaml new file mode 100644 index 000000000000..bb95a4e87188 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/analogix,anx7688.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/analogix,anx7688.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analogix ANX7688 HDMI to USB Type-C Bridge (Port Controller with MUX) + +maintainers: + - Nicolas Boichat <drinkcat@chromium.org> + - Enric Balletbo i Serra <enric.balletbo@collabora.com> + +description: | + ANX7688 converts HDMI 2.0 to DisplayPort 1.3 Ultra-HDi (4096x2160p60) + including an intelligent crosspoint switch to support USB Type-C (USB-C). + The integrated crosspoint switch supports USB 3.1 data transfer along with + the DisplayPort Alternate Mode signaling over USB Type-C. Additionally, + an on-chip microcontroller (OCM) is available to manage the signal switching, + Channel Configuration (CC) detection, USB Power Delivery (USB-PD), Vendor + Defined Message (VDM) protocol support and other functions as defined in the + USB TypeC and USB Power Delivery specifications. + + As a result, a multi-function device is exposed as parent of the video + bridge, TCPC and MUX blocks. + +properties: + compatible: + const: analogix,anx7688 + + reg: + maxItems: 1 + description: I2C address of the device + +required: + - compatible + - reg + +examples: + - | + i2c0 { + #address-cells = <1>; + #size-cells = <0>; + + anx7688: anx7688@2c { + compatible = "analogix,anx7688"; + reg = <0x2c>; + }; + };
The ANX7688 chip is a Type-C Port Controller, HDMI to DP converter and USB-C mux between USB 3.0 lanes and the DP output. For our use case a big part of the chip, like power supplies, control gpios and the usb-c part is managed by an Embedded Controller, hence, this is its simplest form of the binding. We'd prefer introduce these properties for someone with a different use case so they can test on their hardware. Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> --- Changes in v4: None Changes in v3: - Add binding for ANX7688 multi-function device. Changes in v2: None .../bindings/mfd/analogix,anx7688.yaml | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/analogix,anx7688.yaml