diff mbox series

media: dt-bindings: ovti,ov2680: Document clock/data-lanes

Message ID 20240326231033.2048193-1-festevam@gmail.com
State Changes Requested
Headers show
Series media: dt-bindings: ovti,ov2680: Document clock/data-lanes | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 1 warnings, 39 lines checked
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Fabio Estevam March 26, 2024, 11:10 p.m. UTC
From: Fabio Estevam <festevam@denx.de>

OV2680 has a single data lane MIPI interface.

Document the clock-lanes and data-lanes properties to avoid
the following dt-schema warning:

imx7s-warp.dtb: camera@36: port:endpoint: Unevaluated properties are not allowed ('clock-lanes', 'data-lanes' were unexpected)
	from schema $id: http://devicetree.org/schemas/media/i2c/ovti,ov2680.yaml#

Signed-off-by: Fabio Estevam <festevam@denx.de>
---
 .../bindings/media/i2c/ovti,ov2680.yaml       | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

Comments

Krzysztof Kozlowski March 27, 2024, 8:07 a.m. UTC | #1
On 27/03/2024 00:10, Fabio Estevam wrote:
> +    properties:
> +      endpoint:
> +        $ref: /schemas/media/video-interfaces.yaml#
> +        unevaluatedProperties: false
> +
> +        properties:
> +          clock-lanes:
> +            const: 0
> +
> +          data-lanes:
> +            const: 1
>  
>  required:
>    - compatible
> @@ -65,7 +78,7 @@ required:
>    - reset-gpios
>    - port
>  
> -additionalProperties: false
> +unevaluatedProperties: false

This looks like unrelated change and it needs its own explanation.

Best regards,
Krzysztof
Sakari Ailus March 27, 2024, 9:57 a.m. UTC | #2
Hi Fabio,

On Tue, Mar 26, 2024 at 08:10:33PM -0300, Fabio Estevam wrote:
> From: Fabio Estevam <festevam@denx.de>
> 
> OV2680 has a single data lane MIPI interface.
> 
> Document the clock-lanes and data-lanes properties to avoid
> the following dt-schema warning:
> 
> imx7s-warp.dtb: camera@36: port:endpoint: Unevaluated properties are not allowed ('clock-lanes', 'data-lanes' were unexpected)
> 	from schema $id: http://devicetree.org/schemas/media/i2c/ovti,ov2680.yaml#
> 
> Signed-off-by: Fabio Estevam <festevam@denx.de>
> ---
>  .../bindings/media/i2c/ovti,ov2680.yaml       | 19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov2680.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov2680.yaml
> index cf456f8d9ddc..ae104da067e9 100644
> --- a/Documentation/devicetree/bindings/media/i2c/ovti,ov2680.yaml
> +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov2680.yaml
> @@ -50,9 +50,22 @@ properties:
>        Definition of the regulator used as digital power supply.
>  
>    port:
> -    $ref: /schemas/graph.yaml#/properties/port
>      description:
>        A node containing an output port node.
> +    $ref: /schemas/graph.yaml#/$defs/port-base
> +    additionalProperties: false
> +
> +    properties:
> +      endpoint:
> +        $ref: /schemas/media/video-interfaces.yaml#
> +        unevaluatedProperties: false
> +
> +        properties:
> +          clock-lanes:
> +            const: 0
> +
> +          data-lanes:
> +            const: 1

If there's a single possible configuration only, is this needed? There's no
information here which the driver would need.

>  
>  required:
>    - compatible
> @@ -65,7 +78,7 @@ required:
>    - reset-gpios
>    - port
>  
> -additionalProperties: false
> +unevaluatedProperties: false
>  
>  examples:
>    - |
> @@ -89,6 +102,8 @@ examples:
>                  port {
>                          ov2680_to_mipi: endpoint {
>                                  remote-endpoint = <&mipi_from_sensor>;
> +                                clock-lanes = <0>;
> +                                data-lanes = <1>;
>                          };
>                  };
>          };
Fabio Estevam March 27, 2024, 2:50 p.m. UTC | #3
Hi Sakari,

On Wed, Mar 27, 2024 at 6:58 AM Sakari Ailus
<sakari.ailus@linux.intel.com> wrote:

> If there's a single possible configuration only, is this needed? There's no
> information here which the driver would need.

Good point.

In this case, the correct fix would be to remove 'clock-lanes' and
'data-lanes' from imx7s-warp.dts.
Sakari Ailus March 27, 2024, 10:30 p.m. UTC | #4
On Wed, Mar 27, 2024 at 11:50:26AM -0300, Fabio Estevam wrote:
> Hi Sakari,
> 
> On Wed, Mar 27, 2024 at 6:58 AM Sakari Ailus
> <sakari.ailus@linux.intel.com> wrote:
> 
> > If there's a single possible configuration only, is this needed? There's no
> > information here which the driver would need.
> 
> Good point.
> 
> In this case, the correct fix would be to remove 'clock-lanes' and
> 'data-lanes' from imx7s-warp.dts.

Agreed.
Fabio Estevam April 1, 2024, 3:03 p.m. UTC | #5
Hi Sakari,

On Wed, Mar 27, 2024 at 7:30 PM Sakari Ailus
<sakari.ailus@linux.intel.com> wrote:

> > In this case, the correct fix would be to remove 'clock-lanes' and
> > 'data-lanes' from imx7s-warp.dts.
>
> Agreed.

I tried removing 'clock-lanes' and  'data-lanes', but it did not work:

ov2680 1-0036: error -EINVAL: only a 1-lane CSI2 config is supported
ov2680 1-0036: probe with driver ov2680 failed with error -22

I will send a v2 that documents 'clock-lanes', 'data-lanes', and
'link-frequencies'.
Sakari Ailus April 2, 2024, 8:30 a.m. UTC | #6
Hi Fabio,

On Mon, Apr 01, 2024 at 12:03:15PM -0300, Fabio Estevam wrote:
> Hi Sakari,
> 
> On Wed, Mar 27, 2024 at 7:30 PM Sakari Ailus
> <sakari.ailus@linux.intel.com> wrote:
> 
> > > In this case, the correct fix would be to remove 'clock-lanes' and
> > > 'data-lanes' from imx7s-warp.dts.
> >
> > Agreed.
> 
> I tried removing 'clock-lanes' and  'data-lanes', but it did not work:
> 
> ov2680 1-0036: error -EINVAL: only a 1-lane CSI2 config is supported
> ov2680 1-0036: probe with driver ov2680 failed with error -22

If it's a problem with the driver, you should fix the driver instead of
working around it in DT. Just remove the check.

> 
> I will send a v2 that documents 'clock-lanes', 'data-lanes', and
> 'link-frequencies'.
Fabio Estevam April 3, 2024, 2:32 p.m. UTC | #7
Hi Sakari,

On Tue, Apr 2, 2024 at 5:30 AM Sakari Ailus
<sakari.ailus@linux.intel.com> wrote:

> If it's a problem with the driver, you should fix the driver instead of
> working around it in DT. Just remove the check.

Makes sense. I will send a driver patch to remove the check.

I will wait for my ov2680 patches to be applied first and then I will
submit an additional one.

Thanks
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov2680.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov2680.yaml
index cf456f8d9ddc..ae104da067e9 100644
--- a/Documentation/devicetree/bindings/media/i2c/ovti,ov2680.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov2680.yaml
@@ -50,9 +50,22 @@  properties:
       Definition of the regulator used as digital power supply.
 
   port:
-    $ref: /schemas/graph.yaml#/properties/port
     description:
       A node containing an output port node.
+    $ref: /schemas/graph.yaml#/$defs/port-base
+    additionalProperties: false
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          clock-lanes:
+            const: 0
+
+          data-lanes:
+            const: 1
 
 required:
   - compatible
@@ -65,7 +78,7 @@  required:
   - reset-gpios
   - port
 
-additionalProperties: false
+unevaluatedProperties: false
 
 examples:
   - |
@@ -89,6 +102,8 @@  examples:
                 port {
                         ov2680_to_mipi: endpoint {
                                 remote-endpoint = <&mipi_from_sensor>;
+                                clock-lanes = <0>;
+                                data-lanes = <1>;
                         };
                 };
         };