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/. In this series the whole CTRL_MMR ("main_conf") block is changed to a syscon, which allows simpler access to the DPI0_CLK_CTRL register. - 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. 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). Tomi Signed-off-by: Tomi Valkeinen <[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 (13): 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 arm64: dts: ti: k3-am62p-j722s-common-main: Make main_conf a syscon .../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 | 111 ++++- arch/arm64/boot/dts/ti/k3-am62p.dtsi | 16 + arch/arm64/boot/dts/ti/k3-am67a-beagley-ai.dts | 197 ++++++++ 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 | 49 +- 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 | 531 +++++++++++++++------ drivers/gpu/drm/tidss/tidss_oldi.h | 8 +- 18 files changed, 1104 insertions(+), 289 deletions(-) --- base-commit: 3131ff5a117498bb4b9db3a238bb311cbf8383ce change-id: 20260420-beagley-ai-display-d7f634cde5f4 prerequisite-message-id: <[email protected]> prerequisite-patch-id: 654d90f9cddec8b41e6fb1b3776a632606fef88c Best regards, -- Tomi Valkeinen <[email protected]>
