[PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding

Benjamin Mugnier posted 2 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Benjamin Mugnier 1 month, 1 week ago
Also update MAINTAINERS file accordingly.

Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
---
 .../devicetree/bindings/media/i2c/st,vd55g1.yaml   | 132 +++++++++++++++++++++
 MAINTAINERS                                        |   7 ++
 2 files changed, 139 insertions(+)

diff --git a/Documentation/devicetree/bindings/media/i2c/st,vd55g1.yaml b/Documentation/devicetree/bindings/media/i2c/st,vd55g1.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..20abcf08ae05df8849727c33c1d7d574710076ba
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/st,vd55g1.yaml
@@ -0,0 +1,132 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright (c) 2025 STMicroelectronics SA.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/st,vd55g1.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: STMicroelectronics VD55G1 Global Shutter Image Sensor
+
+maintainers:
+  - Benjamin Mugnier <benjamin.mugnier@foss.st.com>
+  - Sylvain Petinot <sylvain.petinot@foss.st.com>
+
+description: |-
+ The STMicroelectronics VD55G1 is a global shutter image sensor with an active
+ array size of 804H x 704V. It is programmable through I2C interface. The I2C
+ address is fixed to 0x10.
+ Image data is sent through MIPI CSI-2, which is configured as only 1 data
+ lane. The sensor provides 4 GPIOS that can be used for external LED signal
+ (synchronized with sensor integration periods).
+
+allOf:
+  - $ref: /schemas/media/video-interface-devices.yaml#
+
+properties:
+  compatible:
+    const: st,vd55g1
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  vcore-supply:
+    description: Digital core power supply (1.15V)
+
+  vddio-supply:
+    description: Digital IO power supply (1.8V)
+
+  vana-supply:
+    description: Analog power supply (2.8V)
+
+  reset-gpios:
+    description: Sensor reset active low GPIO (XSHUTDOWN)
+    maxItems: 1
+
+  st,leds:
+    description:
+      List sensor's GPIOs used to control strobe light sources during exposure
+      time. The numbers identify the sensor pin on which the illumination
+      system is connected. GPIOs are active-high.
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 1
+    maxItems: 4
+    items:
+      minimum: 0
+      maximum: 3
+
+  port:
+    $ref: /schemas/graph.yaml#/$defs/port-base
+    additionalProperties: false
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          data-lanes:
+            items:
+              const: 1
+
+          link-frequencies:
+            maxItems: 1
+            items:
+              minimum: 125000000
+              maximum: 600000000
+
+          lane-polarities:
+            minItems: 1
+            maxItems: 2
+
+        required:
+          - data-lanes
+          - link-frequencies
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - vcore-supply
+  - vddio-supply
+  - vana-supply
+  - reset-gpios
+  - port
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        camera-sensor@10 {
+            compatible = "st,vd55g1";
+            reg = <0x10>;
+
+            clocks = <&camera_clk_12M>;
+
+            vcore-supply = <&camera_vcore_v1v15>;
+            vddio-supply = <&camera_vddio_v1v8>;
+            vana-supply = <&camera_vana_v2v8>;
+
+            reset-gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+            st,leds = <2>;
+
+            orientation = <2>;
+            rotation = <0>;
+
+            port {
+                endpoint {
+                    data-lanes = <1>;
+                    link-frequencies = /bits/ 64 <600000000>;
+                    remote-endpoint = <&csiphy0_ep>;
+                };
+            };
+        };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 2286200b355bde3604607be916ef09aa88feed0e..4f5e9005063a157de69e81b10f8def9da9e6c04c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -22410,6 +22410,13 @@ S:	Maintained
 F:	Documentation/hwmon/stpddc60.rst
 F:	drivers/hwmon/pmbus/stpddc60.c
 
+ST VD55G1 DRIVER
+M:	Benjamin Mugnier <benjamin.mugnier@foss.st.com>
+M:	Sylvain Petinot <sylvain.petinot@foss.st.com>
+L:	linux-media@vger.kernel.org
+S:	Maintained
+F:	Documentation/devicetree/bindings/media/i2c/st,vd55g1.yaml
+
 ST VGXY61 DRIVER
 M:	Benjamin Mugnier <benjamin.mugnier@foss.st.com>
 M:	Sylvain Petinot <sylvain.petinot@foss.st.com>

-- 
2.25.1
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Krzysztof Kozlowski 1 month ago
On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
> +    properties:
> +      endpoint:
> +        $ref: /schemas/media/video-interfaces.yaml#
> +        unevaluatedProperties: false
> +
> +        properties:
> +          data-lanes:
> +            items:
> +              const: 1

Not what I asked. Now you miss number of items. Just use the syntax I
proposed. Or was there any issue with it?

> +
> +          link-frequencies:
> +            maxItems: 1
> +            items:
> +              minimum: 125000000
> +              maximum: 600000000

Best regards,
Krzysztof
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Benjamin Mugnier 1 month ago
Hi Krzysztof,

On 4/2/25 09:08, Krzysztof Kozlowski wrote:
> On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
>> +    properties:
>> +      endpoint:
>> +        $ref: /schemas/media/video-interfaces.yaml#
>> +        unevaluatedProperties: false
>> +
>> +        properties:
>> +          data-lanes:
>> +            items:
>> +              const: 1
> 
> Not what I asked. Now you miss number of items. Just use the syntax I
> proposed. Or was there any issue with it?

No issue I just misunderstood and thought const: 1 was impliying
maxItems: 1. I'll add maxItems back.

> 
>> +
>> +          link-frequencies:
>> +            maxItems: 1
>> +            items:
>> +              minimum: 125000000
>> +              maximum: 600000000
> 
> Best regards,
> Krzysztof
> 

-- 
Regards,
Benjamin
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Krzysztof Kozlowski 1 month ago
On 02/04/2025 10:34, Benjamin Mugnier wrote:
> Hi Krzysztof,
> 
> On 4/2/25 09:08, Krzysztof Kozlowski wrote:
>> On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
>>> +    properties:
>>> +      endpoint:
>>> +        $ref: /schemas/media/video-interfaces.yaml#
>>> +        unevaluatedProperties: false
>>> +
>>> +        properties:
>>> +          data-lanes:
>>> +            items:
>>> +              const: 1
>>
>> Not what I asked. Now you miss number of items. Just use the syntax I
>> proposed. Or was there any issue with it?
> 
> No issue I just misunderstood and thought const: 1 was impliying
> maxItems: 1. I'll add maxItems back.

That's just longer way to express what I asked for. So I repeat the
question: why not using the syntax I asked for?

Best regards,
Krzysztof
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Benjamin Mugnier 1 month ago
On 4/2/25 11:11, Krzysztof Kozlowski wrote:
> On 02/04/2025 10:34, Benjamin Mugnier wrote:
>> Hi Krzysztof,
>>
>> On 4/2/25 09:08, Krzysztof Kozlowski wrote:
>>> On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
>>>> +    properties:
>>>> +      endpoint:
>>>> +        $ref: /schemas/media/video-interfaces.yaml#
>>>> +        unevaluatedProperties: false
>>>> +
>>>> +        properties:
>>>> +          data-lanes:
>>>> +            items:
>>>> +              const: 1
>>>
>>> Not what I asked. Now you miss number of items. Just use the syntax I
>>> proposed. Or was there any issue with it?
>>
>> No issue I just misunderstood and thought const: 1 was impliying
>> maxItems: 1. I'll add maxItems back.
> 
> That's just longer way to express what I asked for. So I repeat the
> question: why not using the syntax I asked for?

I guess I didn't understand what you asked for.
May I ask you to write it ? That will help me a lot.

> 
> Best regards,
> Krzysztof

-- 
Regards,
Benjamin
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Benjamin Mugnier 1 month ago
On 4/2/25 11:38, Benjamin Mugnier wrote:
> On 4/2/25 11:11, Krzysztof Kozlowski wrote:
>> On 02/04/2025 10:34, Benjamin Mugnier wrote:
>>> Hi Krzysztof,
>>>
>>> On 4/2/25 09:08, Krzysztof Kozlowski wrote:
>>>> On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
>>>>> +    properties:
>>>>> +      endpoint:
>>>>> +        $ref: /schemas/media/video-interfaces.yaml#
>>>>> +        unevaluatedProperties: false
>>>>> +
>>>>> +        properties:
>>>>> +          data-lanes:
>>>>> +            items:
>>>>> +              const: 1
>>>>
>>>> Not what I asked. Now you miss number of items. Just use the syntax I
>>>> proposed. Or was there any issue with it?
>>>
>>> No issue I just misunderstood and thought const: 1 was impliying
>>> maxItems: 1. I'll add maxItems back.
>>
>> That's just longer way to express what I asked for. So I repeat the
>> question: why not using the syntax I asked for?
> 
> I guess I didn't understand what you asked for.
> May I ask you to write it ? That will help me a lot.

By 'it' I mean the binding.

> 
>>
>> Best regards,
>> Krzysztof
> 

-- 
Regards,
Benjamin
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Krzysztof Kozlowski 1 month ago
On 02/04/2025 11:41, Benjamin Mugnier wrote:
> 
> 
> On 4/2/25 11:38, Benjamin Mugnier wrote:
>> On 4/2/25 11:11, Krzysztof Kozlowski wrote:
>>> On 02/04/2025 10:34, Benjamin Mugnier wrote:
>>>> Hi Krzysztof,
>>>>
>>>> On 4/2/25 09:08, Krzysztof Kozlowski wrote:
>>>>> On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
>>>>>> +    properties:
>>>>>> +      endpoint:
>>>>>> +        $ref: /schemas/media/video-interfaces.yaml#
>>>>>> +        unevaluatedProperties: false
>>>>>> +
>>>>>> +        properties:
>>>>>> +          data-lanes:
>>>>>> +            items:
>>>>>> +              const: 1
>>>>>
>>>>> Not what I asked. Now you miss number of items. Just use the syntax I
>>>>> proposed. Or was there any issue with it?
>>>>
>>>> No issue I just misunderstood and thought const: 1 was impliying
>>>> maxItems: 1. I'll add maxItems back.
>>>
>>> That's just longer way to express what I asked for. So I repeat the
>>> question: why not using the syntax I asked for?
>>
>> I guess I didn't understand what you asked for.
>> May I ask you to write it ? That will help me a lot.
> 
> By 'it' I mean the binding.
I wrote it last time. I don't think that copying the same here would
change anything. If I can look at v1, you can do as well.

Best regards,
Krzysztof
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Laurent Pinchart 1 month ago
On Wed, Apr 02, 2025 at 12:27:08PM +0200, Krzysztof Kozlowski wrote:
> On 02/04/2025 11:41, Benjamin Mugnier wrote:
> > On 4/2/25 11:38, Benjamin Mugnier wrote:
> >> On 4/2/25 11:11, Krzysztof Kozlowski wrote:
> >>> On 02/04/2025 10:34, Benjamin Mugnier wrote:
> >>>> Hi Krzysztof,
> >>>>
> >>>> On 4/2/25 09:08, Krzysztof Kozlowski wrote:
> >>>>> On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
> >>>>>> +    properties:
> >>>>>> +      endpoint:
> >>>>>> +        $ref: /schemas/media/video-interfaces.yaml#
> >>>>>> +        unevaluatedProperties: false
> >>>>>> +
> >>>>>> +        properties:
> >>>>>> +          data-lanes:
> >>>>>> +            items:
> >>>>>> +              const: 1
> >>>>>
> >>>>> Not what I asked. Now you miss number of items. Just use the syntax I
> >>>>> proposed. Or was there any issue with it?
> >>>>
> >>>> No issue I just misunderstood and thought const: 1 was impliying
> >>>> maxItems: 1. I'll add maxItems back.
> >>>
> >>> That's just longer way to express what I asked for. So I repeat the
> >>> question: why not using the syntax I asked for?
> >>
> >> I guess I didn't understand what you asked for.
> >> May I ask you to write it ? That will help me a lot.
> > 
> > By 'it' I mean the binding.
>
> I wrote it last time. I don't think that copying the same here would
> change anything. If I can look at v1, you can do as well.

Reading your comment on v1, I would have come up with the exact same
result as Benjamin's v2. I can't figure out what alternative description
you meant.

-- 
Regards,

Laurent Pinchart
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Rob Herring 1 month ago
On Wed, Apr 02, 2025 at 03:46:05PM +0300, Laurent Pinchart wrote:
> On Wed, Apr 02, 2025 at 12:27:08PM +0200, Krzysztof Kozlowski wrote:
> > On 02/04/2025 11:41, Benjamin Mugnier wrote:
> > > On 4/2/25 11:38, Benjamin Mugnier wrote:
> > >> On 4/2/25 11:11, Krzysztof Kozlowski wrote:
> > >>> On 02/04/2025 10:34, Benjamin Mugnier wrote:
> > >>>> Hi Krzysztof,
> > >>>>
> > >>>> On 4/2/25 09:08, Krzysztof Kozlowski wrote:
> > >>>>> On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
> > >>>>>> +    properties:
> > >>>>>> +      endpoint:
> > >>>>>> +        $ref: /schemas/media/video-interfaces.yaml#
> > >>>>>> +        unevaluatedProperties: false
> > >>>>>> +
> > >>>>>> +        properties:
> > >>>>>> +          data-lanes:
> > >>>>>> +            items:
> > >>>>>> +              const: 1
> > >>>>>
> > >>>>> Not what I asked. Now you miss number of items. Just use the syntax I
> > >>>>> proposed. Or was there any issue with it?
> > >>>>
> > >>>> No issue I just misunderstood and thought const: 1 was impliying
> > >>>> maxItems: 1. I'll add maxItems back.
> > >>>
> > >>> That's just longer way to express what I asked for. So I repeat the
> > >>> question: why not using the syntax I asked for?
> > >>
> > >> I guess I didn't understand what you asked for.
> > >> May I ask you to write it ? That will help me a lot.
> > > 
> > > By 'it' I mean the binding.
> >
> > I wrote it last time. I don't think that copying the same here would
> > change anything. If I can look at v1, you can do as well.
> 
> Reading your comment on v1, I would have come up with the exact same
> result as Benjamin's v2. I can't figure out what alternative description
> you meant.

The '-' or lack of is the key part here. That's easy to miss visually 
and the significance is missed for newcomers. It is worth mentioning the 
significance when that's the issue even if providing the exact code to 
use.

Rob
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Krzysztof Kozlowski 1 month ago
On 02/04/2025 14:46, Laurent Pinchart wrote:
> On Wed, Apr 02, 2025 at 12:27:08PM +0200, Krzysztof Kozlowski wrote:
>> On 02/04/2025 11:41, Benjamin Mugnier wrote:
>>> On 4/2/25 11:38, Benjamin Mugnier wrote:
>>>> On 4/2/25 11:11, Krzysztof Kozlowski wrote:
>>>>> On 02/04/2025 10:34, Benjamin Mugnier wrote:
>>>>>> Hi Krzysztof,
>>>>>>
>>>>>> On 4/2/25 09:08, Krzysztof Kozlowski wrote:
>>>>>>> On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
>>>>>>>> +    properties:
>>>>>>>> +      endpoint:
>>>>>>>> +        $ref: /schemas/media/video-interfaces.yaml#
>>>>>>>> +        unevaluatedProperties: false
>>>>>>>> +
>>>>>>>> +        properties:
>>>>>>>> +          data-lanes:
>>>>>>>> +            items:
>>>>>>>> +              const: 1
>>>>>>>
>>>>>>> Not what I asked. Now you miss number of items. Just use the syntax I
>>>>>>> proposed. Or was there any issue with it?
>>>>>>
>>>>>> No issue I just misunderstood and thought const: 1 was impliying
>>>>>> maxItems: 1. I'll add maxItems back.
>>>>>
>>>>> That's just longer way to express what I asked for. So I repeat the
>>>>> question: why not using the syntax I asked for?
>>>>
>>>> I guess I didn't understand what you asked for.
>>>> May I ask you to write it ? That will help me a lot.
>>>
>>> By 'it' I mean the binding.
>>
>> I wrote it last time. I don't think that copying the same here would
>> change anything. If I can look at v1, you can do as well.
> 
> Reading your comment on v1, I would have come up with the exact same
> result as Benjamin's v2. I can't figure out what alternative description
> you meant.
What do you mean by description? I pasted code. The *exact* code to use.
Benjamin used different code. Two times I asked why you cannot use the
code I pasted. Still no answer.

Best regards,
Krzysztof
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Benjamin Mugnier 1 month ago
On 4/2/25 14:55, Krzysztof Kozlowski wrote:
> On 02/04/2025 14:46, Laurent Pinchart wrote:
>> On Wed, Apr 02, 2025 at 12:27:08PM +0200, Krzysztof Kozlowski wrote:
>>> On 02/04/2025 11:41, Benjamin Mugnier wrote:
>>>> On 4/2/25 11:38, Benjamin Mugnier wrote:
>>>>> On 4/2/25 11:11, Krzysztof Kozlowski wrote:
>>>>>> On 02/04/2025 10:34, Benjamin Mugnier wrote:
>>>>>>> Hi Krzysztof,
>>>>>>>
>>>>>>> On 4/2/25 09:08, Krzysztof Kozlowski wrote:
>>>>>>>> On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
>>>>>>>>> +    properties:
>>>>>>>>> +      endpoint:
>>>>>>>>> +        $ref: /schemas/media/video-interfaces.yaml#
>>>>>>>>> +        unevaluatedProperties: false
>>>>>>>>> +
>>>>>>>>> +        properties:
>>>>>>>>> +          data-lanes:
>>>>>>>>> +            items:
>>>>>>>>> +              const: 1
>>>>>>>>
>>>>>>>> Not what I asked. Now you miss number of items. Just use the syntax I
>>>>>>>> proposed. Or was there any issue with it?
>>>>>>>
>>>>>>> No issue I just misunderstood and thought const: 1 was impliying
>>>>>>> maxItems: 1. I'll add maxItems back.
>>>>>>
>>>>>> That's just longer way to express what I asked for. So I repeat the
>>>>>> question: why not using the syntax I asked for?
>>>>>
>>>>> I guess I didn't understand what you asked for.
>>>>> May I ask you to write it ? That will help me a lot.
>>>>
>>>> By 'it' I mean the binding.
>>>
>>> I wrote it last time. I don't think that copying the same here would
>>> change anything. If I can look at v1, you can do as well.
>>
>> Reading your comment on v1, I would have come up with the exact same
>> result as Benjamin's v2. I can't figure out what alternative description
>> you meant.
> What do you mean by description? I pasted code. The *exact* code to use.
> Benjamin used different code. Two times I asked why you cannot use the
> code I pasted. Still no answer.

I'm sorry, thanks to the help over #linux-media we realized I missed the
'-' before const. I'm not very knowledgeable in device tree binding syntax.
I'll push a v4 with that.

> 
> Best regards,
> Krzysztof

-- 
Regards,
Benjamin
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Krzysztof Kozlowski 1 month ago
On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
> Also update MAINTAINERS file accordingly.

Since there will be one more version:

A nit, subject: drop second/last, redundant "binding". The
"dt-bindings" prefix is already stating that these are bindings.
See also:
https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18

Best regards,
Krzysztof
Re: [PATCH v2 1/2] media: dt-bindings: Add ST VD55G1 camera sensor binding
Posted by Benjamin Mugnier 1 month ago
Hi Krzysztof,

On 4/2/25 09:08, Krzysztof Kozlowski wrote:
> On Tue, Apr 01, 2025 at 01:05:58PM +0200, Benjamin Mugnier wrote:
>> Also update MAINTAINERS file accordingly.
> 
> Since there will be one more version:
> 
> A nit, subject: drop second/last, redundant "binding". The
> "dt-bindings" prefix is already stating that these are bindings.

Thanks for pointing this out, I'll remove the spurious "binding" then.

> See also:
> https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
> 
> Best regards,
> Krzysztof
> 

-- 
Regards,
Benjamin