[PATCH v3 00/15] drm/tidss: Add BeagleY-AI display support (and some more)
From: Tomi Valkeinen
Date: Fri May 29 2026 - 04:57:52 EST
This series aims to add display support for all display interfaces on
BeagleY-AI board. More generally, it adds display support for TI AM62P,
J722S, and related SoCs, and, as a bit extra, improves AM62L's DPI
handling.
The main topics to highlight:
- The data and sync signal polarities require accessing a register
(DPI0_CLK_CTRL) in the CTRL_MMR block. This has already been discussed
e.g. in
https://lore.kernel.org/all/20250730-fix-edge-handling-v1-0-1bdfb3fe7922%40bootlin.com/.
This series is based on "[PATCH 0/6] arm64: ti: Use syscon for the
Control Module" which makes the CTRL_MMR block available for DSS via
syscon.
- The tidss OLDI support will now use auxiliary device/driver. This seems
to solve quite neatly the requirement to have a power-domain for each
OLDI. The main issue that remains is that on AM62P (and similar) we
will have three OLDI TX DT nodes, even if there are only two in the
hardware.
- I'm no audio expert, but based on the original dts from Robert Nelson,
I did get HDMI audio working, but I see "davinci-mcasp
2b10000.audio-controller: Sample-rate is off by 400 PPM".
With this series one can use the HDMI output on BeagleY-AI. I have also
tested the DSI output with Raspberry Pi's 7" DSI display, and OLDI
output with an oscilloscope (I don't have a suitable OLDI panel) with
extra DT overlays.
Tomi
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
---
Changes in v3:
- Base on "[PATCH 0/6] arm64: ti: Use syscon for the Control Module"
- Drop quotation marks from Rb tags
- Drop Tested-by tags for the bindings patches
- "drm/tidss: Add external data and sync signal edge configuration": Fix
error handling
- "drm/tidss: Add support for DPIENABLE bit": set/unset DPIENABLE in
prepare/unprepare
- "drm/tidss: oldi: Convert OLDI to an aux driver": Improve cleanups
(of_node_put, clk_put, device_link_del)
- Dropped "arm64: dts: ti: k3-am62p-j722s-common-main: Make main_conf a syscon"
- "arm64: dts: ti: k3-am62p-j722s-common-main: Add support for DSS": Add
missing clocks and ti,oldi-io-ctrl for oldi1 node. Drop unused
main-gpio0-ioexp-intr-default-pins node. Fix MCASP1_AXR0 pin
direction. Fix DSS videoport numbering.
- Link to v2: https://lore.kernel.org/r/20260513-beagley-ai-display-v2-0-9e9bcefde6bc@xxxxxxxxxxxxxxxx
Changes in v2:
- Add Rb and Tb tags
- Drop "dt-bindings: mfd: syscon: Add ti,am625-dss-dpi0-clk-ctrl
compatible", which is now implemented with the below changes.
- New patch "dt-bindings: display: ti,am65x-dss: Add ti,dpi-io-ctrl"
- Modify "drm/tidss: Add external data and sync signal edge
configuration" to use the 'ti,dpi-io-ctrl' with offset.
- New patch "arm64: dts: ti: k3-am62p-j722s-common-main: Make main_conf
a syscon".
- Modify "arm64: dts: ti: k3-am62p-j722s-common-main: Add support for
DSS" to set 'ti,dpi-io-ctrl' properties
- Drop generic desc in DT bindings for power-domains property
- Fix pm_runtime_get_sync() return value check
- Link to v1: https://lore.kernel.org/r/20260420-beagley-ai-display-v1-0-f628543dfd14@xxxxxxxxxxxxxxxx
---
Andrew Davis (1):
arm64: dts: ti: beagley-ai: Enable HDMI display and audio
Jayesh Choudhary (1):
arm64: dts: ti: k3-am62p-j722s-common-main: Add support for DSS
Swamil Jain (1):
drm/tidss: Add support for AM62P display subsystem
Tomi Valkeinen (12):
dt-bindings: display: ti: Move ti,am62l-dss binding to a new binding file
dt-bindings: display: ti,am65x-dss: Simplify binding
dt-bindings: display: ti,am625-oldi: Add optional power-domain for OLDI
dt-bindings: display: ti,am65x-dss: Add ti,dpi-io-ctrl
dt-bindings: display: ti,am65x-dss: Add AM62P DSS
drm/tidss: Remove extra pm_runtime_mark_last_busy
drm/tidss: oldi: Remove define for unused register OLDI_LB_CTRL
drm/tidss: Add mechanism to detect DPI output
drm/tidss: Add external data and sync signal edge configuration
drm/tidss: Add support for DPIENABLE bit
drm/tidss: oldi: Fix OLDI signal polarities
drm/tidss: oldi: Convert OLDI to an aux driver
.../bindings/display/ti/ti,am625-oldi.yaml | 3 +
.../bindings/display/ti/ti,am62l-dss.yaml | 136 ++++++
.../bindings/display/ti/ti,am65x-dss.yaml | 187 +++----
MAINTAINERS | 1 +
.../boot/dts/ti/k3-am62p-j722s-common-main.dtsi | 112 +++++
arch/arm64/boot/dts/ti/k3-am62p.dtsi | 16 +
arch/arm64/boot/dts/ti/k3-am67a-beagley-ai.dts | 191 ++++++++
arch/arm64/boot/dts/ti/k3-j722s.dtsi | 16 +
drivers/gpu/drm/tidss/tidss_crtc.c | 10 +-
drivers/gpu/drm/tidss/tidss_crtc.h | 4 +-
drivers/gpu/drm/tidss/tidss_dispc.c | 53 +-
drivers/gpu/drm/tidss/tidss_dispc.h | 5 +-
drivers/gpu/drm/tidss/tidss_dispc_regs.h | 5 +
drivers/gpu/drm/tidss/tidss_drv.c | 54 ++-
drivers/gpu/drm/tidss/tidss_drv.h | 5 +-
drivers/gpu/drm/tidss/tidss_kms.c | 55 ++-
drivers/gpu/drm/tidss/tidss_oldi.c | 540 +++++++++++++++------
drivers/gpu/drm/tidss/tidss_oldi.h | 8 +-
18 files changed, 1109 insertions(+), 292 deletions(-)
---
base-commit: 9e171fc1d7d7ab847a750c03571c87ac3c17bd84
change-id: 20260420-beagley-ai-display-d7f634cde5f4
prerequisite-change-id: 20260528-ti-main-conf-d75aea5e5c2b:v1
prerequisite-patch-id: b45e40d091eeb547189d2bed60cb809be22543cf
prerequisite-patch-id: 1098a5aca6124123635bc0b19853eca9968291bc
prerequisite-patch-id: edea999683b5849977f5a1d40430fa674c3143ff
prerequisite-patch-id: 1a71566898f248dfdd99bed6b2de9ab8b229bf7d
prerequisite-patch-id: 9112dad36cf951c79d63ea3d87324745ed790ca3
prerequisite-patch-id: 7b93f92509cb1a9536cd8a2833526178a9d13f74
Best regards,
--
Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>