On Fri, Oct 4, 2019 at 12:37 AM Maxime Ripard <mripard@xxxxxxxxxx> 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@xxxxxxxxxx> 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@xxxxxxxx> > > > Signed-off-by: Maxime Ripard <mripard@xxxxxxxxxx> > > > --- > > > .../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