From: Liu Ying <victor.liu@nxp.com>
To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org
Cc: p.zabel@pengutronix.de, airlied@gmail.com, daniel@ffwll.ch,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de,
kernel@pengutronix.de, festevam@gmail.com, tglx@linutronix.de,
vkoul@kernel.org, kishon@kernel.org, aisheng.dong@nxp.com,
agx@sigxcpu.org, francesco@dolcini.it, frank.li@nxp.com
Subject: [PATCH v3 00/19] Add Freescale i.MX8qxp Display Controller support
Date: Wed, 24 Jul 2024 17:29:31 +0800 [thread overview]
Message-ID: <20240724092950.752536-1-victor.liu@nxp.com> (raw)
Hi,
This patch series aims to add Freescale i.MX8qxp Display Controller support.
The controller is comprised of three main components that include a blit
engine for 2D graphics accelerations, display controller for display output
processing, as well as a command sequencer.
Previous patch series attempts to do that can be found at:
https://patchwork.freedesktop.org/series/84524/
This series addresses Maxime's comments on the previous one:
a. Split the display controller into multiple internal devices.
1) List display engine, pixel engine, interrupt controller and more as the
controller's child devices.
2) List display engine and pixel engine's processing units as their child
devices.
b. Add minimal feature support.
Only support two display pipelines with primary planes with XR24 fb,
backed by two fetchunits. No fetchunit dynamic allocation logic(to be done
when necessary).
c. Use drm_dev_{enter, exit}().
Since this series changes a lot comparing to the previous one, I choose to
send it with a new patch series, not a new version.
To follow up i.MX8qxp TRM, I changed the controller name to "Display Controller"
instead of the previous "DPU". "DPU" is only mentioned in the SoC block
diagram and represents the whole display subsystem which includes the display
controller and prefech engines, etc.
With an additional patch[1] for simple-pm-bus.c, this series facilitates
testing a LVDS panel on i.MX8qxp MEK.
Please do NOT merge patch 14-19.
[1] https://lkml.org/lkml/2023/1/25/120
v3:
* Collect Rob's R-b tag on the patch for adding fsl,imx8qxp-dc-intc.yaml.
* Combine fsl,imx8qxp-dc-fetchunit-common.yaml,
fsl,imx8qxp-dc-fetchlayer.yaml and fsl,imx8qxp-dc-fetchwarp.yaml
into 1 schema doc fsl,imx8qxp-dc-fetchunit.yaml. (Rob)
* Document all processing units, command sequencer, axi performance counter
and blit engine. (Rob)
v2:
* Drop fsl,dc-*-id DT properties from fsl,imx8qxp-dc*.yaml. (Krzysztof)
* Move port property from fsl,imx8qxp-dc-display-engine.yaml to
fsl,imx8qxp-dc-tcon.yaml. (Krzysztof)
* Drop unneeded "|" from fsl,imx8qxp-dc-intc.yaml. (Krzysztof)
* Use generic pmu pattern property in fsl,imx8qxp-dc.yaml. (Krzysztof)
* Fix register range size in fsl,imx8qxp-dc*.yaml.
* Use OF alias id to get instance id from display driver.
* Find next bridge from TCon's port from display driver.
* Drop drm/drm_module.h include from dc-drv.c.
* Improve file list in MAINTAINERS. (Frank)
* Add entire i.MX8qxp display controller device tree for review. (Krzysztof)
* Add MIPI/LVDS subsystems device tree and a DT overlay for imx8qxp
MEK to test a LVDS panel as an example. (Francesco)
Liu Ying (19):
dt-bindings: display: imx: Add i.MX8qxp Display Controller processing
units
dt-bindings: display: imx: Add i.MX8qxp Display Controller blit engine
dt-bindings: display: imx: Add i.MX8qxp Display Controller display
engine
dt-bindings: display: imx: Add i.MX8qxp Display Controller pixel
engine
dt-bindings: display: imx: Add i.MX8qxp Display Controller AXI
performance counter
dt-bindings: display: imx: Add i.MX8qxp Display Controller command
sequencer
dt-bindings: interrupt-controller: Add i.MX8qxp Display Controller
interrupt controller
dt-bindings: display: imx: Add i.MX8qxp Display Controller
drm/imx: Add i.MX8qxp Display Controller display engine
drm/imx: Add i.MX8qxp Display Controller pixel engine
drm/imx: Add i.MX8qxp Display Controller interrupt controller
drm/imx: Add i.MX8qxp Display Controller KMS
MAINTAINERS: Add maintainer for i.MX8qxp Display Controller
dt-bindings: phy: mixel,mipi-dsi-phy: Allow assigned-clock* properties
dt-bindings: firmware: imx: Add SCU controlled display pixel link
nodes
arm64: dts: imx8qxp: Add display controller subsystem
arm64: dts: imx8qxp: Add MIPI-LVDS combo subsystems
arm64: dts: imx8qxp-mek: Enable display controller
arm64: dts: imx8qxp-mek: Add MX8-DLVDS-LCD1 display module support
...sl,imx8qxp-dc-axi-performance-counter.yaml | 57 ++
.../imx/fsl,imx8qxp-dc-blit-engine.yaml | 204 +++++++
.../display/imx/fsl,imx8qxp-dc-blitblend.yaml | 41 ++
.../display/imx/fsl,imx8qxp-dc-clut.yaml | 44 ++
.../imx/fsl,imx8qxp-dc-command-sequencer.yaml | 67 ++
.../imx/fsl,imx8qxp-dc-constframe.yaml | 44 ++
.../imx/fsl,imx8qxp-dc-display-engine.yaml | 152 +++++
.../display/imx/fsl,imx8qxp-dc-dither.yaml | 45 ++
.../display/imx/fsl,imx8qxp-dc-extdst.yaml | 72 +++
.../display/imx/fsl,imx8qxp-dc-fetchunit.yaml | 141 +++++
.../display/imx/fsl,imx8qxp-dc-filter.yaml | 43 ++
.../display/imx/fsl,imx8qxp-dc-framegen.yaml | 64 ++
.../display/imx/fsl,imx8qxp-dc-gammacor.yaml | 32 +
.../imx/fsl,imx8qxp-dc-layerblend.yaml | 39 ++
.../display/imx/fsl,imx8qxp-dc-matrix.yaml | 44 ++
.../imx/fsl,imx8qxp-dc-pixel-engine.yaml | 250 ++++++++
.../display/imx/fsl,imx8qxp-dc-rop.yaml | 43 ++
.../display/imx/fsl,imx8qxp-dc-safety.yaml | 34 ++
.../imx/fsl,imx8qxp-dc-scaling-engine.yaml | 83 +++
.../display/imx/fsl,imx8qxp-dc-signature.yaml | 53 ++
.../display/imx/fsl,imx8qxp-dc-store.yaml | 96 +++
.../display/imx/fsl,imx8qxp-dc-tcon.yaml | 45 ++
.../bindings/display/imx/fsl,imx8qxp-dc.yaml | 236 +++++++
.../devicetree/bindings/firmware/fsl,scu.yaml | 20 +
.../fsl,imx8qxp-dc-intc.yaml | 318 ++++++++++
.../bindings/phy/mixel,mipi-dsi-phy.yaml | 5 -
MAINTAINERS | 8 +
arch/arm64/boot/dts/freescale/Makefile | 4 +
.../arm64/boot/dts/freescale/imx8-ss-dc0.dtsi | 408 +++++++++++++
.../imx8qxp-mek-mx8-dlvds-lcd1-lvds0-odd.dtso | 183 ++++++
arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 34 ++
.../boot/dts/freescale/imx8qxp-ss-dc.dtsi | 240 ++++++++
.../dts/freescale/imx8qxp-ss-mipi-lvds.dtsi | 437 +++++++++++++
arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 28 +-
drivers/gpu/drm/imx/Kconfig | 1 +
drivers/gpu/drm/imx/Makefile | 1 +
drivers/gpu/drm/imx/dc/Kconfig | 8 +
drivers/gpu/drm/imx/dc/Makefile | 7 +
drivers/gpu/drm/imx/dc/dc-cf.c | 157 +++++
drivers/gpu/drm/imx/dc/dc-crtc.c | 578 ++++++++++++++++++
drivers/gpu/drm/imx/dc/dc-crtc.h | 67 ++
drivers/gpu/drm/imx/dc/dc-de.c | 151 +++++
drivers/gpu/drm/imx/dc/dc-de.h | 65 ++
drivers/gpu/drm/imx/dc/dc-drv.c | 275 +++++++++
drivers/gpu/drm/imx/dc/dc-drv.h | 54 ++
drivers/gpu/drm/imx/dc/dc-ed.c | 266 ++++++++
drivers/gpu/drm/imx/dc/dc-fg.c | 366 +++++++++++
drivers/gpu/drm/imx/dc/dc-fl.c | 136 +++++
drivers/gpu/drm/imx/dc/dc-fu.c | 241 ++++++++
drivers/gpu/drm/imx/dc/dc-fu.h | 129 ++++
drivers/gpu/drm/imx/dc/dc-fw.c | 149 +++++
drivers/gpu/drm/imx/dc/dc-ic.c | 249 ++++++++
drivers/gpu/drm/imx/dc/dc-kms.c | 143 +++++
drivers/gpu/drm/imx/dc/dc-kms.h | 15 +
drivers/gpu/drm/imx/dc/dc-lb.c | 300 +++++++++
drivers/gpu/drm/imx/dc/dc-pe.c | 140 +++++
drivers/gpu/drm/imx/dc/dc-pe.h | 91 +++
drivers/gpu/drm/imx/dc/dc-plane.c | 227 +++++++
drivers/gpu/drm/imx/dc/dc-plane.h | 37 ++
drivers/gpu/drm/imx/dc/dc-tc.c | 137 +++++
60 files changed, 7598 insertions(+), 6 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-axi-performance-counter.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-blit-engine.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-blitblend.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-clut.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-command-sequencer.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-display-engine.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-dither.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-extdst.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchunit.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-filter.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-framegen.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-gammacor.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-layerblend.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-matrix.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-pixel-engine.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-rop.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-safety.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-scaling-engine.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-signature.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-store.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-tcon.yaml
create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc.yaml
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/fsl,imx8qxp-dc-intc.yaml
create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-dc0.dtsi
create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-mek-mx8-dlvds-lcd1-lvds0-odd.dtso
create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-dc.dtsi
create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-mipi-lvds.dtsi
create mode 100644 drivers/gpu/drm/imx/dc/Kconfig
create mode 100644 drivers/gpu/drm/imx/dc/Makefile
create mode 100644 drivers/gpu/drm/imx/dc/dc-cf.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-crtc.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-crtc.h
create mode 100644 drivers/gpu/drm/imx/dc/dc-de.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-de.h
create mode 100644 drivers/gpu/drm/imx/dc/dc-drv.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-drv.h
create mode 100644 drivers/gpu/drm/imx/dc/dc-ed.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-fg.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-fl.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-fu.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-fu.h
create mode 100644 drivers/gpu/drm/imx/dc/dc-fw.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-ic.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-kms.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-kms.h
create mode 100644 drivers/gpu/drm/imx/dc/dc-lb.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-pe.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-pe.h
create mode 100644 drivers/gpu/drm/imx/dc/dc-plane.c
create mode 100644 drivers/gpu/drm/imx/dc/dc-plane.h
create mode 100644 drivers/gpu/drm/imx/dc/dc-tc.c
--
2.34.1
next reply other threads:[~2024-07-24 9:21 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-24 9:29 Liu Ying [this message]
2024-07-24 9:29 ` [PATCH v3 01/19] dt-bindings: display: imx: Add i.MX8qxp Display Controller processing units Liu Ying
2024-08-16 22:43 ` Rob Herring
2024-07-24 9:29 ` [PATCH v3 02/19] dt-bindings: display: imx: Add i.MX8qxp Display Controller blit engine Liu Ying
2024-08-16 22:45 ` Rob Herring
2024-07-24 9:29 ` [PATCH v3 03/19] dt-bindings: display: imx: Add i.MX8qxp Display Controller display engine Liu Ying
2024-08-16 22:40 ` Rob Herring
2024-07-24 9:29 ` [PATCH v3 04/19] dt-bindings: display: imx: Add i.MX8qxp Display Controller pixel engine Liu Ying
2024-08-16 22:39 ` Rob Herring
2024-07-24 9:29 ` [PATCH v3 05/19] dt-bindings: display: imx: Add i.MX8qxp Display Controller AXI performance counter Liu Ying
2024-08-16 22:38 ` Rob Herring
2024-07-24 9:29 ` [PATCH v3 06/19] dt-bindings: display: imx: Add i.MX8qxp Display Controller command sequencer Liu Ying
2024-08-16 22:37 ` Rob Herring
2024-08-19 7:37 ` Liu Ying
2024-07-24 9:29 ` [PATCH v3 07/19] dt-bindings: interrupt-controller: Add i.MX8qxp Display Controller interrupt controller Liu Ying
2024-07-24 9:29 ` [PATCH v3 08/19] dt-bindings: display: imx: Add i.MX8qxp Display Controller Liu Ying
2024-08-18 14:24 ` Rob Herring (Arm)
2024-07-24 9:29 ` [PATCH v3 09/19] drm/imx: Add i.MX8qxp Display Controller display engine Liu Ying
2024-07-24 9:29 ` [PATCH v3 10/19] drm/imx: Add i.MX8qxp Display Controller pixel engine Liu Ying
2024-07-24 9:29 ` [PATCH v3 11/19] drm/imx: Add i.MX8qxp Display Controller interrupt controller Liu Ying
2024-07-24 9:29 ` [PATCH v3 12/19] drm/imx: Add i.MX8qxp Display Controller KMS Liu Ying
2024-07-24 9:29 ` [PATCH v3 13/19] MAINTAINERS: Add maintainer for i.MX8qxp Display Controller Liu Ying
2024-07-24 9:29 ` [DO NOT MERGE PATCH v3 14/19] dt-bindings: phy: mixel,mipi-dsi-phy: Allow assigned-clock* properties Liu Ying
2024-07-24 9:29 ` [DO NOT MERGE PATCH v3 15/19] dt-bindings: firmware: imx: Add SCU controlled display pixel link nodes Liu Ying
2024-07-24 9:29 ` [DO NOT MERGE PATCH v3 16/19] arm64: dts: imx8qxp: Add display controller subsystem Liu Ying
2024-07-24 9:29 ` [DO NOT MERGE PATCH v3 17/19] arm64: dts: imx8qxp: Add MIPI-LVDS combo subsystems Liu Ying
2024-07-24 9:29 ` [DO NOT MERGE PATCH v3 18/19] arm64: dts: imx8qxp-mek: Enable display controller Liu Ying
2024-07-24 9:29 ` [DO NOT MERGE PATCH v3 19/19] arm64: dts: imx8qxp-mek: Add MX8-DLVDS-LCD1 display module support Liu Ying
2024-07-27 16:39 ` [PATCH v3 00/19] Add Freescale i.MX8qxp Display Controller support Dmitry Baryshkov
2024-07-27 19:10 ` Sui Jingfeng
2024-07-27 20:28 ` Dmitry Baryshkov
2024-07-27 21:38 ` Sui Jingfeng
2024-07-27 22:08 ` Dmitry Baryshkov
2024-07-30 8:42 ` Liu Ying
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=20240724092950.752536-1-victor.liu@nxp.com \
--to=victor.liu@nxp.com \
--cc=agx@sigxcpu.org \
--cc=airlied@gmail.com \
--cc=aisheng.dong@nxp.com \
--cc=conor+dt@kernel.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=francesco@dolcini.it \
--cc=frank.li@nxp.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=kishon@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=tglx@linutronix.de \
--cc=tzimmermann@suse.de \
--cc=vkoul@kernel.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).