On Fri, Dec 27, 2019 at 03:21:13PM +0300, Andrey Konovalov wrote: > Add YAML device tree binding for IMX219 CMOS image sensor, and > the relevant MAINTAINERS entries. > > Signed-off-by: Andrey Konovalov <andrey.konovalov@xxxxxxxxxx> > --- > .../devicetree/bindings/media/i2c/imx219.yaml | 134 ++++++++++++++++++ > MAINTAINERS | 8 ++ > 2 files changed, 142 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/imx219.yaml > > diff --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@xxxxxxxxxxxxxxx> > + > +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. > + > + 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@xxxxxxxxxxxxxxx> > +L: linux-media@xxxxxxxxxxxxxxx > +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@xxxxxxxxxxxxxxx> > L: linux-media@xxxxxxxxxxxxxxx > -- > 2.17.1 >