JetPack 3.1, 28.1
Jetson TX2
Custom carrier board.
I’m trying to get hdmi to work on a custom carrier board and it seems like it is a configuration problem because I’m able to see edid data, I can vnc into the custom board and see the display properties in the GUI both when I start with the hdmi cable plugged in and the properties change if I unplug the hdmi cable and plug in a different monitor’s hdmi cable. And the data reflected in the properties are correct for the monitor that is plugged in. Both hdmi monitors are verified to work when plugged into the devkit carrier board. Other peripherals work. i.e. usb, ethernet, otg.
I’m reading the Platform Adaptation and Bring-Up Guide and the section on the PMIC Changes suggest that I modify tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg. The file is found in two places but one is the result of the flash.sh running pmic_config. The one I changed is found here: bootloader/t186ref/BCT/tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg
I changed pmic.generic.1.block-count = 4; (it used to be 5) and put # in front of the lines in the 5V0_HDMI_EN block as shown below.
########### GENRIC RAIL for baseboard-specific configurations
This section is specific to the Jetson developer kit baseboard (P2597).
The below configuration should be removed or modified per the requirements of the
baseboard used. Refer to product documentation for additional information.
Baseboard: P2597: Expander: 5V0_HDMI_EN
pmic.generic.1.block[4].type = 1; # I2C Type
pmic.generic.1.block[4].i2c-controller-id = 0;
pmic.generic.1.block[4].slave-add = 0xE8; # 7BIt:0x74
pmic.generic.1.block[4].reg-data-size = 8;
pmic.generic.1.block[4].reg-add-size = 8;
pmic.generic.1.block[4].block-delay = 10;
pmic.generic.1.block[4].count = 2;
pmic.generic.1.block[4].commands[0].0x07.0xFF = 0xEF;
pmic.generic.1.block[4].commands[1].0x03.0xFF = 0x10;
Question 1: Is there a script that needs to run beyond flashing again to convert this to another format? I used this to flash: sudo ./flash.sh jetson-tx2 mmcblk0p1 to just flash everything.
Question 2: How I can confirm that the change I made by putting a comment # in front of the
Question 3: In the log I see this and think it is related to hdmi trying to configure the gpio expander?
nvidia@tegra-ubuntu:~$ dmesg | grep 0x74
[ 0.300370] tegra-i2c 3160000.i2c: no acknowledge from address 0x74
If it is, I would have thought the PMIC change would impact this and not have it error out.
Question 4: Is there another item I should be looking for in the logs or elsewhere?
Question 5: What other areas should I be looking at that I haven’t thought about yet?
Some debug info:
attempting to switch to another window from keyboard using ctrl-alt-F1 produces this on the serial console but no display on the hdmi screen:
[ 2131.413865] PD DISP2 index4 DOWN
[ 2131.414061] PD DISP1 index3 DOWN
[ 2131.414151] PD DISP0 index2 DOWN
[ 2131.498994] PD DISP0 index2 UP
[ 2131.499918] PD DISP1 index3 UP
[ 2131.500009] PD DISP2 index4 UP
[ 2131.501759] Parent Clock set for DC plld2
[ 2131.503246] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
Then pressing ctrl-alt-F7 outputs this on the serial console but again no display on the hdmi screen:
nvidia@tegra-ubuntu:~$ [ 2262.895397] PD DISP2 index4 DOWN
[ 2262.895572] PD DISP1 index3 DOWN
[ 2262.895652] PD DISP0 index2 DOWN
[ 2262.906155] PD DISP0 index2 UP
[ 2262.907033] PD DISP1 index3 UP
[ 2262.907123] PD DISP2 index4 UP
[ 2262.908724] Parent Clock set for DC plld2
[ 2262.910139] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
nvidia@tegra-ubuntu:~$ sudo cat /sys/class/graphics/fb0/mode
U:1920x1080p-60
nvidia@tegra-ubuntu:~$ sudo cat /sys/kernel/debug/tegradc.0/mode
pclk: 148500000
h_ref_to_sync: 1
v_ref_to_sync: 3
h_sync_width: 44
v_sync_width: 5
h_back_porch: 148
v_back_porch: 36
h_active: 1920
v_active: 1080
h_front_porch: 88
v_front_porch: 4
flags: 0x0
stereo_mode: 0
avi_m: 0x2
vmode: 0x600000
nvidia@tegra-ubuntu:~$ dmesg |grep tegradc
[ 0.443528] tegradc 15210000.nvdisplay: DT parsed successfully
[ 0.443570] tegradc 15210000.nvdisplay: Display dc.ffffff8002320000 registered with id=0
[ 0.451013] tegradc 15210000.nvdisplay: vblank syncpt # 7 for dc 1
[ 0.451027] tegradc 15210000.nvdisplay: vpulse3 syncpt # 8 for dc 1
[ 0.451362] tegradc 15210000.nvdisplay: hdmi: smccuen hmdi fix applied (HPD polarity inversion)
[ 0.453451] tegradc 15210000.nvdisplay: hdmi: no prod_list_hdmi_board, use default range
[ 0.483199] tegradc 15210000.nvdisplay: probed
[ 4.128407] tegradc 15210000.nvdisplay: fb registered
[ 4.165849] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 12.090046] tegradc 15210000.nvdisplay: hdmi: plugged
[ 17.866492] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 22.256486] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 2225.746781] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 2225.956444] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 2413.933713] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 2418.890650] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 3469.360041] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 3469.551122] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 3470.002290] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 3488.142516] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
nvidia@tegra-ubuntu:~$ sudo cat /sys/kernel/debug/tegradc.0/stats
underflows: 0
underflows_a: 0
underflows_b: 0
underflows_c: 0
underflows_d: 0
underflows_h: 0
underflows_t: 0
underflow_frames: 0
var-log-Xorg.0.log.txt (18.3 KB)
tegradc.0-edid.txt (798 Bytes)
dmesg-log.txt (56.1 KB)