主题中讨论的其他器件:TPD12S015、 DRA742
工具/软件:Linux
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Linux
您好!
我们尝试了快速 Hack 补丁、从 AM5 EVM 链中删除了 tpd12s015驱动程序、效果良好。 该补丁从 DTS 中删除了 tpd12s015、而 tpd12s015处理的少数 GPIO 被更改为由 GPIO-hog 处理、以便始终启用它们。 因此、软件认为 SoC 现在直接连接到 HDMI 连接器。
已在 X15和 AM5 EVM 上附加已尝试的补丁。 该补丁不在 4.1处理器 SDK 之上、而是 在 git repo 的 ti-linux-4.9.y 分支上。
以下是所做的更改-
已删除
--------
tpd12s015{(&T)
GPIO =<&GPIO7 10 GPIO_ACTIVE_HIGH_>、 /* GPIO7_10、CT CP HPD */
<GPIO2 30 GPIO_ACTIVE_HIGH_>、 /* GPIO2_30、LS OE */
<GPIO7 12 GPIO_ACTIVE_HIGH_>; /* GPIO7_12/SP1_CS2、HPD */
};
已添加
--------
GPIO7{
P10{
/* GPIO7_10、CT CP HPD */
GPIO-hog;
GPIO =<10 GPIO_ACTIVE_HIGH_>;
输出高电平;
线路名称="CT CP HPD";
};
};
GPIO2{
P30{
/* GPIO2_30、LS OE */
GPIO-hog;
GPIO =<30 GPIO_ACTIVE_HIGH_>;
输出高电平;
线路名称="LS OE";
};
}
hdmi0:连接器{
兼容="HDMI 连接器";
标签="HDMI";
类型="A";
HPD-GPIO =<&GPIO7 12 GPIO_ACTIVE_HIGH>;
端口{
HDMI_connector_in:端点{
远程端点=<&HDMI_OUT>;
};
};
如果您看到"找不到视频源"错误、则表示链中的上一个组件尚未注册。 例如、在 TI GP EVM 板中、如果 HDMI 连接器提供该错误、则表示尚未成功探测 tpd12s015。
但是、即使在正常启动中、也可能会由于延迟探测而出现此错误。 即、如果恰好首先探测 HDMI 连接器驱动程序、则它找不到 tpd12s015、因为它尚未加载。 一段时间后、探测 tpd12s015、然后成功重试 HDMI 连接器。
Manisha、
感谢您确认系统/器件树在没有定义 TPD12S015编码器的情况下工作-彻底检查始终是最有用的! 最后、我在各种内核驱动程序中添加了一些调试语句、以查看故障位置、现在我的板上运行了4.9.41内核。 如果其他人使用 Compulab AM572x 电路板、以下是对我有用的配置-我去除了非相关位、因此配置更容易查看-请注意、在我的案例中、我只使用 HDMI。
最终配置(内核配置) CONFIG_DRM_OMAP=y CONFIG_DRM_OMA_WB=y CONFIG_OMAP2_DSS_INIT=y CONFIG_OMAP_DSS_BAS=y CONFIG_OMAP2_DSS_DEBUG=y CONFIG_OMAP2_DSS_DEBUG_OPA2_DMAP_CONFIG_IN_CONFIG_DMAP_CONFIG_IN_EN_DM_CONFIG_DMAP_DM_CONFIG=y CONFIG_IN_DMAP_IN_DM_CONFIG_IN_ENK_CONFIG_IN_IN_IN_OPA2_IN_DM_DM_DM_DMAP_CONFIG_IN_DM_DM_ENK_CONFIG_IN_IN_IN_IN_IN_DMAP_CONFIG_IN_DM_DM_CONFIG_IN_IN_IN_IN_OPA2_IN_DM_DM_DM_DM_IN_DM_IN_IN_DMAP_IN_IN_IN_CONFIG_IN_DM_IN_IN_DM_CONFIG_IN_IN_DM_IN_DM_IN_DM 未设置 # CONFIG_DRM_OMA_ENCODER_TPD12S015未设置 # CONFIG_DRM_OMA_ENCODER_TC358768 未设置# CONFIG_DRM_OMAP-DRA7_DECODER 未设置 # CONFIG_DRM_OMAP-DRA7EVM_ENCODE_TPD12S015未设置 # CONFIG_DRM_OMAP-DRM_OMAP-DRM_CONDECODE_CONFIG OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-SCON_OMAP-OMAP-OMAP-OMAP-OMAP-SCON_CONFIG #CONFIG_OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-OMAP-O 未设置 # CONFIG_DRM_OMA_PAGE_LGPHILIPS_LB035Q02未设置 # CONFIG_DRM_OMA_PAGE_LS037V7DW01未设置 # CONFIG_DRM_PAGE_TTO_TD028TTEC1未设置 # CONFIG_DRM_OMA_PAGE_TPO_LDC_CONFIG DRM_OPTC_DRP_DRP_TOP_ST_DRP_CONT_LDC_CONFIG 未设置# DRP_DRP_COM1_INT_LDC_DRP_CONFIG 设置# DRP_LDC_DRP_COM1_INT_DRP_TOP_COM1_INT_DRP_CONT_LD_CONT_OPTIC_CONT_LD_CONFIG #DRP_CONFIG_INT_DRP_CONT_DRP_CONT_OPTIC_INT_OPTIC_CONFIG #DRP_CONT_DRP_CONT_DRP_CONFIG #DRP_ST_ CONFIG_DRM_BRIDGE=y 相关设备树位:
*我选择不包含稳压器定义(ldoln_reg、lddo4_reg)、以保持此文档简洁 /{ 别名{ display0 =&HDMI; }; HDMI_conn:连接器{ Compatible ="HDMI-connector"; label ="HDMI"; type ="A"; HPD-GPIO =<&GPIO7 12 GPIO_ACTIVE_HIGH>; 端口{ HDMI_connector_in:端点{ 远程端点=<&HDMI_OUT>; }; }; }; }; &dra7_PMX_CORE{ /* HDMI 相关引脚配置*/ HDMI_Pins:pinmux_HDMI_Pins{ pinctrl-single、pins =< DRA7XX_CORE_IOPAD (0x3808、PIN_INPUT | MUX_MODE1) /* i2c2_sda.HDMI1_DDC_SCL * DRA7XX_CORE_IOPAD (0x380c、PIN_INPUT | MUX_MODE1) /* i2c2_SCL.HDMI1_DDC_sda * >; }; HDMI_conn_pins:pinmux_HDMI_conn_pins{ pinctrl-single、pins =< DRA7XX_CORE_IOPAD (0x37b8、PIN_INPUT | MUX_MODE14) /* SPI1_CS2.GPIO7_12 */ >; }; DSS_dpI_pins:DSS_pins{ pinctrl-single、pins =< >; }; }; &DSS{ 状态="ok"; pinctrl-names ="default"; VDDA_VIDEO_SUPPLY =<&ldoln_reg>; } ;&HDMI{ 状态="ok"; VDDA-SUPPLY =<&ldo4_reg>; pinctrl-names ="default"; pinctrl-0 =<&HDMI_PINs>; 端口{ HDMI_OUT:端点{ 远程端点=<&HDMI_connector_in_>; 通道=<1 0 3 2 5 4 7 6>; }; }; }; &HDMI_conn{ pinctrl-names ="default"; pinctrl-0 =<&HDMI_conn_PINs>; };