ZHCAFK4 July   2025 AM62P

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 DSS Components
    2. 1.2 使用 DSS 进行 PLL 和输出路由
  5. 2配置各个显示器
    1. 2.1 配置 OLDI
    2. 2.2 配置 DPI
    3. 2.3 配置 DSI
  6. 3配置同时显示
  7. 4软件配置
    1. 4.1 OLDI(双链路)
    2. 4.2 OLDI(单链路 - 克隆模式)
    3. 4.3 OLDI(单链路 - 独立模式)
    4. 4.4 DPI/HDMI
    5. 4.5 DSI
  8. 5总结
  9. 6参考资料

OLDI(单链路 - 独立模式)

使用以下示例 dts 叠加 (.dtso),在独立模式下启用 2 个单链路 OLDI。此代码也可在 Beyond SDK Github 上找到。

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/**
 * Rocktech Panel (single-link lvds) with AM62P-SK EVM in independent 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_dss1_out>;
			};
		};
	};
};

&dss0 {
	status = "okay";
};

&dss1 {
	status = "okay";
    assigned-clocks = <&k3_clks 235 7>,
                      <&k3_clks 241 0>;
	assigned-clock-parents = <&k3_clks 235 9>, /* OLDI TX1 driven by PLL18 and DSS1 VP0 */
                            <&k3_clks 241 1>;  /* PLL18 for DSS1 VP0 */
};

&oldi0_dss0 {
	status = "okay";
};

&oldi1_dss1 {
	status = "okay";	
};

&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_dss1_ports {
	#address-cells = <1>;
	#size-cells = <0>;

	port@0 {
		reg = <0>;

		oldi1_dss1_in: endpoint {
			remote-endpoint = <&dss1_dpi0_out1>;
		};
	};

	port@1 {
		reg = <1>;

		oldi1_dss1_out: endpoint {
			remote-endpoint = <&lcd1_in>;
		};
	};
};

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

	/* DSS0 VP1: Output to OLDI0 */
	port@0 {
		reg = <0>;

		dss0_dpi0_out0: endpoint {
			remote-endpoint = <&oldi0_dss0_in>;
		};
	};
};

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

	/* DSS1 VP1: Output to OLDI1 */
	port@0 {
		reg = <0>;

		dss1_dpi0_out1: endpoint {
			remote-endpoint = <&oldi1_dss1_in>;
		};
	};
};
'
  • 每个 LCD 供应商都有唯一的时序参数,并在 DTS 文件中针对(例如)Rocktech LCD 定义了一个兼容字段,如上所示。兼容字段映射到名为 panel-simple.c 的文件,位于内核目录 drivers/gpu/drm/panel 下。在 panel-simple.c 文件中,时序参数由 SK-LCD1 供应商定义。
  • 对于独立模式下的单链路 OLDI,请使用 dss0 和 dss1 分别驱动 OLDI TX0 和 OLDI TX1。在独立模式下,两个 olditx IP 均已启用,但一个端点位于 dss0 vp0 下,另一个端则位于 dss0 vp1 下。
  • 有关多路复用器配置的信息,请参阅 适用于 AM62P 的 TISCI 文档
  • 此模式不同于 OLDI(单链路 - 克隆模式)模式,因为缺少用于耦合 OLDI TX0 和 OLDI TX1 的配套节点。
  • 有两个独立的显示节点,每个节点都有一个端口 (port@0)。