主题:AM62P 中讨论的其他器件
工具/软件:
您好、专家:
通常、我使用 13.3 英寸显示器。 当我尝试使用 具有 1920x1200 像素显示屏的 10.1 英寸 HDMI LCD 时、显示屏似乎没有显示任何内容。 有时它会起作用。
[ 259.822245] omap_i2c 20010000.i2c: controller timed out
当我连接显示器时、终端中会显示上述错误很长时间。
此致、
Sajan
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.
工具/软件:
您好、专家:
通常、我使用 13.3 英寸显示器。 当我尝试使用 具有 1920x1200 像素显示屏的 10.1 英寸 HDMI LCD 时、显示屏似乎没有显示任何内容。 有时它会起作用。
[ 259.822245] omap_i2c 20010000.i2c: controller timed out
当我连接显示器时、终端中会显示上述错误很长时间。
此致、
Sajan
我的工作时间是 10.01。
您是否可以查看 PROCESSOR-SDK-AM62A:查询 4K 视频流式传输 并解析该问题。
感谢 Sajan、在进行进一步调试之前、作为完整性检查、请确认您当前的工作设置中是否已包含以下补丁?
你好、Divyansh、
如何检查补丁是否包含。 我在路径中看不到目录文件。 我手动访问了 https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/commit/?h=cicd.scarthgap.202411130400&id=9c1edad66d616a7f393eed85d0ae417583482bb3 、更改就在那里。 如何检查是否包含增补程序?
kernel-source/patches 路径仅包含一个名为 0001-VT-conmakehash-advance-replicable.patch 的修补程序
此致、
Sajan
尊敬的 Divyansh:
drivers/GPU/DRM/tidss/tidss_irq.c 代码似乎位不同、#L62 至 64
spin_lock(&tidss->irq_lock);
irqstatus = dispc_read_and_clear_irqstatus(tidss->dispc);
spin_unlock(&tidss->irq_lock);
https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/commit/?h=cicd.scarthgap.202411130400&id=407f2fd524c331b632905257234c2f7f0051522e。
drivers/GPU/DRM/tidss/tidss_irq.c 代码不同。
75 if (irqstatus & (DSS_IRQ_VP_FRAME_DONE(hw_videoport)))
76 tidss_crtc_framedone_irq(crtc);
77
78 if (irqstatus & DSS_IRQ_VP_SYNC_LOST(hw_videoport))
79 tidss_crtc_error_irq(crtc, irqstatus);
80 }
81
82 for (unsigned int i = 0; i < tidss->num_planes; ++i) {
83 struct drm_plane *plane = tidss->planes[i];
84 struct tidss_plane *tplane = to_tidss_plane(plane);
85
86 if (irqstatus & DSS_IRQ_PLANE_FIFO_UNDERFLOW(tplane->hw_plane_id))
87 tidss_plane_error_irq(plane, irqstatus);
88 }
89
90 return IRQ_HANDLED;
91 }
92
93 void tidss_irq_resume(struct tidss_device *tidss)
94 {
95 unsigned long flags;
96
97 spin_lock_irqsave(&tidss->irq_lock, flags);
98 tidss_irq_update(tidss);
99 spin_unlock_irqrestore(&tidss->irq_lock, flags);
100 }
101
102 int tidss_irq_install(struct drm_device *ddev, unsigned int irq)
103 {
104 struct tidss_device *tidss = to_tidss(ddev);
105 int ret;
106
107 if (irq == IRQ_NOTCONNECTED)
108 return -ENOTCONN;
109
110 ret = request_irq(irq, tidss_irq_handler, 0, ddev->driver->name, ddev);
我不知道您的意思。 此提交添加了应该看到的内容: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/commit/?h=cicd.scarthgap.202411130400&id=9c1edad66d616a7f393eed85d0ae417583482bb3
“你在担心我吗?“
我们之前遇到过这个问题、我认为这一系列补丁解决了这个问题。 因此、要确保此修补程序系列带来的更改适用于您的工作设置、如果您仍然看到了 OMAP-Li2c 错误、请执行此操作。
仍然存在。 有时它会绘制墙纸图像。
[ 24.207560] omap_i2c 20010000.i2c: controller timed out [ 26.255552] omap_i2c 20010000.i2c: controller timed out [ 27.279569] omap_i2c 20010000.i2c: controller timed out [ 29.327548] omap_i2c 20010000.i2c: controller timed out [ 30.383551] omap_i2c 20010000.i2c: controller timed out [ 32.399551] omap_i2c 20010000.i2c: controller timed out [ 33.455551] omap_i2c 20010000.i2c: controller timed out [ 35.471548] omap_i2c 20010000.i2c: controller timed out [ 36.527552] omap_i2c 20010000.i2c: controller timed out [ 38.543548] omap_i2c 20010000.i2c: controller timed out [ 39.631549] omap_i2c 20010000.i2c: controller timed out [ 41.679554] omap_i2c 20010000.i2c: controller timed out
tisdk/build/arago-tmp-default-glibc/work-shared/am62axx-evm/kernel-source/drivers/GPU/DRM/tidss 以下是文件 tidss_dispc.c 和 tidss_irq.c 这两个代码都进行了修改、但 IRQ_LOCK 代替了 WAIT_LOCK
如果你对此有疑问的话,你仍然可以。 我将在 meld 中共享编译和该补丁中的代码图像
tidss$ ls -l total 224 -rw-r--r-- 1 786 786 497 May 27 11:21 Kconfig -rw-r--r-- 1 786 786 233 May 27 11:21 Makefile -rw-r--r-- 1 786 786 15546 May 27 11:21 tidss_crtc.c -rw-r--r-- 1 786 786 1074 May 27 11:21 tidss_crtc.h -rw-r--r-- 1 786 786 89766 May 27 11:21 tidss_dispc.c -rw-r--r-- 1 786 786 4890 May 27 11:21 tidss_dispc.h -rw-r--r-- 1 786 786 8461 May 27 11:21 tidss_dispc_regs.h -rw-r--r-- 1 786 786 9588 May 27 11:21 tidss_drv.c -rw-r--r-- 1 786 786 1541 May 27 11:21 tidss_drv.h -rw-r--r-- 1 786 786 3753 May 27 11:21 tidss_encoder.c -rw-r--r-- 1 786 786 421 May 27 11:21 tidss_encoder.h -rw-r--r-- 1 786 786 3706 May 27 11:21 tidss_irq.c -rw-r--r-- 1 786 786 2245 May 27 11:21 tidss_irq.h -rw-r--r-- 1 786 786 7071 May 27 11:21 tidss_kms.c -rw-r--r-- 1 786 786 303 May 27 11:21 tidss_kms.h -rw-r--r-- 1 786 786 15007 May 27 11:21 tidss_oldi.c -rw-r--r-- 1 786 786 1546 May 27 11:21 tidss_oldi.h -rw-r--r-- 1 786 786 7068 May 27 11:21 tidss_plane.c -rw-r--r-- 1 786 786 651 May 27 11:21 tidss_plane.h -rw-r--r-- 1 786 786 7709 May 27 11:21 tidss_scale_coefs.c -rw-r--r-- 1 786 786 453 May 27 11:21 tidss_scale_coefs.h
root@am62axx-evm:/opt/edgeai-gst-apps# modetest -M tidss Encoders: id crtc type possible crtcs possible clones 39 0 none 0x00000001 0x00000001 Connectors: id encoder status name size (mm) modes encoders 40 0 disconnected HDMI-A-1 0x0 0 39 props: 1 EDID: flags: immutable blob blobs: value: 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 3 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 38 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 31 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) 33 zpos: flags: range values: 0 1 value: 0 34 COLOR_ENCODING: flags: enum enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1 value: 0 35 COLOR_RANGE: flags: enum enums: YCbCr limited range=0 YCbCr full range=1 value: 1 36 alpha: flags: range values: 0 65535 value: 65535 37 pixel blend mode: flags: enum enums: Pre-multiplied=0 Coverage=1 value: 0 41 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: 0 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) 43 zpos: flags: range values: 0 1 value: 1 44 COLOR_ENCODING: flags: enum enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1 value: 0 45 COLOR_RANGE: flags: enum enums: YCbCr limited range=0 YCbCr full range=1 value: 1 46 alpha: flags: range values: 0 65535 value: 65535 47 pixel blend mode: flags: enum enums: Pre-multiplied=0 Coverage=1 value: 0 Frame buffers: id size pitch
e2e.ti.com/.../tidss.zip
上面是 modetest -M tidss 和 tidss zip 的输出
请在实验中运行以下内容:
1.在连接显示器的 EVM 上运行以下命令。
CAT /sys/class/drm/card0-HDMI-A-1/edid > p.txt
2.将 p.txt 复制到您的 Ubuntu 计算机上。
3.在 Ubuntu 计算机上,安装 EDID utils $sudo apt-get install read-edid
4. Cat p.txt | Parse-EDID 校验和正确
Section "Monitor" Identifier "WaveShare" ModelName "WaveShare" VendorName "HLT" # Monitor Manufactured week 30 of 2009 # EDID version 1.3 # Digital Display # Display Physical Size not given. Normal for projectors. Gamma 2.20 Option "DPMS" "true" Horizsync 10-110 VertRefresh 40-85 # Maximum pixel clock is 210MHz #Not giving standard mode: 1920x1200, 60Hz #Not giving standard mode: 1600x900, 60Hz #Not giving standard mode: 1920x1080, 60Hz #Not giving standard mode: 1440x900, 60Hz #Not giving standard mode: 1280x960, 60Hz #Not giving standard mode: 1280x1024, 60Hz #Not giving standard mode: 1400x1050, 60Hz #Not giving standard mode: 1600x1200, 60Hz #Extension block found. Parsing... #WARNING: I may have missed a mode (CEA mode 76) #DOUBLE WARNING: It's your first mode, too, so this may actually be important. Modeline "Mode 7" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync +vsync Modeline "Mode 0" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync +vsync Modeline "Mode 1" Modeline "Mode 2" Modeline "Mode 3" Modeline "Mode 4" Modeline "Mode 5" Modeline "Mode 6" Option "PreferredMode" "Mode 7" EndSection
在哪里可以找到面板部件号
这是产品链接: robu.in/.../
EVM 或 Yocto 构建中?
您是否还可以指定路径
我在 Yocto 构建中找到了类似的内容:
build/arago-tmp-default-glibc/work-shared/am62axx-evm/kernel-source/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts。 是这样吗?
576 &main_i2c1 {
577 status = "okay";
578 pinctrl-names = "default";
579 pinctrl-0 = <&main_i2c1_pins_default>;
580 clock-frequency = <100000>;
是的、我使用的是高速 HDMI 电缆。 此 HDMI 电缆在其他较大屏幕上没有问题。
也通过更换 HDMI 电缆进行了检查
HDMI 电缆链路
https://srkelectronics.in/product/bafo-hdmi-male-to-male-cable-2meter/?srsltid=AfmBOoqWLmnic4vghxHUeDLb_nxHBTALux4ftw5GarfsajFY3zmjQmCt
Divyansh Mittal 此补丁程序修复了控制器超时问题。 diff -git a/drivers/i2c/buss/i2c-OMAP-Lc b/drivers/i2c/buss/i2c-OMAP-Lc
索引 7ec252199..bad657b91 100644
---a/drivers/i2c/buss/i2c-ocap.c
++ b/drivers/i2c/buss/i2c-OMAP-Lc
@@–1049、23 +1049、6 @@ static int OMAP_i2c_transmit_data(结构 OMAP_i2c_dev *OMAP、u8 num_bytes、
返回 0;
}
static irqreturn_t
-OMAP i2c_ISR (int IRQ、void *dev_id)
-{
- struct OMAP-Li2c_dev *OMAP = dev_id;
- irqreturn_t ret = irq_handed;
- U16 遮罩;
- U16 状态;
-
- stat = OMAP-Li2c_read_reg (OMAP、OMAP-LSTAT_REG);
- mask = OMAP-Li2c_read_reg (OMAP、OMAP_I2C_IE_REG) 和~OMAP-LI2C_STAT_NACK;
-
- IF (stat & mask )
- RET = IRQ_WAKE_THREAD;
-
-返回 ret;
-}
-
static int OMAP-Li2c_xfer_data(结构 OMAP-Li2c_dev *OMAP)
{
U16 位;
@@–1096、8 +1079、12 @@ static int OMAP_i2c_xfer_data(结构 OMAP_i2c_dev *OMAP)
}
if (stat 和 OMAP_I2C_STAT_NACK){
- Err |= OMAP-LI2C_STAT_NACK;
+ OMAP-L>cmd_err |= OMAP-LI2C_STAT_NACK;
OMAP-Li2c_ack_stat (OMAP、OMAP-LSTAT_NACK);
+ if(!(stat &~OMAP-LI2C_STAT_NACK)){
+ err =-EAGAIN;
+休息;
+}
}
if (stat & OMAP_I2C_STAT_AL){
@@–1475、7 +1462、7 @@ OMAP_i2c_probe (struct platform_device *pdev)
IRQF_NO_SUSPEND、pdev->name、OMAP);
暴露
r = devm_request_thready_irq(&pdev->dev、OMAP-L>irq,
- OMAP-Li2c_isr、OMAP-Li2c_isr_thread、
+ NULL、OMAP-Li2c_isr_thread、
IRQF_NO_SUSPEND | IRQF_OneShot、
pdev->name、OMAP);