Message ID | 1491228148-28505-1-git-send-email-todor.tomov@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Todor, On Mon, Apr 03, 2017 at 05:02:28PM +0300, Todor Tomov wrote: > Add the document for ov5645 device tree binding. > > Signed-off-by: Todor Tomov <todor.tomov@linaro.org> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > .../devicetree/bindings/media/i2c/ov5645.txt | 54 ++++++++++++++++++++++ > 1 file changed, 54 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/ov5645.txt > > diff --git a/Documentation/devicetree/bindings/media/i2c/ov5645.txt b/Documentation/devicetree/bindings/media/i2c/ov5645.txt > new file mode 100644 > index 0000000..fd7aec9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/ov5645.txt > @@ -0,0 +1,54 @@ > +* Omnivision 1/4-Inch 5Mp CMOS Digital Image Sensor > + > +The Omnivision OV5645 is a 1/4-Inch CMOS active pixel digital image sensor with > +an active array size of 2592H x 1944V. It is programmable through a serial I2C > +interface. > + > +Required Properties: > +- compatible: Value should be "ovti,ov5645". > +- clocks: Reference to the xclk clock. > +- clock-names: Should be "xclk". > +- clock-frequency: Frequency of the xclk clock. > +- enable-gpios: Chip enable GPIO. Polarity is GPIO_ACTIVE_HIGH. This corresponds > + to the hardware pin PWDNB which is physically active low. > +- reset-gpios: Chip reset GPIO. Polarity is GPIO_ACTIVE_LOW. This corresponds to > + the hardware pin RESETB. > +- vdddo-supply: Chip digital IO regulator. > +- vdda-supply: Chip analog regulator. > +- vddd-supply: Chip digital core regulator. > + > +The device node must contain one 'port' child node for its digital output > +video port, in accordance with the video interface bindings defined in > +Documentation/devicetree/bindings/media/video-interfaces.txt. > + > +Example: > + > + &i2c1 { > + ... > + > + ov5645: ov5645@78 { > + compatible = "ovti,ov5645"; > + reg = <0x78>; > + > + enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; > + reset-gpios = <&gpio5 20 GPIO_ACTIVE_LOW>; > + pinctrl-names = "default"; > + pinctrl-0 = <&camera_rear_default>; > + > + clocks = <&clks 200>; > + clock-names = "xclk"; > + clock-frequency = <23880000>; > + > + vdddo-supply = <&camera_dovdd_1v8>; > + vdda-supply = <&camera_avdd_2v8>; > + vddd-supply = <&camera_dvdd_1v2>; > + > + port { > + ov5645_ep: endpoint { > + clock-lanes = <1>; > + data-lanes = <0 2>; If the sensor does not support lane reordering, I'd use 0 for the clock lane and lanes starting from 1 for data-lanes. I guess it'd be good to document this but that's definitely out of scope of the patchset. Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> > + remote-endpoint = <&csi0_ep>; > + }; > + }; > + }; > + };
Hi Sakari, Thank you for the time to review this again. On 04/04/2017 12:31 PM, Sakari Ailus wrote: > Hi Todor, > > On Mon, Apr 03, 2017 at 05:02:28PM +0300, Todor Tomov wrote: >> Add the document for ov5645 device tree binding. >> >> Signed-off-by: Todor Tomov <todor.tomov@linaro.org> >> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> >> --- >> .../devicetree/bindings/media/i2c/ov5645.txt | 54 ++++++++++++++++++++++ >> 1 file changed, 54 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/media/i2c/ov5645.txt >> >> diff --git a/Documentation/devicetree/bindings/media/i2c/ov5645.txt b/Documentation/devicetree/bindings/media/i2c/ov5645.txt >> new file mode 100644 >> index 0000000..fd7aec9 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/media/i2c/ov5645.txt >> @@ -0,0 +1,54 @@ >> +* Omnivision 1/4-Inch 5Mp CMOS Digital Image Sensor >> + >> +The Omnivision OV5645 is a 1/4-Inch CMOS active pixel digital image sensor with >> +an active array size of 2592H x 1944V. It is programmable through a serial I2C >> +interface. >> + >> +Required Properties: >> +- compatible: Value should be "ovti,ov5645". >> +- clocks: Reference to the xclk clock. >> +- clock-names: Should be "xclk". >> +- clock-frequency: Frequency of the xclk clock. >> +- enable-gpios: Chip enable GPIO. Polarity is GPIO_ACTIVE_HIGH. This corresponds >> + to the hardware pin PWDNB which is physically active low. >> +- reset-gpios: Chip reset GPIO. Polarity is GPIO_ACTIVE_LOW. This corresponds to >> + the hardware pin RESETB. >> +- vdddo-supply: Chip digital IO regulator. >> +- vdda-supply: Chip analog regulator. >> +- vddd-supply: Chip digital core regulator. >> + >> +The device node must contain one 'port' child node for its digital output >> +video port, in accordance with the video interface bindings defined in >> +Documentation/devicetree/bindings/media/video-interfaces.txt. >> + >> +Example: >> + >> + &i2c1 { >> + ... >> + >> + ov5645: ov5645@78 { >> + compatible = "ovti,ov5645"; >> + reg = <0x78>; >> + >> + enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; >> + reset-gpios = <&gpio5 20 GPIO_ACTIVE_LOW>; >> + pinctrl-names = "default"; >> + pinctrl-0 = <&camera_rear_default>; >> + >> + clocks = <&clks 200>; >> + clock-names = "xclk"; >> + clock-frequency = <23880000>; >> + >> + vdddo-supply = <&camera_dovdd_1v8>; >> + vdda-supply = <&camera_avdd_2v8>; >> + vddd-supply = <&camera_dvdd_1v2>; >> + >> + port { >> + ov5645_ep: endpoint { >> + clock-lanes = <1>; >> + data-lanes = <0 2>; > > If the sensor does not support lane reordering, I'd use 0 for the clock lane > and lanes starting from 1 for data-lanes. Yes, the sensor doesn't really support lane reordering. I'll keep this in mind for the next time. > > I guess it'd be good to document this but that's definitely out of scope of > the patchset. > > Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> > >> + remote-endpoint = <&csi0_ep>; >> + }; >> + }; >> + }; >> + }; >
On Mon, Apr 03, 2017 at 05:02:28PM +0300, Todor Tomov wrote: > Add the document for ov5645 device tree binding. > > Signed-off-by: Todor Tomov <todor.tomov@linaro.org> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > .../devicetree/bindings/media/i2c/ov5645.txt | 54 ++++++++++++++++++++++ > 1 file changed, 54 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/ov5645.txt Acked-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/media/i2c/ov5645.txt b/Documentation/devicetree/bindings/media/i2c/ov5645.txt new file mode 100644 index 0000000..fd7aec9 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/ov5645.txt @@ -0,0 +1,54 @@ +* Omnivision 1/4-Inch 5Mp CMOS Digital Image Sensor + +The Omnivision OV5645 is a 1/4-Inch CMOS active pixel digital image sensor with +an active array size of 2592H x 1944V. It is programmable through a serial I2C +interface. + +Required Properties: +- compatible: Value should be "ovti,ov5645". +- clocks: Reference to the xclk clock. +- clock-names: Should be "xclk". +- clock-frequency: Frequency of the xclk clock. +- enable-gpios: Chip enable GPIO. Polarity is GPIO_ACTIVE_HIGH. This corresponds + to the hardware pin PWDNB which is physically active low. +- reset-gpios: Chip reset GPIO. Polarity is GPIO_ACTIVE_LOW. This corresponds to + the hardware pin RESETB. +- vdddo-supply: Chip digital IO regulator. +- vdda-supply: Chip analog regulator. +- vddd-supply: Chip digital core regulator. + +The device node must contain one 'port' child node for its digital output +video port, in accordance with the video interface bindings defined in +Documentation/devicetree/bindings/media/video-interfaces.txt. + +Example: + + &i2c1 { + ... + + ov5645: ov5645@78 { + compatible = "ovti,ov5645"; + reg = <0x78>; + + enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio5 20 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&camera_rear_default>; + + clocks = <&clks 200>; + clock-names = "xclk"; + clock-frequency = <23880000>; + + vdddo-supply = <&camera_dovdd_1v8>; + vdda-supply = <&camera_avdd_2v8>; + vddd-supply = <&camera_dvdd_1v2>; + + port { + ov5645_ep: endpoint { + clock-lanes = <1>; + data-lanes = <0 2>; + remote-endpoint = <&csi0_ep>; + }; + }; + }; + };