Zynq SDI-TX 调试记录
一、SDI链路:
Framware_rd -> VPSS -> SDI_TX_SS -> SDI_GT -> LMH1288(外部芯片)
VPSS 数据格式转换 YUV420转YUV422
SDI_TX_SS 将AXI-S格式转换成SDI编码格式(多bit,多路)
SDI_GT 串化
yuv422sp(nv16) yuv420sp(nv12)
[ y y y y ] [ y y y y ]
[ y y y y ] [ y y y y ]
[ y y y y ] [ y y y y ]
[ y y y y ] [ y y y y ]
[ u v u v ] [ u v u v ]
[ u v u v ] [ u v u v ]
[ u v u v ]
[ u v u v ]
二 、调试过程:
报错:
[ 2.859564] xilinx-frmbuf a0210000.v_frmbuf_rd: Probe deferred due to GPIO reset defer
[ 3.687535] xilinx-frmbuf a0210000.v_frmbuf_rd: Unable to locate reset property in dt
[ 3.695370] xilinx-frmbuf: probe of a0210000.v_frmbuf_rd failed with error -16
[ 2.947593] xlnx-sdi-tx a0220000.v_smpte_uhdsdi_tx_ss: failed to get s_axi_aclk -517
解决:
1,fb_rd gpio被服用,与其他fb共用了同一个gpio,需要使用不同的emio。
2,clk错误重新编译后正常。
正常log:
root@lingmou:~# dmesg | grep a0210000
[ 2.859410] xilinx-frmbuf a0210000.v_frmbuf_rd: Probe deferred due to GPIO reset defer
[ 3.688052] xilinx-frmbuf a0210000.v_frmbuf_rd: Xilinx AXI frmbuf DMA_MEM_TO_DEV
[ 3.695521] xilinx-frmbuf a0210000.v_frmbuf_rd: Xilinx AXI FrameBuffer Engine Driver Probed!!
root@lingmou:~# dmesg | grep a0220000
[ 2.947514] xlnx-sdi-tx a0220000.v_smpte_uhdsdi_tx_ss: failed to get s_axi_aclk -517
[ 3.846476] xlnx-drm xlnx-drm.1: bound a0220000.v_smpte_uhdsdi_tx_ss (ops 0xffff800010e12c50)
启动log:
[ 379.220795] xlnx-sdi-tx a0220000.v_smpte_uhdsdi_tx_ss: clkrate = 297000000 is_frac = 0
[ 379.296276] xlnx-sdi-tx a0220000.v_smpte_uhdsdi_tx_ss: AXI-4 Stream Underflow error
测试图指令:
modetest -D amba_pl@0:drm-pl-disp-drv -s 37:1920x1080-60@YUYV -w 37:sdi_mode:2 -w 37:sdi_data_stream:2 -w 37:is_frac:0
root@lingmou:~# cat /sys/kernel/debug/dri/0/name
xlnx dev=amba_pl@0:drm-pl-disp-drv0 unique=amba_pl@0:drm-pl-disp-drv0
root@lingmou:~# cat /sys/kernel/debug/dri/1/name
xlnx dev=amba_pl@0:drm-pl-disp-drv1 unique=amba_pl@0:drm-pl-disp-drv1
modetest -D amba_pl@0:drm-pl-disp-drv0 -s 37:1920x1080-60@YUYV -w 37:sdi_mode:2 -w 37:sdi_data_stream:2 -w 37:is_frac:0 &
modetest -D amba_pl@0:drm-pl-disp-drv1 -s 37:1920x1080-60@YUYV -w 37:sdi_mode:2 -w 37:sdi_data_stream:2 -w 37:is_frac:0 &
devmem 0xa1020000 32 0xa8
//30HZ 暂时
modetest -D a0070000.v_mix -s 42:1920x1080-60@AR24 -w 42:sdi_mode:2 -w 42:sdi_data_stream:2 -w 42:is_frac:0
gst-launch-1.0 videotestsrc pattern=1 ! video/x-raw,format=NV16,width=1920,height=1080,framerate=60/1 ! kmssink plane_id=37 render-rectangle="<0,0,1920,1080>" bus-id="a0070000.v_mix"
转载请注明出处