Re: [PATCH v2 1/2] dt-bindings: media: i2c: Add IMX219 CMOS sensor binding
From: Rob Herring <robh@kernel.org>
Date: 2020-01-04 21:53:27
Also in:
linux-media
On Fri, Dec 27, 2019 at 03:21:13PM +0300, Andrey Konovalov wrote:
quoted hunk ↗ jump to hunk
Add YAML device tree binding for IMX219 CMOS image sensor, and the relevant MAINTAINERS entries. Signed-off-by: Andrey Konovalov <redacted> --- .../devicetree/bindings/media/i2c/imx219.yaml | 134 ++++++++++++++++++ MAINTAINERS | 8 ++ 2 files changed, 142 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/imx219.yamldiff --git a/Documentation/devicetree/bindings/media/i2c/imx219.yaml b/Documentation/devicetree/bindings/media/i2c/imx219.yaml new file mode 100644 index 000000000000..b58aa49a7c03 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/imx219.yaml@@ -0,0 +1,134 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/imx219.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sony 1/4.0-Inch 8Mpixel CMOS Digital Image Sensor + +maintainers: + - Dave Stevenson <dave.stevenson@raspberrypi.com> + +description: |- + The Sony imx219 is a 1/4.0-inch CMOS active pixel digital image sensor + with an active array size of 3280H x 2464V. It is programmable through + I2C interface. The I2C address is fixed to 0x10 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,imx219 + + reg: + description: I2C device address + maxItems: 1 + + clocks: + maxItems: 1 + + clock-names: + items: + - const: xclk + + VDIG-supply: + description: + Digital I/O voltage supply, 1.8 volts + + VANA-supply: + description: + Analog voltage supply, 2.8 volts + + VDDL-supply: + description: + Digital core voltage supply, 1.2 volts + + xclr-gpios: + description: |- + Reference to the GPIO connected to the xclr pin, if any. + Must be released (set high) after all supplies are applied. + + camera-clk: + type: object + + description: Clock source for imx219
This clock is external to the sensor, so a node for a fixed clock should be too.
+ + properties: + clock-frequency: true + + required: + - clock-frequency + + # See ../video-interfaces.txt for more details + port: + type: object + properties: + endpoint: + type: object + properties: + clock-lanes: + const: 0 + + data-lanes: + description: |- + Should be <1 2> for two-lane operation, or <1 2 3 4> for + four-lane operation. + oneOf: + - const: [[ 1, 2 ]] + - const: [[ 1, 2, 3, 4 ]]
Not sure if this actually works. If it does, it exposes how we encode
the DT yaml format which we don't want to do here.
It should be:
oneOf:
- items:
- const: 1
- const: 2
- items:
- const: 1
- const: 2
- const: 3
- const: 4
Really, I think you shouldn't need the 2nd case as that should be the
default.
quoted hunk ↗ jump to hunk
+ + clock-noncontinuous: + type: boolean + description: |- + Presence of this boolean property decides whether the MIPI CSI-2 + clock is continuous or non-continuous. + + required: + - clock-lanes + - data-lanes + +required: + - compatible + - reg + - clocks + - clock-names + - VANA-supply + - VDIG-supply + - VDDL-supply + - port + +additionalProperties: false + +examples: + - | + i2c0 { + #address-cells = <1>; + #size-cells = <0>; + + imx219: sensor@10 { + compatible = "sony,imx219"; + reg = <0x10>; + clocks = <&imx219_clk>; + clock-names = "xclk"; + VANA-supply = <&imx219_vana>; /* 2.8v */ + VDIG-supply = <&imx219_vdig>; /* 1.8v */ + VDDL-supply = <&imx219_vddl>; /* 1.2v */ + + imx219_clk: camera-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + }; + + port { + imx219_0: endpoint { + remote-endpoint = <&csi1_ep>; + clock-lanes = <0>; + data-lanes = <1 2>; + clock-noncontinuous; + }; + }; + }; + }; + +...diff --git a/MAINTAINERS b/MAINTAINERS index ffa3371bc750..f7b6c24ec081 100644 --- a/MAINTAINERS +++ b/MAINTAINERS@@ -15350,6 +15350,14 @@ S: Maintained F: drivers/media/i2c/imx214.c F: Documentation/devicetree/bindings/media/i2c/sony,imx214.txt +SONY IMX219 SENSOR DRIVER +M: Dave Stevenson <dave.stevenson@raspberrypi.com> +L: linux-media@vger.kernel.org +T: git git://linuxtv.org/media_tree.git +S: Maintained +F: drivers/media/i2c/imx219.c +F: Documentation/devicetree/bindings/media/i2c/imx219.yaml + SONY IMX258 SENSOR DRIVER M: Sakari Ailus <sakari.ailus@linux.intel.com> L: linux-media@vger.kernel.org-- 2.17.1