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 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.