SPRADS3 July   2025 AM62P

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 DSS Components
    2. 1.2 PLL and Output Routing with DSS
  5. 2Configuring Individual Displays
    1. 2.1 Configuring OLDI
    2. 2.2 Configuring DPI
    3. 2.3 Configuring DSI
  6. 3Configuring Simultaneous Displays
  7. 4Software Configuration
    1. 4.1 OLDI (Dual Link)
    2. 4.2 OLDI (Single Link - Cloned Mode)
    3. 4.3 OLDI (Single Link - Independent Mode)
    4. 4.4 DPI / HDMI
    5. 4.5 DSI
  8. 5Summary
  9. 6References

OLDI (Single Link - Cloned Mode)

Use the following example dts overlay (.dtso) to enable single link OLDI in cloned mode. The code is also available Beyond SDK github page.

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/**
 * Rocktech Panel (single-link lvds) with AM62P-SK EVM in cloned mode
 *
 * AM62P-SKEVM: https://www.ti.com/tool/SK-AM62P-LP
 *
 * Copyright (C) 2024 Texas Instruments Incorporated - http://www.ti.com/
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>

&{/} {
	display0 {
		compatible = "rocktech,rk101ii01d-ct", "panel-simple";
		port {
			lcd0_in: endpoint {
				remote-endpoint = <&oldi0_dss0_out>;
			};
		};
	};

	display1 {
		compatible = "rocktech,rk101ii01d-ct", "panel-simple";
		port {
			lcd1_in: endpoint {
				remote-endpoint = <&oldi1_dss0_out>;
			};
		};
	};
};

&dss0 {
	status = "okay";
};

&oldi0_dss0 {
	status = "okay";
	ti,companion-oldi = <&oldi1_dss0>;
};

&oldi1_dss0 {
	status = "okay";
	ti,secondary-oldi;
};

&oldi0_dss0_ports {
	#address-cells = <1>;
	#size-cells = <0>;

	port@0 {
		reg = <0>;
		oldi0_dss0_in: endpoint {
			remote-endpoint = <&dss0_dpi0_out0>;
		};
	};

	port@1 {
		reg = <1>;
		oldi0_dss0_out: endpoint {
			remote-endpoint = <&lcd0_in>;
		};
	};
};

&oldi1_dss0_ports {
	#address-cells = <1>;
	#size-cells = <0>;

	port@0 {
		reg = <0>;
		oldi1_dss0_in: endpoint {
			remote-endpoint = <&dss0_dpi0_out1>;
		};
	};

	port@1 {
		reg = <1>;
		oldi1_dss0_out: endpoint {
			remote-endpoint = <&lcd1_in>;
		};
	};
};

&dss0_ports {
	#address-cells = <1>;
	#size-cells = <0>;

	/* VP1: Output to OLDI */
	port@0 {
		reg = <0>;
		#address-cells = <1>;
		#size-cells = <0>;

		dss0_dpi0_out0: endpoint@0 {
			reg = <0>;
			remote-endpoint = <&oldi0_dss0_in>;
		};
		dss0_dpi0_out1: endpoint@1 {
			reg = <1>;
			remote-endpoint = <&oldi1_dss0_in>;
		};
	};
};
  • Every LCD vendor has a unique timing parameter and for (an example) Rocktech LCD, a compatible field is defined in the DTS file as shown above. The compatible field maps to a file called panel-simple.c. The file is located under the Kernel directory drivers/gpu/drm/panel. In the panel-simple.c file, the timing parameter is defined by SK-LCD1 vendor.
  • For single link OLDI in cloned mode, use dss0 drives the video signals to both OLDI TX0 and OLDI TX1. In cloned mode, both olditx IPs are enabled and as a result, there are two endpoints under dss0 vp0.
  • What differentiates this mode from OLDI (Dual Link) mode is the abscence of dual-lvds-odd-pixels and dual-lvds-even-pixels, while retaining the companion node, which enforces Single Link Cloned mode.
  • There are two separate display nodes and each of them has a single port (port@0).