Re: [PATCH 5/6] [DO NOT MERGE] ARM: dts: sunxi: bananapi-m2p: Add HDF5640 camera module

From: Chen-Yu Tsai
Date: Mon Dec 03 2018 - 04:55:11 EST


On Mon, Dec 3, 2018 at 5:52 PM Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Fri, Nov 30, 2018 at 1:29 PM Chen-Yu Tsai <wens@xxxxxxxx> wrote:
> >
> > The Bananapi M2+ comes with an optional sensor based on the ov5640 from
> > Omnivision. Enable the support for it in the DT.
> >
> > Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx>
> > ---
> > arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi | 87 +++++++++++++++++++
> > 1 file changed, 87 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi b/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi
> > index b3283aeb5b7d..d97a98acf378 100644
> > --- a/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi
> > +++ b/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi
> > @@ -89,6 +89,42 @@
> > };
> > };
> >
> > + reg_cam_avdd: cam-avdd {
> > + compatible = "regulator-fixed";
> > + regulator-name = "csi-avdd";
> > + regulator-min-microvolt = <2800000>;
> > + regulator-max-microvolt = <2800000>;
> > + startup-delay-us = <200>; /* 50 us + board delays */
> > + enable-active-high;
> > + gpio = <&pio 3 14 GPIO_ACTIVE_HIGH>; /* PD14 */
> > + };
> > +
> > + reg_cam_dovdd: cam-dovdd {
> > + compatible = "regulator-fixed";
> > + regulator-name = "csi-dovdd";
> > + regulator-min-microvolt = <2800000>;
> > + regulator-max-microvolt = <2800000>;
> > + /*
> > + * This regulator also powers the pull-ups for the I2C bus.
> > + * For some reason, if this is turned off, subsequent use
> > + * of the I2C bus, even when turned on, does not work.
> > + */
> > + startup-delay-us = <200>; /* 50 us + board delays */
> > + regulator-always-on;
> > + enable-active-high;
> > + gpio = <&pio 3 14 GPIO_ACTIVE_HIGH>; /* PD14 */
> > + };
> > +
> > + reg_cam_dvdd: cam-dvdd {
> > + compatible = "regulator-fixed";
> > + regulator-name = "csi-dvdd";
> > + regulator-min-microvolt = <1500000>;
> > + regulator-max-microvolt = <1500000>;
> > + startup-delay-us = <200>; /* 50 us + board delays */
> > + enable-active-high;
> > + gpio = <&pio 3 14 GPIO_ACTIVE_HIGH>; /* PD14 */
> > + };
> > +
> > reg_gmac_3v3: gmac-3v3 {
> > compatible = "regulator-fixed";
> > regulator-name = "gmac-3v3";
> > @@ -106,6 +142,26 @@
> > };
> > };
> >
> > +&csi {
> > + status = "okay";
> > +
> > + port {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + /* Parallel bus endpoint */
> > + csi_from_ov5640: endpoint {
> > + remote-endpoint = <&ov5640_to_csi>;
> > + bus-width = <8>;
> > + data-shift = <2>;
>
> If I'm not wrong, the data-shift is not available in sun6i at-least in
> conf register.

Indeed. Seems only a few drivers actually take this into account. Since
this is just an example, I'm not going to respin it.

ChenYu