Hi Luca, Thanks for the patch. On Thu, Mar 23, 2023 at 06:57:50PM +0100, Luca Weiss wrote: > Convert the text-based dt-bindings to yaml. > > Changes from original txt: > * Take wording for various properties from other yaml bindings, this > removes e.g. volt amount from schema since it isn't really relevant > and the datasheet is a better source. > * Don't make reset-gpios a required property since it can be tied to > DOVDD instead. > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > Signed-off-by: Luca Weiss <luca@xxxxxxxxx> > --- > .../devicetree/bindings/media/i2c/ov2685.txt | 41 --------- > .../devicetree/bindings/media/i2c/ovti,ov2685.yaml | 101 +++++++++++++++++++++ > MAINTAINERS | 1 + > 3 files changed, 102 insertions(+), 41 deletions(-) > > diff --git a/Documentation/devicetree/bindings/media/i2c/ov2685.txt b/Documentation/devicetree/bindings/media/i2c/ov2685.txt > deleted file mode 100644 > index 625c4a8c0d53d..0000000000000 > --- a/Documentation/devicetree/bindings/media/i2c/ov2685.txt > +++ /dev/null > @@ -1,41 +0,0 @@ > -* Omnivision OV2685 MIPI CSI-2 sensor > - > -Required Properties: > -- compatible: shall be "ovti,ov2685" > -- clocks: reference to the xvclk input clock > -- clock-names: shall be "xvclk" > -- avdd-supply: Analog voltage supply, 2.8 volts > -- dovdd-supply: Digital I/O voltage supply, 1.8 volts > -- dvdd-supply: Digital core voltage supply, 1.8 volts > -- reset-gpios: Low active reset gpio > - > -The device node shall contain one 'port' child node with an > -'endpoint' subnode for its digital output video port, > -in accordance with the video interface bindings defined in > -Documentation/devicetree/bindings/media/video-interfaces.txt. > -The endpoint optional property 'data-lanes' shall be "<1>". > - > -Example: > -&i2c7 { > - ov2685: camera-sensor@3c { > - compatible = "ovti,ov2685"; > - reg = <0x3c>; > - pinctrl-names = "default"; > - pinctrl-0 = <&clk_24m_cam>; > - > - clocks = <&cru SCLK_TESTCLKOUT1>; > - clock-names = "xvclk"; > - > - avdd-supply = <&pp2800_cam>; > - dovdd-supply = <&pp1800>; > - dvdd-supply = <&pp1800>; > - reset-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>; > - > - port { > - ucam_out: endpoint { > - remote-endpoint = <&mipi_in_ucam>; > - data-lanes = <1>; > - }; > - }; > - }; > -}; > diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml > new file mode 100644 > index 0000000000000..2ac0ca8a0413b > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml > @@ -0,0 +1,101 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/ovti,ov2685.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: OmniVision OV2685 Image Sensor > + > +maintainers: > + - Shunqian Zheng <zhengsq@xxxxxxxxxxxxxx> > + > +properties: > + compatible: > + const: ovti,ov2685 > + > + reg: > + maxItems: 1 > + > + clocks: > + items: > + - description: XVCLK clock > + > + clock-names: > + items: > + - const: xvclk > + > + dvdd-supply: > + description: Digital Domain Power Supply > + > + avdd-supply: > + description: Analog Domain Power Supply > + > + dovdd-supply: > + description: I/O Domain Power Supply > + > + reset-gpios: > + maxItems: 1 > + description: Reset Pin GPIO Control (active low) > + > + port: > + description: MIPI CSI-2 transmitter port > + $ref: /schemas/graph.yaml#/$defs/port-base > + additionalProperties: false > + > + properties: > + endpoint: > + $ref: /schemas/media/video-interfaces.yaml# > + unevaluatedProperties: false > + > + properties: > + data-lanes: > + maxItems: 1 This should be 2 --- the sensor supports two lanes (even if the driver doesn't). I can address this when applying if that's ok. > + > + required: > + - data-lanes > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + - dvdd-supply > + - avdd-supply > + - dovdd-supply > + - port > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/rk3399-cru.h> > + #include <dt-bindings/gpio/gpio.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ov2685: camera-sensor@3c { > + compatible = "ovti,ov2685"; > + reg = <0x3c>; > + pinctrl-names = "default"; > + pinctrl-0 = <&clk_24m_cam>; > + > + clocks = <&cru SCLK_TESTCLKOUT1>; > + clock-names = "xvclk"; > + > + avdd-supply = <&pp2800_cam>; > + dovdd-supply = <&pp1800>; > + dvdd-supply = <&pp1800>; > + reset-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>; > + > + port { > + ucam_out: endpoint { > + remote-endpoint = <&mipi_in_ucam>; > + data-lanes = <1>; > + }; > + }; > + }; > + }; > + > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index 8ea325040f355..5904f47756fe1 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -15410,6 +15410,7 @@ M: Shunqian Zheng <zhengsq@xxxxxxxxxxxxxx> > L: linux-media@xxxxxxxxxxxxxxx > S: Maintained > T: git git://linuxtv.org/media_tree.git > +F: Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml > F: drivers/media/i2c/ov2685.c > > OMNIVISION OV2740 SENSOR DRIVER > -- Kind regards, Sakari Ailus