Message ID | 20230727154108.308320-2-umang.jain@ideasonboard.com |
---|---|
State | New |
Headers | show |
Series | media: i2c: imx519: Support for Sony IMX519 sensor | expand |
Hi Umang, On Thu, Jul 27, 2023 at 09:11:07PM +0530, Umang Jain wrote: > From: Lee Jackson <lee.jackson@arducam.com> > > Add YAML device tree binding documentation for IMX519 CMOS > image sensor. > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> > --- > .../bindings/media/i2c/sony,imx519.yaml | 113 ++++++++++++++++++ > 1 file changed, 113 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx519.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx519.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx519.yaml > new file mode 100644 > index 000000000000..6f38b09890d2 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx519.yaml > @@ -0,0 +1,113 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/imx519.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Sony 1/2.5-Inch 16Mpixel CMOS Digital Image Sensor > + > +maintainers: > + - Lee Jackson <lee.jackson@arducam.com> > + > +description: |- > + The Sony IMX519 is a 1/2.5-inch CMOS active pixel digital image sensor > + with an active array size of 4656H x 3496V. It is programmable through > + I2C interface. The I2C address is fixed to 0x1A as per sensor data sheet. > + Image data is sent through MIPI CSI-2, which is configured as either 2 or > + 4 data lanes. > + > +properties: > + compatible: > + const: sony,imx519 > + > + reg: > + description: I2C device address > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + VDIG-supply: > + description: > + Digital I/O voltage supply, 1.05 volts > + > + VANA-supply: > + description: > + Analog voltage supply, 2.8 volts > + > + VDDL-supply: > + description: > + Digital core voltage supply, 1.8 volts > + > + reset-gpios: > + description: |- > + Reference to the GPIO connected to the xclr pin, if any. > + Must be released (set high) after all supplies and INCK are applied. > + > + # See ../video-interfaces.txt for more details > + port: > + type: object > + properties: > + endpoint: > + type: object > + properties: I think you should have, something alike (from mipi-ccs.yaml): port: $ref: /schemas/graph.yaml#/$defs/port-base additionalProperties: false properties: endpoint: $ref: /schemas/media/video-interfaces.yaml# unevaluatedProperties: false See mipi-ccs.yaml on examples for some properties below. E.g. link-frequencies is described in video-interfaces.yaml, no need to describe it here. > + data-lanes: > + description: |- > + The sensor supports either two-lane, or four-lane operation. > + For two-lane operation the property must be set to <1 2>. > + items: > + - const: 1 > + - const: 2 I guess the device also supports single lane operation? In any case minItems/maxItems here should be enough. > + > + clock-noncontinuous: > + type: boolean > + description: |- > + MIPI CSI-2 clock is non-continuous if this property is present, > + otherwise it's continuous. > + > + link-frequencies: > + allOf: > + - $ref: /schemas/types.yaml#/definitions/uint64-array > + description: > + Allowed data bus frequencies. > + > + required: > + - link-frequencies > + > +required: > + - compatible > + - reg > + - clocks > + - VANA-supply > + - VDIG-supply > + - VDDL-supply > + - port > + > +additionalProperties: false > + > +examples: > + - | > + i2c0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + imx519: sensor@1a { > + compatible = "sony,imx519"; > + reg = <0x1a>; > + clocks = <&imx519_clk>; > + VANA-supply = <&imx519_vana>; /* 2.8v */ > + VDIG-supply = <&imx519_vdig>; /* 1.05v */ > + VDDL-supply = <&imx519_vddl>; /* 1.8v */ > + > + port { > + imx519_0: endpoint { > + remote-endpoint = <&csi1_ep>; > + data-lanes = <1 2>; > + clock-noncontinuous; > + link-frequencies = /bits/ 64 <408000000>; > + }; > + }; > + }; > + }; > + > +...
diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx519.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx519.yaml new file mode 100644 index 000000000000..6f38b09890d2 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx519.yaml @@ -0,0 +1,113 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/imx519.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sony 1/2.5-Inch 16Mpixel CMOS Digital Image Sensor + +maintainers: + - Lee Jackson <lee.jackson@arducam.com> + +description: |- + The Sony IMX519 is a 1/2.5-inch CMOS active pixel digital image sensor + with an active array size of 4656H x 3496V. It is programmable through + I2C interface. The I2C address is fixed to 0x1A as per sensor data sheet. + Image data is sent through MIPI CSI-2, which is configured as either 2 or + 4 data lanes. + +properties: + compatible: + const: sony,imx519 + + reg: + description: I2C device address + maxItems: 1 + + clocks: + maxItems: 1 + + VDIG-supply: + description: + Digital I/O voltage supply, 1.05 volts + + VANA-supply: + description: + Analog voltage supply, 2.8 volts + + VDDL-supply: + description: + Digital core voltage supply, 1.8 volts + + reset-gpios: + description: |- + Reference to the GPIO connected to the xclr pin, if any. + Must be released (set high) after all supplies and INCK are applied. + + # See ../video-interfaces.txt for more details + port: + type: object + properties: + endpoint: + type: object + properties: + data-lanes: + description: |- + The sensor supports either two-lane, or four-lane operation. + For two-lane operation the property must be set to <1 2>. + items: + - const: 1 + - const: 2 + + clock-noncontinuous: + type: boolean + description: |- + MIPI CSI-2 clock is non-continuous if this property is present, + otherwise it's continuous. + + link-frequencies: + allOf: + - $ref: /schemas/types.yaml#/definitions/uint64-array + description: + Allowed data bus frequencies. + + required: + - link-frequencies + +required: + - compatible + - reg + - clocks + - VANA-supply + - VDIG-supply + - VDDL-supply + - port + +additionalProperties: false + +examples: + - | + i2c0 { + #address-cells = <1>; + #size-cells = <0>; + + imx519: sensor@1a { + compatible = "sony,imx519"; + reg = <0x1a>; + clocks = <&imx519_clk>; + VANA-supply = <&imx519_vana>; /* 2.8v */ + VDIG-supply = <&imx519_vdig>; /* 1.05v */ + VDDL-supply = <&imx519_vddl>; /* 1.8v */ + + port { + imx519_0: endpoint { + remote-endpoint = <&csi1_ep>; + data-lanes = <1 2>; + clock-noncontinuous; + link-frequencies = /bits/ 64 <408000000>; + }; + }; + }; + }; + +...