From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
Cc: Tom Rini <trini@konsulko.com>, Lukasz Majewski <lukma@denx.de>,
Sean Anderson <seanga2@gmail.com>, Simon Glass <sjg@chromium.org>,
Jaehoon Chung <jh80.chung@samsung.com>,
Anatolij Gustschin <agust@denx.de>,
u-boot@lists.denx.de,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Ian Ray <ian.ray@gehealthcare.com>,
Marek Vasut <marek.vasut@gmail.com>
Subject: Re: [PATCH 0/8] Add imx8mp video support
Date: Tue, 10 Sep 2024 14:56:34 +0200 [thread overview]
Message-ID: <20240910145634.2ada70ad@xps-13> (raw)
In-Reply-To: <CAOf5uwmzm=9=Vsu5cTbziyPG=KAqDGTcmrW0A36a2ix_+2WjNA@mail.gmail.com>
Hi Michael,
michael@amarulasolutions.com wrote on Tue, 10 Sep 2024 12:30:42 +0200:
> Hi Miquel
>
> On Tue, Sep 10, 2024 at 12:13 PM Miquel Raynal
> <miquel.raynal@bootlin.com> wrote:
> >
> > In order to display a boot picture or an error message, the i.MX8MP
> > display pipeline must be enabled. The SoC has support for various
> > interfaces (LVDS, HDMI, DSI). The one supported in this series is the
> > standard 4-lane LVDS output. The minimal setup is thus composed of:
> > * An LCD InterFace (LCDIF) with an AXI/APB interface, generating a pixel
> > stream
> > * One LVDS Display Bridge (LDB), also named pixel mapper, which receives
> > the pixel stream and route it to one or two (possibly combined) LVDS
> > displays.
> > * All necessary clocks and power controls coming from the MEDIAMIX
> > control block.
> >
> > Patch 1 adds a very useful helper to the core in order to grab devices
> > through endpoints instead of being limited to phandles. Video pipelines
> > being often described using graphs endpoints, the introduced helper is
> > used several times in the serires (there are 3 LCDIF, one of them being
> > connected to the LDB, itself having 2 ports).
> >
> > Patch 2 is a fix which is necessary for this series to work properly,
> > but is way broader than just this use case. In practice, when assigned
> > clocks are defined in the device tree, the clock uclass tries to assign
> > the parents first and then sets them to the correct frequency. This only
> > works if the parents have been enabled themselves. Otherwise we end-up
> > with a non-clocked parent. I believe this is not the intended behavior
> > in general, but more importantly on the i.MX8MP, there are "clock
> > slices" which have pre-requisites in order to be modified and selecting
> > an ungated parent is one of them.
> >
> > All the other patches progressively build support for the whole video
> > pipeline. Regarding the LCDIF driver, there is already a similar driver
> > for older i.MX SoCs but I didn't manage to get it to work. It was
> > written more than a decade ago while device-model, clocks and others
> > were not yet generically supported. Thus, numerous ad-hoc solutions
> > were implemented, which no longer fit today's requirements. I preferred
> > to add a new "clean" driver instead of modifying the existing one
> > because of the too high risk of breaking these platforms. Once proper
> > clocks/power-domain descriptions will be added to them they might be
> > converted (and tested) to work with the "new" implementation, but going
> > the opposite way felt drawback.
> >
>
> Thank you for adding those patches. We are working on mipi support
> here and some of the clock patches
> are there too. I will try to look and rebase our patchset
>
> https://patchwork.amarulasolutions.com/patch/3401/
Thanks for letting me know. Indeed there are a couple of conflicts.
- My patch 2 can easily be replaced by your approach.
- Regarding the power domain we had two different approaches, I
didn't look in details, but again one or the other seems fine, I
guess.
- The LDB driver in my series is new.
- Finally regarding the LCDIF changes, the approach taken on your
side follows the somewhat too ad-hoc logic and would probably benefit
from being migrated to the driver I propose, which does make use of
the (DM) clock, power domain and DT API. I am really happy with the
core helper I've added retrieving a device in front of a graph
endpoint, which makes the whole "get panel/bridge" approach much more
flexible and adapted to today's needs.
What is the status of your patchset? How shall we handle the conflicts?
Thanks,
Miquèl
next prev parent reply other threads:[~2024-09-10 12:58 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-10 10:13 [PATCH 0/8] Add imx8mp video support Miquel Raynal
2024-09-10 10:13 ` [PATCH 1/8] dm: core: Add a helper to retrieve devices through graph endpoints Miquel Raynal
2024-09-12 1:01 ` Simon Glass
2024-09-10 10:13 ` [PATCH 2/8] clk: Ensure the parent clocks are enabled while reparenting Miquel Raynal
2024-09-10 10:13 ` [PATCH 3/8] clk: imx8mp: Add media related clocks Miquel Raynal
2024-09-11 19:48 ` Fabio Estevam
2024-09-12 12:30 ` Fabio Estevam
2024-09-12 16:00 ` Michael Nazzareno Trimarchi
2024-09-14 17:33 ` Adam Ford
2024-09-10 10:13 ` [PATCH 4/8] imx: power-domain: Describe the i.MX8 MEDIAMIX domain Miquel Raynal
2024-09-12 12:34 ` Fabio Estevam
2024-09-10 10:13 ` [PATCH 5/8] imx: power-domain: Add support for the MEDIAMIX control block Miquel Raynal
2024-09-12 12:40 ` Fabio Estevam
2024-11-22 16:35 ` Miquel Raynal
2024-09-10 10:13 ` [PATCH 6/8] video: imx: Fix Makefile in order to be able to add other imx drivers Miquel Raynal
2024-09-10 10:13 ` [PATCH 7/8] video: imx: Add LDB driver Miquel Raynal
2024-09-11 19:55 ` Fabio Estevam
2024-09-10 10:13 ` [PATCH 8/8] video: imx: Add LCDIF driver Miquel Raynal
2024-09-11 19:58 ` Fabio Estevam
2024-09-10 10:30 ` [PATCH 0/8] Add imx8mp video support Michael Nazzareno Trimarchi
2024-09-10 12:56 ` Miquel Raynal [this message]
2024-09-11 16:45 ` Michael Nazzareno Trimarchi
2024-09-13 7:55 ` Miquel Raynal
2024-09-11 19:50 ` Fabio Estevam
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=20240910145634.2ada70ad@xps-13 \
--to=miquel.raynal@bootlin.com \
--cc=agust@denx.de \
--cc=ian.ray@gehealthcare.com \
--cc=jh80.chung@samsung.com \
--cc=lukma@denx.de \
--cc=marek.vasut@gmail.com \
--cc=michael@amarulasolutions.com \
--cc=seanga2@gmail.com \
--cc=sjg@chromium.org \
--cc=thomas.petazzoni@bootlin.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/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