[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMty3ZAhGAN2nEJkiRLHqFHz9Oi1WboiyqLL4ox+-0z7NhbG8w@mail.gmail.com>
Date: Tue, 27 Nov 2018 16:30:55 +0530
From: Jagan Teki <jagan@...rulasolutions.com>
To: Maxime Ripard <maxime.ripard@...tlin.com>
Cc: Hans Verkuil <hans.verkuil@...co.com>,
Sakari Ailus <sakari.ailus@...ux.intel.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
laurent.pinchart@...asonboard.com,
linux-media <linux-media@...r.kernel.org>, a.hajda@...sung.com,
Chen-Yu Tsai <wens@...e.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
devicetree <devicetree@...r.kernel.org>,
Mark Rutland <mark.rutland@....com>,
Rob Herring <robh+dt@...nel.org>, frowand.list@...il.com
Subject: Re: [PATCH 5/5] DO NOT MERGE: ARM: dts: bananapi: Add Camera support
On Tue, Nov 27, 2018 at 4:01 PM Maxime Ripard <maxime.ripard@...tlin.com> wrote:
>
> On Tue, Nov 27, 2018 at 12:26:09PM +0530, Jagan Teki wrote:
> > On Tue, Nov 13, 2018 at 1:54 PM Maxime Ripard <maxime.ripard@...tlin.com> wrote:
> > >
> > > Signed-off-by: Maxime Ripard <maxime.ripard@...tlin.com>
> > > ---
> > > arch/arm/boot/dts/sun7i-a20-bananapi.dts | 98 +++++++++++++++++++++++++-
> > > 1 file changed, 98 insertions(+)
> > >
> > > diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> > > index 70dfc4ac0bb5..18dbff9f1ce9 100644
> > > --- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> > > +++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> > > @@ -54,6 +54,9 @@
> > > compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
> > >
> > > aliases {
> > > + i2c0 = &i2c0;
> > > + i2c1 = &i2c1;
> > > + i2c2 = &i2c2;
> > > serial0 = &uart0;
> > > serial1 = &uart3;
> > > serial2 = &uart7;
> > > @@ -63,6 +66,41 @@
> > > stdout-path = "serial0:115200n8";
> > > };
> > >
> > > + reg_cam: cam {
> > > + compatible = "regulator-fixed";
> > > + regulator-name = "cam";
> > > + regulator-min-microvolt = <5000000>;
> > > + regulator-max-microvolt = <5000000>;
> > > + vin-supply = <®_vcc5v0>;
> > > + gpio = <&pio 7 16 GPIO_ACTIVE_HIGH>;
> > > + enable-active-high;
> > > + regulator-always-on;
> > > + };
> > > +
> > > + reg_cam_avdd: cam-avdd {
> > > + compatible = "regulator-fixed";
> > > + regulator-name = "cam500b-avdd";
> > > + regulator-min-microvolt = <2800000>;
> > > + regulator-max-microvolt = <2800000>;
> > > + vin-supply = <®_cam>;
> > > + };
> > > +
> > > + reg_cam_dovdd: cam-dovdd {
> > > + compatible = "regulator-fixed";
> > > + regulator-name = "cam500b-dovdd";
> > > + regulator-min-microvolt = <1800000>;
> > > + regulator-max-microvolt = <1800000>;
> > > + vin-supply = <®_cam>;
> > > + };
> > > +
> > > + reg_cam_dvdd: cam-dvdd {
> > > + compatible = "regulator-fixed";
> > > + regulator-name = "cam500b-dvdd";
> > > + regulator-min-microvolt = <1500000>;
> > > + regulator-max-microvolt = <1500000>;
> > > + vin-supply = <®_cam>;
> > > + };
> > > +
> > > hdmi-connector {
> > > compatible = "hdmi-connector";
> > > type = "a";
> > > @@ -120,6 +158,27 @@
> > > >;
> > > };
> > >
> > > +&csi0 {
> > > + pinctrl-names = "default";
> > > + pinctrl-0 = <&csi0_pins_a>;
> > > + status = "okay";
> > > +
> > > + port {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + csi_from_ov5640: endpoint {
> > > + remote-endpoint = <&ov5640_to_csi>;
> > > + bus-width = <8>;
> > > + data-shift = <2>;
> > > + hsync-active = <1>; /* Active high */
> > > + vsync-active = <0>; /* Active low */
> > > + data-active = <1>; /* Active high */
> > > + pclk-sample = <1>; /* Rising */
> > > + };
> > > + };
> > > +};
> > > +
> > > &de {
> > > status = "okay";
> > > };
> > > @@ -167,6 +226,39 @@
> > > };
> > > };
> > >
> > > +&i2c1 {
> > > + pinctrl-names = "default";
> > > + pinctrl-0 = <&i2c1_pins_a>;
> > > + status = "okay";
> > > +
> > > + camera: camera@21 {
> > > + compatible = "ovti,ov5640";
> > > + reg = <0x21>;
> > > + clocks = <&ccu CLK_CSI0>;
> > > + clock-names = "xclk";
> > > + assigned-clocks = <&ccu CLK_CSI0>;
> > > + assigned-clock-rates = <24000000>;
> > > +
> > > + reset-gpios = <&pio 7 14 GPIO_ACTIVE_LOW>;
> > > + powerdown-gpios = <&pio 7 19 GPIO_ACTIVE_HIGH>;
> > > + AVDD-supply = <®_cam_avdd>;
> > > + DOVDD-supply = <®_cam_dovdd>;
> > > + DVDD-supply = <®_cam_dvdd>;
> > > +
> > > + port {
> > > + ov5640_to_csi: endpoint {
> > > + remote-endpoint = <&csi_from_ov5640>;
> > > + bus-width = <8>;
> > > + data-shift = <2>;
> > > + hsync-active = <1>; /* Active high */
> > > + vsync-active = <0>; /* Active low */
> > > + data-active = <1>; /* Active high */
> > > + pclk-sample = <1>; /* Rising */
> > > + };
> > > + };
> > > + };
> >
> > Does ov5640 need any further patches, wrt linux-next? I'm trying to
> > test this on top of linux-next but the slave id seems not detecting.
> >
> > [ 2.304711] ov5640 1-0021: Linked as a consumer to regulator.5
> > [ 2.310639] ov5640 1-0021: Linked as a consumer to regulator.6
> > [ 2.316592] ov5640 1-0021: Linked as a consumer to regulator.4
> > [ 2.351540] ov5640 1-0021: ov5640_init_slave_id: failed with -6
> > [ 2.357543] ov5640 1-0021: Dropping the link to regulator.5
> > [ 2.363224] ov5640 1-0021: Dropping the link to regulator.6
> > [ 2.368829] ov5640 1-0021: Dropping the link to regulator.4
> >
> > Here is the full log [1], please let me know if I miss anything, I
> > even tried to remove MCLK pin
>
> You seem to have made local modifications to your tree, what are they?
> This indicates that the communication over i2c doesn't work, what is
> your setup?
I just used your commits on linux-next [2], with the setup similar in
Page 5 on datasheet[3]. The only difference is csi build issue, I have
updated similar fix you mentioned on sun6i_csi [4]
[2] https://github.com/amarula/linux-amarula/commits/CSI-A20
[3] https://www.tme.eu/gb/Document/187887186b98a8f78b47da2774a34f4c/BPI-CAMERA.pdf
[4] https://github.com/amarula/linux-amarula/commit/a6762ecd38f000e2bd02dd255f6fd0c1ae755429#diff-0809a7f97ca58771c1cda186e73ec657
Powered by blists - more mailing lists