Hi Rui, On Wed, Oct 14, 2020 at 03:27:57PM +0100, Rui Miguel Silva wrote: > Convert ov2680 sensor bindings documentation to yaml schema, remove > the textual bindings document and update MAINTAINERS entry. > > Signed-off-by: Rui Miguel Silva <rmfrfs@xxxxxxxxx> > --- > > v1 -> v2: > Sakari Ailus - Patch 1/3: > https://lore.kernel.org/linux-media/20201013160908.GC13341@xxxxxxxxxxxxxxxxxxxxxx/ > - omit remote-endpoint > - remove not needed clock-lanes and data-lanes > > .../devicetree/bindings/media/i2c/ov2680.txt | 46 -------- > .../devicetree/bindings/media/i2c/ov2680.yaml | 109 ++++++++++++++++++ > MAINTAINERS | 2 +- > 3 files changed, 110 insertions(+), 47 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov2680.txt > create mode 100644 Documentation/devicetree/bindings/media/i2c/ov2680.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/ov2680.txt b/Documentation/devicetree/bindings/media/i2c/ov2680.txt > deleted file mode 100644 > index 11e925ed9dad..000000000000 > --- a/Documentation/devicetree/bindings/media/i2c/ov2680.txt > +++ /dev/null > @@ -1,46 +0,0 @@ > -* Omnivision OV2680 MIPI CSI-2 sensor > - > -Required Properties: > -- compatible: should be "ovti,ov2680". > -- clocks: reference to the xvclk input clock. > -- clock-names: should be "xvclk". > -- DOVDD-supply: Digital I/O voltage supply. > -- DVDD-supply: Digital core voltage supply. > -- AVDD-supply: Analog voltage supply. > - > -Optional Properties: > -- reset-gpios: reference to the GPIO connected to the powerdown/reset pin, > - if any. This is an active low signal to the OV2680. > - > -The device node must contain one 'port' child node for its digital output > -video port, and this port must have a single endpoint in accordance with > - the video interface bindings defined in > -Documentation/devicetree/bindings/media/video-interfaces.txt. > - > -Endpoint node required properties for CSI-2 connection are: > -- remote-endpoint: a phandle to the bus receiver's endpoint node. > -- clock-lanes: should be set to <0> (clock lane on hardware lane 0). > -- data-lanes: should be set to <1> (one CSI-2 lane supported). > - > -Example: > - > -&i2c2 { > - ov2680: camera-sensor@36 { > - compatible = "ovti,ov2680"; > - reg = <0x36>; > - clocks = <&osc>; > - clock-names = "xvclk"; > - reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>; > - DOVDD-supply = <&sw2_reg>; > - DVDD-supply = <&sw2_reg>; > - AVDD-supply = <®_peri_3p15v>; > - > - port { > - ov2680_to_mipi: endpoint { > - remote-endpoint = <&mipi_from_sensor>; > - clock-lanes = <0>; > - data-lanes = <1>; > - }; > - }; > - }; > -}; > diff --git a/Documentation/devicetree/bindings/media/i2c/ov2680.yaml b/Documentation/devicetree/bindings/media/i2c/ov2680.yaml Might this be a good occasion to rename the file to ovti,ov2680.yaml ? > new file mode 100644 > index 000000000000..ef2b45b03dcc > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/ov2680.yaml > @@ -0,0 +1,109 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/ov2680.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Omnivision OV2680 CMOS Sensor > + > +maintainers: > + - Rui Miguel Silva <rmfrfs@xxxxxxxxx> > + > +description: |- > + The OV2680 color sensor is a low voltage, high performance 1/5 inch UXGA (2 > + megapixel) CMOS image sensor that provides a single-chip UXGA (1600 x 1200) > + camera. It provides full-frame, sub-sampled, or windowed 10-bit images in > + various formats via the control of the Serial Camera Control Bus (SCCB) > + interface. The OV2680 has an image array capable of operating at up to 30 ^ double space > + frames per second (fps) in UXGA resolution. > + > +properties: > + compatible: > + const: ovti,ov2680 > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + clock-names: > + description: I'll never get yaml right, doesn't breaking lines require '|' after the semicolon ? The validator does not complain, so I guess not. > + Input clock for the sensor. > + items: > + - const: xvclk > + > + reset-gpios: > + description: > + The phandle and specifier for the GPIO that controls sensor reset. > + This corresponds to the hardware pin XSHUTDOWN which is physically > + active low. > + > + dovdd-supply: > + description: > + Definition of the regulator used as interface power supply. > + > + avdd-supply: > + description: > + Definition of the regulator used as analog power supply. > + > + dvdd-supply: > + description: > + Definition of the regulator used as digital power supply. > + > + port: > + type: object > + additionalProperties: false > + description: > + A node containing an output port node with an endpoint definition > + as documented in > + Documentation/devicetree/bindings/media/video-interfaces.txt > + > + properties: > + endpoint: > + type: object > + > + required: > + - endpoint If no endpoint properties are specified, the last 6 lines here can be omitted. The rationale is that 'port' will be validated against a forthcoming 'of-graph.yaml' schema. So just: port: type: object additionalProperties: false description: A node containing an output port node with an endpoint definition as documented in Documentation/devicetree/bindings/media/video-interfaces.txt With 'port' listed as mandatory, as you do already. > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + - dovdd-supply > + - avdd-supply > + - dvdd-supply > + - reset-gpios > + - port > + > +unevaluatedProperties: false 'additionalProperties: false' too ? > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ov2680: camera-sensor@36 { > + compatible = "ovti,ov2680"; > + reg = <0x36>; > + clocks = <&osc>; > + clock-names = "xvclk"; > + reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>; > + > + dovdd-supply = <&sw2_reg>; > + dvdd-supply = <&sw2_reg>; > + avdd-supply = <®_peri_3p15v>; > + > + port { > + ov2680_to_mipi: endpoint { > + remote-endpoint = <&mipi_from_sensor>; > + }; > + }; > + }; > + }; > +... > + Applying the patch gives me: .git/rebase-apply/patch:182: new blank line at EOF. I see most bindings have an empty line before '...' With this small issues fixed: Reviewed-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx> Thanks j > diff --git a/MAINTAINERS b/MAINTAINERS > index 2e85e114c9c3..926dcdc4794c 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -12775,7 +12775,7 @@ M: Rui Miguel Silva <rmfrfs@xxxxxxxxx> > L: linux-media@xxxxxxxxxxxxxxx > S: Maintained > T: git git://linuxtv.org/media_tree.git > -F: Documentation/devicetree/bindings/media/i2c/ov2680.txt > +F: Documentation/devicetree/bindings/media/i2c/ov2680.yaml > F: drivers/media/i2c/ov2680.c > > OMNIVISION OV2685 SENSOR DRIVER > -- > 2.28.0 >