From: Aradhya Bhatia <aradhya.bhatia@linux.dev>
To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
Maxime Ripard <mripard@kernel.org>,
David Airlie <airlied@gmail.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Simona Vetter <simona@ffwll.ch>, Nishanth Menon <nm@ti.com>,
Vignesh Raghavendra <vigneshr@ti.com>,
Devarsh Thakkar <devarsht@ti.com>,
Praneeth Bajjuri <praneeth@ti.com>, Udit Kumar <u-kumar1@ti.com>,
Jayesh Choudhary <j-choudhary@ti.com>,
Francesco Dolcini <francesco@dolcini.it>,
DRI Development List <dri-devel@lists.freedesktop.org>,
Devicetree List <devicetree@vger.kernel.org>,
Linux Kernel List <linux-kernel@vger.kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Jyri Sarha <jyri.sarha@iki.fi>
Subject: Re: [PATCH v5 2/3] dt-bindings: display: ti: Add schema for AM625 OLDI Transmitter
Date: Fri, 14 Feb 2025 18:11:11 +0530 [thread overview]
Message-ID: <062b78a3-7e83-4202-a753-4e7bd43e8bc2@linux.dev> (raw)
In-Reply-To: <cd62bf21-adad-4422-8fac-ebd20e8b39a5@ideasonboard.com>
Hi Tomi,
On 13/02/25 18:50, Tomi Valkeinen wrote:
> Hi,
>
> On 13/02/2025 14:33, Aradhya Bhatia wrote:
>
>>>> + ti,companion-oldi:
>>>> + $ref: /schemas/types.yaml#/definitions/phandle
>>>> + description:
>>>> + phandle to companion OLDI transmitter. This property is
>>>> mandatory for the
>>>> + primarty OLDI TX if the OLDI TXes are expected to work either
>>>> in dual-lvds
>>>> + mode or in clone mode. This property should point to the
>>>> secondary OLDI
>>>> + TX.
>>>> +
>>>> + ti,secondary-oldi:
>>>> + type: boolean
>>>> + description:
>>>> + Boolean property to mark the OLDI transmitter as the secondary
>>>> one, when the
>>>> + OLDI hardware is expected to run as a companion HW, in cases of
>>>> dual-lvds
>>>> + mode or clone mode. The primary OLDI hardware is responsible
>>>> for all the
>>>> + hardware configuration.
>>>
>>> I think these work, but I'm wondering if we would ever need to check
>>> something from the main oldi from the secondary oldi. In that case
>>> "crossed phandles" would be better, i.e. something like:
>>>
>>> (in the first oldi:)
>>> ti,slave-oldi = <phandle-to-second-oldi>
>>>
>>> (in the second oldi:)
>>> ti,master-oldi = <phandle-to-first-oldi>
>>
>> When I had first designed the code and the devicetree for OLDI, it was
>> done so with the belief that we wouldn't reqiure a bridge instance for
>> the secondary OLDI, at all.
>>
>> While that idea holds true for dual-lvds configuration, it doesn't so
>> for the clone mode configuration. For clone mode, as you pointed out, we
>> will require a 2nd bridge instance to configure any of the bridges and
>> panels that come after the 2nd OLDI.
>>
>>
>>>
>>> Then again, if we ever need that, even with these bindings the driver
>>> could find the first oldi, but needs to go via the dss's node.
>>
>> While it is possible to do it this way, it might not be the cleanest
>> one. And _if_ there is a ever a DSS in future with more than 2 OLDI
>> TXes, say 4, then the decipher logic may get too complicated.
>>
>> While I cannot think of any case where the secondary OLDI bridge DT
>> might need to access the primary OLDI bridge at the moment, I wonder if
>> we should play it safer and have this option anyway.
>>
>> Maybe something like this?
>>
>> (primary OLDI)
>> ti,primary-oldi;
>> ti,companion-oldi = <phandle-to-secondary-oldi>;
>>
>> (secondary OLDI)
>> ti,secondary-oldi;
>> ti,companion-oldi = <phandle-to-primary-oldi>;
>
> How is this different than my proposal, except a bit more verbose?
That's all the difference there is. Just an alternative to what you
suggested.
>
> If you're thinking about a 4-OLDI hardware, how would this work there?
I didn't mean that my alternative would be more helpful. I meant that
passing phandles would be a simpler way for 4-OLDI hardware in general.
We'd have to sift through a max of 4 OLDI nodes to find the right
primary OLDI for a given secondary OLDI - if we try to find it via the
dss and oldi-transmitter parent DT nodes. Passing phandles directly
would save on all that logic.
> (but I want to say that even if it's good to plan for the future, we
> shouldn't plan too much based on imaginary hardware =).
>
That's, of course, true too! =)
It's been tricky enough dealing with the hardware combinations as they
are today!
I will add one more reason though, which made me get along with the idea
of passing phandles. And then I will defer to you to make the call,
since I don't have the strongest of feelings either way.
Passing phandles would allow for _that_ condition to get dropped; making
the bindings slightly more flexible to accommodate for any future
surprises (especially around the clone mode lvds configuration).
(That condition being where the bindings either allow a companion-oldi
phandle OR allow the secondary-oldi boolean (but not both)).
I could drop that condition without any other changes too, making the
companion-oldi property optional for secondary-oldi - but this feels
incomplete.
Hence, the addition of the primary-oldi boolean. The companion-oldi
phandle property will be conditionally required when any one of the
boolean properties is present.
--
Regards
Aradhya
next prev parent reply other threads:[~2025-02-14 12:42 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-09 16:09 [PATCH v5 0/3] drm/tidss: Add OLDI bridge support Aradhya Bhatia
2025-02-09 16:09 ` [PATCH v5 1/3] dt-bindings: display: ti,am65x-dss: Re-indent the example Aradhya Bhatia
2025-02-09 16:09 ` [PATCH v5 1/3] dt-bindings: display: ti, am65x-dss: " Aradhya Bhatia
2025-02-09 16:09 ` [PATCH v5 2/3] dt-bindings: display: ti: Add schema for AM625 OLDI Transmitter Aradhya Bhatia
2025-02-11 12:24 ` Tomi Valkeinen
2025-02-13 12:33 ` Aradhya Bhatia
2025-02-13 13:20 ` Tomi Valkeinen
2025-02-14 12:41 ` Aradhya Bhatia [this message]
2025-02-19 14:20 ` Rob Herring
2025-02-19 14:22 ` Rob Herring (Arm)
2025-02-09 16:09 ` [PATCH v5 3/3] drm/tidss: Add OLDI bridge support Aradhya Bhatia
2025-02-11 10:57 ` Tomi Valkeinen
2025-02-11 12:25 ` 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=062b78a3-7e83-4202-a753-4e7bd43e8bc2@linux.dev \
--to=aradhya.bhatia@linux.dev \
--cc=airlied@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devarsht@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=francesco@dolcini.it \
--cc=j-choudhary@ti.com \
--cc=jyri.sarha@iki.fi \
--cc=krzk+dt@kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=nm@ti.com \
--cc=praneeth@ti.com \
--cc=robh@kernel.org \
--cc=simona@ffwll.ch \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=tzimmermann@suse.de \
--cc=u-kumar1@ti.com \
--cc=vigneshr@ti.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.