Message ID | 20250401-b4-vd55g1-v2-1-0c8ab8a48c55@foss.st.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | media: Add support for ST VD55G1 camera sensor | expand |
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
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
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 >
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 >
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
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
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 >
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
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.
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
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
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
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>
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(+)