linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: sebastian.hesselbarth@gmail.com (Sebastian Hesselbarth)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 0/8] rmk's Dove DRM/TDA19988 Cubox driver
Date: Fri, 17 May 2013 13:58:34 +0200	[thread overview]
Message-ID: <51961B6A.6020704@gmail.com> (raw)
In-Reply-To: <20130517133345.7c1368f5@armhf>

On 05/17/13 13:33, Jean-Francois Moine wrote:
> On Thu, 16 May 2013 20:25:10 +0100
> Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:
>> What follows is my DRM driver for Dove, which I've been working on with
>> the Solid-run Cubox, which only offers HDMI output via the TDA19988
>> chip.
...
> - device tree
>
>    Our driver depends on the DT and, by this way, it may be used for
>    various boards (Cubox, DB-MV88AP510 Development Board, CompuLab
>    CM-A510 Board..). Especially, in the Cubox, only a HDMI screen may be
>    connected, while the display controller permits connection of a smart
>    panel (port A) and a VGA screen (port B).
>    Also, the driver could be used for different chips as the Armada 160
>    which has quite the same LCD controller (but one LCD only and no
>    display controller - Sebastian's idea).

Jean-Francois,

as Russell already mentioned, he is not on DT yet. It's not a big deal
to add the binding parsing to his driver though. Basically, there is 
only one thing that bothers me with Russell's driver: integrating TDA
HDMI in the driver. But from what I have seen, it's almost equal to
our drm_slave_encoder stuff, so rebranding some functions should be
enough to allow any external encoder on lcdc.

> - module loading (si5351, tda998x)
>
>    As our driver is loaded by the Cubox DT, and as the auxilliary drivers
>    (external clock, HDMI transmitter) may also be modules, a
>    synchronization mechanism (inspired by the tegra drm driver) permits
>    the driver to start when all the other drivers are also started.

I agree on HDMI (when enabled through DT), but disagree on clock.
There is some clocks internally that should be exploited even if there
is no external clock available. This is actually something more general
with common clock as it does not handle dynamic clocks yet.

> - display controller
>
>    I implemented output port cloning (LCD 0 to port B) but it is not
>    tested (I just have a Cubox and I think that Sebastian did not have
>    time enough yet to do it).

Lack of time, sorry.
Would have to test on D2Plug which has both HDMI (also TDA) and VGA.

> - LCD handling
>
>    With our driver, the description of a smart panel (port A) may be
>    done by the DT.

In priciple, DT should support describing all possible panel modes. But
of course, let's start with what we can test. SmartPanel and VGA in
Jean-Francois and mine driver are just place holders. To mainline a
common driver, I suggest to take Russell's driver as a start and add
DT and stuff Russell agrees to.

> - LCD clocks
>
>    Each LCD may use one clock amongst 4 (AXI, LCD PLL and 2 external
>    clocks). In our driver, the choice of the clock is done on each video
>    mode change (Sebastian's idea).

This is because of the dynamic clock restriction above. Reprobing clocks
on each mode change will behave like dynamic clocks and should be
removed if common clock framework supports it someday.

Then there is a heuristic, that tries to find the best matching clock
starting with the current clock as lcdc itself can do integer division.

For Cubox with si5351 clock driver, it should be sufficient to rely on
si5351 providing the clock. That will allow all HD modes, except
1600x1200 at 60 and above which exceed 160MHz max output frequency
restriction of si5351.

> - screen rotation (IRE)
>
>    This feature is needed when the Dove SoC is used in a tablet and does
>    not exist in both drivers.

Again, let's implement what we can test - or is there anybody using
secretary mode on his TV? BTW, IRE is only available on Dove, while lcdc
controller can be reused on some PXAs.. try not to put too much Dove
dependency into lcdc if possible.

> - VGA DAC
>
>    This feature is needed to get the VGA screen parameters (mode,
>    dimensions) and does not exist in both drivers too.

Do I still have a VGA monitor to test? ;)

> What do you think about merging?

As said above, I'd prefer to take Russell's driver as a start and merge
ours (actually yours, as I just added stuff that slowed you down :P)

Sebastian

  reply	other threads:[~2013-05-17 11:58 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-16 19:25 [RFC 0/8] rmk's Dove DRM/TDA19988 Cubox driver Russell King - ARM Linux
2013-05-16 19:25 ` [RFC 1/8] DRM: Add Dove DRM driver Russell King
2013-05-16 19:25 ` [RFC 2/8] drm/i2c: nxp-tda998x: fix EDID reading on TDA19988 devices Russell King
2013-05-16 19:26 ` [RFC 3/8] drm/i2c: nxp-tda998x: ensure VIP output mux is properly set Russell King
2013-05-18  6:56   ` Jean-Francois Moine
2013-05-19 10:30     ` Russell King - ARM Linux
2013-05-16 19:26 ` [RFC 4/8] drm/i2c: nxp-tda998x: fix npix/nline programming Russell King
2013-05-16 19:26 ` [RFC 5/8] drm/i2c: nxp-tda998x: prepare for video input configuration Russell King
2013-05-16 19:27 ` [RFC 6/8] drm/i2c: nxp-tda998x: add video and audio " Russell King
2013-05-22 21:08   ` Rob Clark
2013-05-16 19:27 ` [RFC 7/8] DRM: Dove: add support for drm tda19988 driver Russell King
2013-05-16 19:27 ` [RFC 8/8] DRM: dove: provide a couple of generic slave encoder helpers Russell King
2013-05-17 11:33 ` [RFC 0/8] rmk's Dove DRM/TDA19988 Cubox driver Jean-Francois Moine
2013-05-17 11:58   ` Sebastian Hesselbarth [this message]
2013-05-17 12:01   ` Russell King - ARM Linux
2013-05-17 17:40     ` Jean-Francois Moine
2013-05-17 18:00       ` Russell King - ARM Linux
2013-05-17 18:05         ` Russell King - ARM Linux
2013-05-17 18:57         ` Jean-Francois Moine
2013-05-19  8:59       ` Russell King - ARM Linux
2013-05-20 13:36         ` Alex Deucher
2013-05-20 20:15           ` Russell King - ARM Linux
2013-05-20 20:23             ` Alex Deucher
2013-05-21  6:30               ` Jean-Francois Moine
2013-05-19 11:25   ` Russell King - ARM Linux
     [not found] ` <1368897139-25485-1-git-send-email-sebastian.hesselbarth@gmail.com>
     [not found]   ` <1368897139-25485-3-git-send-email-sebastian.hesselbarth@gmail.com>
2013-05-18 17:33     ` [RFC 2/4] ARM: dove: add video card node for SolidRun CuBox Jean-Francois Moine
2013-05-18 18:33       ` Sebastian Hesselbarth
     [not found]   ` <1368897139-25485-4-git-send-email-sebastian.hesselbarth@gmail.com>
2013-05-18 17:45     ` [RFC 3/4] DRM: add OF support for Dove DRM driver Jean-Francois Moine
2013-05-18 18:20       ` Sebastian Hesselbarth
2013-05-18 19:18         ` Jean-Francois Moine
2013-05-20 10:16           ` Russell King - ARM Linux
2013-05-18 20:46       ` Russell King - ARM Linux
     [not found]   ` <1368897139-25485-5-git-send-email-sebastian.hesselbarth@gmail.com>
2013-05-18 17:46     ` [RFC 4/4] DRM: tda998x: add missing include Jean-Francois Moine
2013-05-18 18:21       ` Sebastian Hesselbarth
2013-05-18 18:23       ` Rob Clark
2013-05-18 18:58         ` Jean-Francois Moine
2013-05-18 19:11           ` Rob Clark
2013-05-18 19:30           ` Sebastian Hesselbarth
2013-05-18 20:26             ` Russell King - ARM Linux
2013-05-18 20:50               ` Sebastian Hesselbarth
2013-05-19  6:01             ` Jean-Francois Moine
2013-05-19  8:30               ` Sebastian Hesselbarth
2013-05-19 16:49                 ` Jean-Francois Moine

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51961B6A.6020704@gmail.com \
    --to=sebastian.hesselbarth@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).