echo 0 > /sys/module/printk/parameters/time
CLOCK:
echo dump c 0x10c8 0x10cc > /sys/class/amlogic/debug
echo r c 0x1066 > /sys/class/amlogic/debug
echo r c 0x105f > /sys/class/amlogic/debug
echo r c 0x1059 > /sys/class/amlogic/debug
echo r c 0x104a > /sys/class/amlogic/debug
echo r c 0x1073 > /sys/class/amlogic/debug
echo clkmsr > /sys/class/amlogic/debug
VENC:
echo dump v 0x1b60 0x1b66 > /sys/class/amlogic/debug
echo dump v 0x1b68 0x1b7f > /sys/class/amlogic/debug
echo dump v 0x1bf0 0x1bfc > /sys/class/amlogic/debug
echo r v 0x1c51 > /sys/class/amlogic/debug
echo dump v 0x1c54 0x1c5f > /sys/class/amlogic/debug
ENCP:
echo dump v 0x1b58 0x1b5e > /sys/class/amlogic/debug
echo dump v 0x1b80 0x1b8e > /sys/class/amlogic/debug
echo dump v 0x1b90 0x1ba4 > /sys/class/amlogic/debug
echo dump v 0x1ba6 0x1bbd > /sys/class/amlogic/debug
echo dump v 0x1bc0 0x1bce > /sys/class/amlogic/debug
echo dump v 0x1bd0 0x1bd6 > /sys/class/amlogic/debug
echo dump v 0x1c0d 0x1c0f > /sys/class/amlogic/debug
echo dump v 0x1c30 0x1c3f > /sys/class/amlogic/debug
echo dump v 0x1c44 0x1c47 > /sys/class/amlogic/debug
echo r v 0x1c50 > /sys/class/amlogic/debug
echo r v 0x271d > /sys/class/amlogic/debug
ENCI:
echo dump v 0x1b00 0x1b13 > /sys/class/amlogic/debug
echo dump v 0x1b16 0x1b1b > /sys/class/amlogic/debug
echo dump v 0x1b20 0x1b46 > /sys/class/amlogic/debug
echo dump v 0x1b48 0x1b4d > /sys/class/amlogic/debug
echo dump v 0x1b50 0x1b57 > /sys/class/amlogic/debug
echo dump v 0x1c00 0x1c0c > /sys/class/amlogic/debug
echo dump v 0x1c10 0x1c1f > /sys/class/amlogic/debug
echo dump v 0x1c40 0x1c43 > /sys/class/amlogic/debug
echo r v 0x271c > /sys/class/amlogic/debug
(对于M8之前的M3/M6,需要将上面的v改为c)
GATE:
echo dump c 1050 1054 > /sys/class/amlogic/debug
echo dump c 1040 1044 > /sys/class/amlogic/debug
HDMI:
echo dumphdmireg > /sys/class/amhdmitx/amhdmitx0/debug
并保存同一软件相同输出模式下,正常表现时的寄存器,用以对比。
cat /sys/class/display/mode
cat /sys/class/amhdmitx/amhdmitx0/disp_mode
对于disp_mode,显示的是vic编号,对应关系如下:
VIC: 0 --> HDMI_Unkown
VIC: 2 --> 480p
VIC: 4 --> 720p
VIC: 5 --> 1080i
VIC: 6 --> 480i
VIC: 16 --> 1080p
VIC: 17 --> 576p
VIC: 19 --> 720p50
VIC: 20 --> 1080i50
VIC: 21 --> 576i
VIC: 31 --> 1080p50
VIC: 93 --> 4k2k24hz
VIC: 94 --> 4k2k25hz
VIC: 95 --> 4k2k30hz
VIC: 98 --> smpte, 24hz
cat /sys/class/amhdmitx/amhdmitx0/hpd_state
0: 未连接电视
1:已连接电视
如果hdmi线已连接电视,那么需要测量hdmi座子及芯片引脚上相应电压
cat /sys/class/amhdmitx/amhdmitx0/edid
echo d0 > /sys/class/amhdmitx/amhdmitx0/edid
echo d1 > /sys/class/amhdmitx/amhdmitx0/edid
通过disp_mode来查看电视机所支持的分辨率:
cat /sys/class/amhdmitx/amhdmitx0/disp_cap
其中带”*”的是电视机所支持的最佳分辨率,一般应该有且只有一个。
为了随后关闭测试信号,先读当前值:
echo r v 0x1b8e > /sys/class/amlogic/debug
打开测试信号:
彩条:
echo w 0 v 0x1b8e > /sys/class/amlogic/debug
echo w 1 v 0x1b71 > /sys/class/amlogic/debug
echo w 1 v 0x1b70 > /sys/class/amlogic/debug
色彩分辨为白、黄、青、绿、紫、红、蓝,在不同模式下,彩条的宽度可能有变化,
方格:
echo w 0 v 0x1b8e > /sys/class/amlogic/debug
echo w 2 v 0x1b71 > /sys/class/amlogic/debug
echo w 1 v 0x1b70 > /sys/class/amlogic/debug
点阵:
echo w 0 v 0x1b8e > /sys/class/amlogic/debug
echo w 3 v 0x1b71 > /sys/class/amlogic/debug
echo w 1 v 0x1b70 > /sys/class/amlogic/debug
在不同分辨率模式下,彩条的宽度和位置有所不同,可以通过其他板子在其他电视上的测试信号,来对比问题板子的表现,判断色彩、图像大小、抖动等问题,是否video encoder及hdmi后端出问题,还是osd+video前端有问题。
另外对hdmi,可用基本色场查看纯色画面
红屏:echo w 0xaff00000 v 2727 > /sys/class/amlogic/debug
绿屏:echo w 0x800ffc00 v 2727 > /sys/class/amlogic/debug
蓝屏:echo w 0x800003ff v 2727 > /sys/class/amlogic/debug
关闭:echo w 0 v 0x2727 > /sys/class/amlogic/debug
echo hpd_lock1 > /sys/class/amhdmitx/amhdmitx0/debug
打开hpd响应:echo hpd_lock0 > /sys/class/amhdmitx/amhdmitx0/debug
拔插hdmi线,观察现象表现;
观察电视机是黑屏,还是提示无信号?电视机是否有提示分辨率信息?
对比同一软件不同硬件单板表现、对比公版软硬件表现、对比不同电视机表现、对比是否与某一分辨率有关;如果可能与电视机有关,可使用hdmi splitter信号分支器,同时接多台电视,进行对比,是否某一电视上表现异常时,另外一个电视表现正常。