This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SK-AM62P-LP:如何将 DSS1 LVDS 配置为显示

Guru**** 2457760 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1545541/sk-am62p-lp-how-to-config-dss1-lvds-to-display

器件型号:SK-AM62P-LP


工具/软件:

您好 TI:

        我想使用 DSS1 LVDS 进行 显示。 应如何 修改 DTS!

BR

 加密狗

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请参阅: https://www.ti.com/lit/pdf/sprads3 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Divyansh:

          我按照本指南修改了 DTS。  Tidss panel-simple probe ok、但 我无法在示波器上测量 DSS1 old1 的时钟。

    BR

    加密狗

    /* DSS1 oldi1 dts */

    &max9277_gmsl{
    状态=“正常“;

    端口{
    端口@0{
    lcd_in0:端点{
    远程端点=<&oldi1_DSS1_OUT>;
    };
    };
    };
    };


    &DSS1{
    状态=“正常“;
    assigned-clocks =<&K3_CLKS 235 7>、
    <&K3_CLKS 241 0>;
    分配的时钟父级=<&K3_CLKS 235 9>、/*由 PLL18 和 DSS1 VP0 驱动的 OLDI TX1 */
    <&K3_CLKS 241 1>;/*用于 DSS1 VP0 的 PLL18 */
    };

    &oldi1_DSS1{
    状态=“正常“;
    };

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

    端口@0{
    reg =<0>;

    oldi1_DSS1_in:端点{
    远程端点=<&DSS1_dpi0_out1>;
    };
    };

    端口@1{
    reg =<1>;

    oldi1_DSS1_out:端点{
    远程端点=<&LCD_in0>;
    };
    };
    };

    &DSS1_ports{

    /* VP1:输出到 OLDI */
    端口@0{
    reg =<0>;
    #address-cells =<1>;
    #size-cells =<0>;

    DSS1_dpi0_out1:端点@0{
    reg =<0>;
    远程端点=<&oldi1_DSS1_IN>;
    };
    };
    };

    /* panel-simple.ko */

    静态结构 panel_desc gmsl_max9277 ={
    .TIMING =&GMSL_max9277_MODE、
    .num_timings = 1、
    .bpc = 8、
    .size ={
    .width = 800、
    .height = 545、
    }、
    .bus_format = media_bus_FMT_RGB888_1X7X4_SPWG、
    .bus_flags = DRM_bus_flag_de_high、
    .CONNECTOR_TYPE = DRM_MODE_CONNECTOR_LVDS、
    };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您使用的是哪个 SDK 版本?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TI-PROCESSOR-SDK-LINUX-am62pxx-EVM-11.00.09.04

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请使用 11.01.05.03、有一个相关的补丁程序修复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 divyansh Mittal:

          我已将 SDK 更新为  11.01.05.03、但这个问题仍然存在。

          uname -r
          6.12.35-ge3e551586dfa-dirty

    BR

    董可以

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请分享以下信息:

    devmem2 0x3020a160
    kmsprint --device=/dev/dri/by-path/platform-30200000.dss-card
    kmsprint --device=/dev/dri/by-path/platform-30220000.dss-card
    
    kmstest --device=/dev/dri/by-path/platform-30200000.dss-card    #Share what you see on display/probe
    kmstest --device=/dev/dri/by-path/platform-30220000.dss-card    #Share what you see on display/probe


    您能否编辑先前包含 DT 和面板的简单回复、并将其放在代码块中以提高可读性?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../dss1.diffThis是我的 diff

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     kmsprint --device=/dev/dri/by-path/platform-30220000.dss-card
    Connector 0 (41) LVDS-1 (connected)
      Encoder 0 (40) NONE
        Crtc 0 (39) 256x64@60.00 26.160 256/403/96/45/? 64/415/63/3/? 60 (60.00) 0x0 0x48
    

     kmstest --device=/dev/dri/by-path/platform-30220000.dss-card
    Connector 0/@41: LVDS-1
      Crtc 0/@39: 256x64@60.00 26.160 256/403/96/45/? 64/415/63/3/? 60 (60.00) 0x0 0x48
      Plane 0/@32: 0,0-256x64
        Fb 49 256x64-XR24
    press enter to exit
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    devmem2 0x3020a160
    /dev/mem opened.
    [  667.585644] audit: type=1701 audit(1736660868.476:47): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=7170 comm="devmem2" exe="/usr/bin/devmem2" sig=7 res=1
    Memory mapped at address 0xffff83811000.
    [  667.610694] audit: type=1334 audit(1736660868.504:48): prog-id=32 op=LOAD
    [  667.617570] audit: type=1334 audit(1736660868.508:49): prog-id=33 op=LOAD
    [  667.624415] audit: type=1334 audit(1736660868.516:50): prog-id=34 op=LOAD
    Bus error (core dumped)
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当您将 Dss0 的状态设置为“确定“时会发生什么情况
    那么您是否能够读取 0x3020a160?
    如果您能够读取、显示是否正常?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、
    我刚才在我这边检查了一下 仅配置 OLDI TX1 而不配置 TX0 时、我能够获得信号。
    这是奇怪的不读 3020a160 给你的错误,这不是我的设置情况.

    您是否还可以读取 0x3022a160?

    您可以尝试使用我的参考实现配置另一个面板来查看是否至少在行上看到数据:

    // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
    /**
     * Rocktech Panel (single-link lvds) with AM62P-SK EVM in independent mode
     *
     * AM62P-SKEVM: www.ti.com/.../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 = <&oldi1_dss1_out>;
    			};
    		};
    	};
    };
    
    &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 */
    };
    
    &oldi1_dss1 {
    	status = "okay";	
    };
    
    &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 = <&lcd0_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>;
    		};
    	};
    };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [ 100.428365][DRM]初始化了次要 0 上 30200000.dss 的 tidss 1.0.0
    [ 114.512253][DRM]初始化了次要 1 上 30220000.dss 1.0.0

    当我将  Dss0 的状态设置为“正常“时、仍然无法读取 0x3020a160

    DTS 配置

    &max9277_gmsl {
    	status = "okay";
    
    		ports {
    			port@0 {
    				lcd_in0: endpoint {
    					remote-endpoint = <&oldi1_dss1_out>;
    			};
    		};
    	};
    };
    
    &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 */
    };
    
    &dss0 {
    	bootph-all;
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_dpi_pins_default>;
    };
    
    &oldi1_dss1 {
    	status = "okay";
    };
    
    &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 = <&lcd_in0>;
    		};
    	};
    };
    
    &dss1_ports {
    
    	/* VP1: Output to OLDI */
    	port@0 {
    		reg = <0>;
    		#address-cells = <1>;
    		#size-cells = <0>;
    
    		dss1_dpi0_out1: endpoint@0 {
    			reg = <0>;
    			remote-endpoint = <&oldi1_dss1_in>;
    		};
    	};
    };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、 让我试一下...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    无法读取该寄存器对我来说很奇怪。 您是否设置了某种防火墙以防止在软件应用程序中读取?
    如果您使用 TI EVM、建议使用 DTS 检查面板是否正常工作。

    由于 devmem2 无法正常工作、您能否尝试通过 CCS 通过另一个内核读取该寄存器?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果我单独使用 dss0 odli0、则可以读取寄存器“0x3020a160",“,下班、下班后、我会在 ti EVM 板上试用、非常感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Divyansh:

     如果我使用 TI EVM、按照 DTS、  正常。

    BR  

    董可以

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    具有相同 DTS、  
    1.能否读取 0x3020a160 和 0x3022a160?
    2.当您更换与您的面板兼容的“rocktech"面“面板时会发生什么情况?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Divyansh:

           1、是、我可以 使用 EVM 读取

           测量了 2、时钟

       可能是我的定制电路板的 DSS1 模块的硬件有问题。 顺便说一句, 如何使 dss0 双输出与 dpi 和 LVDS 同步?  我分别使用 dss0 的 dpi 和 LVDS 功能、它们工作正常。  这是我的另一个问题。  SK-AM62P-LP:如何与 dpi 和 LVDS 同步启用 dss0 双路输出? -处理器论坛 — 处理器- TI E2E 支持论坛

    谢谢  

    董可以

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、这很可能描述了您的定制电路板上的问题、尤其是因为您无法访问这些寄存器。
    将响应另一个线程。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢