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.

[参考译文] Linux/DRA77P:在 DRA77p 中将 LCD1接口用于 HDMI

Guru**** 2546020 points
Other Parts Discussed in Thread: TPD12S015, DRA77P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/822715/linux-dra77p-using-lcd1-interface-for-hdmi-in-dra77p

器件型号:DRA77P
主题中讨论的其他器件:TPD12S015

工具/软件:Linux

您好!

我们打算在定制板上使用 lcd1接口进行 HDMI。

该电路的方框图如下所示、

我们对引脚多路复用器进行了必要的更改、并在器件树中添加了 LCD 节点。

e2e.ti.com/.../dra76_2D00_evm.txt

我们需要在器件树中提供一些指导、以便从 lcd1端口启动 HDMI 接口。

此致、

Padmesh

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

    我认为您需要在 DTB 中实施正确的 dpi->tda-bridge ->tpd-bridge ->hdmi 连接器信息。

    查看您的图表、我可以建议随附的示例连接信息:

    /cfs-file/__key/communityserver-discussions-components-files/791/sample_2D00_dtb.txt

    -Subhajit

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

    尊敬的 Subhajit:


    我实现了以下功能、

    i2c3{
    disp_ser:serializer@0c{
    compatible ="ti、ds90ub921q";
    reg =<0x0c>;
    
    #address-cells =<1>;
    #size-cells =<0>;
    status ="disabled";
    };
    tda19988:tda19988{
    compatible ="NXP、tda998x";
    reg =<0x70>;
    
    /* pinctrl-names ="默认值"、"关闭";
    pinctrl-0 =<&NXP_HDMI_bonelt_PIN>;
    pinctrl-1 =<&NXP_HDMI_bonelt_off_PINs>;*/
    
    //*将24位 BGR 转换为 RGB,例如交叉红色和蓝色接线*/
    视频端口=<0x230145>;
    
    #sound-di-cells =<0>;
    /* dico-port =<TDA998x_I2S
    
    
    
    端
    点0x03>;*/视频端口=<0x230145>;{=12_0>0@@端口<t8&0>0
    ;*
    };
    
    }
    ;端口@1{
    tda19988_OUT:端点@1{
    远程端点=<&tpd12s015_2_IN>;
    };
    };
    };
    };};
    
    };
    
    hdmi0:连接器{
    compatible ="HDMI-connector";
    标签="HDMI";
    
    类型="A";
    
    端口{
    hdmi0_connecter_in:endpoint{
    remote-endpoint =<&tpd12s015_1_out>;
    };
    };
    };
    
    HDMI1:连接器{
    compatible ="HDMI-connector";
    label ="hpd12s015_1_out>;}"mi-out";
    
    
    
    
    
    }<&mip_ip_in
    
    
    ;}
    
    
    tpd12s015_1:编码器{
    compatible ="ti、tpd12s015";
    
    GPIO=<&GPIO7 30 GPIO_ACTIVE_HIGH>、/* GPIO7_30、CT CP HPD */
    <&GPIO7 GPIO_ACTIVE_HIGH>、// GPIO7_31、LS OE *
    /<&GPIO7_0>
    
    
    
    
    
    @
    
    
    ;#GPIO0_GPIO0_GPIO0_GPIO0_GPIO0_GPIO0_GPIO0_+=<#_GPIO0_GPIO0_GPIO0_GPIO0_GPIO0_GPIO0_GPIO0_GPIO0_GPIO0>;#_GPIO0_GPIO0_GPIO0_GPIO 端点{
    REMOT-END=<&HDMI_OUT>;
    };
    
    
    端口@1{
    reg =<1>;
    
    tpd12s015_1_OUT:端点{
    REMOT-END=<&hmi0_connect_in>;
    };
    
    };};
    };};};};
    
    tpd12s015_2:编码器{
    compatible ="ti、tpd12s015";
    
    
    
    端口{
    #address-cells =<1>;
    #size-cells =<0>;
    
    端口@
    
    
    
    
    
    
    
    @0{reg = 0>;tpd12s015_2_in:端点{#remote-端 点=<&tda19988_out>;};}}};}= tpd12_connector
    
    
    
    ;{<1_intrademe_1;}= tpd1;}
    
    
    
    
    
    &DSS{
    status ="ok";
    VDDA_VIDE-SUPPLY =<&ldo5_reg>;
    端口{
    #address-cells =<1>;
    #size-cells =<0>;
    status ="ok";
    dss_port:port{
    reg =<0>;
    
    dp_out1:{
    data-lines =<24>;
    remote-endpoint}=<19988
    ;
    
    };}
    };
    
    &HDMI {
    状态="ok";
    
    VDDA-SUPPLY =<&ldo1_reg>;
    
    端口{
    HDMI_OUT:端点{
    远程端点=<&tpd12s015_1_IN>;
    };
    
    };};}; 

    hdmi0是专用的 HDMI 端口、HDMI1是 LCD-HDMI 复用线路的端口。

    在执行上述配置时、专用端口也会由于 DSS 中涉及的脚本而失败。 在注释来自 DSS 的端点流程时、会启用专用 HDMI 端口。

    第二个 HDMI (lcd1接口)端口也无法显示任何内容。

    现在可能需要进行哪些更改?

    此致、

    Padmesh

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

    您好!

    我想重新表述我的问题、

    我们打算使用两个显示屏、一个专用 HDMI 和一个 dpi (dpi1或 lcd1)。 专用 HDMI 线路在上述配置中可以正常工作、单位为 dt。

    dpi1用作第二个显示屏、我们提供了上面的 dt 配置。 但是、在 DSS 和 tpd12s015_2中启用 dpI_out1远程点时、专用 HDMI 端口会以某种方式失败。

    如上所述,第二 个显示屏使用了 dpi->tDA-bridge ->tpd-bridge ->hdmi 连接器实现。

    专用 HDMI 是否还需要 tpd12s015_1?

    我注意到、在 DSS_CONTROL 中、寄存器显示0000000的值、其中[17:16]位为00、这意味着在 dpi1处选择 HDMI、我需要在 lcd1处将其设置为01作为输出。 我该怎么办?

    此致、
    Padmesh

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

    好的、也许我应该先问一下:您是在 DRA77p EVM 还是在定制板上尝试一下?

    如果是,您是否尝试使用 LCD->HDMI 适配卡上的 HDMI 端口以及本机 HDMI 端口?

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

    尊敬的 Subhajit:

    我们使用基于 DRA77p 的定制板、其中电路板中使用了两个显示端口。

    我正在尝试从 DPI1端口调出 LCD1线路、在该端口中、HDMI 插件端口通过 tda19988桥接器使用。

    本机 HDMI 端口工作正常。

    在从 DSS 启用 dpi 端口时、无法观察到任何内容。 它还会影响本机 HDMI 端口。

    今天我发现问题在于在 DSS 中启用 dpi_port 的远程端点、在进入 modetest 命令后、内核中也不显示本机 HDMI、也不显示连接器。

    remote-endpoint = <&tda19988_in>注释掉 DSS 节点中的行时、本机 HDMI 正常工作、Motetest 会显示 HDMI 连接器。

    我在这里错过了什么?

    此致、

    Padmesh

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

    尊敬的 Subhajit:

    是否有任何关于这种情况发生原因的答复?

    驱动程序是否需要进行任何调整?

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

    尊敬的 Subhajit:

    我发现问题发生在 DSS 中的 tda998x 端点。

    电流实现中可能缺少什么? 在器件树的 tda19988节点中,有哪些必需的?

    我在 tda19988的器件树节点中提供了 pinmux detatils,但响应仍然没有变化。

    急切地等待您的回复。

    此致、

    Padmesh

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

    Padmesh、

    很抱歉耽误你的回答。 我仍在努力解决这个问题、但我还没有解决方案。

    我将努力在8月2日星期五之前提出一项解决办法

    -Subhajit

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

    尊敬的 Subhajit:

    在实施 dt 方面、您需要添加一些其他信息、

    LCD:显示{
    //
    * TODO:不是 DPI 面板,而是虚拟 DSI 视频模式面板。
    *稍后、当我们能够
    正确支持 DSI VM *面板时、需要对此进行更改。
    */
    compatible ="OSD、osd101t2045-53ts"、"panel-dpi";
    
    label ="lcd";
    
    panel-timing{
    clock-frequency =<45400000>;
    hactive =<1200>
    ;
    
    hfront-ctrlch =<112>;
    hback -ctr廊=<32>;
    HSYNC-LEN =<16>;
    
    前沿=<16>;
    后沿=<16>;
    VSYNC-LEN =<2>;
    
    HSYNC-ACTIVE =<0>;
    vsync-active =<0>;
    de-active =<1>;
    pixelclk-active =<1>;
    };
    
    
    端口{
    端口@0{
    LCD_IN:端点{
    REMOT-EndPoint =<&dp_out>;
    };
    
    
    
    };};
    
    };};};
    
    
    &DSS{
    status ="ok";
    端口{
    #address-cells =<1>;
    #size-cells =<0>;
    状态="ok";
    
    端口{
    reg =<0>;
    
    dpi_out:端点{
    //remote-endpoint =<&tc358768_in>;
    remote-endpoint =<&lcd_in>;
    数据线=<24>
    
    ;};}
    };
    }
    
    
    ;&i2c3{
    时钟频率=<100000>;
    
    tda19988:tda19988@70{
    兼容="NXP、tda998x";
    reg =<0x70>;
    
    视频端口=<0x230145>;
    
    端口{
    /da19988@0{
    tda19988_in:端
    点@
    
    
    
    
    @
    @0{remote-5>}= 0x230145>;端口
    1 = 1* 5_5_out;端口1 = 5_1* 5_5_5_out;
    };
    };*/
    };
    };
    
    }; 

    我尝试测试 DSS 是否正常工作、并且只有在 DSS 节点中指定了有效的远程端点时才能从 DSS 获取 dpi1。

    我获得以下有关调试的信息、

    root@dra7xx-EVM:~# cat /sys/kernel/debug/omapdss/dss
    dss_revision 00000061
    DSS_SysConfig 00000000
    DSS_SYSSTATUS 00000001
    DSS_CONTROL 00010001
    root@dra7xx-EVM:~#
    

    当 DSS 节点中的远程端点为 tda19988_in 时、dss_control reg 的值为00000000。

    我希望这可能有助于确定问题。

    此致、
    Padmesh

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

    DPI 似乎不是由适当的 VIDEO _PLL 时钟计时、而是由 DSS fclk 计时。

    您能看到问题的原因吗?

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

    尊敬的 Subhajit:

    我在哪里可以找到此问题? 在硬件方面没有进行重大更改。

    是否需要在驱动程序或设备树中进行任何更改?

    我能不能更详细地了解一下。

    此致、

    Padmesh

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

    抱歉 Subhajit 问题尚未解决、

    我能不能详细介绍一下查看的位置。

    运行调试时钟 scipt 时、如果 DSS tda19988_IN 中的器件树端点被注释掉、我将得到以下内容。

    =========================== DSS 时钟脚本================================
    转储 DSS
    
    CTRL_CORE_DSS_PLL_CONTROL (0x4a002538)= 0x000002AB
    video1 PLL:禁用
    video2 PLL:禁用
    HDMI PLL:启用
    DSI1_A_CLK mux:DPLL HDMI
    DSI1_B_CLK mux:DPLL video2
    DSI1_C2000_C
    
    
    :0x0000CLK mux:0x0000CLK video1 DSS 1:0x0000CLK mux
    lcd2 clk 交换机:dss clk
    10:lcd3 clk 交换机:dss clk
    1:func clk 交换机:dss clk
    13:dPI1输出 :HDMI
    
    DSS_STATUS (0x5800005C)= 0x01408A81
    
    DSI_CLK_CTRL (0x58004054)= 0x00000001
    
    CM_DSS_CLKSTCTRL (0x4A009100)= 0x00040B03
    
    CM_DSS_DSS_CLKCTRL (0x4A009120)= 0x00000702
    
    ================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
    DPLL HDMI 的寄存器转储
    |--- |
    |地址(十六进制)|数据(十六进制)|
    |------------------ |
    | 0x58040200 | 0x00000018 |
    || 0x58040204 | 0x00000003 |
    | 0x58040208 | 0x00000000 |
    | 0x5804020C | 0x0004A40E |
    || 0x58040210 | 0x00602004 |
    0x58040214 | 0x580401800 |
    | 0x5802140218 | 0x8000000 | 0x8000000 |
    -
    
    | 0x58040000-|-|-|-|-| 0x58040000-|-|-|-|-|-|-| 0x58040000-|-|-|-|--|-|-|------| 0x58040-|-|--|---| 0x500000---|-- |
    DPLL HDMI
    PLL 状态的详细信息:锁定
    M4 hsdiv (1):非活动
    M5 hsdiv (2):非活动
    M6 hsdiv (3):非活动
    M7 hsdiv (4):非活动
    
    PLL_REGM =594
    PLL_REGN =7
    M4 DIV = 0
    M6 DIV = 0
    M7 DIV = 0
    PLL_REGM2 = 2
    PLL_REGM_F = 2
    PLL_SD = 6
    HDMI_SSC_CONFIGURATION1 (应为零) 0x00000000
    HDMI_SSC_configuration2 (应为零) 0x00000000
    
    时钟计算(DPLL HDMI)
    SYSCLK = 20000000
    CLKOUT=SYSCLK = REG===============24000======(=REG========)=========================(================REG============================
    
    
    
    每个 H12的 MUXes DPLL 的时钟 O/P 输出192000000
    CM_DIV_H12_DPLL_PER (0x4A00815C)= 0x00000204
    
    DSI1_A_CLK:742500000
    DSI1_B_CLK:0
    DSI1_C_CLK:0
    
    DISPC_dic (0x580004:0x2000001
    
    
    
    
    :1 CDL0001:0x2000001:100K:0 C2000K:0 192000000
    
    LCD1逻辑时钟(/1):192000000 pix clk(/2 ):96000000
    LCD2逻辑时钟(/ 4):48000000 pix clk(/ 1):48000000
    LCD3逻辑时钟(/ 4):48000000 pix clk(/ 1):48000000
    

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

    我正在关闭此主题、因为我们已经在另一个主题中跟踪此问题。