devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Jyri Sarha <jsarha@ti.com>,
	dri-devel@lists.freedesktop.org, airlied@linux.ie,
	linux-omap@vger.kernel.org, devicetree@vger.kernel.org,
	bcousson@baylibre.com, tony@atomide.com, detheridge@ti.com,
	moinejf@free.fr,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: [PATCH RFC 6/6] ARM: dts: am335x-boneblack: Use new binding for HDMI
Date: Tue, 3 Mar 2015 10:35:15 +0200	[thread overview]
Message-ID: <54F57243.9060202@ti.com> (raw)
In-Reply-To: <20150302174227.GC29584@n2100.arm.linux.org.uk>

[-- Attachment #1: Type: text/plain, Size: 3123 bytes --]

On 02/03/15 19:42, Russell King - ARM Linux wrote:
> On Mon, Mar 02, 2015 at 07:08:39PM +0200, Tomi Valkeinen wrote:
>> On 02/03/15 18:06, Russell King - ARM Linux wrote:
>>
>>>> This is missing the output of tda998x. It should have two ports, input
>>>> and output, output going to hdmi-connector.
>>>
>>> We don't have that kind of level of modelling in DRM right now - as far
>>> as DRM is concerned, the tda998x is both the encoder _and_ the connector
>>> since it supplies both functionalities.
>>
>> That's fine, but these are DT bindings which should reflect the
>> hardware, not the SW stack.
> 
> I still don't buy your argument.  The principle is right, but I think
> you're taking it too far.

<snip>

> When we say "DT should follow the hardware" we're not talking about
> making DT be an alternative to the hardware's schematic.

I agree, and that's not what I'm suggesting. We should only model HW in
the DT when it makes sense, when it gives us something.

A HDMI connector can have (at least) two functionalities that the driver
for it may need to handle: HPD and +5V. On some SoCs/boards those are
handled by the HDMI encoder, but I have boards where they are not. So we
need to have the data somewhere, and a HDMI connector node at the end of
the video path is a logical choice.

The HDMI connector node is also a good place for a symbolic name which
can be shown to the user.

In this particular board, the HDMI encoder handles the HPD and the +5V
is always enabled, so there's no strict need to have the HDMI connector
node.

However, I still feel it's better to have the HDMI connector in .dts:

1) It's not said that a HDMI encoder always has a HDMI connector as the
next component. The next component could be a integrated panel, needing
a specific driver and there's no HDMI connector at all. Or there could
be something else, as is the case on some OMAP boards which have an ESD
protection chip (that requires controlling, i.e. a driver) between the
encoder and the connector.

2) I like that the beginning and the end of the video pipeline are
clearly defined. A video pipeline starts at a display controller, and
ends at a panel or a connector. This makes it easier to understand the
.dts as you know what to expect.

In the SW side these mean that every encoder (or whatever is doing this
stuff) should be able to handle any component after the encoder, be it a
connector, panel or something else.

If we allow leaving out the connector node, the code also needs to
handle the case when there's nothing after the encoder, which probably
means fabricating some connector data (at least if and when DRM can
handle arbitrary video pipelines).

But as I said earlier, we can do just fine without the HDMI connector
node on boards where the connector "just works". We can handle that in
the drivers with some extra code.

So if people think it's a big chore to add the connectors and don't see
the benefit in them (and they don't want the symbolic labels that could
be added there), I'm fine with having them optional.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2015-03-03  8:35 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-26 14:55 [PATCH RFC 0/6] Use DRM component API in tilcdc to connect to tda998x Jyri Sarha
2015-02-26 14:55 ` [PATCH RFC 1/6] drm/tilcdc: Fix module unloading Jyri Sarha
2015-03-02 13:10   ` Tomi Valkeinen
2015-02-26 14:55 ` [PATCH RFC 2/6] drm/tilcdc: Remove tilcdc slave support for tda998x driver Jyri Sarha
2015-02-26 14:55 ` [PATCH RFC 3/6] drm/tilcdc: Add support for external compontised DRM encoder Jyri Sarha
2015-03-02 12:44   ` Tomi Valkeinen
2015-03-02 16:01   ` Russell King - ARM Linux
2015-03-06  8:33     ` Jyri Sarha
2015-03-06  9:58       ` Russell King - ARM Linux
2015-03-06 10:21         ` Jyri Sarha
2015-03-06 10:35           ` Russell King - ARM Linux
2015-02-26 14:55 ` [PATCH RFC 4/6] drm/tilcdc: Add DRM_TILCDC_INIT for "ti,tilcdc,slave" binding support Jyri Sarha
     [not found]   ` <6cf3243f87975ef349dead7af136870fa406ad6b.1424961754.git.jsarha-l0cyMroinI0@public.gmane.org>
2015-03-02 13:04     ` Tomi Valkeinen
     [not found] ` <cover.1424961754.git.jsarha-l0cyMroinI0@public.gmane.org>
2015-02-26 14:55   ` [PATCH RFC 5/6] drm/tilcdc: Force building of DRM_TILCDC_INIT Jyri Sarha
2015-03-02 12:59     ` Tomi Valkeinen
2015-02-26 14:55 ` [PATCH RFC 6/6] ARM: dts: am335x-boneblack: Use new binding for HDMI Jyri Sarha
2015-03-02 12:28   ` Tomi Valkeinen
2015-03-02 16:06     ` Russell King - ARM Linux
2015-03-02 17:08       ` Tomi Valkeinen
2015-03-02 17:42         ` Russell King - ARM Linux
2015-03-03  8:35           ` Tomi Valkeinen [this message]
2015-03-02 11:34 ` [PATCH RFC 0/6] Use DRM component API in tilcdc to connect to tda998x Tomi Valkeinen

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=54F57243.9060202@ti.com \
    --to=tomi.valkeinen@ti.com \
    --cc=airlied@linux.ie \
    --cc=bcousson@baylibre.com \
    --cc=detheridge@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jsarha@ti.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=moinejf@free.fr \
    --cc=tony@atomide.com \
    /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).