Message ID | 20231208143359.469049-2-julien.massot@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for MAX96714F and MAX96717F GMSL2 ser/des | expand |
On Fri, 08 Dec 2023 15:33:56 +0100, Julien Massot wrote: > Add DT bindings for Maxim MAX96714F GMSL2 Deserializer. > > Signed-off-by: Julien Massot <julien.massot@collabora.com> > --- > .../bindings/media/i2c/maxim,max96714f.yaml | 163 ++++++++++++++++++ > 1 file changed, 163 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/media/i2c/maxim,max96714f.example.dtb: /example-0/main_i2c2/gmsl-deserializer@28/i2c-gate/gmsl-serializer@40: failed to match any schema with compatible: ['maxim,max96717f'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20231208143359.469049-2-julien.massot@collabora.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On 08/12/2023 15:33, Julien Massot wrote: > Add DT bindings for Maxim MAX96714F GMSL2 Deserializer. > > Signed-off-by: Julien Massot <julien.massot@collabora.com> Please use scripts/get_maintainers.pl to get a list of necessary people and lists to CC (and consider --no-git-fallback argument). It might happen, that command when run on an older kernel, gives you outdated entries. Therefore please be sure you base your patches on recent Linux kernel. Limited review follows, as robot already pointed out issues... > --- > .../bindings/media/i2c/maxim,max96714f.yaml | 163 ++++++++++++++++++ > 1 file changed, 163 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml b/Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml > new file mode 100644 > index 000000000000..8a2a06e7e279 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml > @@ -0,0 +1,163 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) 2023 Collabora Ltd. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/maxim,max96714f.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: GMSL2 to CSI-2 Deserializer > + > +maintainers: > + - Julien Massot <julien.massot@collabora.com> > + > +description: | > + The MAX96714F deserializer converts GMSL2 serial inputs into MIPI > + CSI-2 D-PHY or C-PHY formatted output. The device allows the GMSL2 link to > + simultaneously transmit bidirectional control-channel data while forward > + video transmissions are in progress. The MAX96714F can connect to one > + remotely located serializer using industry-standard coax or STP > + interconnects. The device cans operate in pixel or tunnel mode. In pixel mode > + the MAX96714F can select individual video stream, while the tunnel mode forward all > + the MIPI data received by the serializer. > + > + The GMSL2 serial link operates at a fixed rate of 3Gbps in the > + forward direction and 187.5Mbps in the reverse direction. > + > +properties: > + compatible: > + const: maxim,max96714f > + > + reg: > + description: I2C device address Drop > + maxItems: 1 > + > + enable-gpios: true > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/properties/port > + unevaluatedProperties: false > + description: GMSL Input > + properties: > + endpoint: > + $ref: /schemas/media/video-interfaces.yaml# > + unevaluatedProperties: false > + description: > + Endpoint for GMSL2-Link port. > + > + port@1: > + $ref: /schemas/graph.yaml#/$defs/port-base > + unevaluatedProperties: false > + description: CSI-2 Output > + > + properties: > + endpoint: > + $ref: /schemas/media/video-interfaces.yaml# > + unevaluatedProperties: false > + > + properties: > + data-lanes: true > + bus-type: > + enum: > + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY > + > + required: > + - data-lanes > + - bus-type > + > + required: > + - port@1 > + > + i2c-gate: > + $ref: /schemas/i2c/i2c-controller.yaml > + unevaluatedProperties: false > + description: | > + The MAX96714 will pass through and forward the I2C requests from the > + incoming I2C bus over the GMSL2 link. Therefore it supports an i2c-gate > + subnode to configure a serializer. > + > + port0-poc-supply: > + description: Regulator providing Power over Coax for a particular port > + > +required: > + - compatible > + - reg > + - ports > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/media/video-interfaces.h> > + > + main_i2c2 { Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + #address-cells = <1>; > + #size-cells = <0>; > + i2c-gate { > + #address-cells = <1>; > + #size-cells = <0>; > + > + gmsl-serializer@40 { > + compatible = "maxim,max96717f"; > + reg = <0x40>; Not documented. > +... Best regards, Krzysztof
Hi Krzysztof, Thanks for the review. On 12/8/23 18:16, Krzysztof Kozlowski wrote: > On 08/12/2023 15:33, Julien Massot wrote: >> Add DT bindings for Maxim MAX96714F GMSL2 Deserializer. >> >> Signed-off-by: Julien Massot <julien.massot@collabora.com> > > Please use scripts/get_maintainers.pl to get a list of necessary people > and lists to CC (and consider --no-git-fallback argument). It might > happen, that command when run on an older kernel, gives you outdated > entries. Therefore please be sure you base your patches on recent Linux > kernel. Will do > > Limited review follows, as robot already pointed out issues.. > >> --- >> .../bindings/media/i2c/maxim,max96714f.yaml | 163 ++++++++++++++++++ >> 1 file changed, 163 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml >> >> diff --git a/Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml b/Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml >> new file mode 100644 >> index 000000000000..8a2a06e7e279 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml >> @@ -0,0 +1,163 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +# Copyright (C) 2023 Collabora Ltd. >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/media/i2c/maxim,max96714f.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: GMSL2 to CSI-2 Deserializer >> + >> +maintainers: >> + - Julien Massot <julien.massot@collabora.com> >> + >> +description: | >> + The MAX96714F deserializer converts GMSL2 serial inputs into MIPI >> + CSI-2 D-PHY or C-PHY formatted output. The device allows the GMSL2 link to >> + simultaneously transmit bidirectional control-channel data while forward >> + video transmissions are in progress. The MAX96714F can connect to one >> + remotely located serializer using industry-standard coax or STP >> + interconnects. The device cans operate in pixel or tunnel mode. In pixel mode >> + the MAX96714F can select individual video stream, while the tunnel mode forward all >> + the MIPI data received by the serializer. >> + >> + The GMSL2 serial link operates at a fixed rate of 3Gbps in the >> + forward direction and 187.5Mbps in the reverse direction. >> + >> +properties: >> + compatible: >> + const: maxim,max96714f >> + >> + reg: >> + description: I2C device address > > Drop Ok > >> + maxItems: 1 >> + >> + enable-gpios: true >> + >> + ports: >> + $ref: /schemas/graph.yaml#/properties/ports >> + >> + properties: >> + port@0: >> + $ref: /schemas/graph.yaml#/properties/port >> + unevaluatedProperties: false >> + description: GMSL Input >> + properties: >> + endpoint: >> + $ref: /schemas/media/video-interfaces.yaml# >> + unevaluatedProperties: false >> + description: >> + Endpoint for GMSL2-Link port. >> + >> + port@1: >> + $ref: /schemas/graph.yaml#/$defs/port-base >> + unevaluatedProperties: false >> + description: CSI-2 Output >> + >> + properties: >> + endpoint: >> + $ref: /schemas/media/video-interfaces.yaml# >> + unevaluatedProperties: false >> + >> + properties: >> + data-lanes: true >> + bus-type: >> + enum: >> + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY >> + >> + required: >> + - data-lanes >> + - bus-type >> + >> + required: >> + - port@1 >> + >> + i2c-gate: >> + $ref: /schemas/i2c/i2c-controller.yaml >> + unevaluatedProperties: false >> + description: | >> + The MAX96714 will pass through and forward the I2C requests from the >> + incoming I2C bus over the GMSL2 link. Therefore it supports an i2c-gate >> + subnode to configure a serializer. >> + >> + port0-poc-supply: >> + description: Regulator providing Power over Coax for a particular port >> + >> +required: >> + - compatible >> + - reg >> + - ports >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/gpio/gpio.h> >> + #include <dt-bindings/media/video-interfaces.h> >> + >> + main_i2c2 { > > Node names should be generic. See also an explanation and list of > examples (not exhaustive) in DT specification: > https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation Ok V3 will use generic node names. > > >> + #address-cells = <1>; >> + #size-cells = <0>; > >> + i2c-gate { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + gmsl-serializer@40 { >> + compatible = "maxim,max96717f"; >> + reg = <0x40>; > > Not documented. Ok I will re-post max96717f binding first and then the max96714f binding. Thank you,
diff --git a/Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml b/Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml new file mode 100644 index 000000000000..8a2a06e7e279 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml @@ -0,0 +1,163 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2023 Collabora Ltd. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/maxim,max96714f.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: GMSL2 to CSI-2 Deserializer + +maintainers: + - Julien Massot <julien.massot@collabora.com> + +description: | + The MAX96714F deserializer converts GMSL2 serial inputs into MIPI + CSI-2 D-PHY or C-PHY formatted output. The device allows the GMSL2 link to + simultaneously transmit bidirectional control-channel data while forward + video transmissions are in progress. The MAX96714F can connect to one + remotely located serializer using industry-standard coax or STP + interconnects. The device cans operate in pixel or tunnel mode. In pixel mode + the MAX96714F can select individual video stream, while the tunnel mode forward all + the MIPI data received by the serializer. + + The GMSL2 serial link operates at a fixed rate of 3Gbps in the + forward direction and 187.5Mbps in the reverse direction. + +properties: + compatible: + const: maxim,max96714f + + reg: + description: I2C device address + maxItems: 1 + + enable-gpios: true + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + unevaluatedProperties: false + description: GMSL Input + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + description: + Endpoint for GMSL2-Link port. + + port@1: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: CSI-2 Output + + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + + properties: + data-lanes: true + bus-type: + enum: + - 4 # MEDIA_BUS_TYPE_CSI2_DPHY + + required: + - data-lanes + - bus-type + + required: + - port@1 + + i2c-gate: + $ref: /schemas/i2c/i2c-controller.yaml + unevaluatedProperties: false + description: | + The MAX96714 will pass through and forward the I2C requests from the + incoming I2C bus over the GMSL2 link. Therefore it supports an i2c-gate + subnode to configure a serializer. + + port0-poc-supply: + description: Regulator providing Power over Coax for a particular port + +required: + - compatible + - reg + - ports + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/media/video-interfaces.h> + + main_i2c2 { + #address-cells = <1>; + #size-cells = <0>; + + gmsl-deserializer@28 { + compatible = "maxim,max96714f"; + reg = <0x28>; + enable-gpios = <&main_gpio0 37 GPIO_ACTIVE_HIGH>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + max96714_gmsl_in: endpoint { + remote-endpoint = <&max96917f_gmsl_out>; + }; + }; + + port@1 { + reg = <1>; + max96714_csi_out: endpoint { + bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; + clock-lanes = <0>; + data-lanes = <1 2 3 4>; + link-frequencies = /bits/ 64 <400000000>; + remote-endpoint = <&csi_in>; + }; + }; + }; + + i2c-gate { + #address-cells = <1>; + #size-cells = <0>; + + gmsl-serializer@40 { + compatible = "maxim,max96717f"; + reg = <0x40>; + gpio-controller; + #gpio-cells = <2>; + #clock-cells = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + max96717f_csi_in: endpoint { + data-lanes = <1 2>; + lane-polarities = <1 0 1>; + remote-endpoint = <&vd5661_csi>; + }; + }; + + port@1 { + reg = <1>; + max96917f_gmsl_out: endpoint { + remote-endpoint = <&max96714_gmsl_in>; + }; + }; + }; + }; + }; + }; + }; +...
Add DT bindings for Maxim MAX96714F GMSL2 Deserializer. Signed-off-by: Julien Massot <julien.massot@collabora.com> --- .../bindings/media/i2c/maxim,max96714f.yaml | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/maxim,max96714f.yaml