Message ID | 20230106203909.184073-2-jacopo@jmondi.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: i2c: Add driver for OmniVision OV8858 | expand |
On 06/01/2023 21:39, Jacopo Mondi wrote: > From: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > > Add binding schema for the OmniVision OV8858 8 Megapixels camera sensor. > > Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > .../bindings/media/i2c/ovti,ov8858.yaml | 105 ++++++++++++++++++ > 1 file changed, 105 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml > new file mode 100644 > index 000000000000..002461a974f8 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml > @@ -0,0 +1,105 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/ovti,ov8858.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: OmniVision OV8858 Image Sensor > + > +maintainers: > + - Jacopo Mondi <jacopo.mondi@ideasonboard.com> > + - Nicholas Roth <nicholas@rothemail.net> > + > +description: | > + The OmniVision OV8858 is a color CMOS 8 Megapixels (3264x2448) image sensor > + controlled through an I2C-compatible SCCB bus. The sensor transmits images > + on a MIPI CSI-2 output interface with up to 4 data lanes. > + > +properties: > + compatible: > + const: ovti,ov8858 > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + description: XVCLK external clock > + > + clock-names: > + const: xvclk > + > + dvdd-supply: > + description: Digital Domain Power Supply > + > + avdd-supply: > + description: Analog Domain Power Supply > + > + dovdd-supply: > + description: I/O Domain Power Supply > + > + powerdown-gpios: > + description: PWDNB powerdown GPIO (active low) > + > + reset-gpios: > + description: XSHUTDN reset GPIO (active low) Here you need maxItems. I did not propose to remove it here. Best regards, Krzysztof
Hi Krzysztof On Sat, Jan 07, 2023 at 02:09:54PM +0100, Krzysztof Kozlowski wrote: > On 06/01/2023 21:39, Jacopo Mondi wrote: > > From: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > > > > Add binding schema for the OmniVision OV8858 8 Megapixels camera sensor. > > > > Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > --- > > .../bindings/media/i2c/ovti,ov8858.yaml | 105 ++++++++++++++++++ > > 1 file changed, 105 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml > > > > diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml > > new file mode 100644 > > index 000000000000..002461a974f8 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml > > @@ -0,0 +1,105 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/media/i2c/ovti,ov8858.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: OmniVision OV8858 Image Sensor > > + > > +maintainers: > > + - Jacopo Mondi <jacopo.mondi@ideasonboard.com> > > + - Nicholas Roth <nicholas@rothemail.net> > > + > > +description: | > > + The OmniVision OV8858 is a color CMOS 8 Megapixels (3264x2448) image sensor > > + controlled through an I2C-compatible SCCB bus. The sensor transmits images > > + on a MIPI CSI-2 output interface with up to 4 data lanes. > > + > > +properties: > > + compatible: > > + const: ovti,ov8858 > > + > > + reg: > > + maxItems: 1 > > + > > + clocks: > > + maxItems: 1 > > + description: XVCLK external clock > > + > > + clock-names: > > + const: xvclk > > + > > + dvdd-supply: > > + description: Digital Domain Power Supply > > + > > + avdd-supply: > > + description: Analog Domain Power Supply > > + > > + dovdd-supply: > > + description: I/O Domain Power Supply > > + > > + powerdown-gpios: > > + description: PWDNB powerdown GPIO (active low) > > + > > + reset-gpios: > > + description: XSHUTDN reset GPIO (active low) > > Here you need maxItems. I did not propose to remove it here. > I'm wondering why you can have multiple resets but not multiple powerdowns. Anyway, how is one supposed to know when maxItems is required or not, where should I look ? Thanks j > > Best regards, > Krzysztof >
On 07/01/2023 16:18, Jacopo Mondi wrote: > Hi Krzysztof > > On Sat, Jan 07, 2023 at 02:09:54PM +0100, Krzysztof Kozlowski wrote: >> On 06/01/2023 21:39, Jacopo Mondi wrote: >>> From: Jacopo Mondi <jacopo.mondi@ideasonboard.com> >>> >>> Add binding schema for the OmniVision OV8858 8 Megapixels camera sensor. >>> >>> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> >>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> >>> --- >>> .../bindings/media/i2c/ovti,ov8858.yaml | 105 ++++++++++++++++++ >>> 1 file changed, 105 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml >>> new file mode 100644 >>> index 000000000000..002461a974f8 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml >>> @@ -0,0 +1,105 @@ >>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>> +%YAML 1.2 >>> +--- >>> +$id: http://devicetree.org/schemas/media/i2c/ovti,ov8858.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: OmniVision OV8858 Image Sensor >>> + >>> +maintainers: >>> + - Jacopo Mondi <jacopo.mondi@ideasonboard.com> >>> + - Nicholas Roth <nicholas@rothemail.net> >>> + >>> +description: | >>> + The OmniVision OV8858 is a color CMOS 8 Megapixels (3264x2448) image sensor >>> + controlled through an I2C-compatible SCCB bus. The sensor transmits images >>> + on a MIPI CSI-2 output interface with up to 4 data lanes. >>> + >>> +properties: >>> + compatible: >>> + const: ovti,ov8858 >>> + >>> + reg: >>> + maxItems: 1 >>> + >>> + clocks: >>> + maxItems: 1 >>> + description: XVCLK external clock >>> + >>> + clock-names: >>> + const: xvclk >>> + >>> + dvdd-supply: >>> + description: Digital Domain Power Supply >>> + >>> + avdd-supply: >>> + description: Analog Domain Power Supply >>> + >>> + dovdd-supply: >>> + description: I/O Domain Power Supply >>> + >>> + powerdown-gpios: >>> + description: PWDNB powerdown GPIO (active low) >>> + >>> + reset-gpios: >>> + description: XSHUTDN reset GPIO (active low) >> >> Here you need maxItems. I did not propose to remove it here. >> > > I'm wondering why you can have multiple resets but not multiple > powerdowns. > > Anyway, how is one supposed to know when maxItems is required or not, > where should I look ? gpio-consumer-common.yaml Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml new file mode 100644 index 000000000000..002461a974f8 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov8858.yaml @@ -0,0 +1,105 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/ovti,ov8858.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: OmniVision OV8858 Image Sensor + +maintainers: + - Jacopo Mondi <jacopo.mondi@ideasonboard.com> + - Nicholas Roth <nicholas@rothemail.net> + +description: | + The OmniVision OV8858 is a color CMOS 8 Megapixels (3264x2448) image sensor + controlled through an I2C-compatible SCCB bus. The sensor transmits images + on a MIPI CSI-2 output interface with up to 4 data lanes. + +properties: + compatible: + const: ovti,ov8858 + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + description: XVCLK external clock + + clock-names: + const: xvclk + + dvdd-supply: + description: Digital Domain Power Supply + + avdd-supply: + description: Analog Domain Power Supply + + dovdd-supply: + description: I/O Domain Power Supply + + powerdown-gpios: + description: PWDNB powerdown GPIO (active low) + + reset-gpios: + description: XSHUTDN reset GPIO (active low) + + port: + description: MIPI CSI-2 transmitter port + $ref: /schemas/graph.yaml#/$defs/port-base + additionalProperties: false + + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + + properties: + data-lanes: + minItems: 1 + maxItems: 4 + + required: + - data-lanes + +required: + - compatible + - reg + - clocks + - port + +additionalProperties: false + +examples: + - | + #include <dt-bindings/pinctrl/rockchip.h> + #include <dt-bindings/clock/rk3399-cru.h> + #include <dt-bindings/gpio/gpio.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + ov8858: camera@36 { + compatible = "ovti,ov8858"; + reg = <0x36>; + + clocks = <&cru SCLK_CIF_OUT>; + clock-names = "xvclk"; + assigned-clocks = <&cru SCLK_CIF_OUT>; + assigned-clock-rates = <24000000>; + + dovdd-supply = <&vcc1v8_dvp>; + + reset-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>; + powerdown-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_LOW>; + + port { + ucam_out: endpoint { + remote-endpoint = <&mipi_in_ucam>; + data-lanes = <1 2 3 4>; + }; + }; + }; + }; +...