[1/2] media: dt-bindings: media: i2c: document OV4689 DT bindings
Commit Message
Add device-tree binding documentation for OV4689 image sensor driver,
and the relevant MAINTAINERS entries.
Signed-off-by: Mikhail Rudenko <mike.rudenko@gmail.com>
---
.../bindings/media/i2c/ovti,ov4689.yaml | 122 ++++++++++++++++++
MAINTAINERS | 7 +
2 files changed, 129 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
Comments
On 12/07/2022 16:19, Mikhail Rudenko wrote:
> Add device-tree binding documentation for OV4689 image sensor driver,
> and the relevant MAINTAINERS entries.
>
> Signed-off-by: Mikhail Rudenko <mike.rudenko@gmail.com>
> ---
> .../bindings/media/i2c/ovti,ov4689.yaml | 122 ++++++++++++++++++
> MAINTAINERS | 7 +
> 2 files changed, 129 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
> new file mode 100644
> index 000000000000..6bdebe5862b4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
> @@ -0,0 +1,122 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/ovti,ov4689.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Omnivision OV4689 CMOS Sensor Device Tree Bindings
s/Device Tree Bindings//
> +
> +maintainers:
> + - Mikhail Rudenko <mike.rudenko@gmail.com>
> +
> +description: |-
No need for -
> + The Omnivision OV4689 is a high performance, 1/3-inch, 4 megapixel
> + image sensor. Ihis chip supports high frame rate speeds up to 90 fps
> + at 2688x1520 resolution. It is programmable through an I2C
> + interface, and sensor output is sent via 1/2/4 lane MIPI CSI-2
> + connection.
> +
> +allOf:
> + - $ref: /schemas/media/video-interface-devices.yaml#
> +
> +properties:
> + compatible:
> + const: ovti,ov4689
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + description:
> + External clock for the sensor.
This goes to clocks instead.
> + items:
> + - const: xclk
No need for clock-names for such case.
> +
> + dovdd-supply:
> + description:
> + Definition of the regulator used as Digital I/O voltage supply.
s/Definition of the regulator used as //
It's redundant...
> +
> + avdd-supply:
> + description:
> + Definition of the regulator used as Analog voltage supply.
Ditto
> +
> + dvdd-supply:
> + description:
> + Definition of the regulator used as Digital core voltage supply.
Ditto
> +
> + powerdown-gpios:
> + maxItems: 1
> + description:
> + Reference to the GPIO connected to the powerdown pin (active low).
s/Reference to the//
> +
> + reset-gpios:
> + maxItems: 1
> + description:
> + Reference to the GPIO connected to the reset pin (active low).
The same.
> +
> + orientation: true
> +
> + rotation: true
> +
> + port:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + additionalProperties: false
> + description:
> + Output port node, single endpoint describing the CSI-2 transmitter.
> +
> + properties:
> + endpoint:
> + $ref: /schemas/media/video-interfaces.yaml#
> + unevaluatedProperties: false
> +
Best regards,
Krzysztof
Hi Krzysztof,
On 2022-07-12 at 17:12 +02, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:
> On 12/07/2022 16:19, Mikhail Rudenko wrote:
>> Add device-tree binding documentation for OV4689 image sensor driver,
>> and the relevant MAINTAINERS entries.
>>
>> Signed-off-by: Mikhail Rudenko <mike.rudenko@gmail.com>
>> ---
>> .../bindings/media/i2c/ovti,ov4689.yaml | 122 ++++++++++++++++++
>> MAINTAINERS | 7 +
>> 2 files changed, 129 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
>> new file mode 100644
>> index 000000000000..6bdebe5862b4
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
>> @@ -0,0 +1,122 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/media/i2c/ovti,ov4689.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Omnivision OV4689 CMOS Sensor Device Tree Bindings
>
> s/Device Tree Bindings//
Ack, will fix in v2.
>> +
>> +maintainers:
>> + - Mikhail Rudenko <mike.rudenko@gmail.com>
>> +
>> +description: |-
>
> No need for -
>
Ack
>> + The Omnivision OV4689 is a high performance, 1/3-inch, 4 megapixel
>> + image sensor. Ihis chip supports high frame rate speeds up to 90 fps
>> + at 2688x1520 resolution. It is programmable through an I2C
>> + interface, and sensor output is sent via 1/2/4 lane MIPI CSI-2
>> + connection.
>> +
>> +allOf:
>> + - $ref: /schemas/media/video-interface-devices.yaml#
>> +
>> +properties:
>> + compatible:
>> + const: ovti,ov4689
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + clocks:
>> + maxItems: 1
>> +
>> + clock-names:
>> + description:
>> + External clock for the sensor.
>
> This goes to clocks instead.
>
Ack
>> + items:
>> + - const: xclk
>
> No need for clock-names for such case.
>
Ack
>> +
>> + dovdd-supply:
>> + description:
>> + Definition of the regulator used as Digital I/O voltage supply.
>
> s/Definition of the regulator used as //
>
> It's redundant...
>
Ack
>> +
>> + avdd-supply:
>> + description:
>> + Definition of the regulator used as Analog voltage supply.
>
> Ditto
>
Ack
>> +
>> + dvdd-supply:
>> + description:
>> + Definition of the regulator used as Digital core voltage supply.
>
> Ditto
>
Ack
>> +
>> + powerdown-gpios:
>> + maxItems: 1
>> + description:
>> + Reference to the GPIO connected to the powerdown pin (active low).
>
> s/Reference to the//
>
Ack
>> +
>> + reset-gpios:
>> + maxItems: 1
>> + description:
>> + Reference to the GPIO connected to the reset pin (active low).
>
> The same.
>
Ack
>> +
>> + orientation: true
>> +
>> + rotation: true
>> +
>> + port:
>> + $ref: /schemas/graph.yaml#/$defs/port-base
>> + additionalProperties: false
>> + description:
>> + Output port node, single endpoint describing the CSI-2 transmitter.
>> +
>> + properties:
>> + endpoint:
>> + $ref: /schemas/media/video-interfaces.yaml#
>> + unevaluatedProperties: false
>> +
>
> Best regards,
> Krzysztof
Thanks for review! By the way, I used an existing schema for a similar
sensor ("ovti,ov02a10.yaml", specifically) as an example, and your notes
apply to it too. Looks like it should also be fixed...
--
Best regards,
Mikhail Rudenko
Hi Mikhail,
Thanks for the patch.
On Tue, Jul 12, 2022 at 05:19:09PM +0300, Mikhail Rudenko wrote:
> Add device-tree binding documentation for OV4689 image sensor driver,
> and the relevant MAINTAINERS entries.
>
> Signed-off-by: Mikhail Rudenko <mike.rudenko@gmail.com>
> ---
> .../bindings/media/i2c/ovti,ov4689.yaml | 122 ++++++++++++++++++
> MAINTAINERS | 7 +
> 2 files changed, 129 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
> new file mode 100644
> index 000000000000..6bdebe5862b4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
> @@ -0,0 +1,122 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/ovti,ov4689.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Omnivision OV4689 CMOS Sensor Device Tree Bindings
> +
> +maintainers:
> + - Mikhail Rudenko <mike.rudenko@gmail.com>
> +
> +description: |-
> + The Omnivision OV4689 is a high performance, 1/3-inch, 4 megapixel
> + image sensor. Ihis chip supports high frame rate speeds up to 90 fps
> + at 2688x1520 resolution. It is programmable through an I2C
> + interface, and sensor output is sent via 1/2/4 lane MIPI CSI-2
> + connection.
> +
> +allOf:
> + - $ref: /schemas/media/video-interface-devices.yaml#
> +
> +properties:
> + compatible:
> + const: ovti,ov4689
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + description:
> + External clock for the sensor.
> + items:
> + - const: xclk
> +
> + dovdd-supply:
> + description:
> + Definition of the regulator used as Digital I/O voltage supply.
> +
> + avdd-supply:
> + description:
> + Definition of the regulator used as Analog voltage supply.
> +
> + dvdd-supply:
> + description:
> + Definition of the regulator used as Digital core voltage supply.
> +
> + powerdown-gpios:
> + maxItems: 1
> + description:
> + Reference to the GPIO connected to the powerdown pin (active low).
> +
> + reset-gpios:
> + maxItems: 1
> + description:
> + Reference to the GPIO connected to the reset pin (active low).
> +
> + orientation: true
> +
> + rotation: true
> +
> + port:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + additionalProperties: false
> + description:
> + Output port node, single endpoint describing the CSI-2 transmitter.
> +
> + properties:
> + endpoint:
> + $ref: /schemas/media/video-interfaces.yaml#
> + unevaluatedProperties: false
The number of lanes is needed, please require data-lanes property here (as
well as add it to the example).
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> + - dovdd-supply
> + - avdd-supply
> + - dvdd-supply
> + - powerdown-gpios
> + - reset-gpios
> + - port
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ov4689: camera@36 {
> + compatible = "ovti,ov4689";
> + reg = <0x36>;
> +
> + clocks = <&ov4689_clk>;
> + clock-names = "xclk";
> +
> + avdd-supply = <&ov4689_avdd>;
> + dovdd-supply = <&ov4689_dovdd>;
> + dvdd-supply = <&ov4689_dvdd>;
> +
> + powerdown-gpios = <&pio 107 GPIO_ACTIVE_LOW>;
> + reset-gpios = <&pio 109 GPIO_ACTIVE_LOW>;
> +
> + orientation = <2>;
> + rotation = <0>;
> +
> + port {
> + wcam_out: endpoint {
> + remote-endpoint = <&mipi_in_wcam>;
> + };
> + };
> + };
> + };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index f468864fd268..63c4844f26e6 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -14523,6 +14523,13 @@ S: Maintained
> T: git git://linuxtv.org/media_tree.git
> F: drivers/media/i2c/ov2740.c
>
> +OMNIVISION OV4689 SENSOR DRIVER
> +M: Mikhail Rudenko <mike.rudenko@gmail.com>
> +L: linux-media@vger.kernel.org
> +S: Maintained
> +T: git git://linuxtv.org/media_tree.git
> +F: Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
> +
> OMNIVISION OV5640 SENSOR DRIVER
> M: Steve Longerbeam <slongerbeam@gmail.com>
> L: linux-media@vger.kernel.org
On 2022-07-15 at 00:11 +03, Sakari Ailus <sakari.ailus@iki.fi> wrote:
> Hi Mikhail,
>
> Thanks for the patch.
>
> On Tue, Jul 12, 2022 at 05:19:09PM +0300, Mikhail Rudenko wrote:
>> Add device-tree binding documentation for OV4689 image sensor driver,
>> and the relevant MAINTAINERS entries.
>>
>> Signed-off-by: Mikhail Rudenko <mike.rudenko@gmail.com>
>> ---
>> .../bindings/media/i2c/ovti,ov4689.yaml | 122 ++++++++++++++++++
>> MAINTAINERS | 7 +
>> 2 files changed, 129 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
>> new file mode 100644
>> index 000000000000..6bdebe5862b4
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
>> @@ -0,0 +1,122 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/media/i2c/ovti,ov4689.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Omnivision OV4689 CMOS Sensor Device Tree Bindings
>> +
>> +maintainers:
>> + - Mikhail Rudenko <mike.rudenko@gmail.com>
>> +
>> +description: |-
>> + The Omnivision OV4689 is a high performance, 1/3-inch, 4 megapixel
>> + image sensor. Ihis chip supports high frame rate speeds up to 90 fps
>> + at 2688x1520 resolution. It is programmable through an I2C
>> + interface, and sensor output is sent via 1/2/4 lane MIPI CSI-2
>> + connection.
>> +
>> +allOf:
>> + - $ref: /schemas/media/video-interface-devices.yaml#
>> +
>> +properties:
>> + compatible:
>> + const: ovti,ov4689
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + clocks:
>> + maxItems: 1
>> +
>> + clock-names:
>> + description:
>> + External clock for the sensor.
>> + items:
>> + - const: xclk
>> +
>> + dovdd-supply:
>> + description:
>> + Definition of the regulator used as Digital I/O voltage supply.
>> +
>> + avdd-supply:
>> + description:
>> + Definition of the regulator used as Analog voltage supply.
>> +
>> + dvdd-supply:
>> + description:
>> + Definition of the regulator used as Digital core voltage supply.
>> +
>> + powerdown-gpios:
>> + maxItems: 1
>> + description:
>> + Reference to the GPIO connected to the powerdown pin (active low).
>> +
>> + reset-gpios:
>> + maxItems: 1
>> + description:
>> + Reference to the GPIO connected to the reset pin (active low).
>> +
>> + orientation: true
>> +
>> + rotation: true
>> +
>> + port:
>> + $ref: /schemas/graph.yaml#/$defs/port-base
>> + additionalProperties: false
>> + description:
>> + Output port node, single endpoint describing the CSI-2 transmitter.
>> +
>> + properties:
>> + endpoint:
>> + $ref: /schemas/media/video-interfaces.yaml#
>> + unevaluatedProperties: false
>
> The number of lanes is needed, please require data-lanes property here (as
> well as add it to the example).
Thanks for review, will fix in v2
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - clocks
>> + - clock-names
>> + - dovdd-supply
>> + - avdd-supply
>> + - dvdd-supply
>> + - powerdown-gpios
>> + - reset-gpios
>> + - port
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> +
>> + i2c {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + ov4689: camera@36 {
>> + compatible = "ovti,ov4689";
>> + reg = <0x36>;
>> +
>> + clocks = <&ov4689_clk>;
>> + clock-names = "xclk";
>> +
>> + avdd-supply = <&ov4689_avdd>;
>> + dovdd-supply = <&ov4689_dovdd>;
>> + dvdd-supply = <&ov4689_dvdd>;
>> +
>> + powerdown-gpios = <&pio 107 GPIO_ACTIVE_LOW>;
>> + reset-gpios = <&pio 109 GPIO_ACTIVE_LOW>;
>> +
>> + orientation = <2>;
>> + rotation = <0>;
>> +
>> + port {
>> + wcam_out: endpoint {
>> + remote-endpoint = <&mipi_in_wcam>;
>> + };
>> + };
>> + };
>> + };
>> +
>> +...
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index f468864fd268..63c4844f26e6 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -14523,6 +14523,13 @@ S: Maintained
>> T: git git://linuxtv.org/media_tree.git
>> F: drivers/media/i2c/ov2740.c
>>
>> +OMNIVISION OV4689 SENSOR DRIVER
>> +M: Mikhail Rudenko <mike.rudenko@gmail.com>
>> +L: linux-media@vger.kernel.org
>> +S: Maintained
>> +T: git git://linuxtv.org/media_tree.git
>> +F: Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
>> +
>> OMNIVISION OV5640 SENSOR DRIVER
>> M: Steve Longerbeam <slongerbeam@gmail.com>
>> L: linux-media@vger.kernel.org
--
Best regards,
Mikhail Rudenko
new file mode 100644
@@ -0,0 +1,122 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/ovti,ov4689.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Omnivision OV4689 CMOS Sensor Device Tree Bindings
+
+maintainers:
+ - Mikhail Rudenko <mike.rudenko@gmail.com>
+
+description: |-
+ The Omnivision OV4689 is a high performance, 1/3-inch, 4 megapixel
+ image sensor. Ihis chip supports high frame rate speeds up to 90 fps
+ at 2688x1520 resolution. It is programmable through an I2C
+ interface, and sensor output is sent via 1/2/4 lane MIPI CSI-2
+ connection.
+
+allOf:
+ - $ref: /schemas/media/video-interface-devices.yaml#
+
+properties:
+ compatible:
+ const: ovti,ov4689
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ description:
+ External clock for the sensor.
+ items:
+ - const: xclk
+
+ dovdd-supply:
+ description:
+ Definition of the regulator used as Digital I/O voltage supply.
+
+ avdd-supply:
+ description:
+ Definition of the regulator used as Analog voltage supply.
+
+ dvdd-supply:
+ description:
+ Definition of the regulator used as Digital core voltage supply.
+
+ powerdown-gpios:
+ maxItems: 1
+ description:
+ Reference to the GPIO connected to the powerdown pin (active low).
+
+ reset-gpios:
+ maxItems: 1
+ description:
+ Reference to the GPIO connected to the reset pin (active low).
+
+ orientation: true
+
+ rotation: true
+
+ port:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ additionalProperties: false
+ description:
+ Output port node, single endpoint describing the CSI-2 transmitter.
+
+ properties:
+ endpoint:
+ $ref: /schemas/media/video-interfaces.yaml#
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - dovdd-supply
+ - avdd-supply
+ - dvdd-supply
+ - powerdown-gpios
+ - reset-gpios
+ - port
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ov4689: camera@36 {
+ compatible = "ovti,ov4689";
+ reg = <0x36>;
+
+ clocks = <&ov4689_clk>;
+ clock-names = "xclk";
+
+ avdd-supply = <&ov4689_avdd>;
+ dovdd-supply = <&ov4689_dovdd>;
+ dvdd-supply = <&ov4689_dvdd>;
+
+ powerdown-gpios = <&pio 107 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&pio 109 GPIO_ACTIVE_LOW>;
+
+ orientation = <2>;
+ rotation = <0>;
+
+ port {
+ wcam_out: endpoint {
+ remote-endpoint = <&mipi_in_wcam>;
+ };
+ };
+ };
+ };
+
+...
@@ -14523,6 +14523,13 @@ S: Maintained
T: git git://linuxtv.org/media_tree.git
F: drivers/media/i2c/ov2740.c
+OMNIVISION OV4689 SENSOR DRIVER
+M: Mikhail Rudenko <mike.rudenko@gmail.com>
+L: linux-media@vger.kernel.org
+S: Maintained
+T: git git://linuxtv.org/media_tree.git
+F: Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
+
OMNIVISION OV5640 SENSOR DRIVER
M: Steve Longerbeam <slongerbeam@gmail.com>
L: linux-media@vger.kernel.org