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.

[参考译文] AM62L-PROCESSOR-SDK:有关为 MIPI-DSI 显示器在 k3-am62l3-EVM-DSI-RPI-7inch-panel.dtso 中使用桥接器和端口的说明

Guru**** 2419530 points
Other Parts Discussed in Thread: AM62P, AM62L

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1499432/am62l-processor-sdk-clarification-on-use-of-bridges-and-ports-in-k3-am62l3-evm-dsi-rpi-7inch-panel-dtso-for-mipi-dsi-display

器件型号:AM62L-PROCESSOR-SDK
主题中讨论的其他器件:AM62PAM62L

工具/软件:

尊敬的 TI 团队:

我正在努力将原生 MIPI-DSI 显示面板与 AM62L3 平台集成、并参考k3-am62l3-evm-dsi-rpi-7inch-panel.dtso覆盖层作为指导。 但是、我注意到这个 DTS 包括一个用于 Toshiba TC358762 的桥接节点、它通过一系列端口和远程端点将 DSI 输出连接到显示面板。 这给我造成了一些混淆、因为我的硬件将 MIPI 显示屏直接连接到 SoC 的 DSI 接口、而不使用任何外部桥接芯片。 我想知道、当显示器已经与 MIPI 兼容并直接连接时、为什么在 DTS 中对电桥建模。 该桥接器是否仅适用于 Raspberry Pi 7“面板、因为其内部 DPI 接口需要 DSI 到 DPI 转换器、例如 TC358762? 还是出于软件抽象目的、这只是 DTS 中的通用表示形式? 在具有原生 MIPI-DSI 面板的典型设置中、我们是否应该跳过桥接节点、将面板直接连接到器件树中的 DSI 控制器? 感谢您澄清 DTS 中何时需要桥接器以及为什么需要桥接器、以及端口/端点层次结构在直接 MIPI-DSI 连接场景中应该如何呈现。

Im 使用不同的显示器 mipi。我想重新命名在 EVK 中使用的 DTS ,所以如果你能提供一些解释会很有帮助。

-- Dheeraj

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

    您好:

    我已经尝试提出一个 mipi DSI 显示器,我已经在我的 DTS 中这样配置. 但我的特定驱动程序的“panel-Winstar"没有“没有得到探测。是否有任何错误的可能的变化,可以在这个 DTS 中完成.

    显示器和驱动程序已经过验证、工作正常。请告诉我此处的配置有什么问题。

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


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

    端口@0{
    reg =<0>;
    dss_OUT:端点{
    远程端点=<&DSI_IN>;
    };
    };
    };


    &dsi0{
    状态=“正常“;
    全部引导;

    Panel@0{/* MIPI_DSI:MIPI DSI 主机*/

    Compatible =“panel-Winstar";“;
    ENABLE-GPIO =<&MAIN_GPIO0 45 GPIO_ACTIVE_HIGH>;
    pinctrl-names =“default";“;
    pinctrl-0 =<&main_mipi_panel_pins_default>;
    DSI 通道=<4>;
    电源=<Registered_3p3v>;
    视频模式=<2>;
    width-mm =<154>;
    height-mm =<85>;
    状态=“正常“;

    端口{
    panel_in:端点{
    远程端点=<&dsi0_out>;
    };
    };
    };


    端口{
    #address-cells =<1>;
    #size-cells =<0>;

    端口@0{
    reg =<0>;
    dsi0_out:端点{
    远程端点=<&panel_in>;
    //data-lanes =<0 1 2 3>;
    };
    };

    端口@1{
    reg =<1>;
    DSI_IN:端点{
    远程端点=<&DSS_OUT>;
    };
    };
    };
    };

    -- Dheeraj

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此桥接器是否仅适用于 Raspberry Pi 7“面板、因为其内部 DPI 接口需要 DSI 至 DPI 转换器、如 TC358762? 还是出于软件抽象目的、这只是 DTS 中的通用表示形式? 在具有原生 MIPI-DSI 面板的典型设置中、我们是否应该跳过桥接节点并将面板直接连接到器件树中的 DSI 控制器?

    这主要与电池板驱动器的工作原理有关。 任何 DSI 面板都 需要将接收到的数据转换为 RGB 格式、以便在面板上显示。 在 RPi 面板外壳中、有一个 Toshiba 桥接驱动器可以执行此操作。 Toshiba 桥有自己的驱动器功能、需要为此调用该功能。
    不同的面板可以采用不同的方法来实现这一点(可能具有这样的面板驱动器)。 查看以下 DTS: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62p5-sk-microtips-mf070zima-lcd3.dtso?h=ti-linux-6.6.y (此显示器适用于 AM62P,目前不受支持)。 这种情况下无需使用桥接驱动器、而是使用面板驱动器中定义的命令来执行这些功能。

    您必须检查面板驱动器的工作原理以及是否需要在 DTS 中单独设置桥接节点。
    如果您的面板驱动器不需要桥接驱动器、从硬件连接说明的角度来看、DTS 看起来不错。  
    如果您的面板没有显示任何内容、我建议您将与 DSS 和 DSI 相关的 dmesg 日志、控制台结果与 kmsprint 和 kmstest 共享、并且您在屏幕上是否可以看到任何运行 kmstest 的内容以及更新的 DTS(如果已修改)。

    此外、您如何验证您的面板和驱动程序? 您是否使用过任何 EVM 来对此进行测试?

    我还会要求您在发布 DTS、日志或任何代码时使用 E2E 中的代码块。

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

    嗨、Mittal、

    我们使用的是 Winstar 显示器 相同 MIPI DSI 接口 AM62L 处理器 还提供对 MIPI DSI 的原生支持。 因此、应与建立直接连接 无需额外的桥接器(例如 DSI 转 RGB) 、因为处理器和显示器本身支持相同的信令标准。

    请检查提供的器件树配置以验证 面板节点 、以及它与的绑定 DSI 主机 DSS 控制器 ,已被正确定义和连接。我做了轻微的修改后,我的 panel-Winstar 驱动程序被正确探测.但有一些错误打印像没有 CRTS /大小找到.

    部件号(Winstar 显示器): WF70A8TYAHHNGB#

    &dss {
            status = "okay";
    };
    
    &dphy_tx0 {
           status = "okay";
    };
    
    
    &dss_ports {
        #address-cells = <1>;
        #size-cells = <0>;
    
             port@1 {
                    reg = <1>;
    
                    dss_out: endpoint {
                            remote-endpoint = <&dsi_in>;
                    };
            };
    
    };
    
    &dsi0 {
            status = "okay" ;
    
    
             ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
    
                    port@0 {
                            reg = <0>;
                            dsi0_out: endpoint {
                                    remote-endpoint = <&panel_in>;
                                    data-lanes = <0 1 2 3>;
                            };
                    };
    
                    port@1 {
                             reg = <1>;
                             dsi_in: endpoint {
                            remote-endpoint = <&dss_out>;
                            };
                    };
             };
    
            panel@0 { /* MIPI_DSI: MIPI DSI Host */
    
                    reg = <0>;
                    compatible = "panel-winstar";
                    enable-gpios = <&main_gpio0 45 GPIO_ACTIVE_HIGH>;
                    pinctrl-names = "default";
                    pinctrl-0 = <&main_mipi_panel_pins_default>;
                    dsi-lanes = <4>;
                    power-supply = <&reg_3p3v>;
                    video-mode = <2>;
                    width-mm = <154>;
                    height-mm = <85>;
                    status = "okay";
    
                    port {
                            panel_in: endpoint {
                                    remote-endpoint = <&dsi0_out>;
                            };
                    };
            };
    
    };
    
            main_mipi_panel_pins_default: main-mipi-panel-pins-default {
                    pinctrl-single,pins = <
                            AM62PX_IOPAD(0x00f4, PIN_INPUT, 7) /* (R22) MMC2_DAT3.GPIO0_45 */
                            AM62PX_IOPAD(0x00f8, PIN_INPUT, 7) /* (T23) MMC2_DAT2.GPIO0_46 */
                    >;
            };
    


    请使用上述配置检查我收到的错误打印件。

    e2e.ti.com/.../Display_2D00_probed_2D00_log.txt

    -- Dheeraj K

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

    您好、
    对于您的 DTS、请参考 AM62L Processor Linux SDK 中的 k3-am62l3-EVM-DSI-RPI-7inch-panel.dtso 文件。
    您的 DTS 中有一些问题、比如:
    1.在&DSS_ports 中、它应该是端口@0 、而不是端口@1
    2.尝试在&{/}中定义 panel0、而不是 在&dsi0 中定义 panel@0
    3.这条线路额外: 数据通路=<0 1 2 3>;

    一般而言、请尝试创建与上述 dtso 尽可能接近的 DTS 作为参考。

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

    您好、

    我尝试过这些改变,这样我的 Winstar 司机没有被探测到,在那他们正在使用桥,但桥是必要的显示工作。你可以分享任何一个 mipi CSI 工作 DTS 没有任何桥。或者如果桥是强制使用,有余公共桥可用于我的显示。


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

    这是一个没有电桥驱动器的示例。 请注意、这适用于将 DSS1 VP1 用于 DSI 的 AM62P。 对于 AM62L、远程端点连接应遵循  k3-am62l3-EVM-DSI-RPI-7inch-panel.dtso、因为在 AM62L 中、DSI 由 DSS VP0 驱动。
     如果网桥节点是强制性的、我无法评论、这需要由您的面板供应商来回答。

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

    嗨、Mittal、

    我尝试过做这些改变,在我看来,我的司机得到了正确的探测,但我仍然面临一些问题与 tidss 驱动程序。 我得到的照片是这样的。

    dmesg | grep -i tidss
    [ 14.982668][DRM]初始化了次要 0 上 30200000.dss 的 tidss 1.0.0
    [ 14.996110] tidss 30200000.dss:[DRM]未找到兼容格式
    [15.004836] tidss 30200000.dss:[DRM]找不到任何 CRTC 或大小

    当我在 EVM 板上检查时、我也会从“DSS"那里“那里得到相同的照片。您能分享如何在 EVK 板上测试 mipi 显示、以及从这张照片上、这是否意味着由于这种配置、CPU 正在引导以连接到 HDMI? 由于同样的问题、也没有 fbset 命令的输出。
    你能告诉我为什么这“找不到兼容的格式“打印出来.


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

    您好、

    我尝试通过使用 dtso 文件编辑 uEnv.txt 并重新启动 EVK 电路板来添加覆盖层。 执行此更改后、未找到 CRTC 问题、但驱动程序探测器失败、并且 fbset 命令未显示任何内容。 请您澄清一下这个问题和上面的问题。是否有任何必须将其编译为 dtso 到 dtbo 的条件? 无法通过支持 mipi 连接器的附加电路板 DTS 添加它。  

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

    您好、
    您的 DTS 中至少应存在以下更改

    在&DSS_ports 中、它应该是 port@0 而不是 port@1

    如果仍遇到探测错误、请尝试使用 print 语句查看驱动程序中出现错误的位置。
    在您的驾驶员被探测到的情况下、您是否能够在 lsmod 中看到驱动程序模块?

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

    您好、

    是的,在这些更改后,我尝试在一些驱动程序中添加 print 语句。 下面是我在做更改后得到的打印件、是在 lsmod 中我的驱动程序已加载属性。

    通过在 drivers/GPU/DRM/*.c 处的驱动程序中添加一些打印内容、我收到了以下 dmesg。 似乎驱动程序没有进入 DSI_Attach 节点内部。 原因可能是什么。

    dmesg | grep -I Winstar
    [ 18.046450] WWinstar:探测到驱动程序)
    [18.116625] panel-custom-disp-Winstar 30500000.DSI.0:获得 DSI-lanes (0)
    [18.227103] panel-custom-disp-Winstar 30500000.DSI.0:获得 REST GPIO (0)
    [18.311128] panel-custom-disp-Winstar 30500000.DSI.0:获得背光 (0
    [ 18.350760] Winstar:在初始化之前
    [18.350784] Winstar:inside panel_init-----(DRM 中的内部函数)
    [ 18.354076] Winstar:离开 panel_init--(在 DRM 中的函数内部)
    [ 18.357887] Winstar:after init
    [18.362050] Winstar:drvdata 之后
    [ 18.365125] Winstar:内部面板附加-(在 DRM 中的内部功能)
    [ 18.399353] Winstar :离开面板附加-(在 DRM 中的内部功能)
    [ 18.478178] Winstar:在 panel_add 之后
    [ 18.483813] Winstar:在 DSI_Attach 之后
    [18.514194] panel-custom-disp-Winstar 30500000.DSI.0:接收模式 1024x600x@65
    [ 18.528896] Winstar:>>>调用 DRM_DISPLAY_INFO_SET_BUS_FORMATS...
    [18.542144] panel-custom-disp-Winstar 30500000.DSI.0:接收模式 1024x600x@65
    [ 18.549983] Winstar:>>>调用 DRM_DISPLAY_INFO_SET_BUS_FORMATS...


    此外、我还附加了 Modetest 命令输出  

     modetest -M  tidss
    [   81.303217] panel-custom-disp-winstar 30500000.dsi.0: recieved modes 1024x600x@65
    [   81.310770] winstar:>>> Calling drm_display_info_set_bus_formats...
    Encoders:
    id      crtc    type    possible crtcs  possible clones
    40      0       none    0x00000001      0x00000001
    
    Connectors:
    id      encoder status          name            size (mm)       modes   encoders
    41      0       connected       DSI-1           154x85          0       40
      props:
            1 EDID:
                    flags: immutable blob
                    blobs:
    
                    value:
            2 DPMS:
                    flags: enum
                    enums: On=0 Standby=1 Suspend=2 Off=3
                    value: 0
            5 link-status:
                    flags: enum
                    enums: Good=0 Bad=1
                    value: 0
            6 non-desktop:
                    flags: immutable range
                    values: 0 1
                    value: 0
            4 TILE:
                    flags: immutable blob
                    blobs:
    
                    value:
    
    CRTCs:
    id      fb      pos     size
    39      0       (0,0)   (0x0)
      #0  nan 0 0 0 0 0 0 0 0 0 flags: ; type: 
      props:
            24 VRR_ENABLED:
                    flags: range
                    values: 0 1
                    value: 0
            27 CTM:
                    flags: blob
                    blobs:
    
                    value:
            28 GAMMA_LUT:
                    flags: blob
                    blobs:
    
                    value:
            29 GAMMA_LUT_SIZE:
                    flags: immutable range
                    values: 0 4294967295
                    value: 256
    
    Planes:
    id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
    32      0       0       0,0             0,0     0               0x00000001
      formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12
      props:
            8 type:
                    flags: immutable enum
                    enums: Overlay=0 Primary=1 Cursor=2
                    value: 1
            30 IN_FORMATS:
                    flags: immutable blob
                    blobs:
    
                    value:
                            01000000000000001d00000018000000
                            01000000900000004152313241423132
                            52413132524731364247313641523135
                            41423135415232344142323452413234
                            42413234524732344247323441523330
                            41423330585231325842313252583132
                            58523135584231355852323458423234
                            52583234425832345852333058423330
                            59555956555956594e56313200000000
                            ffffff1f000000000000000000000000
                            0000000000000000
                    in_formats blob decoded:
                             AR12:  LINEAR(0x0)
                             AB12:  LINEAR(0x0)
                             RA12:  LINEAR(0x0)
                             RG16:  LINEAR(0x0)
                             BG16:  LINEAR(0x0)
                             AR15:  LINEAR(0x0)
                             AB15:  LINEAR(0x0)
                             AR24:  LINEAR(0x0)
                             AB24:  LINEAR(0x0)
                             RA24:  LINEAR(0x0)
                             BA24:  LINEAR(0x0)
                             RG24:  LINEAR(0x0)
                             BG24:  LINEAR(0x0)
                             AR30:  LINEAR(0x0)
                             AB30:  LINEAR(0x0)
                             XR12:  LINEAR(0x0)
                             XB12:  LINEAR(0x0)
                             RX12:  LINEAR(0x0)
                             XR15:  LINEAR(0x0)
                             XB15:  LINEAR(0x0)
                             XR24:  LINEAR(0x0)
                             XB24:  LINEAR(0x0)
                             RX24:  LINEAR(0x0)
                             BX24:  LINEAR(0x0)
                             XR30:  LINEAR(0x0)
                             XB30:  LINEAR(0x0)
                             YUYV:  LINEAR(0x0)
                             UYVY:  LINEAR(0x0)
                             NV12:  LINEAR(0x0)
            34 zpos:
                    flags: range
                    values: 0 0
                    value: 0
            35 COLOR_ENCODING:
                    flags: enum
                    enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
                    value: 0
            36 COLOR_RANGE:
                    flags: enum
                    enums: YCbCr limited range=0 YCbCr full range=1
                    value: 1
            37 alpha:
                    flags: range
                    values: 0 65535
                    value: 65535
            38 pixel blend mode:
                    flags: enum
                    enums: Pre-multiplied=0 Coverage=1
                    value: 0
    
    Frame buffers:
    id      size    pitch
    
    


    -- Dheeraj

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

    由于您的 modetest 已填充、因此您在 kmsprint 和 kmstest 中看到了什么?

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

    您好、

    我一直在检查、这里是输出

    root@am62lxx-ig69m:~# 
    root@am62lxx-ig69m:~# 
    root@am62lxx-ig69m:~# kms
    kmsblank       kmscube        kmsprint       kmstest        kmstest.kms++  
    root@am62lxx-ig69m:~# kms
    kmsblank       kmscube        kmsprint       kmstest        kmstest.kms++  
    root@am62lxx-ig69m:~# kmsprint 
    [  760.315586] panel-custom-disp-winstar 30500000.dsi.0: recieved modes 1024x600x@65
    [  760.323315] winstar:inside mode_set_name
    [  760.323329] winstar : Leaving mode_set_name
    [  760.327336] winstar:inside drm_mode_probed
    [  760.331575] Winstar:leaving_drm_mode_probed
    [  760.335697] winstar:inside bus_formats
    [  760.339889] winstar:leaving bus formats
    Connector 0 (41) DSI-1 (connected)
      Encoder 0 (40) NONE
    root@am62lxx-ig69m:~# kmstest  
    [  767.715755] panel-custom-disp-winstar 30500000.dsi.0: recieved modes 1024x600x@65
    [  767.723445] winstar:inside mode_set_name
    [  767.723458] winstar : Leaving mode_set_name
    [  767.727465] winstar:inside drm_mode_probed
    [  767.731707] Winstar:leaving_drm_mode_probed
    [  767.735828] winstar:inside bus_formats
    [  767.740023] winstar:leaving bus formats
    Mode not valid for DSI-1
    


    这些是我在驱动程序中给出的显示参数

    static const struct drm_display_mode default_mode = {
            .clock = 56000,
            .hdisplay = 1024,
            .hsync_start = 1024 + 160,
            .hsync_end = 1024 + 160 + 160,
            .htotal = 1024 + 160 + 160 + 10,
            .vdisplay = 600,
            .vsync_start = 600 + 12,
            .vsync_end = 600 + 12 + 23,
            .vtotal = 600 + 12 + 23 + 1,
            .width_mm = 154,
            .height_mm = 85,
            .flags = DRM_MODE_FLAG_NHSYNC |
                     DRM_MODE_FLAG_NVSYNC,
    
    };
    


    我必须在这里进行哪些更改。

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

    嗨、Mittal、

    将驱动程序中的显示参数更改为 EVK 显示参数(从 drivers-raspberrypi_7inch)时、我能够观察到一些差异  

    root@am62lxx-ig69m:~# 
    root@am62lxx-ig69m:~# fbset
    
    mode "800x480"
        geometry 800 480 800 480 32
        timings 0 0 0 0 0 0 0
        rgba 8/16,8/8,8/0,0/0
    endmode
    
    root@am62lxx-ig69m:~# 
    root@am62lxx-ig69m:~# 
    root@am62lxx-ig69m:~# 
    root@am62lxx-ig69m:~# modetest 
    trying to open device 'i915'...failed
    trying to open device 'amdgpu'...failed
    trying to open device 'radeon'...failed
    trying to open device 'nouveau'...failed
    trying to open device 'vmwgfx'...failed
    trying to open device 'omapdrm'...failed
    trying to open device 'exynos'...failed
    trying to open device 'tilcdc'...failed
    trying to open device 'msm'...failed
    trying to open device 'sti'...failed
    trying to open device 'tegra'...failed
    trying to open device 'imx-drm'...failed
    trying to open device 'rockchip'...failed
    trying to open device 'atmel-hlcdc'...failed
    trying to open device 'fsl-dcu-drm'...failed
    trying to open device 'vc4'...failed
    trying to open device 'virtio_gpu'...failed
    trying to open device 'mediatek'...failed
    trying to open device 'meson'...failed
    trying to open device 'pl111'...failed
    trying to open device 'stm'...failed
    trying to open device 'sun4i-drm'...failed
    trying to open device 'armada-drm'...failed
    trying to open device 'komeda'...failed
    trying to open device 'imx-dcss'...failed
    trying to open device 'mxsfb-drm'...failed
    trying to open device 'simpledrm'...failed
    trying to open device 'imx-lcdif'...failed
    trying to open device 'vkms'...failed
    no device found
    root@am62lxx-ig69m:~# kms
    kmsblank       kmscube        kmsprint       kmstest        kmstest.kms++  
    root@am62lxx-ig69m:~# kms
    kmsblank       kmscube        kmsprint       kmstest        kmstest.kms++  
    root@am62lxx-ig69m:~# kmsprint 
    [   43.526744] panel-custom-disp-winstar 30500000.dsi.0: recieved modes 800x480x@60
    [   43.534308] winstar:inside mode_set_name
    [   43.534315] winstar : Leaving mode_set_name
    [   43.538261] winstar:inside drm_mode_probed
    [   43.542483] Winstar:leaving_drm_mode_probed
    [   43.546606] winstar:inside bus_formats
    Connector 0 (41) DSI-1 (connected)
      Encoder 0 (40) NONE
        Crtc 0 (39) 800x480@60.00 28.569 800/48/32/80/- 480/3/7/6/- 60 (60.00) 0xa 0x48
          Plane 0 (32) fb-id: 42 (crtcs: 0) 0,0 800x480 -> 0,0 800x480 (AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV)
            FB 42 800x480
    root@am62lxx-ig69m:~# 
    



    其他显示参数在此 CPU 中工作是否有任何限制?  

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

    您好、
    您是否可以共享 Winstar 驱动程序功能?
    此外、如果您可以记下函数调用跟踪及其卡在 Winstar 情况下的位置以及工作 RPi 设置中的相应调用跟踪、将会很有帮助。

    由于我没有您的显示器、因此必须在您的最后进行重大调试

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

    所以,在你改变之后,你会看到 kmsprint 和 kmstest? 这些都是非常标准的调试测试、请在共享日志时包含和 modetest。

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

    谢谢。
    您的问题似乎与以下网站上报告的持续问题类似:
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1494826/am62l-dsi_p_clk-has-no-rate 和
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1487601/am62p-q1-mipi-dsi-d-phy-doesn-t-seem-to-be-clocking 

    我们已经提出了 Cadence(我们的 DSI IP 提供商)票证、我将插入您的观察结果、以帮助改进当前的调试工作。

    在这里总结您的分析、
    具有相同的 Winstar 面板驱动程序(已在其他电路板中验证)
    1) 使用分辨率 1024x600 时、会看到以下错误:

    dmesg | grep -i tidss
    [ 14.982668] [drm] Initialized tidss 1.0.0 for 30200000.dss on minor 0
    [ 14.996110] tidss 30200000.dss: [drm] No compatible format found
    [ 15.004836] tidss 30200000.dss: [drm] Cannot find any crtc or sizes

    2) 当您测试 800x480 分辨率和类似 800x600 的附近分辨率时,您没有看到错误,并且 kmstest 和 kmsprint 显示正常的工作日志。

    您能否确认此总结是否正确、如果不正确、请提供更正后的总结。

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

    您好、
    像在 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1494826/am62l-dsi_p_clk-has-no-rate 中完成一样、您能否探测  DSI_TX3_N 并查看您是否看到任何内容。

    以下是日志:

    root@am62lxx-evm:~#
    root@am62lxx-evm:~#
    root@am62lxx-evm:~# kmsprint
    Connector 0 (41) DSI-1 (connected)
      Encoder 0 (40) NONE
        Crtc 0 (39) 800x480@60.00 28.569 800/48/32/80/- 480/3/7/6/- 60 (60.00) 0xa 0x48
          Plane 0 (32) fb-id: 42 (crtcs: 0) 0,0 800x480 -> 0,0 800x480 (AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12)
            FB 42 800x480
    root@am62lxx-evm:~#
    root@am62lxx-evm:~#
    root@am62lxx-evm:~# kmstest
    Connector 0/@41: DSI-1
      Crtc 0/@39: 800x480@60.00 28.569 800/48/32/80/- 480/3/7/6/- 60 (60.00) 0xa 0x48
      Plane 0/@32: 0,0-800x480
        Fb 44 800x480-XR24
    press enter to exit
    
    root@am62lxx-evm:~#
    root@am62lxx-evm:~# fbset
    
    mode "800x480"
        geometry 800 480 800 480 32
        timings 0 0 0 0 0 0 0
        rgba 8/16,8/8,8/0,0/0
    endmode
    
    root@am62lxx-evm:~# dmesg | grep -i tidss
    [   15.329113] [drm] Initialized tidss 1.0.0 for 30200000.dss on minor 0
    [   15.887056] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device
    root@am62lxx-evm:~#
    root@am62lxx-evm:~# modetest -M tidss
    Encoders:
    id      crtc    type    possible crtcs  possible clones
    40      39      none    0x00000001      0x00000001
    
    Connectors:
    id      encoder status          name            size (mm)       modes   encoders
    41      40      connected       DSI-1           154x86          1       40
      modes:
            index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
      #0 800x480 60.00 800 848 880 960 480 483 490 496 28569 flags: nhsync, nvsync; type: preferred, driver
      props:
            1 EDID:
                    flags: immutable blob
                    blobs:
    
                    value:
            2 DPMS:
                    flags: enum
                    enums: On=0 Standby=1 Suspend=2 Off=3
                    value: 0
            5 link-status:
                    flags: enum
                    enums: Good=0 Bad=1
                    value: 0
            6 non-desktop:
                    flags: immutable range
                    values: 0 1
                    value: 0
            4 TILE:
                    flags: immutable blob
                    blobs:
    
                    value:
    
    CRTCs:
    id      fb      pos     size
    39      42      (0,0)   (800x480)
      #0 800x480 60.00 800 848 880 960 480 483 490 496 28569 flags: nhsync, nvsync; type: preferred, driver
      props:
            24 VRR_ENABLED:
                    flags: range
                    values: 0 1
                    value: 0
            27 CTM:
                    flags: blob
                    blobs:
    
                    value:
            28 GAMMA_LUT:
                    flags: blob
                    blobs:
    
                    value:
            29 GAMMA_LUT_SIZE:
                    flags: immutable range
                    values: 0 4294967295
                    value: 256
    
    Planes:
    id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
    32      39      42      0,0             0,0     0               0x00000001
      formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12
      props:
            8 type:
                    flags: immutable enum
                    enums: Overlay=0 Primary=1 Cursor=2
                    value: 1
            30 IN_FORMATS:
                    flags: immutable blob
                    blobs:
    
                    value:
                            01000000000000001d00000018000000
                            01000000900000004152313241423132
                            52413132524731364247313641523135
                            41423135415232344142323452413234
                            42413234524732344247323441523330
                            41423330585231325842313252583132
                            58523135584231355852323458423234
                            52583234425832345852333058423330
                            59555956555956594e56313200000000
                            ffffff1f000000000000000000000000
                            0000000000000000
                    in_formats blob decoded:
                             AR12:  LINEAR(0x0)
                             AB12:  LINEAR(0x0)
                             RA12:  LINEAR(0x0)
                             RG16:  LINEAR(0x0)
                             BG16:  LINEAR(0x0)
                             AR15:  LINEAR(0x0)
                             AB15:  LINEAR(0x0)
                             AR24:  LINEAR(0x0)
                             AB24:  LINEAR(0x0)
                             RA24:  LINEAR(0x0)
                             BA24:  LINEAR(0x0)
                             RG24:  LINEAR(0x0)
                             BG24:  LINEAR(0x0)
                             AR30:  LINEAR(0x0)
                             AB30:  LINEAR(0x0)
                             XR12:  LINEAR(0x0)
                             XB12:  LINEAR(0x0)
                             RX12:  LINEAR(0x0)
                             XR15:  LINEAR(0x0)
                             XB15:  LINEAR(0x0)
                             XR24:  LINEAR(0x0)
                             XB24:  LINEAR(0x0)
                             RX24:  LINEAR(0x0)
                             BX24:  LINEAR(0x0)
                             XR30:  LINEAR(0x0)
                             XB30:  LINEAR(0x0)
                             YUYV:  LINEAR(0x0)
                             UYVY:  LINEAR(0x0)
                             NV12:  LINEAR(0x0)
            34 zpos:
                    flags: range
                    values: 0 0
                    value: 0
            35 COLOR_ENCODING:
                    flags: enum
                    enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
                    value: 0
            36 COLOR_RANGE:
                    flags: enum
                    enums: YCbCr limited range=0 YCbCr full range=1
                    value: 1
            37 alpha:
                    flags: range
                    values: 0 65535
                    value: 65535
            38 pixel blend mode:
                    flags: enum
                    enums: Pre-multiplied=0 Coverage=1
                    value: 0
    
    Frame buffers:
    id      size    pitch
    
    root@am62lxx-evm:~#

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

    您好、

    感谢您的日志。
    只想在测试 EVK 支持的显示器时确认此问题、没有发现任何问题? 在这里,我没有该显示器测试. 不满意包括触摸支持是正确的?

    我会探测  DSI_TX3_N 并告诉您。



  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只需在测试 EVK 支持的显示时确认、没有发现问题

    是、在支持的 EVK(Raspberry Pi 7 英寸触摸显示屏)中未发现问题。 触摸支持也可正常工作。

    I 将探测  DSI_TX3_N 并告知您。

    谢谢、一定会再来的。

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

    嗨、Mittal、

    我探测了 2 个信号, Im 能够得到时钟信号,但数据信号没有任何脉冲。

    DSI_CLK_N




    DSI_TX3_N


    在检查该线程时、我开始知道其他人也面临同样的问题。 fbset、modetest 以及 kmstest 的所有输出对我来说似乎都是正确的。 但是、您能否说明此 CPU 为何无法接收此显示屏的数据信号?

    何时可以解决此问题?


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

    您好、
    您能否使用同一个驱动器以不同的分辨率探测 DSI_TX3_N、例如 1024x600 和 800x480。

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

    您好、

    是的,我已经尝试了 modyfing 的分辨率与 1024x600 , 800x480 与相同的驱动程序(面板 Winstar ). 输出相同。
    所以我尝试在 EVM 板上探测信号,但我得到了错误的 EVK 二进制文件仅.

    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# dmesg | grep -i dss
    [    0.334371] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.352253] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
    [    0.406334] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.415013] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.432944] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
    [   25.014706] platform 30200000.dss: deferred probe pending: tidss: port 0 probe failed
    root@am62lxx-evm:~# dmesg | grep -i fails
    root@am62lxx-evm:~# dmesg | grep -i failed
    [    1.132770] optee firmware:optee: probe with driver optee failed with error -22
    [    1.245917] VDDA_V75: failed to get the current voltage: -EINVAL
    [    1.256193] tps65219 0-0030: error -EINVAL: Failed to register LDO2 regulator
    [    1.270159] tps65219-regulator tps65215-regulator.1.auto: probe with driver tps65219-regulator failed with error -22
    [    5.798893] sysctl table check failed: ioctl/(null) procname is null
    [    5.816064] sysctl table check failed: ioctl/(null) No proc_handler
    [   12.702179] clk: failed to reparent 0_ADC0 to 2_ADC0: -22
    [   12.715481] rpi_touchscreen_attiny 1-0045: Failed to read REG_ID reg: -5
    [   12.722345] rpi_touchscreen_attiny 1-0045: probe with driver rpi_touchscreen_attiny failed with error -5
    [   25.014706] platform 30200000.dss: deferred probe pending: tidss: port 0 probe failed
    root@am62lxx-evm:~# dmesg | grep -i mipi  
    [   25.030664] mipi-dsi 30500000.dsi.0: deferred probe pending: mipi-dsi: supplier bridge-regulator not ready
    root@am62lxx-evm:~# 
    


    因为我没有该显示器,我没有连接它。这可能是这个问题吗?
    Candence 是否有关于此问题的任何更新?
    我需要如何调出显示屏、请引导我进行哪些更改?

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

    您好、

    在 EVM 板中,添加 mipi-DSI 覆盖后,我通过探测低电平来检查 MIPI 数据和时钟信号。同时探测 HDMI 数据信号时,信号变高。

    由于两者的控制器是相同的,为什么 HDMI 数据越来越高,同时测试 mipi 显示器与 SDK 中提供的相同 dtso。
    除了更新 uEnv.txt 中的行、是否有任何其他方法可以使用覆盖 dtso  

    “name_overles=ti/k3-am62l3-evm-DSI-RPI-7 inch-panel.dtbo“


    我想探测 EVM 中 MIPI 的信号、以通过定制板进行确认。

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

    您好、

    如何解决在 EVM 板上检查时使用 mipi display dtso 时收到的错误?

    I2C 1-0038:延迟探头待定:I2C:供应商 1-0045 未就绪
    [24.752569]平台桥接调节器:延迟探头待定:平台:供应商 1-0045 未就绪
    [24.761546] platform 30200000.dss:递延探测器挂起:tidss: port 0 探测器失败
    [24.769398]平台面板 0:延迟探头待定:平台:供应商 1-0045 未就绪
    [24.777512] mipi-DSI 30500000.DSI.0:延迟探头待定:MIPI-DSI:供应商桥接调节器未就绪

    如果我在 DTS 中做了更改、那么电路板本身就会卡在 u-boot 级别。


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

    您好、
    此寄存器的值对您来说是多少?  DSI_VBUSP_CFG_DSI_0_DSI_DSI_VID_MODE_STS (0x305000F0)

    您是否还可以尝试应用此补丁系列: https://lore.kernel.org/all/20250320-cdns-dsi-impro-v1-18-725277c5f43b@ideasonboard.com/#r 
    它可能不是一个干净的应用程序,很少东西可能需要向后移植。

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

    您好、

    进行一些更改后、在 EVM 板中该寄存器的值可以获得 fb0。但每当我给出 fbset 时、CPU 就会挂起。
    我尝试探测数据和时钟信号。我能够得到时钟信号@ 350Mhz 但不数据信号。

    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# devmem2 0x305000F0
    /dev/mem opened.
    Memory mapped at address 0xffff82ebe000.
    Read at address  0x305000F0 (0xffff82ebe0f0): 0x00000000
    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# ls /dev/fb0  
    /dev/fb0
    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# dmesg | grep -i tidss
    [   25.531953] [drm] Initialized tidss 1.0.0 for 30200000.dss on minor 0
    [   25.552588] Modules linked in: m_can_platform m_can ti_am335x_adc tc358762 kfifo_buf crct10dif_ce rpi_panel_attiny_regulator snd_soc_simple_card snd_soc_simple_card_utils panel_simple k3_j72xx_bandgap rti_wd6
    [   25.553470]  tidss_atomic_commit_tail+0x48/0x80 [tidss]
    [   25.554865]  tidss_probe+0x20c/0x320 [tidss]
    root@am62lxx-evm:~# dmesg | grep -i framebuffer
    [   25.554453]  do_register_framebuffer+0x17c/0x228
    [   25.554460]  register_framebuffer+0x2c/0x50
    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# dmesg | grep -i panel  
    [    0.375491] /bus@f0000/dsi@30500000/bridge@0: Fixed dependency cycle(s) with /panel0
    [    0.456069] /bus@f0000/dsi@30500000/bridge@0: Fixed dependency cycle(s) with /panel0
    [   12.744792] /panel0: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000/bridge@0
    [   12.833724] /bus@f0000/dsi@30500000/bridge@0: Fixed dependency cycle(s) with /panel0
    [   25.507676] tcs:inside panel_simple_platform_probe
    [   25.507742] tcs:inside panel-simple
    [   25.552588] Modules linked in: m_can_platform m_can ti_am335x_adc tc358762 kfifo_buf crct10dif_ce rpi_panel_attiny_regulator snd_soc_simple_card snd_soc_simple_card_utils panel_simple k3_j72xx_bandgap rti_wd6
    root@am62lxx-evm:~# 
    



    带有 Winstar 显示器的定制电路板中的值、其中探测信号看起来与 EVM 相同、但时钟只有 150Mhz
    root@am62lxx-ig69m:~# 
    root@am62lxx-ig69m:~# 
    root@am62lxx-ig69m:~# fbset
    
    mode "1024x600"
        geometry 1024 600 1024 600 32
        timings 0 0 0 0 0 0 0
        rgba 8/16,8/8,8/0,0/0
    endmode
    
    root@am62lxx-ig69m:~# devmem2 0x305000F0
    /dev/mem opened.
    Memory mapped at address 0xffff98c5e000.
    Read at address  0x305000F0 (0xffff98c5e0f0): 0x00000004
    


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

    谢谢。
    请持续关注。 我们正在调试该问题。 会让您随时发布任何更新。

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

    您好、

    您能否确认此问题与 DTS 配置或 Cadence 驱动程序有关?

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

    您好、

    我尝试通过应用补丁程序进行测试,看不到显示中的任何变化。 MIPI 差分信号的时钟频率应该是多少?

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

    谢谢、我们收到了 DSI IP 提供商的调试实验、今天将与您分享该实验。

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

    您好、

    很棒、感谢更新! 等待着它。

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

    您好、
    请执行在“TRM 的 12.7.2.7.7.4 TVG 配置 “(www.ti.com/.../sprujb4) 下的序列示例中提到的实验并分享您的结果。

    同时,我也在做同样的事情

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

    您好、

    我浏览过该部件、但无法理解它对该问题的实际帮助。\n 请在此之后分享您的观察结果。\n 它是否适用于此空白显示问题?

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

    尊敬的 Dheeraj:
    请浏览 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1487601/am62p-q1-mipi-dsi-d-phy-doesn-t-seem-to-be-clocking 主题中的以下最新文章来执行此实验。

    这将帮助我们找出问题。

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

    您好、
    您可以尝试以下操作吗:
    1. 加入了补丁程序: 前面提到的补丁程序集的补丁程序 15/18。 
    2. 将寄存器 2.2.35.1 DSI_TOP_VBUSP_CFG_DSI_0_DSI_VID_MAIN_CTL 寄存器中的 REG_BLKEOL_MODE 和 REG_BLKLINE_MODE 调整为 3(切换到 LP 模式与传输空白数据包)[复位= 80000000h]

    然后进行显示、是否可以共享?

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

    您好、

    谢谢,我将测试这些更新,并会让你知道的意见

    -- Dheeraj K

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

    您好、

    我已经经历过类似的主题、该问题似乎已得到解决。但您能否澄清我只能在驱动程序文件中进行的更改  

     #ifdef CONFIG_DRM_CDNS_DSI_J721E
     #include "cdns-dsi-j721e.h"
    @@ -972,6 +972,28 @@ static u32 *cdns_dsi_bridge_get_input_bus_fmts(struct drm_bridge *bridge,
            return input_fmts;
     }
     
    +static long cdns_dsi_round_pclk(struct cdns_dsi *dsi, unsigned long pclk)
    +{
    +       struct cdns_dsi_output *output = &dsi->output;
    +       unsigned int nlanes = output->dev->lanes;
    +       union phy_configure_opts phy_opts = { 0 };
    +       u32 bitspp;
    +       int ret;
    +
    +       bitspp = mipi_dsi_pixel_format_to_bpp(output->dev->format);
    +
    +       ret = phy_mipi_dphy_get_default_config(pclk, bitspp, nlanes,
    +                                              &phy_opts.mipi_dphy);
    +       if (ret)
    +               return ret;
    +
    +       ret = phy_validate(dsi->dphy, PHY_MODE_MIPI_DPHY, 0, &phy_opts);
    +       if (ret)
    +               return ret;
    +
    +       return div64_u64((u64)phy_opts.mipi_dphy.hs_clk_rate * nlanes, bitspp);
    +}
    +
     static int cdns_dsi_bridge_atomic_check(struct drm_bridge *bridge,
                                            struct drm_bridge_state *bridge_state,
                                            struct drm_crtc_state *crtc_state,
    @@ -982,6 +1004,25 @@ static int cdns_dsi_bridge_atomic_check(struct drm_bridge *bridge,
            struct cdns_dsi_bridge_state *dsi_state = to_cdns_dsi_bridge_state(bridge_state);
            const struct drm_display_mode *mode = &crtc_state->mode;
            struct cdns_dsi_cfg *dsi_cfg = &dsi_state->dsi_cfg;
    +       struct drm_display_mode *adjusted_crtc_mode = &crtc_state->adjusted_mode;
    +       struct videomode vm;
    +       long pclk;
    +
    +       /*
    +        * The DPHY PLL has quite a coarsely grained clock rate options. See
    +        * what hsclk rate we can achieve based on the pixel clock, convert it
    +        * back to pixel clock, set that to the adjusted_mode->clock. This is
    +        * all in hopes that the CRTC will be able to provide us the requested
    +        * clock, as otherwise the DPI and DSI clocks will be out of sync.
    +        */
    +
    +       pclk = cdns_dsi_round_pclk(dsi, mode->clock * 1000);
    +       if (pclk < 0)
    +               return (int)pclk;
    +
    +       adjusted_crtc_mode->clock = pclk / 1000;
    +
    +       drm_display_mode_to_videomode(adjusted_crtc_mode, &vm);
     
            return cdns_dsi_check_conf(dsi, mode, dsi_cfg, false);


    这是真的吗?

    必须修改显示参数才能正常工作?

    -- Dheeraj K

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

    您好、  

    我已经尝试了 TVG 测试、但得到了一些类似未知硅的东西。 我的显示 Resoltion 是 1024x600。请验证我已编写的脚本、如果需要更新。

    ##!/bin/bash
    #!/bin/bash
    
    # dump out existing settings
    echo "DSI_VID_VSIZE1"
    k3conf read 0x305000B4 | grep addr
    echo "DSI_VID_VSIZE2"
    k3conf read 0x305000B8 | grep addr
    echo "DSI_VID_HSIZE1"
    k3conf read 0x305000C0 | grep addr
    echo "DSI_VID_HSIZE2"
    k3conf read 0x305000C4 | grep addr
    echo "DSI_VID_BLKSIZE1"
    k3conf read 0x305000CC | grep addr
    echo "DSI_VID_BLKSIZE2"
    k3conf read 0x305000D0 | grep addr
    echo "DSI_VID_PCK_TIME"
    k3conf read 0x305000D8 | grep addr
    echo "DSI_VID_DPHY_TIME"
    k3conf read 0x305000DC | grep addr
    echo "DSI_VID_MODE_STS"
    k3conf read 0x305000F0 | grep addr
    echo "DSI_VID_VCA_SETTING1"
    k3conf read 0x305000F4 | grep addr
    echo "DSI_VID_VCA_SETTING2"
    k3conf read 0x305000F8 | grep addr
    echo "DSI_TVG_CTL"
    k3conf read 0x305000FC | grep addr
    echo "DSI_TVG_IMG_SIZE"
    k3conf read 0x30500100 | grep addr
    echo "DSI_TVG_COLOR1"
    k3conf read 0x30500104 | grep addr
    echo "DSI_TVG_COLOR1_BIS"
    k3conf read 0x30500108 | grep addr
    echo "DSI_TVG_COLOR2"
    k3conf read 0x3050010C | grep addr
    echo "DSI_TVG_COLOR2_BIS"
    k3conf read 0x30500110 | grep addr
    echo "DSI_TVG_STS"
    k3conf read 0x30500114 | grep addr
    echo "DSI_MAIN_DATA_CTL"
    k3conf read 0x30500004 | grep addr
    echo "DSI_MCTL_MAIN_EN"
    k3conf read 0x3050000C | grep addr
    
    echo "-------- Enabling test pattern"
    echo "DSI_TVG_CTL WRITE (disable TVG_RUN)"
    k3conf write 0x305000fc 0x000000B8 | grep addr
    sleep 1
    echo "DSI_MCTL_MAIN_EN WRITE (disable IF2_EN)"
    k3conf write 0x3050000C 0x000000F9 | grep addr
    sleep 1                              
    echo "DSI_MCTL_MAIN_EN WRITE (disable IF2_EN)"
    k3conf write 0x3050000C 0x000000F9 | grep addr
    echo "DSI_MAIN_DATA_CTL WRITE (enable TVG, disable VID_EN)"
    k3conf write 0x30500004 0x00020047 | grep addr
    sleep 1                                       
    echo "DSI_MAIN_DATA_CTL WRITE (enable TVG, enable VID_EN)" 
    k3conf write 0x30500004 0x00020067 | grep addr
    echo "DSI_TVG_IMG_SIZE WRITE (setup lines / size 1024x600)"
    k3conf write 0x30500100 0x02580C00 | grep addr            
    echo "TEST PATTERN COLOR 1"                   
    k3conf write 0x30500104 0x0FFF0000 | grep addr             
    k3conf write 0x30500108 0x00000000 | grep addr             
    echo "TEST PATTERN COLOR 2"                   
    k3conf write 0x3050010c 0x00000FFF | grep addr
    k3conf write 0x30500110 0x00000000 | grep addr            
    echo "DSI_TVG_CTL WRITE (enable TVG_RUN)"     
    k3conf write 0x305000fc 0x000000B9 | grep addr             
                                                               
    echo "DSI_TVG_STS"                            
    k3conf read 0x30500114 | grep addr      



    root@am62lxx-ig69m-2gb:~# ./dsi.sh 
    DSI_VID_VSIZE1
    Unknown Silicon 48039
    Value at addr 0x305000b4 = 0xa505
    DSI_VID_VSIZE2
    Unknown Silicon 48039
    Value at addr 0x305000b8 = 0x258
    DSI_VID_HSIZE1
    Unknown Silicon 48039
    Value at addr 0x305000c0 = 0x1740052
    DSI_VID_HSIZE2
    Unknown Silicon 48039
    Value at addr 0x305000c4 = 0x1da0c00
    DSI_VID_BLKSIZE1
    Unknown Silicon 48039
    Value at addr 0x305000cc = 0xfb6
    DSI_VID_BLKSIZE2
    Unknown Silicon 48039
    Value at addr 0x305000d0 = 0xf5a
    DSI_VID_PCK_TIME
    Unknown Silicon 48039
    Value at addr 0x305000d8 = 0x0
    DSI_VID_DPHY_TIME
    Unknown Silicon 48039
    Value at addr 0x305000dc = 0x90c03db
    DSI_VID_MODE_STS
    Unknown Silicon 48039
    Value at addr 0x305000f0 = 0x4
    DSI_VID_VCA_SETTING1
    Unknown Silicon 48039
    Value at addr 0x305000f4 = 0x0
    DSI_VID_VCA_SETTING2
    Unknown Silicon 48039
    Value at addr 0x305000f8 = 0xf540000
    DSI_TVG_CTL
    Unknown Silicon 48039
    Value at addr 0x305000fc = 0x0
    DSI_TVG_IMG_SIZE
    Unknown Silicon 48039
    Value at addr 0x30500100 = 0x0
    DSI_TVG_COLOR1
    Unknown Silicon 48039
    Value at addr 0x30500104 = 0x0
    DSI_TVG_COLOR1_BIS
    Unknown Silicon 48039
    Value at addr 0x30500108 = 0x0
    DSI_TVG_COLOR2
    Unknown Silicon 48039
    Value at addr 0x3050010c = 0x0
    DSI_TVG_COLOR2_BIS
    Unknown Silicon 48039
    Value at addr 0x30500110 = 0x0
    DSI_TVG_STS
    Unknown Silicon 48039
    Value at addr 0x30500114 = 0x0
    DSI_MAIN_DATA_CTL
    Unknown Silicon 48039
    Value at addr 0x30500004 = 0x27
    DSI_MCTL_MAIN_EN
    Unknown Silicon 48039
    Value at addr 0x3050000c = 0x40f9
    -------- Enabling test pattern
    DSI_TVG_CTL WRITE (disable TVG_RUN)
    Unknown Silicon 48039
    Value at addr 0x305000fc = 0xb8
    DSI_MCTL_MAIN_EN WRITE (disable IF2_EN)
    Unknown Silicon 48039
    Value at addr 0x3050000c = 0xf9
    DSI_MAIN_DATA_CTL WRITE (enable TVG, disable VID_EN)
    Unknown Silicon 48039
    Value at addr 0x30500004 = 0x20047
    DSI_MAIN_DATA_CTL WRITE (enable TVG, enable VID_EN)
    Unknown Silicon 48039
    Value at addr 0x30500004 = 0x20067
    DSI_TVG_IMG_SIZE WRITE (setup lines / size 1024x600)
    Unknown Silicon 48039
    Value at addr 0x30500100 = 0x2580c00
    TEST PATTERN COLOR 1
    Unknown Silicon 48039
    Value at addr 0x30500104 = 0xff0000
    Unknown Silicon 48039
    Value at addr 0x30500108 = 0x0
    TEST PATTERN COLOR 2
    Unknown Silicon 48039
    Value at addr 0x3050010c = 0xfff
    Unknown Silicon 48039
    Value at addr 0x30500110 = 0x0
    DSI_TVG_CTL WRITE (enable TVG_RUN)
    Unknown Silicon 48039
    Value at addr 0x305000fc = 0xb9
    DSI_TVG_STS
    Unknown Silicon 48039
    Value at addr 0x30500114 = 0x1
    


    -- Dheeraj k

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

    您好、

    我应用了补丁、并在 DTS 和驱动程序中使用以下参数正确配置:

    Pnael-Winstar.c【显示参数】

        .clock = 55100,
            .hdisplay = 1024,
            .hsync_start = 1024 + 160,
            .hsync_end = 1024 + 160 + 32,
            .htotal = 1024 + 160 + 32 + 128,
            .vdisplay = 600,
            .vsync_start = 600 + 10,
            .vsync_end = 600 + 10 + 4,
            .vtotal = 600 + 10 + 4 + 21,
            .width_mm = 154,
            .height_mm = 85,
            .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
    
    



    为了调试目的,我在 round_clock fn 中添加了一行,如下所示,我在 debigu 终端中观察到这个函数在循环中被调用。这是预期的行为吗? 一旦显示被初始化与适当的帧缓冲区,我得到了打印“ Winstar:insidsi_round-clk “ 多次 — 总线显示只有背光
    static long cdns_dsi_round_pclk(struct cdns_dsi *dsi, unsigned long pclk)
    {
            struct cdns_dsi_output *output = &dsi->output;
            unsigned int nlanes = output->dev->lanes;
            union phy_configure_opts phy_opts = { 0 };
            u32 bitspp;
            int ret;
            printk("winstar:insidedsi_round-clk");
            bitspp = mipi_dsi_pixel_format_to_bpp(output->dev->format);
    
            ret = phy_mipi_dphy_get_default_config(pclk, bitspp, nlanes,
                                                   &phy_opts.mipi_dphy);
            if (ret)
                    return ret;
    
            ret = phy_validate(dsi->dphy, PHY_MODE_MIPI_DPHY, 0, &phy_opts);
            if (ret)
                    return ret;
    
            return div64_u64((u64)phy_opts.mipi_dphy.hs_clk_rate * nlanes, bitspp);
    }
    
    

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

    您好、

    echo "DSI_TVG_IMG_SIZE WRITE (setup lines / size 1024x600)"
    k3conf write 0x30500100 0x02580C00

    上述内容似乎正确。

    但要获得类似未知芯片的东西

    这在 AM62L 中是预料之中的、但没有问题。

    您在显示器上看到了什么?

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

    您是否已使用任何其它主板对您的显示及其驱动程序进行了测试、如果您看不到该脚本的测试模式、则问题可能出在您的驱动程序中。

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

    您好、  

    根据您、脚本是正确的。 我已经用其它主板测试了显示器和驱动程序(不是在 TI CPU 中)、但 HW WISE 显示器可以正常使用我一直使用的驱动程序。 我将再次附加显示驱动程序。请检查天气情况、需要进行任何更改才能在 TI 平台上运行。


    e2e.ti.com/.../3162.panel_2D00_winstar.c

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

    要再次确认、您在此脚本上看不到任何显示内容?

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

    是。只有背光存在。

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

    尊敬的 Andreas:

    我一直致力于通过调整 HFP 和其他参数来启动显示器、如另一个主题中所述。 但是、到目前为止、我还没有在显示器上观察到任何可见的变化。

    您能否告诉我、是否还有我应该尝试的其他测试案例、或者是否有除已共享的修补程序之外的其他任何修补程序、而我可能错过了这些修补程序?

    感谢您指导我接下来应该采取哪些步骤。

    -- Dheeraj k

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

    尊敬的 Andreas:

    有任何更新?

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

    您好、
    能否分享您尝试过的时序参数?
    此外、您是否根据修订后的参数增加了时钟? 如果没有、您能尝试这样做吗?

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

    您好、

    我已经尝试了许多参数所有他们都有相同的输出.

    我尝试过的参数,  

    Refresh rate at 65HZ
             .clock = 55100,
            .hdisplay = 1024,
            .hsync_start = 1024 + 160,
            .hsync_end = 1024 + 160 + 32,
            .htotal = 1024 + 160 + 32 + 128,
            .vdisplay = 600,
            .vsync_start = 600 + 10,
            .vsync_end = 600 + 10 + 4,
            .vtotal = 600 + 10 + 4 + 21,
            .width_mm = 154,
            .height_mm = 85,
            .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
    
    
    Refresh rate 47HZ
              .clock = 40000,
            .hdisplay = 1024,
            .hsync_start = 1024 + 160,
            .hsync_end = 1024 + 160 + 32,
            .htotal = 1024 + 160 + 32 + 128,
            .vdisplay = 600,
            .vsync_start = 600 + 10,
            .vsync_end = 600 + 10 + 4,
            .vtotal = 600 + 10 + 4 + 21,
            .width_mm = 154,
            .height_mm = 85,
            .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
    
     Refresh rate @ 59
            .clock = 51100,
            .hdisplay = 1024,
            .hsync_start = 1024 + 300,
            .hsync_end = 1024 + 300 + 32,
            .htotal = 1024 + 300 + 32 + 8,
            .vdisplay = 600,
            .vsync_start = 600 + 10,
            .vsync_end = 600 + 10 + 4,
            .vtotal = 600 + 10 + 4 + 21,
            .width_mm = 154,
            .height_mm = 85,
            .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
    
     Refresh rate @ 92
            .clock = 80000,
            .hdisplay = 1024,
            .hsync_start = 1024 + 300,
            .hsync_end = 1024 + 300 + 32,
            .htotal = 1024 + 300 + 32 + 8,
            .vdisplay = 600,
            .vsync_start = 600 + 10,
            .vsync_end = 600 + 10 + 4,
            .vtotal = 600 + 10 + 4 + 21,
            .width_mm = 154,
            .height_mm = 85,
            .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
    


    是的,我试着增加时钟,但我仍然只得到背光。

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

    您好、  

    我已经测试了一个 RGB dislpay 它使用面板简单的驱动程序,在那里我可以看到 kmstest.kmscube 的输出正确的显示.

    下面是连接到板的 Winstar 显示器的视频。请通知右上角看到一个光标闪烁。并且只有当我发出 kmstest/kmscube 命令时、此光标才会闪烁。

    e2e.ti.com/.../VID_5F00_20250526_5F00_172349087.mp4

    当我运行这些命令时、这些是输出 I。

    root@am62lxx-evm:~# kmscube 
    [  109.420797] winstar:insidedsi_round-clk
    [  113.213984] panel-custom-disp-winstar 30500000.dsi.0: recieved modes 1024x600x@92
    MESA-LOADER: failed to open tidss: /usr/lib/dri/tidss_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/dri, suffix _dri)
    Using display 0x20ff17c0 with EGL version 1.5
    ===================================
    EGL information:
      version: "1.5"
      vendor: "Mesa Project"
      client extensions: "EGL_EXT_client_extensions EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_EXT_platform_dev"
      display extensions: "EGL_ANDROID_blob_cache EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_query_reset_notification_strategy E"
    ===================================
    OpenGL ES 2.x information:
      version: "OpenGL ES 3.2 Mesa 24.0.7"
      shading language version: "OpenGL ES GLSL ES 3.20"
      vendor: "Mesa"
      renderer: "llvmpipe (LLVM 18.1.6, 128 bits)"
      extensions: "GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_forma"
    ===================================
    Rendered 182 frames in 2.002938 sec (90.866516 fps)
    Rendered 365 frames in 4.005878 sec (91.116102 fps)
    ^C[  115.994720] winstar:insidedsi_round-clk
    
    
    kmstest
    [   95.187058] winstar:insidedsi_round-clk
    [  102.060866] panel-custom-disp-winstar 30500000.dsi.0: recieved modes 1024x600x@92
    Connector 0/@41: DSI-1
    [  102.137320] winstar:insidedsi_round-clk
      Crtc 0/@39: 1024x600@92.36 80.000 1024/300/32/8/- 600/10/4/21/- 92 (92.36) 0xa 0x48
      Plane 0/@32: 0,0-1024x600
        Fb 44 1024x600-XR24
    [  102.137440] winstar:Inside Disabled
    [  102.170173] winstar:Inside unprepare
    [  102.174200] winstar:insidedsi_round-clk
    [  102.178018] winstar:insidedsi_round-clk
    [  102.182018] winstar:Inside prepare
    [  102.198398] winstar:Inside Enable
    [  102.201857] winstar:enetered color_format_dsi
    press enter to exit
    ^C[  102.205181] winstar:inside enable
    
    


    我已经在 RGB 显示屏中测试了相同的内容、可以正常看到测试输出。(忽略颜色饱和度问题)
    e2e.ti.com/.../VID_5F00_20250526_5F00_172053931.mp4


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

    您好、

    我探测了所有数据信号(通道 0–3)、每当我运行kmstest命令时、光标在屏幕上闪烁、数据信号此时显示活动。 这表明来自 CPU 的信号正在正确传输。 但是、图形用户界面 (GUI) 不会显示在显示屏上。

    此外、我观察到时钟信号在 155MHz 处运行、它似乎与驱动器时序参数中指定的像素时钟无关。 这是预期行为吗?