引用: yweyerwq 发表于 2019-3-11 17:31
先分析EDID里物理地址在哪里放着, 比如放在0X91等, 然后就把0X91写到SPA LOCATION里去, 还要把具体的PORT B的物理地址写到相应的寄存器上去;
原始的EDID是给PORT A的, PORT B与PORT EDID的不同之处在于物理地址的值不一样(物理地址在EDID MAP中所放的位置是一样的),还有BLOCK1 的CHECKSUM,这些您都需要检查一下。 ...
您好!
PORTB的物理地址如何确定,我现在设置的spa_location(0x72):0x82,spa_portb(0x70):0x01.
但是还是无法探测到信号,将HDMI信号转换为DVI信号,接porta,接口a可以采集信号。
以下是我的配置,专家帮忙看下,为什么端口B无法探测信号??谢谢~~~
__raw_writeb(0x3,HPDCT);//DISABLE HDMI/DVI HPD
write_add_hdmi(0x1,0x68);//disable port a/b clock
write_add_ksv(0x73,0x0);//disable edida/edidb
write_add_hdmi(0x0,0x1);//选择端口b
write_add_hdmi(0x41,0x50);
write_add_hdmi(0x15,0x0);//关闭audio
write_add_hdmi(0x1C,0x0);//关闭audio
write_add_ksv(0x70,0x1);//spa_portb
write_add_ksv(0x71,0x0);//
write_add_ksv(0x72,0x82);//spa_location
write_add_edid//写edid 128字节
{
0x00 ,0xFF ,0xFF ,0xFF ,0xFF ,0xFF ,0xFF ,0x00 ,0x41 ,0x0C,
0xCF ,0x08 ,0x04 ,0x00 ,0x00 ,0x00 ,0x0A ,0x17 ,0x01 ,0x03,
0x80 ,0x3C ,0x22 ,0x78 ,0x2A ,0x2C ,0xC5 ,0xA5 ,0x55 ,0x54,
0xA1 ,0x27 ,0x0C ,0x50 ,0x54 ,0xB1 ,0x08 ,0x00 ,0xD1 ,0xC0,
0xB3 ,0x00 ,0x95 ,0x00 ,0x81 ,0x80 ,0x81 ,0xC0 ,0x01 ,0x01,
0x01 ,0x01 ,0x01 ,0x01 ,0x02 ,0x3A ,0x80 ,0x18 ,0x71 ,0x38,
0x2D ,0x40 ,0x58 ,0x2C ,0x45 ,0x00 ,0x56 ,0x50 ,0x21 ,0x00,
0x00 ,0x1E ,0x00 ,0x00 ,0x00 ,0xFF ,0x00 ,0x41 ,0x55 ,0x34,
0x31 ,0x33 ,0x31 ,0x30 ,0x30 ,0x30 ,0x30 ,0x30 ,0x30 ,0x34,
0x00 ,0x00 ,0x00 ,0xFC ,0x00 ,0x50 ,0x48 ,0x4C ,0x20 ,0x43,
0x32 ,0x37 ,0x31 ,0x50 ,0x34 ,0x0A ,0x20 ,0x20 ,0x00 ,0x00,
0x00 ,0xFD ,0x00 ,0x38 ,0x47 ,0x1E ,0x53 ,0x11 ,0x00 ,0x0A,
0x20 ,0x20 ,0x20 ,0x20 ,0x20 ,0x20 ,0x01 ,0xEA
}
write_add_ksv(0x73,0x04);//ENable edidb
write_add_hdmi(0x1,0x48);//ENable port b clock
__raw_writeb(0x1,HPDCT);//ENABLE HDMI HPD
write_add(0x3,0x9);
write_add(0x1D,0x40);
write_add1(0x9a,0xff);
write_add(0x68,0xF0);//ypbpr out
write_add(0x6B,0xF3);
write_add(0xBA,0xA0);//Enable HDMI and Analog in
write_add(0x73,0xCD);//
write_add(0x74,0xC4);//
write_add(0x75,0x01);//
write_add(0x76,0x00);//
write_add(0x7B,0x2f);//Outputs progressive timing
write_add(0x81,0xD0);//Enable GR_AV_BL_EN
write_add2(0xF0,0x10);
write_add2(0xF1,0x0F);
write_add2(0xF4,0x20);
引用: yweyerwq 发表于 2019-3-11 17:31
先分析EDID里物理地址在哪里放着, 比如放在0X91等, 然后就把0X91写到SPA LOCATION里去, 还要把具体的PORT B的物理地址写到相应的寄存器上去;
原始的EDID是给PORT A的, PORT B与PORT EDID的不同之处在于物理地址的值不一样(物理地址在EDID MAP中所放的位置是一样的),还有BLOCK1 的CHECKSUM,这些您都需要检查一下。 ...
您好!
PORTB的物理地址如何确定,我现在设置的spa_location(0x72):0x82,spa_portb(0x70):0x01.
但是还是无法探测到信号,将HDMI信号转换为DVI信号,接porta,接口a可以采集信号。
以下是我的配置,专家帮忙看下,为什么端口B无法探测信号??谢谢~~~
__raw_writeb(0x3,HPDCT);//DISABLE HDMI/DVI HPD
write_add_hdmi(0x1,0x68);//disable port a/b clock
write_add_ksv(0x73,0x0);//disable edida/edidb
write_add_hdmi(0x0,0x1);//选择端口b
write_add_hdmi(0x41,0x50);
write_add_hdmi(0x15,0x0);//关闭audio
write_add_hdmi(0x1C,0x0);//关闭audio
write_add_ksv(0x70,0x1);//spa_portb
write_add_ksv(0x71,0x0);//
write_add_ksv(0x72,0x82);//spa_location
write_add_edid//写edid 128字节
{
0x00 ,0xFF ,0xFF ,0xFF ,0xFF ,0xFF ,0xFF ,0x00 ,0x41 ,0x0C,
0xCF ,0x08 ,0x04 ,0x00 ,0x00 ,0x00 ,0x0A ,0x17 ,0x01 ,0x03,
0x80 ,0x3C ,0x22 ,0x78 ,0x2A ,0x2C ,0xC5 ,0xA5 ,0x55 ,0x54,
0xA1 ,0x27 ,0x0C ,0x50 ,0x54 ,0xB1 ,0x08 ,0x00 ,0xD1 ,0xC0,
0xB3 ,0x00 ,0x95 ,0x00 ,0x81 ,0x80 ,0x81 ,0xC0 ,0x01 ,0x01,
0x01 ,0x01 ,0x01 ,0x01 ,0x02 ,0x3A ,0x80 ,0x18 ,0x71 ,0x38,
0x2D ,0x40 ,0x58 ,0x2C ,0x45 ,0x00 ,0x56 ,0x50 ,0x21 ,0x00,
0x00 ,0x1E ,0x00 ,0x00 ,0x00 ,0xFF ,0x00 ,0x41 ,0x55 ,0x34,
0x31 ,0x33 ,0x31 ,0x30 ,0x30 ,0x30 ,0x30 ,0x30 ,0x30 ,0x34,
0x00 ,0x00 ,0x00 ,0xFC ,0x00 ,0x50 ,0x48 ,0x4C ,0x20 ,0x43,
0x32 ,0x37 ,0x31 ,0x50 ,0x34 ,0x0A ,0x20 ,0x20 ,0x00 ,0x00,
0x00 ,0xFD ,0x00 ,0x38 ,0x47 ,0x1E ,0x53 ,0x11 ,0x00 ,0x0A,
0x20 ,0x20 ,0x20 ,0x20 ,0x20 ,0x20 ,0x01 ,0xEA
}
write_add_ksv(0x73,0x04);//ENable edidb
write_add_hdmi(0x1,0x48);//ENable port b clock
__raw_writeb(0x1,HPDCT);//ENABLE HDMI HPD
write_add(0x3,0x9);
write_add(0x1D,0x40);
write_add1(0x9a,0xff);
write_add(0x68,0xF0);//ypbpr out
write_add(0x6B,0xF3);
write_add(0xBA,0xA0);//Enable HDMI and Analog in
write_add(0x73,0xCD);//
write_add(0x74,0xC4);//
write_add(0x75,0x01);//
write_add(0x76,0x00);//
write_add(0x7B,0x2f);//Outputs progressive timing
write_add(0x81,0xD0);//Enable GR_AV_BL_EN
write_add2(0xF0,0x10);
write_add2(0xF1,0x0F);
write_add2(0xF4,0x20);
举报