Hi, On Thu, Jan 02, 2020 at 10:04:40PM +0530, Jagan Teki wrote: > On Thu, Jan 2, 2020 at 9:17 PM Maxime Ripard wrote: > > > > On Thu, Jan 02, 2020 at 09:10:31PM +0530, Jagan Teki wrote: > > > On Thu, Jan 2, 2020 at 4:24 PM Maxime Ripard wrote: > > > > > > > > On Tue, Dec 31, 2019 at 06:35:21PM +0530, Jagan Teki wrote: > > > > > TCON LCD0, LCD1 in allwinner R40, are used for managing > > > > > LCD interfaces like RGB, LVDS and DSI. > > > > > > > > > > Like TCON TV0, TV1 these LCD0, LCD1 are also managed via > > > > > tcon top. > > > > > > > > > > Add support for it, in tcon driver. > > > > > > > > > > Signed-off-by: Jagan Teki > > > > > --- > > > > > Changes for v3: > > > > > - none > > > > > > > > > > drivers/gpu/drm/sun4i/sun4i_tcon.c | 8 ++++++++ > > > > > 1 file changed, 8 insertions(+) > > > > > > > > > > diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c > > > > > index fad72799b8df..69611d38c844 100644 > > > > > --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c > > > > > +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c > > > > > @@ -1470,6 +1470,13 @@ static const struct sun4i_tcon_quirks sun8i_a83t_tv_quirks = { > > > > > .has_channel_1 = true, > > > > > }; > > > > > > > > > > +static const struct sun4i_tcon_quirks sun8i_r40_lcd_quirks = { > > > > > + .supports_lvds = true, > > > > > + .has_channel_0 = true, > > > > > + /* TODO Need to support TCON output muxing via GPIO pins */ > > > > > + .set_mux = sun8i_r40_tcon_tv_set_mux, > > > > > > > > What is this muking about? And why is it a TODO? > > > > > > Muxing similar like how TCON TOP handle TV0, TV1 I have reused the > > > same so-that it would configure de port selection via > > > sun8i_tcon_top_de_config > > > > > > TCON output muxing have gpio with GPIOD and GPIOH bits, which select > > > which of LCD or TV TCON outputs to the LCD function pins. I have > > > marked these has TODO for further support as mentioned by Chen-Yu in > > > v1[1]. > > > > It should be in the commit log. > > Make sense. > > > What's the plan to support that when needed? And that means that the > > LCD and TV outputs are mutually exclusive? We should at the very least > > check that both aren't enabled at the same time. > > Yes, LCD or TV within the outselect seems to be mutually exclusive. > Like LCD0 or TV0 can output to GPIOD incase of TV0_OUTSEL and LCD1 or > TV1 can output to GPIOH incase of TV1_OUTSEL. I think checking them > before configuring TCON_TOP_PORT_SEL_REG would make sense, let me know > if you have any suggestions? Making sure in atomic_check that TV and LCD are not used at the same time, and then in encoders mode_set / enable mux the pins to our encoders would be my first guess. Maxime