搜索
 找回密码
 立即注册

简单一步 , 微信登陆

如何更换HDMI port

作者:creass | 时间:2016-6-1 15:26:42 | 阅读:5603| 显示全部楼层

常常遇到这种情况:公版默认是3个HDMI 口,而客户会根据自己的结构的关系或者规格的限制,会交换HDMI port,比如原来的HDMI1当作HDMI3使用。
code上更改的方法有两种:一种是更改UI显示;另外一种是更改HDMI PORT;前者更改比较简单,但是更改地方很多,不是根本解决之道,以下主要介绍更改HDMI port的code改动:

更改之前,首先要确定你要将哪个口换到哪个口上,然后再在原来的基础上去做code改动,具体涉及code如下:
1,bd_XXXX.h
#define INPUT_HDMI1_MUX             INPUT_PORT_DVI1
#define INPUT_HDMI2_MUX             INPUT_PORT_DVI3
#define INPUT_HDMI3_MUX             INPUT_PORT_DVI0


/// for PWS path mapping
#define PWS_INPUT_HDMI1_PATH        _HDMI3_
#define PWS_INPUT_HDMI2_PATH        _HDMI4_
#define PWS_INPUT_HDMI3_PATH        _HDMI1_
2,//apiXC_Sys.cvoid _MApi_XC_DDCRam_Init(void)//sample code for DDC RAM, need remove later

{
    XC_DDCRAM_PROG_INFO stDDCRamInfo;
.....
    #if (INPUT_HDMI_VIDEO_COUNT >= 1)

    // init Digital EDID 0
    stDDCRamInfo.EDID = EDID_DVI_0;
    stDDCRamInfo.u16EDIDSize = 256;
    #if (MS_BOARD_TYPE_SEL == BD_MST047B_10APU_TECO)
    stDDCRamInfo.eDDCProgType = E_XC_PROG_DVI1_EDID;
    #else
    stDDCRamInfo.eDDCProgType = E_XC_PROG_DVI0_EDID;
    #endif
    stDDCRamInfo.u16CECPhyAddr = 0x10; //0x5555;
    stDDCRamInfo.u8CECPhyAddrIdxL = 0xA2;    // the CEC physical address start from 0xA1 byte in EDID
    stDDCRamInfo.u8CECPhyAddrIdxH = 0xA1;

    MDrv_HDMI_PROG_DDCRAM(&stDDCRamInfo, sizeof(stDDCRamInfo));
#endif
....
stDDCRamInfo.eDDCProgType = E_XC_PROG_DVI2_EDID;
....
stDDCRamInfo.eDDCProgType = E_XC_PROG_DVI3_EDID;
...
}


hahaahhahaha!!123
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版