器件型号: TDA4VH-Q1
您好、专家
我目前正在研究如何通过将 miniDP 转换为 DP 将显示器连接到输出视频信号。 由于 miniDP 的热插拔信号连接到 i2c 扩展芯片的 IO、mhdp 驱动程序无法自动检测到它。 因此、我要修改 mhdp 的器件树、使其没有热插拔信号。 器件树修改如下。
&mhdp{
状态=“正常“;
// HPD-GPIOs =<&pcal6524_0 9 GPIO_ACTIVE_HIGH>;
CDN、无 HPD;
PHY =<&S serdes4_DP_LINK>;
phy-names =“dpphy";“;
};
我已经阅读了 mhdp 的驱动程序。 这表明、当启用 CDN 和无 HPD 时、将通过辅助主动轮询来检测是否存在显示设备。 但是、我的开发板现在无法检测到显示器。 驱动程序中的相关打印信息如下所示。
root@j784s4-evm:~# dmesg | grep "dp"
[ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02830000 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern);spi-nand0:512k(ospi_nand.tiboot3),2m(ospi_nand.tispl),4m(ospi_nand.u-boot),256k(ospi_nand.env),256k(ospi_nand.env.backup),98048k@32m(ospi_nand.rootfs),256k@130816k(ospi_nand.phypattern) root=PARTUUID=252d6653-05 rw rootfstype=ext4 rootwait
[ 0.000000] Unknown kernel command line parameters "mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern);spi-nand0:512k(ospi_nand.tiboot3),2m(ospi_nand.tispl),4m(ospi_nand.u-boot),256k(ospi_nand.env),256k(ospi_nand.env.backup),98048k@32m(ospi_nand.rootfs),256k@130816k(ospi_nand.phypattern)", will be passed to user space.
[ 0.764432] /bus@100000/bridge@a000000: Fixed dependency cycle(s) with /connector-dp0
[ 0.772493] /connector-dp0: Fixed dependency cycle(s) with /bus@100000/bridge@a000000
[ 1.023735] RPC: Registered udp transport module.
[ 2.559517] pci 0000:01:00.0: [10ec:906a] type 00 class 0x020000 PCIe Endpoint
[ 2.640675] pci 0000:01:00.1: [10ec:906f] type 00 class 0x028000 PCIe Endpoint
[ 4.241924] pci 0002:01:00.0: [12be:bd31] type 00 class 0x028000 PCIe Endpoint
[ 5.981498] mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern);spi-nand0:512k(ospi_nand.tiboot3),2m(ospi_nand.tispl),4m(ospi_nand.u-boot),256k(ospi_nand.env),256k(ospi_nand.env.backup),98048k@32m(ospi_nand.rootfs),256k@130816k(ospi_nand.phypattern)
[ 6.568694] systemd[1]: Created slice Slice /system/modprobe.
[ 7.358356] systemd[1]: Starting Coldplug All udev Devices...
[ 8.660678] cdns-mhdp8546 a000000.bridge: error -EINVAL: invalid resource (null)
[ 8.673400] cdns-mhdp8546 a000000.bridge: Failed to get SAPB memory resource, HDCP not supported
[ 8.685274] dp PHY initialized successfully
[ 8.689738] dp func clk rate 125000000 Hz
[ 8.698845] dp Initializing work for modeset retry and HPD handling
[ 8.706294] dp Initializing work for firmware loading
[ 8.711560] dp Firmware loading ret = 0
[ 8.718552] dp firmware callback
[ 8.726867] dp firmware activated
[ 8.730974] dp firmware callback ret 0
[ 8.839939] dp cdns-mhdp: cdns_mhdp_update_link_status: -22
继续打印会显示以下代码返回–22:
ret = cdns_mhdp_mailbox_recv_header(mhdp, MB_MODULE_ID_DP_TX,
DPTX_READ_DPCD,
sizeof(reg) + len);
if (ret) {
dev_err(mhdp->dev, "dp mailbox_recv_header failed: %d\n", ret);
goto out;
}
顺便说一句,如果我想使用 i2c 扩展芯片上的一个 IO 端口作为热插拔信号,如何修改 mhdp 驱动程序? 是否有补丁?
谢谢。
