HD-OSD一半被视频覆盖问题

客户发现视频出来之后,OSD的右边部分不见了,应该是被视频覆盖了。
客户用的是HD-OSD设计,因此是由两个Graphic layer拼凑而成,估计右边部分的Graphic layer显示在视频层之后导致该问题。
阅读Datasheet, Chapter 25: Display chain mixer。
其中mixer_config1是控制两组输出路径里,没条路径里层的显示位置,该寄存器只读。
而mixer_config1_nxt,应该是提供编程mixer_config的寄存器。
mixer_ctx_update,应该是使mixer更新新的配置。

也就是说,可以按照需要配置mixer_config1_nxt,之后,把mixer_ctx_update设置为1,这样mixer_config1_nxt的配置信息就被体现到mixer_config1中了。

运行prjconfig,把 modules => Include /dev/mmio打开。

打开etc/hardware/acdram/hardware.h,找到MIXER_REGS_BASE为0xB7E14000,减去REGS_BASE(0xb7c00000),得到MIXER_CONFIG1的mmip地址为0x214004。

exStbMmio 0x214004得到值为0x00283283,发现Graphic layer2处在display 1之后。

因此,处理如下:
exStbMmio 0x214008 0x681681 //配置使得Graphic layer2处在display 1 和 display 2之前
exStbMmio 0x214000 1 //使配置生效

发现问题得到解决。

接下来,需要从软件上找到默认的配置,更改以满足客户需求。
 

你可能感兴趣的:(职场,休闲,Mixer)