diff mbox series

RFC: dt-binding: media: document ON Semi AR0521 sensor bindings

Message ID m3o8fjs02a.fsf@t19.piap.pl
State New
Headers show
Series RFC: dt-binding: media: document ON Semi AR0521 sensor bindings | expand

Commit Message

Krzysztof Hałasa March 16, 2021, 1:25 p.m. UTC
This file documents DT bindings for the AR0521 camera sensor driver.

Signed-off-by: Krzysztof Halasa <khalasa@piap.pl>

Comments

Krzysztof Hałasa March 17, 2021, 5:08 a.m. UTC | #1
Laurent,

Laurent Pinchart <laurent.pinchart@ideasonboard.com> writes:

>> +    const: on-semi,ar0521
>
> That's not the correct prefix for ON Semiconductor. See
> Documentation/devicetree/bindings/vendor-prefixes.yaml. Or just the name
> of this file :-)

Right, just missed this one. Thanks for the comments.
Krzysztof Hałasa March 30, 2021, 9:17 a.m. UTC | #2
Laurent Pinchart <laurent.pinchart@ideasonboard.com> writes:

>> +  reg:
>> +    description: I2C bus address of the sensor device
>
> You can drop this, it's implicit for I2C devices.

Do you mean just dropping these two lines (and MaxItems: 1), and leaving
"reg" in "required" and in the example? E.g.:
...
required:
  - compatible
  - reg
  - clocks
  - clock-names
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/clock/imx6qdl-clock.h>

    i2c {
            #address-cells = <1>;
            #size-cells = <0>;

            ar0521: camera-sensor@36 {
                    compatible = "onnn,ar0521";
                    reg = <0x36>;
                    pinctrl-names = "default";

...

It protests with:

Documentation/devicetree/bindings/media/i2c/onnn,ar0521.example.dt.yaml:
camera-sensor@36: 'reg' does not match any of the regexes: 'pinctrl-[0-9]+'
        From schema: /usr/src/linux/imx6/Documentation/devicetree/bindings/media/i2c/onnn,ar0521.yaml

Thus I'm currently leaving it as is.
Laurent Pinchart March 30, 2021, 9:57 a.m. UTC | #3
Hi Krzysztof,

On Tue, Mar 30, 2021 at 11:17:54AM +0200, Krzysztof Hałasa wrote:
> Laurent Pinchart <laurent.pinchart@ideasonboard.com> writes:
> 
> >> +  reg:
> >> +    description: I2C bus address of the sensor device
> >
> > You can drop this, it's implicit for I2C devices.
> 
> Do you mean just dropping these two lines (and MaxItems: 1), and leaving
> "reg" in "required" and in the example? E.g.:

I meant dropping the description, sorry. You need to keep

  reg:
    maxItems: 1

> ...
> required:
>   - compatible
>   - reg
>   - clocks
>   - clock-names
>   - port
> 
> additionalProperties: false
> 
> examples:
>   - |
>     #include <dt-bindings/gpio/gpio.h>
>     #include <dt-bindings/clock/imx6qdl-clock.h>
> 
>     i2c {
>             #address-cells = <1>;
>             #size-cells = <0>;
> 
>             ar0521: camera-sensor@36 {
>                     compatible = "onnn,ar0521";
>                     reg = <0x36>;
>                     pinctrl-names = "default";
> 
> ...
> 
> It protests with:
> 
> Documentation/devicetree/bindings/media/i2c/onnn,ar0521.example.dt.yaml:
> camera-sensor@36: 'reg' does not match any of the regexes: 'pinctrl-[0-9]+'
>         From schema: /usr/src/linux/imx6/Documentation/devicetree/bindings/media/i2c/onnn,ar0521.yaml
> 
> Thus I'm currently leaving it as is.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/i2c/onnn,ar0521.yaml b/Documentation/devicetree/bindings/media/i2c/onnn,ar0521.yaml
new file mode 100644
index 000000000000..f649d4cbcb37
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/onnn,ar0521.yaml
@@ -0,0 +1,76 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/onnn,ar0521.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ON Semiconductor AR0521 MIPI CSI-2 sensor
+
+maintainers:
+  - Krzysztof Halasa <khalasa@piap.pl>
+
+description: |-
+  The AR0521 is a raw CMOS image sensor with MIPI CSI-2 and
+  I2C-compatible control interface.
+
+properties:
+  compatible:
+    const: on-semi,ar0521
+
+  reg:
+    description: I2C bus address of the sensor device
+    maxItems: 1
+
+  clocks:
+    description: reference to the xclk clock
+    maxItems: 1
+
+  clock-names:
+    const: xclk
+
+  reset-gpios:
+    description: active low reset GPIO
+    maxItems: 1
+
+  port:
+    type: object
+    description: |
+      Output video port: 1, 2 or 4 lanes. See ../video-interfaces.txt.
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - port
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/clock/imx6qdl-clock.h>
+
+    i2c {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            ar0521: camera-sensor@36 {
+                    compatible = "onnn,ar0521";
+                    reg = <0x36>;
+                    pinctrl-names = "default";
+                    pinctrl-0 = <&pinctrl_mipi_camera>;
+
+                    clocks = <&clks IMX6QDL_CLK_CKO>;
+                    clock-names = "xclk";
+
+                    reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
+
+                    port {
+                           mipi_camera_to_mipi_csi2: endpoint {
+                                    remote-endpoint = <&mipi_csi2_in>;
+                                    data-lanes = <1 2 3 4>;
+                            };
+                    };
+            };
+    };