Hi Sebastian, Am Freitag, 5. Februar 2021, 15:55:56 CET schrieb Heiko Stübner: > Hi Sebastian, > > I did some tests myself today as well and can confirm your > hdmi related finding - at least when plugged in on boot. > > I tried some combinations of camera vs. hdmi and it seems > really only when hdmi is plugged in on boot as you can see in v2, it should work now even with hdmi connected on boot. My patch ignored the grf-clock when doing the grf-based init. All clocks are on during boot and I guess the hdmi-driver did disable it after its probe. The phy_power_on functions did handle it correctly already, so it was only happening with hdmi connected on boot. Btw. do you plan on submitting your ov13850 driver soonish? Heiko > > (1) > - boot > - camera > --> works > > (2) > - boot > - camera > - hdmi plugged in > - hdmi works > - camera > --> works > > (3) > - hdmi plugged in > - boot > - hdmi works > - camera > --> camera doesn't work > > (4) > - boot > - hdmi plugged in > - hdmi works > - camera > -> camera works > > > With a bit of brute-force [0] it seems the camera also works again even > with hdmi connected on boot. So conclusion would be that some clock > is misbehaving. > > Now we'll "only" need to find out which one that is. > > > Heiko > > > [0] > Don't disable any clock gates > > diff --git a/drivers/clk/clk-gate.c b/drivers/clk/clk-gate.c > index 070dc47e95a1..8daf1fc3388c 100644 > --- a/drivers/clk/clk-gate.c > +++ b/drivers/clk/clk-gate.c > @@ -61,6 +61,9 @@ static void clk_gate_endisable(struct clk_hw *hw, int enable) > > set ^= enable; > > +if (!enable) > +return; > + > if (gate->lock) > spin_lock_irqsave(gate->lock, flags); > else > > > > Am Freitag, 5. Februar 2021, 09:15:47 CET schrieb Heiko Stübner: > > Hi Sebastian, > > > > Am Freitag, 5. Februar 2021, 07:43:35 CET schrieb Sebastian Fricke: > > > On 03.02.2021 20:54, Heiko Stübner wrote: > > > >Am Mittwoch, 3. Februar 2021, 19:14:22 CET schrieb Sebastian Fricke: > > > >> I have tested your patch set on my nanoPC-T4, here is a complete log > > > >> with: > > > >> - relevant kernel log entries > > > >> - system information > > > >> - media ctl output > > > >> - sysfs entry information > > > >> > > > >> https://paste.debian.net/1183874/ > > > >> > > > >> Additionally, to your patchset I have applied the following patches: > > > >> https://github.com/initBasti/Linux_kernel_media_tree_fork/commits/dual_cam_setup > > > >> > > > >> And just to not cause confusion the `media_dev` entries come from this > > > >> unmerged series: > > > >> https://patchwork.kernel.org/project/linux-media/list/?series=426269 > > > >> > > > >> I have actually been able to stream with both of my cameras at the same > > > >> time using the libcamera cam command. > > > >> I would like to thank you a lot for making this possible. > > > > > > > >Thanks for testing a dual camera setup. On my board I could only test > > > >the second ISP. And really glad it works for you tool :-) . > > > > > > > >Out of curiosity, do you also see that green tint in the images the cameras > > > >produce? > > > > > > Yes, I do. Actually, I currently have two forms of a green tint, on my > > > OV13850 everything is quite dark and greenish, which is caused by the > > > missing 3A algorithms. On my OV4689, I have big patches of the image > > > with bright green color and flickering, I investigated if this is > > > connected to the 2nd ISP instance, but that doesn't seem to be the case > > > as I have the same results when I switch the CSI ports of the cameras. > > > > > > I have found another issue, while testing I discovered following > > > issue: > > > When I start the system with an HDMI monitor connected, then the camera > > > on the 2nd port doesn't work. This is probably because the RX/TX is > > > reserved as a TX. > > > But it made me wonder because if the system has an RX, a TX, and > > > an RX/TX, why isn't the pure TX used by the monitor and the > > > cameras take RX and RX/TX? > > > Or do you think that this is maybe a malfunction of this patch? > > > > I don't think it is an issue with this specific series, but still puzzling. > > > > I.e. the DPHYs are actually only relevant to the DSI controllers, > > with TX0 being connected to DSI0 and TX1RX1 being connected > > to DSI1. So having an hdmi display _in theory_ shouldn't matter at all. > > > > Out of curiosity what happens, when you boot without hdmi connected > > turn on the cameras, connect the hdmi after this, try the cameras again? > > > > > > Heiko > > > > > > > > > > > > >Thanks > > > >Heiko > > > > > > Greetings, > > > Sebastian > > > > > > > > > > > > > > >> If you like to you can add: > > > >> Tested-by: Sebastian Fricke <sebastian.fricke@xxxxxxxxxx> > > > >> > > > >> On 02.02.2021 15:56, Heiko Stuebner wrote: > > > >> >The rk3399 has two ISPs and right now only the first one is usable. > > > >> >The second ISP is connected to the TXRX dphy on the soc. > > > >> > > > > >> >The phy of ISP1 is only accessible through the DSI controller's > > > >> >io-memory, so this series adds support for simply using the dsi > > > >> >controller is a phy if needed. > > > >> > > > > >> >That solution is needed at least on rk3399 and rk3288 but no-one > > > >> >has looked at camera support on rk3288 at all, so right now > > > >> >only implement the rk3399 specifics. > > > >> > > > > >> > > > > >> >Heiko Stuebner (6): > > > >> > drm/rockchip: dsi: add own additional pclk handling > > > >> > dt-bindings: display: rockchip-dsi: add optional #phy-cells property > > > >> > drm/rockchip: dsi: add ability to work as a phy instead of full dsi > > > >> > arm64: dts: rockchip: add #phy-cells to mipi-dsi1 > > > >> > arm64: dts: rockchip: add cif clk-control pinctrl for rk3399 > > > >> > arm64: dts: rockchip: add isp1 node on rk3399 > > > >> > > > > >> > .../display/rockchip/dw_mipi_dsi_rockchip.txt | 1 + > > > >> > arch/arm64/boot/dts/rockchip/rk3399.dtsi | 39 ++ > > > >> > drivers/gpu/drm/rockchip/Kconfig | 2 + > > > >> > .../gpu/drm/rockchip/dw-mipi-dsi-rockchip.c | 342 ++++++++++++++++++ > > > >> > 4 files changed, 384 insertions(+) > > > >> > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >