2021-03-16 20:25:55

by Krzysztof Hałasa

[permalink] [raw]
Subject: RFC: dt-binding: media: document ON Semi AR0521 sensor bindings

This file documents DT bindings for the AR0521 camera sensor driver.

Signed-off-by: Krzysztof Halasa <[email protected]>

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 <[email protected]>
+
+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>;
+ };
+ };
+ };
+ };

--
Krzysztof Halasa

Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa


2021-03-16 21:23:51

by Laurent Pinchart

[permalink] [raw]
Subject: Re: RFC: dt-binding: media: document ON Semi AR0521 sensor bindings

Hi Krzysztof,

Thank you for the patch.

On Tue, Mar 16, 2021 at 02:25:01PM +0100, Krzysztof Hałasa wrote:
> This file documents DT bindings for the AR0521 camera sensor driver.
>
> Signed-off-by: Krzysztof Halasa <[email protected]>
>
> 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 <[email protected]>
> +
> +description: |-
> + The AR0521 is a raw CMOS image sensor with MIPI CSI-2 and
> + I2C-compatible control interface.
> +
> +properties:
> + compatible:
> + 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 :-)

> +
> + reg:
> + description: I2C bus address of the sensor device

You can drop this, it's implicit for I2C devices.

> + 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.

You can use the OF graph and video interfaces schema, see commit
066a94e28a23 in mainline.

> +
> +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>;
> + };
> + };
> + };
> + };

--
Regards,

Laurent Pinchart

2021-03-17 05:12:05

by Krzysztof Hałasa

[permalink] [raw]
Subject: Re: RFC: dt-binding: media: document ON Semi AR0521 sensor bindings

Laurent,

Laurent Pinchart <[email protected]> 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 Halasa

Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa

2021-03-30 09:19:56

by Krzysztof Hałasa

[permalink] [raw]
Subject: Re: RFC: dt-binding: media: document ON Semi AR0521 sensor bindings

Laurent Pinchart <[email protected]> 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.
--
Krzysztof Hałasa

Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa

2021-03-30 10:01:49

by Laurent Pinchart

[permalink] [raw]
Subject: Re: RFC: dt-binding: media: document ON Semi AR0521 sensor bindings

Hi Krzysztof,

On Tue, Mar 30, 2021 at 11:17:54AM +0200, Krzysztof Hałasa wrote:
> Laurent Pinchart <[email protected]> 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.

--
Regards,

Laurent Pinchart