Message ID | 20240417133453.17406-2-sylvain.petinot@foss.st.com |
---|---|
State | Changes Requested |
Headers | show |
Series | media: Add driver for ST VD56G3 camera sensor | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success | |
robh/patch-applied | success | |
robh/dtbs-check | warning | build log |
robh/dt-meta-schema | success |
On Wed, Apr 17, 2024 at 03:34:52PM +0200, Sylvain Petinot wrote: > Add devicetree bindings Documentation for ST VD56G3 & ST VD66GY camera > sensors. Update MAINTAINERS file. > > Signed-off-by: Sylvain Petinot <sylvain.petinot@foss.st.com> > --- > .../bindings/media/i2c/st,st-vd56g3.yaml | 143 ++++++++++++++++++ > MAINTAINERS | 9 ++ > 2 files changed, 152 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml b/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml > new file mode 100644 > index 000000000000..6792c02fea5c > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml > @@ -0,0 +1,143 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright (c) 2024 STMicroelectronics SA. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/st,st-vd56g3.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: STMicroelectronics VD56G3 Global Shutter Image Sensor > + > +maintainers: > + - Benjamin Mugnier <benjamin.mugnier@foss.st.com> > + - Sylvain Petinot <sylvain.petinot@foss.st.com> > + > +description: |- > + The STMicroelectronics VD56G3 is a 1.5 M pixel global shutter image sensor > + with an active array size of 1124 x 1364 (portrait orientation). > + It is programmable through I2C, the address is fixed to 0x10. > + The sensor output is available via CSI-2, which is configured as either 1 or > + 2 data lanes. > + The sensor provides 8 GPIOS that can be used for either > + - frame synchronization (Master: out-sync or Slave: in-sync) > + - external LED signal (synchronized with sensor integration periods) > + > +properties: > + compatible: > + enum: > + - st,st-vd56g3 > + - st,st-vd66gy > + description: > + Two variants are availables; VD56G3 is a monochrome sensor while VD66GY > + is a colour variant. > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + VCORE-supply: Convention is lowercase. > + 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: > + Sensor's GPIOs used for external LED control. > + Signal being the enveloppe of the integration time. > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 1 > + maxItems: 8 > + items: > + minimum: 0 > + maximum: 7 > + > + port: > + $ref: /schemas/graph.yaml#/$defs/port-base > + > + properties: > + endpoint: > + $ref: /schemas/media/video-interfaces.yaml# > + unevaluatedProperties: false > + > + properties: > + clock-lanes: > + const: 0 If required and only 1 possible value, why does this need to be in DT? > + > + data-lanes: > + minItems: 1 > + maxItems: 2 > + items: > + enum: [1, 2] > + > + link-frequencies: > + minItems: 1 > + maxItems: 1 > + items: > + enum: [402000000, 750000000] > + > + lane-polarities: > + minItems: 1 > + maxItems: 3 > + items: > + enum: [0, 1] video-interfaces.yaml already defines this constraint, so you just need to define how many entries. > + description: Any lane can be inverted or not. > + > + required: > + - clock-lanes > + - data-lanes > + - link-frequencies > + > +required: > + - compatible > + - reg > + - clocks > + - VCORE-supply > + - VDDIO-supply > + - VANA-supply > + - reset-gpios > + - port > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + vd56g3: camera-sensor@10 { Drop unused labels. > + compatible = "st,st-vd56g3"; > + 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 = <6>; > + > + port { > + vd56g3_ep: endpoint { > + clock-lanes = <0>; > + data-lanes = <1 2>; > + link-frequencies = > + /bits/ 64 <402000000>; > + remote-endpoint = <&csiphy0_ep>; > + }; > + }; > + }; > + }; > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index 7c121493f43d..991e65627e18 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -20868,6 +20868,15 @@ S: Maintained > F: Documentation/hwmon/stpddc60.rst > F: drivers/hwmon/pmbus/stpddc60.c > > +ST VD56G3 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 > +T: git git://linuxtv.org/media_tree.git This should be covered by the media maintainer entry. > +F: Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml > +F: drivers/media/i2c/st-vd56g3.c > + > ST VGXY61 DRIVER > M: Benjamin Mugnier <benjamin.mugnier@foss.st.com> > M: Sylvain Petinot <sylvain.petinot@foss.st.com> > -- > 2.17.1 >
Hi Sylvain, Thanks for the patch. On Wed, Apr 17, 2024 at 03:34:52PM +0200, Sylvain Petinot wrote: > Add devicetree bindings Documentation for ST VD56G3 & ST VD66GY camera > sensors. Update MAINTAINERS file. > > Signed-off-by: Sylvain Petinot <sylvain.petinot@foss.st.com> > --- > .../bindings/media/i2c/st,st-vd56g3.yaml | 143 ++++++++++++++++++ > MAINTAINERS | 9 ++ > 2 files changed, 152 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml b/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml > new file mode 100644 > index 000000000000..6792c02fea5c > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml > @@ -0,0 +1,143 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright (c) 2024 STMicroelectronics SA. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/st,st-vd56g3.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: STMicroelectronics VD56G3 Global Shutter Image Sensor > + > +maintainers: > + - Benjamin Mugnier <benjamin.mugnier@foss.st.com> > + - Sylvain Petinot <sylvain.petinot@foss.st.com> > + > +description: |- > + The STMicroelectronics VD56G3 is a 1.5 M pixel global shutter image sensor > + with an active array size of 1124 x 1364 (portrait orientation). > + It is programmable through I2C, the address is fixed to 0x10. > + The sensor output is available via CSI-2, which is configured as either 1 or > + 2 data lanes. The flow of the text could be improved by wrapping the text before 80 columns (not earlier). Most editors can do this. > + The sensor provides 8 GPIOS that can be used for either > + - frame synchronization (Master: out-sync or Slave: in-sync) > + - external LED signal (synchronized with sensor integration periods) > + > +properties: > + compatible: > + enum: > + - st,st-vd56g3 > + - st,st-vd66gy > + description: > + Two variants are availables; VD56G3 is a monochrome sensor while VD66GY > + is a colour variant. > + > + 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: > + Sensor's GPIOs used for external LED control. > + Signal being the enveloppe of the integration time. > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 1 > + maxItems: 8 > + items: > + minimum: 0 > + maximum: 7 > + > + port: > + $ref: /schemas/graph.yaml#/$defs/port-base > + > + properties: > + endpoint: > + $ref: /schemas/media/video-interfaces.yaml# > + unevaluatedProperties: false > + > + properties: > + clock-lanes: > + const: 0 If the clock lane is always zero, you can drop the property. > + > + data-lanes: > + minItems: 1 > + maxItems: 2 > + items: > + enum: [1, 2] > + > + link-frequencies: > + minItems: 1 > + maxItems: 1 > + items: > + enum: [402000000, 750000000] Is this a property of the sensor or the driver? Presumably the driver? What about the input clock frequency? > + > + lane-polarities: > + minItems: 1 > + maxItems: 3 > + items: > + enum: [0, 1] The items are already in video-interfaces.yaml. > + description: Any lane can be inverted or not. > + > + required: > + - clock-lanes > + - data-lanes > + - link-frequencies > + > +required: > + - compatible > + - reg > + - clocks > + - VCORE-supply > + - VDDIO-supply > + - VANA-supply > + - reset-gpios > + - port > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + vd56g3: camera-sensor@10 { > + compatible = "st,st-vd56g3"; > + 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 = <6>; > + > + port { > + vd56g3_ep: endpoint { > + clock-lanes = <0>; > + data-lanes = <1 2>; > + link-frequencies = > + /bits/ 64 <402000000>; No need for a newline after "=". > + remote-endpoint = <&csiphy0_ep>; > + }; > + }; > + }; > + }; > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index 7c121493f43d..991e65627e18 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -20868,6 +20868,15 @@ S: Maintained > F: Documentation/hwmon/stpddc60.rst > F: drivers/hwmon/pmbus/stpddc60.c > > +ST VD56G3 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 > +T: git git://linuxtv.org/media_tree.git > +F: Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml > +F: drivers/media/i2c/st-vd56g3.c > + > ST VGXY61 DRIVER > M: Benjamin Mugnier <benjamin.mugnier@foss.st.com> > M: Sylvain Petinot <sylvain.petinot@foss.st.com>
diff --git a/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml b/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml new file mode 100644 index 000000000000..6792c02fea5c --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml @@ -0,0 +1,143 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright (c) 2024 STMicroelectronics SA. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/st,st-vd56g3.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: STMicroelectronics VD56G3 Global Shutter Image Sensor + +maintainers: + - Benjamin Mugnier <benjamin.mugnier@foss.st.com> + - Sylvain Petinot <sylvain.petinot@foss.st.com> + +description: |- + The STMicroelectronics VD56G3 is a 1.5 M pixel global shutter image sensor + with an active array size of 1124 x 1364 (portrait orientation). + It is programmable through I2C, the address is fixed to 0x10. + The sensor output is available via CSI-2, which is configured as either 1 or + 2 data lanes. + The sensor provides 8 GPIOS that can be used for either + - frame synchronization (Master: out-sync or Slave: in-sync) + - external LED signal (synchronized with sensor integration periods) + +properties: + compatible: + enum: + - st,st-vd56g3 + - st,st-vd66gy + description: + Two variants are availables; VD56G3 is a monochrome sensor while VD66GY + is a colour variant. + + 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: + Sensor's GPIOs used for external LED control. + Signal being the enveloppe of the integration time. + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 1 + maxItems: 8 + items: + minimum: 0 + maximum: 7 + + port: + $ref: /schemas/graph.yaml#/$defs/port-base + + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + + properties: + clock-lanes: + const: 0 + + data-lanes: + minItems: 1 + maxItems: 2 + items: + enum: [1, 2] + + link-frequencies: + minItems: 1 + maxItems: 1 + items: + enum: [402000000, 750000000] + + lane-polarities: + minItems: 1 + maxItems: 3 + items: + enum: [0, 1] + description: Any lane can be inverted or not. + + required: + - clock-lanes + - data-lanes + - link-frequencies + +required: + - compatible + - reg + - clocks + - VCORE-supply + - VDDIO-supply + - VANA-supply + - reset-gpios + - port + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + vd56g3: camera-sensor@10 { + compatible = "st,st-vd56g3"; + 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 = <6>; + + port { + vd56g3_ep: endpoint { + clock-lanes = <0>; + data-lanes = <1 2>; + link-frequencies = + /bits/ 64 <402000000>; + remote-endpoint = <&csiphy0_ep>; + }; + }; + }; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index 7c121493f43d..991e65627e18 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -20868,6 +20868,15 @@ S: Maintained F: Documentation/hwmon/stpddc60.rst F: drivers/hwmon/pmbus/stpddc60.c +ST VD56G3 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 +T: git git://linuxtv.org/media_tree.git +F: Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml +F: drivers/media/i2c/st-vd56g3.c + ST VGXY61 DRIVER M: Benjamin Mugnier <benjamin.mugnier@foss.st.com> M: Sylvain Petinot <sylvain.petinot@foss.st.com>
Add devicetree bindings Documentation for ST VD56G3 & ST VD66GY camera sensors. Update MAINTAINERS file. Signed-off-by: Sylvain Petinot <sylvain.petinot@foss.st.com> --- .../bindings/media/i2c/st,st-vd56g3.yaml | 143 ++++++++++++++++++ MAINTAINERS | 9 ++ 2 files changed, 152 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml