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 <[email protected]> --- 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/[email protected] 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/[email protected] --- 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 <[email protected]>
