Hi,
I am developing a project on TX2 with custom carrier board.
The version of kernel source code which I use is R28.2.1.
The problem I met is that the monitor just shows “no signal” when I plugin the HDMI on TX2.
The log in dmesg:
[ 0.477933] hdmi: couldn't get regulator vdd_hdmi_5v0: -517
[ 0.478782] tegra-adma 2930000.adma: Tegra ADMA driver register 10 channels
[ 0.480312] tegradc 15210000.nvdisplay: hdmi: no prod_list_hdmi_board, use default range
Is the regulator, vdd_hdmi_5v0, not available for TX2?
I also tried to change vdd_hdmi_5v0 to vdd_hdmi defined in tegra186-cvb-prod-p2597-b00-p3310-1000-a00-00.dtsi.
The log would be changed to:
[ 0.478652] regulator_get() failed for (15210000.nvdisplay,vdd-hdmi), -19
[ 0.478665] hdmi: couldn't get regulator vdd-hdmi: -19
[ 0.478902] tegra-adma 2930000.adma: Tegra ADMA driver register 10 channels
[ 0.481031] tegradc 15210000.nvdisplay: hdmi: no prod_list_hdmi_board, use default range
There is a patch in https://devtalk.nvidia.com/default/topic/1003956/jetson-tx2/tx2-not-booting-up-with-hdmi-connected/post/5160211/#5160211 which doesn’t work for me.
Because the source code of hdmi2.0.c which I have doesn’t have the following content:
if (tegra_dc_hpd(dc) && (!dc->initialized)) {
...
I have some questions for this issue:
- Does the function, dc_hdmi_hotplug_init, handle the event when the HDMI cable plugin on TX2?
- If yes, what is the error code “-19” and “-517”?
- Where can I change the GPIO of 5v0_HDMI_EN?
Regards,
C.T.
The errono is universal as the Linux errorno. Please check.
As for the regulator, please search inside the dts folder for the regulator definition and then change gpio. It should have “power” in the dts name.
Hi WayneWWW,
Thanks for your reply.
I found out that the gpio pin for HDMI is not correct, and I fix this.
There is another problem which is that is it available to enable/disable the power for HDMI dynamically?
I want my device to enable/disable the power only when the TX2 board detects that HDMI cable is plugged-in/unplugged.
Is this available?
B.R.,
C.T.
Hi C.T,
What “device” is it? Do you want to awake TX2 if you plug HDMI cable?
Hi WayneWWW,
Thanks for your reply.
Sorry, I didn’t describe “device” specifically.
I am working on a project which is developed on a TX2 custom carrier board.
The TX2 custom carrier board is the “device” I mentioned above.
In the case above, I want the device could enable or disable the power of HDMI connector when it detects the HDMI cable is plugged-in or unplugged.
Currently, the power of HDMI connector is always enabled.
I know that HDMI_HPD is used to indicate the connecting status of HDMI cable and it does not used the same power of HDMI connector.
But I cannot find where does TX2 set the GPIO, TEGRA_MAIN_GPIO(I, 5), to 1 in the source code of version 28.1.
If I want to dynamically enable or disable the power of HDMI cable according to the HDMI cable is plugged-in or unplugged, which file should I focus on?
B.R.,
C.T.
Hi C.T,
This request sounds a little weird. Because the regulator is the one that software would control, there is no need to control GPIO by yourself.
Not sure why there is a case “the power of HDMI connector is always enabled.” Do you mean there is a always-on power for your HDMI and you didn’t set that as a regulator
Hi WayneWWW,
Thanks for your reply.
Basically, We don’t have regulator on our own custom carrier board.
And we want to control the gpio, tegra_main_gpio TEGRA_MAIN_GPIO(I, 5), ourselves.
We would like to enable the gpio to supply the power of HDMI only when the HDMI cable is plugged-in.
According to our research, we have few questions:
- This gpio, tegra_main_gpio TEGRA_MAIN_GPIO(I, 5), is always enabled.
But we could not find out where is the gpio enabled?
- Is the source code of detecting the plug-in/unplug of HDMI cable in "/kernel/display/drivers/video/tegra/dc/hda_dc.c"?
B.R.,
C.T.
The gpio should be controlled by the driver. The regulator is assigned by below dts file.
tegra186-quill-power-tree-p3310-1000-a00-00.dtsi
and the source for detecting hdmi hpd is in hdmi2.0.c.
hda_dc.c is for audio.