Message ID | 20201014142759.726823-2-rmfrfs@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dt-bindings: media: imx7 and ov2680 updates to yaml | expand |
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@gmail.com> > --- > > v1 -> v2: > Sakari Ailus - Patch 1/3: > https://lore.kernel.org/linux-media/20201013160908.GC13341@paasikivi.fi.intel.com/ > - 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@gmail.com> > + > +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@jmondi.org> 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@gmail.com> > L: linux-media@vger.kernel.org > 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 >
Hey Jacopo, Thanks for the review. On Thu, Oct 15, 2020 at 04:49:05PM +0200, Jacopo Mondi wrote: > 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@gmail.com> > > --- > > > > v1 -> v2: > > Sakari Ailus - Patch 1/3: > > https://lore.kernel.org/linux-media/20201013160908.GC13341@paasikivi.fi.intel.com/ > > - 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 ? Yeah, was just following your precedent in ov5647 and the other ov already ported to yaml in the directory. But I agree that it makes sense to rename the files. > > > 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@gmail.com> > > + > > +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. I also had that idea, but looking also to other cases, and also in the examlpe-schema where you have both cases, looks like it is not needed. > > > + 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. you are right, will fix this. > > > + > > +required: > > + - compatible > > + - reg > > + - clocks > > + - clock-names > > + - dovdd-supply > > + - avdd-supply > > + - dvdd-supply > > + - reset-gpios > > + - port > > + > > +unevaluatedProperties: false > > 'additionalProperties: false' too ? instead. > > > + > > +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@jmondi.org> Thanks again Jacopo. Cheers, Rui > > 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@gmail.com> > > L: linux-media@vger.kernel.org > > 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 > >
On Fri, Oct 16, 2020 at 03:42:04PM +0100, Rui Miguel Silva wrote: > Hey Jacopo, > Thanks for the review. > > On Thu, Oct 15, 2020 at 04:49:05PM +0200, Jacopo Mondi wrote: > > 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@gmail.com> > > > + 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. > > I also had that idea, but looking also to other cases, and also in the > examlpe-schema where you have both cases, looks like it is not needed. '|' will preserve line breaks and formatting. For a single line like this it doesn't really matter. Though ruamel's round trip will make it a single line when writing back out. > > > > > + Input clock for the sensor. Really, you can just drop the description. Doesn't really add anything specific for this device. > > > + items: > > > + - const: xvclk
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@gmail.com> > --- > > v1 -> v2: > Sakari Ailus - Patch 1/3: > https://lore.kernel.org/linux-media/20201013160908.GC13341@paasikivi.fi.intel.com/ > - 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 > 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@gmail.com> > + > +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 > + frames per second (fps) in UXGA resolution. > + > +properties: > + compatible: > + const: ovti,ov2680 > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + clock-names: > + description: > + Input clock for the sensor. > + items: > + - const: xvclk > + > + reset-gpios: How many? (maxItems: 1) > + 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 Just need a description of the data/direction for 'port'. Drop the rest. > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + - dovdd-supply > + - avdd-supply > + - dvdd-supply > + - reset-gpios > + - port > + > +unevaluatedProperties: false You can use 'additionalProperties: false' here instead. > + > +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>; > + }; > + }; > + }; > + }; > +... > + > diff --git a/MAINTAINERS b/MAINTAINERS > index 2e85e114c9c3..926dcdc4794c 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -12775,7 +12775,7 @@ M: Rui Miguel Silva <rmfrfs@gmail.com> > L: linux-media@vger.kernel.org > 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 >
Hey Rob, On Mon, Oct 19, 2020 at 03:39:10PM -0500, Rob Herring wrote: > 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@gmail.com> > > --- > > > > v1 -> v2: > > Sakari Ailus - Patch 1/3: > > https://lore.kernel.org/linux-media/20201013160908.GC13341@paasikivi.fi.intel.com/ > > - omit remote-endpoint > > - remove not needed clock-lanes and data-lanes There was already a V3 on the list when you reviewed this version, Jacopo had already made some of the same comments as you. So, some are already solved in that version. I will send a v4 please just jump to that version. Many thanks, ------ Cheers, Rui > > > > .../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 > > 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@gmail.com> > > + > > +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 > > + frames per second (fps) in UXGA resolution. > > + > > +properties: > > + compatible: > > + const: ovti,ov2680 > > + > > + reg: > > + maxItems: 1 > > + > > + clocks: > > + maxItems: 1 > > + > > + clock-names: > > + description: > > + Input clock for the sensor. > > + items: > > + - const: xvclk > > + > > + reset-gpios: > > How many? (maxItems: 1) > > > + 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 > > Just need a description of the data/direction for 'port'. Drop the rest. > > > + > > +required: > > + - compatible > > + - reg > > + - clocks > > + - clock-names > > + - dovdd-supply > > + - avdd-supply > > + - dvdd-supply > > + - reset-gpios > > + - port > > + > > +unevaluatedProperties: false > > You can use 'additionalProperties: false' here instead. > > > + > > +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>; > > + }; > > + }; > > + }; > > + }; > > +... > > + > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 2e85e114c9c3..926dcdc4794c 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -12775,7 +12775,7 @@ M: Rui Miguel Silva <rmfrfs@gmail.com> > > L: linux-media@vger.kernel.org > > 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 > >
Hi Rob, On Mon, Oct 19, 2020 at 03:33:59PM -0500, Rob Herring wrote: > On Fri, Oct 16, 2020 at 03:42:04PM +0100, Rui Miguel Silva wrote: > > Hey Jacopo, > > Thanks for the review. > > > > On Thu, Oct 15, 2020 at 04:49:05PM +0200, Jacopo Mondi wrote: > > > 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@gmail.com> > > > > > + 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. > > > > I also had that idea, but looking also to other cases, and also in the > > examlpe-schema where you have both cases, looks like it is not needed. > > '|' will preserve line breaks and formatting. For a single line like > this it doesn't really matter. Though ruamel's round trip will make it a > single line when writing back out. Thanks for the explanation. I'll take the occasion to ask the difference between '|', '|-' and '-|' as I haven't find it documented anywhere. Thanks j > > > > > > > > + Input clock for the sensor. > > Really, you can just drop the description. Doesn't really add anything > specific for this device. > > > > > + items: > > > > + - const: xvclk
On Wed, Oct 21, 2020 at 9:52 AM Jacopo Mondi <jacopo@jmondi.org> wrote: > > Hi Rob, > > On Mon, Oct 19, 2020 at 03:33:59PM -0500, Rob Herring wrote: > > On Fri, Oct 16, 2020 at 03:42:04PM +0100, Rui Miguel Silva wrote: > > > Hey Jacopo, > > > Thanks for the review. > > > > > > On Thu, Oct 15, 2020 at 04:49:05PM +0200, Jacopo Mondi wrote: > > > > 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@gmail.com> > > > > > > > + 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. > > > > > > I also had that idea, but looking also to other cases, and also in the > > > examlpe-schema where you have both cases, looks like it is not needed. > > > > '|' will preserve line breaks and formatting. For a single line like > > this it doesn't really matter. Though ruamel's round trip will make it a > > single line when writing back out. > > Thanks for the explanation. > > I'll take the occasion to ask the difference between '|', '|-' and > '-|' as I haven't find it documented anywhere. https://yaml-multiline.info/ '-|' is not valid AFAIK. Did you mean '- |'?. That's a list entry which then contains a multi-line string. Rob
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 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@gmail.com> + +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 + frames per second (fps) in UXGA resolution. + +properties: + compatible: + const: ovti,ov2680 + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-names: + description: + 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 + +required: + - compatible + - reg + - clocks + - clock-names + - dovdd-supply + - avdd-supply + - dvdd-supply + - reset-gpios + - port + +unevaluatedProperties: false + +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>; + }; + }; + }; + }; +... + diff --git a/MAINTAINERS b/MAINTAINERS index 2e85e114c9c3..926dcdc4794c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -12775,7 +12775,7 @@ M: Rui Miguel Silva <rmfrfs@gmail.com> L: linux-media@vger.kernel.org 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
Convert ov2680 sensor bindings documentation to yaml schema, remove the textual bindings document and update MAINTAINERS entry. Signed-off-by: Rui Miguel Silva <rmfrfs@gmail.com> --- v1 -> v2: Sakari Ailus - Patch 1/3: https://lore.kernel.org/linux-media/20201013160908.GC13341@paasikivi.fi.intel.com/ - 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