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**** 2550020 points


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

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

器件型号:DRA77P

工具/软件:Linux

您好!

上一个线程未解决、错误地将其视为已解决。

运行调试时钟 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 

通过提供虚拟 LCD 面板节点将 dpi_out 端点作为 LCD_out 时、我得到以下结果:

=========================== DSS 时钟脚本================================
转储 DSS

CTRL_CORE_DSS_PLL_CONTROL (0x4a002538)= 0x000002A2
video1 PLL:启用
video2 PLL:禁用
HDMI PLL:启用
DSI1_A_CLK 多路复用器:DPLL video1
DSI1_B_CLK 多路复用器:DPLL CL2
DSI1_C_CLK


多路复用器:0x0001 DPLvideo1:0x0001 DSI1
lcd2 clk 交换机:dss clk
10:lcd3 clk 交换机:dss clk
1:func clk 交换机:dss clk
13:dPI1输出 :LCD1

DSS_STATUS (0x5800005C)= 0x01408A82

DSI_CLK_CTRL (0x58004054)= 0x80004001

CM_DSS_CLKSTCTRL (0x4A009100)= 0x00040F03

CM_DSS_DSS_CLKCTRL (0x4A009120)= 0x00001702

================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
DPLL video1的寄存器转储
|------------------------------------------------------- |
|地址(十六进制)|数据(十六进制)|
|------------------ |
| 0x58004300 | 0x00000018 |
|| 0x58004304 | 0x00002F83 |
| 0x58004308 | 0x00000000 |
| 0x5800430C | 0x252AA44E |
| 0x58004310 | 0x02E56008 |
0x58004314 | 0x5800000129 |
|| 0x58004318 | 0x5800430000 | 0x0000000-

| 0x58000000 |-| 0x5800000-|-|-| 0x580000431C-|-|-|-|-|-|-| 0x5800000-|-|-|-|-| 0x5800000-|-|-|-| 0x5800004320 -|-|-
|
DPLL 视频1
PLL 状态的详细信息:锁定
M4 hsdiv (1):活动
M5 hsdiv (2):活动
M6 hsdiv (3):活动
M7 hsdiv (4):活动

PLL_REGM =1362
PLL_REGN = 39
M4 DIV = 9
M6 DIV = 9
M7 DIV = 9

个时钟计算(DPLL video1)
SYSCLK = 20000000
DCO clk = SYSCLK * 2 * REGM /(REGN + 1)= 1362000000
M4clk (clkcout1)= DCO clk /(M4 DIV + 1)= 136200000
M6clk (clkcout3)= M6 clk /(clk + 1) = 136200000
M7clk (clkcout4)= DCO clk /(M7 DIV + 1)= 136200000

===================================================================================================================================================
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:136200000
DSI1_B_CLK:0
DSI1_C_CLK:136200000 DISPC_diCLK:1362000001






:0x2000001 CLK:0x1362000001:1 CLK CLK:0x2000K CLK 1:1362000001:0x2000K CLK CLK CLK 1:0x2000K CLK CLK CLK 1:1361000 CLK CLK 1:1360001:0x2000K CLK CLK CLK CLK 1:18000 192000000

LCD1逻辑时钟(/ 1):136200000 pix clk(/ 3):45400000
LCD2逻辑时钟(/ 4):48000000 pix clk(/ 1):48000000
LCD3逻辑时钟(/ 4):48000000 pix clk(/ 1):48000000


将 dpI_out 端点指定给 tda19988_in 时、任何操作都不起作用、工作中的专用 HDMI 也会失败。

我能否详细了解一下查看的位置。

此致、

Padmesh

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

    Padmesh、

    通过查看时钟输出、您的 HDMI 看起来像是在74.25MHz 的频率下输出。 这是预期的结果。

    此外、当您添加虚拟 LCD 时、它的时钟频率为 45.4 MHz。 您提供了什么时间?

    当您将  tda19988_in 添加 dpI_out  端点时、形成完整端到端连接的 DT 节点之一未启用。 您能否同时附加 DTS 文件(使用虚拟 LCD 和 tda19988_in)?

    -Subhajit

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

    此外、当您将  tda19988_in 添加 为  dpI_out 端点时、DSS 时钟脚本会显示什么内容?

    您能否提供输出?

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

    尊敬的 Subhajit:

    我只为虚拟 LCD 提供了一个采样频率。 对于 HDMI、我没有对时钟进行任何更改。

    我已附上以下 DTs.e2e.ti.com/.../dra76_2D00_evm_2D00_with_5F00_tda19988_5F00_as_5F00_endpoint.txt

    e2e.ti.com/.../dra76_2D00_evm_5F00_with_5F00_lcd_5F00_endpoint.txt

    此致、

    Padmesh

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

    当我添加 tda19988_in 作为 dpi_out 端点时、DSS 时钟脚本会显示、

    =========================== DSS 时钟脚本================================
    转储 DSS
    
    CTRL_CORE_DSS_PLL_CONTROL (0x4a002538)= 0x000002AF
    video1 PLL:禁用
    video2 PLL:禁用
    HDMI PLL:禁用
    DSI1_A_CLK 多路复用器:DPLL HDMI
    DSI1_B_CLK 多路复用器:DPLL video2
    DSI1_C_Dsl
    
    
    
    !(0x0000CLK mux!) OUPS。。。 内存错误@ 0x00000000!!!
    您确定:
    存储器地址有效?
    目标模块计时?
    2:LCD1时钟开关:
    3:LCD2时钟开关:
    10:LCD3时钟开关:
    1:FUNC 时钟开关:
    13:DPI1输出 :
    
    DSS_STATUS (0x5800005C)=0x
    
    !!! OUPS。。。 内存错误@ 0x00000000!!!
    您确定:
    存储器地址有效?
    目标模块计时?
    
    DSI_CLK_CTRL (0x58004054)= 0x00000000
    
    CM_DSS_CLKSTCTRL (0x4A009100)= 0x00000003
    
    CM_DSS_DSS_CLKCTRL (0x4A009120)= 0x00070000
    
    ====================================================================================================================================================================================================================================================================================================================================================================================================================================================
    
    每个 H12的 MUXes DPLL 的时钟 O/P 输出192000000
    CM_DIV_H12_DPLL_PER (0x4A00815C)= 0x00000004
    
    DSI1_A_CLK:0
    DSI1_B_CLK:0
    DSI1_C_CLK:0
    
    DISPC_DIVIDERS (0x58001804!)!
    
    OUPS。。。 内存错误@ 0x00000000!!!
    您确定:
    存储器地址有效?
    目标模块计时?
    
    2:LCD1 clk:
    3:LCD2 clk:
    10:LCD3 clk:
    1:func clk:
    
    LCD1逻辑 clk (/):0 pix clk (/):0
    lCD2逻辑 clk (/):0 pix clk (/):0
    lCD3逻辑 clk (/):0 pix2 clk (/)
    

    工作的 HDMI 在此无法正常工作。

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

    好的、DSS 时钟脚本显示视频/HDMI PLL 甚至没有打开。

    我可以看到您提供了45.4 MHz 作为虚拟 LCD 时钟、这消除了混淆。

    当您只能使用 HDMI 进行引导时、您能否提供"modetest"输出? 这将帮助我了解74.25MHz 的来源。 我的冲头是1920x1080@30、但我仍想确认

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

    仅使用 HDMI 时、modetest 会显示以下内容

    尝试打开设备'i915'……
    尝试打开设备'amdgpu'失败…
    …尝试打开设备'Radeoneon'失败…
    …尝试打开设备'nouve'失败…
    …尝试打开设备'vmwgfx'失败…
    …尝试打开设备'omapdrm'失败…编码器完成
    :
    IDCRTC类型可能的 crtcs可能的连接器
    3439TMDS0x00000001
    
    
    ID编码器状态名称大小(mm)模式编码
    器3534已连接HDMI-A-1700x3903134
    种模式:
    名称刷新(Hz) hdisp HSS HSE htot vdisp VSS VSE vtot)
    1280x720 60 1280 1390 1430 1650 720 725 730 750 74250标志:phsync、pvsync;类型:首选、驱动
    器1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 148500标志:phsync、类型:类型: driver
    1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 148352标志:phsync、pvsync;类型:driver
    1080i 60 1920 2008 2052 2200 1080 1084 1094 1920x74250标志:phsync、pvsync、interlace;类型:driver
    1080i 60 1920 2008 2052 2200 1080 1084 1094 1125 74176标志:phace、pvsync、interlace 类型: 驱动器
    1920x1080 50 1920 2448 2492 2640 1080 1084 1089 1125 148500标志:phsync、pvsync;类型:驱动
    器1080i 50 1920 2448 2492 2640 1080 1084 1094 1920x74250标志:phsync、pvsync、interlace;类型:驱动器
    1280x1024 75 1280 1440 1688 1024 1025 1028 1920x135000标志:1920x1125同步、类型: 驱动
    程序1440x900 85 1440 1544 1696 1952 900 903 909 948 157000标志:nhsync、pvsync;类型:驱动
    程序1440x900 75 1440 1536 1688 1936 900 903 909 942 136750标志:nhsync、pvsync;类型:驱动
    程序1440x900 60 1440 1488 1600 900 903 909 88750标志:phsync、nvsync;类型: 驱动
    程序1280x720 60 1280 1390 1650 720 725 730 750 74176标志:phsync、pvsync;类型:驱动
    程序1280x720 50 1280 1720 1760 1760 1980 720 725 730 750 74250标志:phsync、pvsync;类型:驱动
    程序1024x768 75 1024 1136 1312 768 772 800 78750标志:phsync、pvsync;类型:驱动程序1024x768 驱动
    程序1024x768 70 1024 1048 1184 1328 768 771 777 806 75000标志:nhsync、nvsync;类型:驱动
    程序1024x768 60 1024 1048 1184 1344 768 771 777 806 65000标志:nhsync、nvsync;类型:驱动程序
    800x600 75 800 816 896 1056 600 601 625 49500标志:phsync、pvsync;类型:驱动程序800x600 驱动
    程序800x600 72 800 856 976 1040 600 637 643 666 50000标志:phsync、pvsync;类型:驱动
    程序800x600 60 800 840 968 1056 600 601 605 628 40000标志:phsync、pvsync;类型:驱动
    程序800x600 56 800 824 896 1024 600 601 603 625 36000标志:phsync、pvsync;类型: 驱动
    程序720x576 50 720 732 796
    
    489 576 586 586 625 27000标志:nhsync、nvsync;类型:驱动程序720x576i 50 720 732 795 864 586 586 586 625 13500标志:nhsync、nvsync、interlace、dblclk;类型:驱动程序720x480 60 720 798 480 495 525 27027标志:nhsync、858 驾驶员
    720x480 60 720
    
    798 858 480 489 495 525 27000标志:nhsync、nvsync;类型:驾驶员720x480i 60 720 739 801 858 480 488 485 525 13514标志:nhsync、nvsync、interlace、dblclk;类型:驾驶员720x480i 60 720 739 801 480525 525 13500标志: nhsync、nvsync、interlace、dblclk;类型:driver
    640x480 75 640 656 720 840 480 481 500 31500 flags:nhsync、nvsync;类型:driver
    640x480 73 640 664 832 480 492 492 520 31500 flags:nhsync、nvsync;类型:driver
    640x480 60 640 656 800 525 200 flags: nhsync、nvsync;type:driver
    640x480 60 656 752 800 480 490 492 525 25175 flags:nhsync、nvsync;type:driver
    720x400 70 720 738 846 900 400 412 414 449 28320 flags:nhsync、pvsync;type:driver
    props:
    1 EDID:
    flags:immutable blob
    blobs:
    
    value:value:
    00ffffffffffffff003190544c01000000
    01140103814627788aa58ea6544a9c26
    124546afcf00950f9519010101011d007251d01e206e28 5500b988001e8c05a20e02d102310101011d00100201002024100202410020241002024100202410020241002024100202410020241002024100202410020241002024100202410020241002024100202410020241002024100201002024100201002010020241002010020100202410020100201002010020241002010020100201002024100201002024100201002010020241002010020100201002010020100202410020100201002010020100201002010020241002010020100201002010020100201002010020100201002010020100201002010020100201002010020100201002010020
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    IDfbpos大小
    3955(0、0)(1280x720)
    1280x720 60 1280 1390 1430 1650 720 725 730 750 74250标志:phsync、pvsync;类型:首选、驱动
    程序 props:
    23 CTM:
    标志:blob
    blobs:
    
    值
    :24 gamma_lut:
    标志:blob
    blobs:
    
    值
    :25 gam_lut_size
    
    :2956 mu_size:值:2956 mumpts 背景值:2956
    
    
    flags:范围
    值:0 16777215
    值:0
    31 trans-key-mode:
    flags:枚举
    枚举枚举枚举枚举:disable=0 gfx-dst=1 vid-src=2
    值:0
    32 trans-key:
    flags:范围
    值:0 16777215
    值:0
    33 alpha_mid:
    范围
    值:0
    
    37:flages=0x27=0x0-zx=1
    旋转
    
    
    位值:0x27=0x0-x=0x0-1旋转0x27=0x27=0x27=0x20=0x0-y=1旋转顺序:0x27=0x270-shag=0x20=0x0-y=0x27=0x27=0x0-y=
    标志:范围
    值:0 3
    值:0
    
    平面:
    IDCRTCfbCRTC x、yx、y伽马大小可能的 crtcs
    3639550、0 0、000x00000001
    格式:RX12 AR12 RG16 XR24 AR24 RA24 RX24 AR15 XR12 RA15 XR15 props
    :
    6类型
    :标志:不可更改枚举
    枚举枚举枚举:overlay=0 Primary=1 curs=2
    值:1
    37旋转:
    标志:位掩
    码值:rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 z=0x27=0x270-z8
    
    
    值:reflect 范围:0x270-z3:rect
    值:0x270-zx 值:0x270-zx 值:rect 值:rect
    
    
    标志:范围
    值:0 3
    值:0
    28 global_alpha:
    标志:范围
    值:0 255
    值:255
    29 pre_mult_alpha:
    标志:范围
    值:0 1
    值:0
    40000 0 0 00。00x00000001
    格式:RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24
    Props:
    6类型
    :标志:不可更改枚举
    :覆盖= 0 Primary = 1 Cursor = 2
    值:0
    41 Rotation:
    flags:bitmask
    values:rotate-0=0x1-0-0x70-0 ENUM=0x270-0x20
    
    
    = 0x0-0x0-2:REVOLUM=0x20:0x0-X0-0x0-2:0x270 X0-X0-XRICATION
    = 0x27=0x27=0x0-X0-1:0x270-X0-X0-X0-X0-
    1
    42 zpos:
    flags:范围
    值:0 3
    值:1
    28 global_alpha:
    flags:范围
    值:0 255
    值:255
    29 pre_mult_alpha:
    标志:范围
    值:0 1
    值:0
    4500 00 0 0 00x00000001
    格式:RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24
    Props:
    6类型
    :标志:不可更改枚举
    :覆盖= 0 Primary = 1 Cursor = 2
    值:0
    46 Rotation:
    flags:bitmask
    values:rotate-0=0x1-0-0x70-0 ENUM=0x270-0x20
    
    
    = 0x0-0x0-2:REVOLUM=0x27=0x20:0xRICATION
    
    2
    47 zpos:
    flags:范围
    值:0 3
    值:2
    28 global_alpha:
    flags:范围
    值:0 255
    值:255
    29 pre_mult_alpha:
    标志:范围
    值:0 1
    值:0
    5000 00 0 0。00x00000001
    格式:RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 RX24
    props:
    6类型
    :标志:不可更改枚举
    :覆盖= 0 Primary = 1 Cursor = 2
    值:0
    51 Rotation:
    flags:bitmask
    values:rotate-0=0x1-E=0x70-0 = 0x270-X0 = 0x0-1 0x0-2:REVOLUME
    
    
    
    = 0x0-1:0x270-0x0-X0-1:0x20 READ 1:0x270-1:0x20 REVOLUME = 0x0-1:0x0-X0-X0-2:0x0-1 0x
    3
    52 zpos:
    flags:范围
    值:0 3
    值:3
    28 global_alpha:
    flags:范围
    值:0 255
    值:255
    29 pre_mult_alpha:
    flags:范围
    值:0 1
    值:0
    
    帧缓冲区:
    ID大小间距 

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

    在 DTS 文件 dra76-EVM-wo_tda19988_as_endpoint.txt 中:


    tda19988:tda19988@70{
    兼容="NXP、tda998x";
    reg =<0x70>;

    视频端口=<0x230145>;

    端口{
    端口@0{
    tda19988_IN:端点@0{
    远程端点=<&LCD_OUT>;
    通道=<0 1 2 3 4 5 6 7 8 9>;
    };

    远程端点不应是 dp_out? 可以试试吗?

    您是否还有一个理解兼容性的驱动程序:"NXP、tda998x"? 是否会发生驱动器探针?

    -Subhajit

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

    我将其更改为 dpi_out、但问题仍然相同。

    是的、我可以看到 i2c 器件、因此可以探测驱动程序

    root@dra7xx-EVM:~# cat /sys/class/i2c-dev/i2c-2/device/2-0070/modalias
    i2c:tda998x
    

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

    Padmesh、

    这是器件节点。 要确认驱动程序已成功探测并可正常运行、请找到源代码并放置一些 printk 语句、以查看是否发生了探测。

    另外,请将"dmesg | grep -i drm"和"dmesg | grep -i dss"的输出发送给我。

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

    好的、我将检查它。

    dmesg | grep -i DRM 的输出、tda19988_in 端点被删除

    [0.000000]内核命令行:console=noop root=PARTUUID =760e384e-02 RW wait fixrtc loglevel=0 omapdrm.num_crtc=2 consoleblank=0 Rev=128M@0xB0000000 rootfstype=ext4 rootd.slotes_reserved=1、
    1 [ 3.14582.1]支持 DRM 空白(v21.2013)缓存。
    [3.145889][DRM]不支持 vblank 时间戳查询的驱动程序。
    [3.418767][DRM]启用 DMM 回绕滚动
    [3.448657] omapdrm omapdrm.0:fb0:omapdrm 帧缓冲器件
    [3.449266][DRM]初始化了次要0上 omapdrm 1.0.0 20110917
    [7.094600][DRM]为次要 GPU 1.99701]的初始化了 omapdrm 1.0.0 20110917 [7.094600
    

    和 dmesg 输出| grep -i dss

    [2.813818] DSS:OMAP DSS rev 6.1[2.815651]
    omapdss_DSS 580000.dss:bound 58001000.dispc (ops dispc_component_ops)
    [2.816278] omapdss_dss 5860000.dss:bound 58040000.encoder (ops hdmi5_component_ops)
    

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

    实际上、我希望使用  tda19988_in 端点记录这些日志。 您能提供什么?

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

    tda19988 端点

    [6.829501][DRM]初始化了次要0上560000.GPU 的 PVR 1.14.3699939 20110701
    

    [2.796926] DSS:OMAP DSS 修订版本6.1
    [2.798770] omapdss_DSS 580000.DSS:bound 58001000.dispc (ops dispc_component_ops)
    [2.799394] omapdss_ds580000.dss:bound 58040000.encoder (hdmi5_component_ops)
    

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

    看起来 DRM 驱动程序 omapdrm 没有被探测到。 我的击打是它遇到-EPROBE_DERAER 错误。

    您可以确认吗? 您可以在 OMAP-drv.c 中的 DEV_LOAD 的所有返回路径中添加 printk 语句

    请勿使用 initcall_debug、因为在 initcall_debug 路径中、EPROBE_defers 被视为成功

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

    我在 omap_drv.c 中找不到 dev_load

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

    这是内核4.4吗? 我可以在 omap_drv.c:721中看到 DEV_LOAD 函数

    您可以在同一个文件中跟踪此函数以及 pdev_prob()。

    其中一个必须返回错误。

    请告诉我  

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

    我们使用的是内核版本4.14

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

    好的、在这种情况下、DEV_LOAD 的所有功能都位于 pDEV_PROBE 中。 请跟踪 pdev_probe 并查看函数为何返回错误。

    -Subhajit

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

    尊敬的 Subhajit:

    在探测 tda998x 驱动程序时、将 DRM 作为内核中的模块、并将 tda19988_in 作为端点、下面将发生

    root@dra7xx-EVM:~# dmesg | grep -i DRM_message
    [12.941237]************ DRM_MESSAGE:内部 pdev_probe ********
    [12.941274]********* DRM_MESSAGE:platform_set_drvdata (pdev、ddev)被称为********
    [12.941278]********* DRM_MESSAGE:OMA_CRTC_PRE_INIT()被称为********
    [12.941282]********* DRM_MESSAGE:转到 ERR_CRTC_uninit ********
    root@dra7xx-EVM:~# modprobe tda998x
    [87.014228]******** DRM_MESSAGE:内部 pdev_probe ********
    root@dra7xx-EVM:~#[87.021827]******** DRM_MESSAGE:platform_set_drvdata (pdev、ddev)被称为********
    [87.032249]********* DRM_MESSAGE:OMA_CRTC_PRE_INIT()被称为********
    [87.040378]********* DRM_MESSAGE:转到 ERR_CRTC_uninit ********
    [87.047984] connector-HDMI connector@0:无法找到视频源
    

    我发现它们将会出现 ERR_CRTC_uninit

     在 OMAP-CONNECT_dsSDV ()内部、如果(!OMA_DSS_STACK_IS 就绪())、则返回-EPROBE_DEER

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

    尊敬的 Subhajit:

    我们发现它是在 OMAP-DSS_STACK_IS 就绪()返回错误值时出现的。 它可能表示什么问题?

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

    当整个链中的某个组件未正确探测时、OMA_DSS_STACK_IS 就绪返回 false /错误。

    我认为 tda19988没有被探测。

    您能否验证(通过打印一些照片) tda19988是否已成功探测?

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

    尊敬的 Subhajit:

    尝试插入 tda998x 驱动程序会显示来自 omap_drv.c 的以下消息、不显示 tda998x 的打印

    [105.436159]********* DRM_MESSAGE:内部 pdev_probe ********
    [105.436269]********* DRM_MESSAGE:platform_set_drvdata (pdev、ddev)被称为********
    [105.436275]********* DRM_MESSAGE:OMA_CRTC_PRE_INIT()被称为********
    [105.436285]********* DRM_MESSAGE:omapdss_stack_is_ready()为 false ********
    [105.436290]********* DRM_MESSAGE:转到 ERR_CRTC_uninit ********
    [105.436296]********* DRM_MESSAGE:OMA_CRTC_PRE_UNINIT()被称为********
    [105.436329]********* DRM_MESSAGE:DRM_DEV_UNREF (ddev)被称为********
    [105.436672] of_get_named_gpio_FLAGS:无法解析节点'/connector@0[0]的'HPD-GPIO'属性
    [105.436733] connector-HDMI connector@0:无法找到视频源
    

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

    您能否找出解析"HPD-GPIO"失败的原因? 它是 IO 扩展器吗?

    此外、在 tda19988驱动程序中打印一些照片、查看探测器是否通过

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

    尊敬的 Subhajit:

    我在 tda998x 驱动程序中提供了打印件、但未显示任何内容。 每次插入 tda998x 驱动程序时,内核日志中都会出现上述 printk 消息(来自 omap_drv.c)。

    我认为器件树中不需要使用 HPD_GPIO。

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

    正如在电话会议上讨论的、我将关闭此操作