Hi Manivannan, On Tue, Aug 06, 2019 at 06:39:36PM +0530, Manivannan Sadhasivam wrote: > Add devicetree binding for IMX290 CMOS image sensor. > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> > Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > --- > .../devicetree/bindings/media/i2c/imx290.txt | 51 +++++++++++++++++++ > 1 file changed, 51 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/imx290.txt > > diff --git a/Documentation/devicetree/bindings/media/i2c/imx290.txt b/Documentation/devicetree/bindings/media/i2c/imx290.txt > new file mode 100644 > index 000000000000..7535b5b5b24b > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/imx290.txt > @@ -0,0 +1,51 @@ > +* Sony IMX290 1/2.8-Inch CMOS Image Sensor > + > +The Sony IMX290 is a 1/2.8-Inch CMOS Solid-state image sensor with > +Square Pixel for Color Cameras. It is programmable through I2C and 4-wire > +interfaces. The sensor output is available via CMOS logic parallel SDR output, > +Low voltage LVDS DDR output and CSI-2 serial data output. If there are three to choose from, then you should specify which one is in use. Given that I think chances remain slim we'd add support for the other two (it's certainly not ruled out though), CSI-2 could be the default. But this needs to be documented. > + > +Required Properties: > +- compatible: Should be "sony,imx290" > +- reg: I2C bus address of the device > +- clocks: Reference to the xclk clock. > +- clock-names: Should be "xclk". > +- clock-frequency: Frequency of the xclk clock. ...in Hz. > +- vdddo-supply: Sensor digital IO regulator. > +- vdda-supply: Sensor analog regulator. > +- vddd-supply: Sensor digital core regulator. > + > +Optional Properties: > +- reset-gpios: Sensor reset GPIO > + > +The imx290 device node should contain one 'port' child node with > +an 'endpoint' subnode. For further reading on port node refer to > +Documentation/devicetree/bindings/media/video-interfaces.txt. Which other properties are relevant for the device? I suppose you can't change the lane order, so clock-lanes is redundant (don't use it in the example) and data-lanes should be monotonically incrementing series from 1 to 4. > + > +Example: > + &i2c1 { > + ... > + imx290: imx290@1a { imx290: camera-sensor@1a { > + compatible = "sony,imx290"; > + reg = <0x1a>; > + > + reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>; > + pinctrl-names = "default"; > + pinctrl-0 = <&camera_rear_default>; > + > + clocks = <&gcc GCC_CAMSS_MCLK0_CLK>; > + clock-names = "xclk"; > + clock-frequency = <37125000>; > + > + vdddo-supply = <&camera_vdddo_1v8>; > + vdda-supply = <&camera_vdda_2v8>; > + vddd-supply = <&camera_vddd_1v5>; > + > + port { > + imx290_ep: endpoint { > + clock-lanes = <1>; > + data-lanes = <0 2 3 4>; > + remote-endpoint = <&csiphy0_ep>; > + }; > + }; > + }; -- Regards, Sakari Ailus