diff mbox series

[1/2] dt-bindings: media: sun4i-csi: Drop the module clock

Message ID 20191003154842.248763-1-mripard@kernel.org (mailing list archive)
State Mainlined
Commit 90b32268e15c003d894e5567b7181bcc2bad6b2c
Headers show
Series [1/2] dt-bindings: media: sun4i-csi: Drop the module clock | expand

Commit Message

Maxime Ripard Oct. 3, 2019, 3:48 p.m. UTC
It turns out that what was thought to be the module clock was actually the
clock meant to be used by the sensor, and isn't playing any role with the
CSI controller itself. Let's drop that clock from our binding.

Fixes: c5e8f4ccd775 ("media: dt-bindings: media: Add Allwinner A10 CSI binding")
Reported-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
 .../devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Chen-Yu Tsai Oct. 3, 2019, 3:51 p.m. UTC | #1
Hi,

On Thu, Oct 3, 2019 at 11:48 PM Maxime Ripard <mripard@kernel.org> wrote:
>
> It turns out that what was thought to be the module clock was actually the
> clock meant to be used by the sensor, and isn't playing any role with the
> CSI controller itself. Let's drop that clock from our binding.
>
> Fixes: c5e8f4ccd775 ("media: dt-bindings: media: Add Allwinner A10 CSI binding")
> Reported-by: Chen-Yu Tsai <wens@csie.org>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
> ---
>  .../devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> index 5dd1cf490cd9..d3e423fcb6c2 100644
> --- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> +++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> @@ -27,14 +27,12 @@ properties:
>    clocks:
>      items:
>        - description: The CSI interface clock
> -      - description: The CSI module clock
>        - description: The CSI ISP clock
>        - description: The CSI DRAM clock
>
>    clock-names:
>      items:
>        - const: bus
> -      - const: mod
>        - const: isp
>        - const: ram
>
> @@ -89,9 +87,8 @@ examples:
>          compatible = "allwinner,sun7i-a20-csi0";
>          reg = <0x01c09000 0x1000>;
>          interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> -        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>,
> -                 <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> -        clock-names = "bus", "mod", "isp", "ram";
> +        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> +        clock-names = "bus", "isp", "ram";

I believe what we thought was the ISP clock is actually the module clock
for the whole CSI subsystem. So we should still use the module clock entry,
and remove the ISP entry.

ChenYu

>          resets = <&ccu RST_CSI0>;
>
>          port {
> --
> 2.23.0
>
Maxime Ripard Oct. 3, 2019, 4:37 p.m. UTC | #2
Hi,

On Thu, Oct 03, 2019 at 11:51:05PM +0800, Chen-Yu Tsai wrote:
> On Thu, Oct 3, 2019 at 11:48 PM Maxime Ripard <mripard@kernel.org> wrote:
> >
> > It turns out that what was thought to be the module clock was actually the
> > clock meant to be used by the sensor, and isn't playing any role with the
> > CSI controller itself. Let's drop that clock from our binding.
> >
> > Fixes: c5e8f4ccd775 ("media: dt-bindings: media: Add Allwinner A10 CSI binding")
> > Reported-by: Chen-Yu Tsai <wens@csie.org>
> > Signed-off-by: Maxime Ripard <mripard@kernel.org>
> > ---
> >  .../devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml | 7 ++-----
> >  1 file changed, 2 insertions(+), 5 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > index 5dd1cf490cd9..d3e423fcb6c2 100644
> > --- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > +++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > @@ -27,14 +27,12 @@ properties:
> >    clocks:
> >      items:
> >        - description: The CSI interface clock
> > -      - description: The CSI module clock
> >        - description: The CSI ISP clock
> >        - description: The CSI DRAM clock
> >
> >    clock-names:
> >      items:
> >        - const: bus
> > -      - const: mod
> >        - const: isp
> >        - const: ram
> >
> > @@ -89,9 +87,8 @@ examples:
> >          compatible = "allwinner,sun7i-a20-csi0";
> >          reg = <0x01c09000 0x1000>;
> >          interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> > -        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>,
> > -                 <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > -        clock-names = "bus", "mod", "isp", "ram";
> > +        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > +        clock-names = "bus", "isp", "ram";
>
> I believe what we thought was the ISP clock is actually the module clock
> for the whole CSI subsystem. So we should still use the module clock entry,
> and remove the ISP entry.

I'm really not sure it is. CSI1 on the A20 (possibly the A10 as well,
I haven't checked), and the one on the A13 don't have any ISP embedded
in the CSI controller.

It makes some difference, because according to the BSP, you can see
that the ISP clock is taken for CSI0:
https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/media/video/sun4i_csi/csi0/sun4i_drv_csi.c#L389

While for CSI1, that block is commented out, and the ISP clock never
used:
https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/media/video/sun4i_csi/csi1/sun4i_drv_csi.c#L396

So I really believe that the ISP clock is here to feed the ISP block
within the CSI controller if there's any. But it's far from always the
case, as opposed to a module clock for the whole CSI controller that
would be here in both cases.

Maxime
Chen-Yu Tsai Oct. 4, 2019, 6:33 a.m. UTC | #3
On Fri, Oct 4, 2019 at 12:37 AM Maxime Ripard <mripard@kernel.org> wrote:
>
> Hi,
>
> On Thu, Oct 03, 2019 at 11:51:05PM +0800, Chen-Yu Tsai wrote:
> > On Thu, Oct 3, 2019 at 11:48 PM Maxime Ripard <mripard@kernel.org> wrote:
> > >
> > > It turns out that what was thought to be the module clock was actually the
> > > clock meant to be used by the sensor, and isn't playing any role with the
> > > CSI controller itself. Let's drop that clock from our binding.
> > >
> > > Fixes: c5e8f4ccd775 ("media: dt-bindings: media: Add Allwinner A10 CSI binding")
> > > Reported-by: Chen-Yu Tsai <wens@csie.org>
> > > Signed-off-by: Maxime Ripard <mripard@kernel.org>
> > > ---
> > >  .../devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml | 7 ++-----
> > >  1 file changed, 2 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > index 5dd1cf490cd9..d3e423fcb6c2 100644
> > > --- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > +++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > @@ -27,14 +27,12 @@ properties:
> > >    clocks:
> > >      items:
> > >        - description: The CSI interface clock
> > > -      - description: The CSI module clock
> > >        - description: The CSI ISP clock
> > >        - description: The CSI DRAM clock
> > >
> > >    clock-names:
> > >      items:
> > >        - const: bus
> > > -      - const: mod
> > >        - const: isp
> > >        - const: ram
> > >
> > > @@ -89,9 +87,8 @@ examples:
> > >          compatible = "allwinner,sun7i-a20-csi0";
> > >          reg = <0x01c09000 0x1000>;
> > >          interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> > > -        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>,
> > > -                 <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > > -        clock-names = "bus", "mod", "isp", "ram";
> > > +        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > > +        clock-names = "bus", "isp", "ram";
> >
> > I believe what we thought was the ISP clock is actually the module clock
> > for the whole CSI subsystem. So we should still use the module clock entry,
> > and remove the ISP entry.
>
> I'm really not sure it is. CSI1 on the A20 (possibly the A10 as well,
> I haven't checked), and the one on the A13 don't have any ISP embedded
> in the CSI controller.
>
> It makes some difference, because according to the BSP, you can see
> that the ISP clock is taken for CSI0:
> https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/media/video/sun4i_csi/csi0/sun4i_drv_csi.c#L389
>
> While for CSI1, that block is commented out, and the ISP clock never
> used:
> https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/media/video/sun4i_csi/csi1/sun4i_drv_csi.c#L396
>
> So I really believe that the ISP clock is here to feed the ISP block
> within the CSI controller if there's any. But it's far from always the
> case, as opposed to a module clock for the whole CSI controller that
> would be here in both cases.

I guess we should try to test this with CSI1 one, either on a Cubieboard
or OlinuXino with a simple camera like the OV7670?

Do you have any hardware on hand for this? I have the Cubieboard but I
need to get some proper 2.0mm connector blocks.

ChenYu
Maxime Ripard Oct. 7, 2019, 11:09 a.m. UTC | #4
Hi,

On Fri, Oct 04, 2019 at 02:33:41PM +0800, Chen-Yu Tsai wrote:
> On Fri, Oct 4, 2019 at 12:37 AM Maxime Ripard <mripard@kernel.org> wrote:
> > On Thu, Oct 03, 2019 at 11:51:05PM +0800, Chen-Yu Tsai wrote:
> > > On Thu, Oct 3, 2019 at 11:48 PM Maxime Ripard <mripard@kernel.org> wrote:
> > > >
> > > > It turns out that what was thought to be the module clock was actually the
> > > > clock meant to be used by the sensor, and isn't playing any role with the
> > > > CSI controller itself. Let's drop that clock from our binding.
> > > >
> > > > Fixes: c5e8f4ccd775 ("media: dt-bindings: media: Add Allwinner A10 CSI binding")
> > > > Reported-by: Chen-Yu Tsai <wens@csie.org>
> > > > Signed-off-by: Maxime Ripard <mripard@kernel.org>
> > > > ---
> > > >  .../devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml | 7 ++-----
> > > >  1 file changed, 2 insertions(+), 5 deletions(-)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > > index 5dd1cf490cd9..d3e423fcb6c2 100644
> > > > --- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > > +++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > > @@ -27,14 +27,12 @@ properties:
> > > >    clocks:
> > > >      items:
> > > >        - description: The CSI interface clock
> > > > -      - description: The CSI module clock
> > > >        - description: The CSI ISP clock
> > > >        - description: The CSI DRAM clock
> > > >
> > > >    clock-names:
> > > >      items:
> > > >        - const: bus
> > > > -      - const: mod
> > > >        - const: isp
> > > >        - const: ram
> > > >
> > > > @@ -89,9 +87,8 @@ examples:
> > > >          compatible = "allwinner,sun7i-a20-csi0";
> > > >          reg = <0x01c09000 0x1000>;
> > > >          interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> > > > -        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>,
> > > > -                 <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > > > -        clock-names = "bus", "mod", "isp", "ram";
> > > > +        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > > > +        clock-names = "bus", "isp", "ram";
> > >
> > > I believe what we thought was the ISP clock is actually the module clock
> > > for the whole CSI subsystem. So we should still use the module clock entry,
> > > and remove the ISP entry.
> >
> > I'm really not sure it is. CSI1 on the A20 (possibly the A10 as well,
> > I haven't checked), and the one on the A13 don't have any ISP embedded
> > in the CSI controller.
> >
> > It makes some difference, because according to the BSP, you can see
> > that the ISP clock is taken for CSI0:
> > https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/media/video/sun4i_csi/csi0/sun4i_drv_csi.c#L389
> >
> > While for CSI1, that block is commented out, and the ISP clock never
> > used:
> > https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/media/video/sun4i_csi/csi1/sun4i_drv_csi.c#L396
> >
> > So I really believe that the ISP clock is here to feed the ISP block
> > within the CSI controller if there's any. But it's far from always the
> > case, as opposed to a module clock for the whole CSI controller that
> > would be here in both cases.
>
> I guess we should try to test this with CSI1 one, either on a Cubieboard
> or OlinuXino with a simple camera like the OV7670?
>
> Do you have any hardware on hand for this? I have the Cubieboard but I
> need to get some proper 2.0mm connector blocks.

I've tested it with the A13 before, and it doesn't need the ISP clock

Maxime
Chen-Yu Tsai Oct. 7, 2019, 11:11 a.m. UTC | #5
On Mon, Oct 7, 2019 at 7:09 PM Maxime Ripard <mripard@kernel.org> wrote:
>
> Hi,
>
> On Fri, Oct 04, 2019 at 02:33:41PM +0800, Chen-Yu Tsai wrote:
> > On Fri, Oct 4, 2019 at 12:37 AM Maxime Ripard <mripard@kernel.org> wrote:
> > > On Thu, Oct 03, 2019 at 11:51:05PM +0800, Chen-Yu Tsai wrote:
> > > > On Thu, Oct 3, 2019 at 11:48 PM Maxime Ripard <mripard@kernel.org> wrote:
> > > > >
> > > > > It turns out that what was thought to be the module clock was actually the
> > > > > clock meant to be used by the sensor, and isn't playing any role with the
> > > > > CSI controller itself. Let's drop that clock from our binding.
> > > > >
> > > > > Fixes: c5e8f4ccd775 ("media: dt-bindings: media: Add Allwinner A10 CSI binding")
> > > > > Reported-by: Chen-Yu Tsai <wens@csie.org>
> > > > > Signed-off-by: Maxime Ripard <mripard@kernel.org>
> > > > > ---
> > > > >  .../devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml | 7 ++-----
> > > > >  1 file changed, 2 insertions(+), 5 deletions(-)
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > > > index 5dd1cf490cd9..d3e423fcb6c2 100644
> > > > > --- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > > > +++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > > > @@ -27,14 +27,12 @@ properties:
> > > > >    clocks:
> > > > >      items:
> > > > >        - description: The CSI interface clock
> > > > > -      - description: The CSI module clock
> > > > >        - description: The CSI ISP clock
> > > > >        - description: The CSI DRAM clock
> > > > >
> > > > >    clock-names:
> > > > >      items:
> > > > >        - const: bus
> > > > > -      - const: mod
> > > > >        - const: isp
> > > > >        - const: ram
> > > > >
> > > > > @@ -89,9 +87,8 @@ examples:
> > > > >          compatible = "allwinner,sun7i-a20-csi0";
> > > > >          reg = <0x01c09000 0x1000>;
> > > > >          interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> > > > > -        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>,
> > > > > -                 <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > > > > -        clock-names = "bus", "mod", "isp", "ram";
> > > > > +        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > > > > +        clock-names = "bus", "isp", "ram";
> > > >
> > > > I believe what we thought was the ISP clock is actually the module clock
> > > > for the whole CSI subsystem. So we should still use the module clock entry,
> > > > and remove the ISP entry.
> > >
> > > I'm really not sure it is. CSI1 on the A20 (possibly the A10 as well,
> > > I haven't checked), and the one on the A13 don't have any ISP embedded
> > > in the CSI controller.
> > >
> > > It makes some difference, because according to the BSP, you can see
> > > that the ISP clock is taken for CSI0:
> > > https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/media/video/sun4i_csi/csi0/sun4i_drv_csi.c#L389
> > >
> > > While for CSI1, that block is commented out, and the ISP clock never
> > > used:
> > > https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/media/video/sun4i_csi/csi1/sun4i_drv_csi.c#L396
> > >
> > > So I really believe that the ISP clock is here to feed the ISP block
> > > within the CSI controller if there's any. But it's far from always the
> > > case, as opposed to a module clock for the whole CSI controller that
> > > would be here in both cases.
> >
> > I guess we should try to test this with CSI1 one, either on a Cubieboard
> > or OlinuXino with a simple camera like the OV7670?
> >
> > Do you have any hardware on hand for this? I have the Cubieboard but I
> > need to get some proper 2.0mm connector blocks.
>
> I've tested it with the A13 before, and it doesn't need the ISP clock

OK! That clears things up!

ChenYu
Maxime Ripard Oct. 7, 2019, 12:12 p.m. UTC | #6
On Mon, Oct 07, 2019 at 07:11:03PM +0800, Chen-Yu Tsai wrote:
> On Mon, Oct 7, 2019 at 7:09 PM Maxime Ripard <mripard@kernel.org> wrote:
> >
> > Hi,
> >
> > On Fri, Oct 04, 2019 at 02:33:41PM +0800, Chen-Yu Tsai wrote:
> > > On Fri, Oct 4, 2019 at 12:37 AM Maxime Ripard <mripard@kernel.org> wrote:
> > > > On Thu, Oct 03, 2019 at 11:51:05PM +0800, Chen-Yu Tsai wrote:
> > > > > On Thu, Oct 3, 2019 at 11:48 PM Maxime Ripard <mripard@kernel.org> wrote:
> > > > > >
> > > > > > It turns out that what was thought to be the module clock was actually the
> > > > > > clock meant to be used by the sensor, and isn't playing any role with the
> > > > > > CSI controller itself. Let's drop that clock from our binding.
> > > > > >
> > > > > > Fixes: c5e8f4ccd775 ("media: dt-bindings: media: Add Allwinner A10 CSI binding")
> > > > > > Reported-by: Chen-Yu Tsai <wens@csie.org>
> > > > > > Signed-off-by: Maxime Ripard <mripard@kernel.org>
> > > > > > ---
> > > > > >  .../devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml | 7 ++-----
> > > > > >  1 file changed, 2 insertions(+), 5 deletions(-)
> > > > > >
> > > > > > diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > > > > index 5dd1cf490cd9..d3e423fcb6c2 100644
> > > > > > --- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > > > > +++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
> > > > > > @@ -27,14 +27,12 @@ properties:
> > > > > >    clocks:
> > > > > >      items:
> > > > > >        - description: The CSI interface clock
> > > > > > -      - description: The CSI module clock
> > > > > >        - description: The CSI ISP clock
> > > > > >        - description: The CSI DRAM clock
> > > > > >
> > > > > >    clock-names:
> > > > > >      items:
> > > > > >        - const: bus
> > > > > > -      - const: mod
> > > > > >        - const: isp
> > > > > >        - const: ram
> > > > > >
> > > > > > @@ -89,9 +87,8 @@ examples:
> > > > > >          compatible = "allwinner,sun7i-a20-csi0";
> > > > > >          reg = <0x01c09000 0x1000>;
> > > > > >          interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> > > > > > -        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>,
> > > > > > -                 <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > > > > > -        clock-names = "bus", "mod", "isp", "ram";
> > > > > > +        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > > > > > +        clock-names = "bus", "isp", "ram";
> > > > >
> > > > > I believe what we thought was the ISP clock is actually the module clock
> > > > > for the whole CSI subsystem. So we should still use the module clock entry,
> > > > > and remove the ISP entry.
> > > >
> > > > I'm really not sure it is. CSI1 on the A20 (possibly the A10 as well,
> > > > I haven't checked), and the one on the A13 don't have any ISP embedded
> > > > in the CSI controller.
> > > >
> > > > It makes some difference, because according to the BSP, you can see
> > > > that the ISP clock is taken for CSI0:
> > > > https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/media/video/sun4i_csi/csi0/sun4i_drv_csi.c#L389
> > > >
> > > > While for CSI1, that block is commented out, and the ISP clock never
> > > > used:
> > > > https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/media/video/sun4i_csi/csi1/sun4i_drv_csi.c#L396
> > > >
> > > > So I really believe that the ISP clock is here to feed the ISP block
> > > > within the CSI controller if there's any. But it's far from always the
> > > > case, as opposed to a module clock for the whole CSI controller that
> > > > would be here in both cases.
> > >
> > > I guess we should try to test this with CSI1 one, either on a Cubieboard
> > > or OlinuXino with a simple camera like the OV7670?
> > >
> > > Do you have any hardware on hand for this? I have the Cubieboard but I
> > > need to get some proper 2.0mm connector blocks.
> >
> > I've tested it with the A13 before, and it doesn't need the ISP clock
>
> OK! That clears things up!

I've added both patches as fixes then. Thanks!
Maxime
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
index 5dd1cf490cd9..d3e423fcb6c2 100644
--- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
+++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
@@ -27,14 +27,12 @@  properties:
   clocks:
     items:
       - description: The CSI interface clock
-      - description: The CSI module clock
       - description: The CSI ISP clock
       - description: The CSI DRAM clock
 
   clock-names:
     items:
       - const: bus
-      - const: mod
       - const: isp
       - const: ram
 
@@ -89,9 +87,8 @@  examples:
         compatible = "allwinner,sun7i-a20-csi0";
         reg = <0x01c09000 0x1000>;
         interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
-        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>,
-                 <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
-        clock-names = "bus", "mod", "isp", "ram";
+        clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
+        clock-names = "bus", "isp", "ram";
         resets = <&ccu RST_CSI0>;
 
         port {