[PATCH 7/15] dt-bindings: display: sun4i: Add allwinner,tcon-channel property

Icenowy Zheng icenowy at aosc.io
Tue Mar 28 10:05:08 UTC 2017


2017年3月27日 上午5:11于 Maxime Ripard <maxime.ripard at free-electrons.com>写道:
>
> On Fri, Mar 17, 2017 at 11:34:45AM +0800, Chen-Yu Tsai wrote: 
> > On Thu, Mar 16, 2017 at 1:37 AM, Rob Herring <robh at kernel.org> wrote: 
> > > On Tue, Mar 07, 2017 at 09:56:26AM +0100, Maxime Ripard wrote: 
> > >> The Allwinner Timings Controller has two, mutually exclusive, channels. 
> > >> When the binding has been introduced, it was assumed that there would be 
> > >> only a single user per channel in the system. 
> > >> 
> > >> While this is likely for the channel 0 which only connects to LCD displays, 
> > >> it turns out that the channel 1 can be connected to multiple controllers in 
> > >> the SoC (HDMI and TV encoders for example). And while the simultaneous use 
> > >> of HDMI and TV outputs cannot be achieved, switching from one to the other 
> > >> at runtime definitely sounds plausible. 
> > >> 
> > >> Add an extra property, allwinner,tcon-channel, to specify for a given 
> > >> endpoint which TCON channel it is connected to, while falling back to the 
> > >> previous mechanism if that property is missing. 
> > > 
> > > I think perhaps TCON channels should have been ports rather than 
> > > endpoints. The fact that the channels are mutually exclusive can be 
> > > handled in the driver and doesn't really matter in the binding. How 
> > > painful would it be to rework things to move TCON channel 1 from port 0, 
> > > endpoint 1 to port 1? 
> > 
> > Having a separate output port for channel 1 was one option we discussed. 
> > However it wouldn't work well with the kernel's of_graph based crtc 
> > detection (drm_of_find_possible_crtcs / drm_of_find_possible_crtcs), 
> > which has the crtcs bound via the output port. As the logic is used 
> > by multiple drivers, I'm not sure it's easy to rework or test. 
>
> Can't we use a different logic than drm_of_find_possible_crtcs to fill 
> the same role? 
>
> > Also, we still have to support old device trees using channel 1 from 
> > output port 0 endpoint 1. This is the TV encoder on sun5i (A10s/A13/R8). 

And from A83T on we will face channel-1 only TCONs., which do not
have channel 0 at all in hardware.

>
> We could probably work something out if we go that way to deal with 
> old DTs though. 
>
> Maxime 
>
> -- 
> Maxime Ripard, Free Electrons 
> Embedded Linux and Kernel engineering 
> http://free-electrons.com
>
> _______________________________________________ 
> linux-arm-kernel mailing list 
> linux-arm-kernel at lists.infradead.org 
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 


More information about the dri-devel mailing list