thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Flickering HDMI on custom CM3 board

Mon Sep 18, 2017 8:35 pm

Hi all, I've just assembled prototypes of my first custom PCB designed to work with the Compute Module 3, but I am having an issue with the HDMI. It is flickering heavily, to the point that it is not usable. Please see a short video of the issue here: https://drive.google.com/file/d/0B5TLOo ... sp=sharing

I used the CM3 IO board schematic as a reference for the HDMI, and mine is the same with the only exception being that I left out the AP2331W hot swap load switch (due to space constraints, and since hot swapping isn't critical for my application). I hand-assembled the board and used a desktop reflow oven for assembly, I am wondering if the tiny BGA component ESD5384 perhaps isn't quite fully connected. But I have removed and added a new one of these BGA chips and the result was the same.

If I take the CM3 out and install it in the IO board, everything seems to work fine including the HDMI. I have tried activating the hdmi_force_hotplug=1 setting in config.txt, and I've also tried setting config_hdmi_boost=7.

The HDMI traces on my board are fairly short ~1", and I did my best to set the correct 100R differential impedance on the signal lines.

Any suggestions for what this issue may be caused from, and how to fix?

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Tue Sep 19, 2017 4:56 pm

Someone else pointed out to me how in the video of my issue, the screen is flickering between the expected boot display, and an underscore in the top left corner of the screen. If it was purely an HDMI issue, one would expect it to flicker between the expected display and a blank screen.

I've tried researching around but cannot determine what the source of this underscore could be. With this new clue, does anyone have a suggestion of what could be the culprit?

Thanks!

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 4595
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Flickering HDMI on custom CM3 board

Tue Sep 19, 2017 6:42 pm

Have you enabled the OpenGL driver or similar? That could account for two things trying to set up the HVS and pixelvalves driving the HDMI.
That doesn't explain why it would work in a CMIO though.

Which state have you left the hotplug line in? Pulled high or low? If the CM is thinking it's got a display connected, then not, then connected, it might be repeatedly initialising. I would have expected hdmi_force_hotplug=1 to override that, but I haven't checked the code to see how exactly that is handled.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
Please don't send PMs asking for support - use the forum.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1209
Joined: Sat Sep 10, 2011 11:43 am

Re: Flickering HDMI on custom CM3 board

Tue Sep 19, 2017 6:56 pm

I believe the hotplug signal is actually only read once and it's value is remembered. I would think it's just signal integrity, can you try different quality HDMI cables to see if that helps at all? I assume you're running a four layer PCB with a constant ground plane beneath the top plane signals and that you've taken care to equalise the signal lengths?

Thanks

Gordon
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Tue Sep 19, 2017 10:35 pm

Thanks for the input, guys. In performing more debugging today I've had some significant updates to report that will hopefully help narrow down what is happening. I noticed in a forum post viewtopic.php?p=597206 that one person said it took ~7mins for their CM to boot up once installed in a custom carrier board. So I decided to leave mine running for a while even though the screen was flickering heavily. After about 1 hour (yes, a whole hour) suddenly the flickering stopped and I was presented with a login prompt! Here's a picture: Image

There was still some gray areas around the text, and the screen was still strangely a bit zoomed in compared to when I connect the CMIO board to my monitor (with the same CM3 installed), but the flickering was gone and the CM3 was responding to my keyboard commands. I was able to login, and even to run

Code: Select all

sudo apt-get update
and

Code: Select all

sudo apt-get upgrade
with no problems. I then typed

Code: Select all

sudo reboot
, the flickering started again immediately (while it was booting down), it took several minutes to boot down, then it finally rebooted. The flickering unfortunately returned the same as before once it rebooted.

During the flickering in the long boot process, I did notice a couple FAILED messages that would appear after a while. I'm not sure if it's directly related to the problem I am having. Here is an example screenshot of this: Image

Another interesting note... as I mentioned before the screen flickers with a cursor in the top left corner, not simply a blank screen. I noticed that if I have a keyboard hooked up to my carrier board, if I randomly type keys this cursor responds to the key presses! No characters actually show up, but the cursor flickers right as I press any key. If my issue is simply HDMI signal integrity, I wouldn't expect this cursor to respond to key presses like that?

I can also confirm I have the same behavior (flickering and very long boot time) on both the two identical custom carrier boards I've assembled so far. I have been using only one CM3 between my carrier boards and CMIO this whole time. (All runs fine on CMIO).

To answer some of the questions from your comments:

I have not (deliberately) enabled OpenGL. I basically took the Raspbian Jessie Lite, flashed it to the CM3 using the CMIO board, and then plugged the CM3 into my board without changing settings.

I have the HDMI_HPD_N_1V8 line pulled high with a 100k resistor, the same as in the CMIO schematic. I also have the two MOSFETs (Q3 and Q4 on the CMIO schematic) and everything else the same as the CMIO schematic, just no AP2331 hot swap switch. I don't believe leaving out the AP2331 could be responsible for what I am seeing? My monitor sometimes has difficulty recognizing my board, although one procedure that seems to work reliably in getting the monitor to detect it is: 1) power up my board, 2) plug in HDMI cable, 3) power up my monitor.

My board is a 4-layer PCB with constant ground plane beneath the top signal layer. While I did my best to equalize the trace lengths, due to space constraints they have to make a bit of an S-turn. See picture here: Image. The trace lengths are:

HDMI_CLK_N 16.956mm
HDMI_CLK_P 17.039mm

HDMI_D0_N 17.961mm
HDMI_D0_P 17.956mm

HDMI_D1_N 18.708mm
HDMI_D1_P 18.956mm

HDMI_D2_N 19.542mm
HDMI_D2_P 19.827mm

With all these new details, any ideas what could be the source of the flickering during boot and shutdown, where that cursor is coming from, and why it is taking so long to boot up each time on my custom carrier board when it boots quickly on the CMIO?

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1209
Joined: Sat Sep 10, 2011 11:43 am

Re: Flickering HDMI on custom CM3 board

Wed Sep 20, 2017 10:03 am

Can you do

tvservice -d edid.dump
edidparser edid.dump
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 4595
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Flickering HDMI on custom CM3 board

Wed Sep 20, 2017 10:38 am

Hang on, AP2331W isn't the switch itself, it's the current limiter for the HDMI 5V rail (H5V). The connector/cable connects that (via HDMI pin 18) to the HDMI_HPD line (pin 19). I guess that leaves HDMI_HPD pulled down via the 100k resistor inside the ESD5384 which should be safe but not the cleanest.

It'd probably be safest to remove the DMG1012T Q4 equivalent so that HDMI_HPD_N_1V8 is just pulled up by R18.

Further thought is that without the AP2331W you don't have the H5V rail for the pullups on SDA, SCL, and CEC via the ESD5384. Doesn't that leave those lines floating? That sounds bad to me, but Gordon may be able to comment further.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
Please don't send PMs asking for support - use the forum.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1209
Joined: Sat Sep 10, 2011 11:43 am

Re: Flickering HDMI on custom CM3 board

Wed Sep 20, 2017 10:57 am

Can you email me at gordon@raspberrypi.org with your schematics for the HDMI section so we can see it... If you're missing the pull ups for CEC and I2C then this would explain quite a lot (also edid output would be interesting)

Gordon
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Wed Sep 20, 2017 6:47 pm

I sent Gordon an email with the HDMI schematic.

I tried removing the Q4 equivalent on my board, but it doesn't seem to have changed the behavior. I don't have the AP2331 installed, but I do still have a 5V line connected to pin 18, and used as a pullup (via the ESD5384) on the I2C lines.

I somehow missed the 27k pullup on the CEC line, but I've since spliced one in with no change in behavior.

I can also note, that after the very long boot time, once I receive the command prompt I am able to do things like edit raspi-config, SSH into my board, etc. all without any issue or flickering at all. It just seems to flicker during boot (and shutdown). I also noticed for a brief moment during the flickering sometimes I will see a few small squares in the middle of the screen, some kind of loading/progress indicator. I'm not sure if this is being created by my ASUS monitor or the CM3.

Here is the edid output you requested:

Enabling fuzzy format match...
Parsing edid.dump...
HDMI:EDID version 1.3, 1 extensions, screen size 48x27 cm
HDMI:EDID features - videodef 0x80 !standby !suspend active off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; does not support GTF
HDMI:EDID found monitor S/N descriptor tag 0xff
HDMI:EDID found monitor range descriptor tag 0xfd
HDMI:EDID monitor range offsets: V min=0, V max=0, H min=0, H max=0
HDMI:EDID monitor range: vertical is 50-75 Hz, horizontal is 24-83 kHz, max pixel clock is 170 MHz
HDMI:EDID monitor range does not support GTF
HDMI:EDID found monitor name descriptor tag 0xfc
HDMI:EDID monitor name is ASUS_VS229
HDMI:EDID found preferred CEA detail timing format: 1920x1080p @ 60 Hz (16)
HDMI:EDID established timing I/II bytes are B7 EF 00
HDMI:EDID found DMT format: code 4, 640x480p @ 60 Hz in established timing I/II
HDMI:EDID found DMT format: code 6, 640x480p @ 75 Hz in established timing I/II
HDMI:EDID found DMT format: code 8, 800x600p @ 56 Hz in established timing I/II
HDMI:EDID found DMT format: code 9, 800x600p @ 60 Hz in established timing I/II
HDMI:EDID found DMT format: code 10, 800x600p @ 72 Hz in established timing I/II
HDMI:EDID found DMT format: code 11, 800x600p @ 75 Hz in established timing I/II
HDMI:EDID found DMT format: code 16, 1024x768p @ 60 Hz in established timing I/II
HDMI:EDID found DMT format: code 17, 1024x768p @ 70 Hz in established timing I/II
HDMI:EDID found DMT format: code 18, 1024x768p @ 75 Hz in established timing I/II
HDMI:EDID found DMT format: code 36, 1280x1024p @ 75 Hz in established timing I/II
HDMI:EDID standard timings block x 8: 0xD1C0 8140 8180 9500 B300 714F 81C0 8100
HDMI:EDID found DMT format: code 82, 1920x1080p @ 60 Hz (16:9) in standard timing 0
HDMI:EDID found DMT format: code 32, 1280x960p @ 60 Hz (4:3) in standard timing 1
HDMI:EDID found DMT format: code 35, 1280x1024p @ 60 Hz (5:4) in standard timing 2
HDMI:EDID found DMT format: code 47, 1440x900p @ 60 Hz (16:10) in standard timing 3
HDMI:EDID found DMT format: code 58, 1680x1050p @ 60 Hz (16:10) in standard timing 4
HDMI:EDID found DMT format: code 21, 1152x864p @ 75 Hz (4:3) in standard timing 5
HDMI:EDID found DMT format: code 85, 1280x720p @ 60 Hz (16:9) in standard timing 6
HDMI:EDID found DMT format: code 28, 1280x800p @ 60 Hz (16:10) in standard timing 7
HDMI:EDID parsing v3 CEA extension 0
HDMI:EDID monitor support - underscan IT formats:no, basic audio:yes, yuv444:yes, yuv422:yes, #native DTD:1
HDMI:EDID found CEA detail timing format: 720x480p @ 60 Hz (2)
HDMI:EDID found CEA detail timing format: 1280x720p @ 60 Hz (4)
HDMI:EDID found CEA detail timing format: 1280x720p @ 50 Hz (19)
HDMI:EDID found CEA detail timing format: 720x576p @ 50 Hz (17)
HDMI:EDID found CEA format: code 1, 640x480p @ 60Hz
HDMI:EDID found CEA format: code 2, 720x480p @ 60Hz
HDMI:EDID found CEA format: code 3, 720x480p @ 60Hz
HDMI:EDID found CEA format: code 17, 720x576p @ 50Hz
HDMI:EDID found CEA format: code 18, 720x576p @ 50Hz
HDMI:EDID found CEA format: code 19, 1280x720p @ 50Hz
HDMI:EDID found CEA format: code 4, 1280x720p @ 60Hz
HDMI:EDID found CEA format: code 20, 1920x1080i @ 50Hz
HDMI:EDID found CEA format: code 5, 1920x1080i @ 60Hz
HDMI:EDID found CEA format: code 14, 1440x480p @ 60Hz
HDMI:EDID found CEA format: code 15, 1440x480p @ 60Hz
HDMI:EDID found CEA format: code 29, 1440x576p @ 50Hz
HDMI:EDID found CEA format: code 30, 1440x576p @ 50Hz
HDMI:EDID found CEA format: code 31, 1920x1080p @ 50Hz
HDMI:EDID found CEA format: code 16, 1920x1080p @ 60Hz
HDMI:EDID found audio format 2 channels PCM, sample rate: 32|44|48|96 kHz, sample size: 16|20|24 bits
HDMI:EDID found HDMI VSDB length 5
HDMI:EDID HDMI VSDB has physical address 1.0.0.0
HDMI:EDID HDMI VSDB has no extension fields
HDMI:EDID filtering formats with pixel clock > 162 MHz or h. blanking > 1023
HDMI:EDID best score mode initialised to CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 0)
HDMI:EDID best score mode is now CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 61864)
HDMI:EDID best score mode is now CEA (2) 720x480p @ 60 Hz with pixel clock 27 MHz (score 4566472)
HDMI:EDID CEA mode (3) 720x480p @ 60 Hz with pixel clock 27 MHz has a score of 66472
HDMI:EDID CEA mode (4) 1280x720p @ 60 Hz with pixel clock 74 MHz has a score of 4135592
HDMI:EDID DMT mode (4) 640x480p @ 60 Hz with pixel clock 25 MHz has a score of 18432
HDMI:EDID CEA mode (5) 1920x1080i @ 60 Hz with pixel clock 74 MHz has a score of 149416
HDMI:EDID DMT mode (6) 640x480p @ 75 Hz with pixel clock 31 MHz has a score of 23040
HDMI:EDID DMT mode (8) 800x600p @ 56 Hz with pixel clock 36 MHz has a score of 26880
HDMI:EDID DMT mode (9) 800x600p @ 60 Hz with pixel clock 40 MHz has a score of 28800
HDMI:EDID DMT mode (10) 800x600p @ 72 Hz with pixel clock 50 MHz has a score of 34560
HDMI:EDID DMT mode (11) 800x600p @ 75 Hz with pixel clock 49 MHz has a score of 36000
HDMI:EDID CEA mode (14) 1440x480p @ 60 Hz with pixel clock 54 MHz has a score of 66472
HDMI:EDID CEA mode (15) 1440x480p @ 60 Hz with pixel clock 54 MHz has a score of 66472
HDMI:EDID best score mode is now CEA (16) 1920x1080p @ 60 Hz with pixel clock 148 MHz (score 5398248)
HDMI:EDID DMT mode (16) 1024x768p @ 60 Hz with pixel clock 65 MHz has a score of 47185
HDMI:EDID CEA mode (17) 720x576p @ 50 Hz with pixel clock 27 MHz has a score of 3066472
HDMI:EDID DMT mode (17) 1024x768p @ 70 Hz with pixel clock 75 MHz has a score of 55050
HDMI:EDID CEA mode (18) 720x576p @ 50 Hz with pixel clock 27 MHz has a score of 66472
HDMI:EDID DMT mode (18) 1024x768p @ 75 Hz with pixel clock 78 MHz has a score of 58982
HDMI:EDID CEA mode (19) 1280x720p @ 50 Hz with pixel clock 74 MHz has a score of 3617160
HDMI:EDID CEA mode (20) 1920x1080i @ 50 Hz with pixel clock 74 MHz has a score of 128680
HDMI:EDID DMT mode (21) 1152x864p @ 75 Hz with pixel clock 108 MHz has a score of 99649
HDMI:EDID DMT mode (28) 1280x800p @ 60 Hz with pixel clock 83 MHz has a score of 86440
HDMI:EDID CEA mode (29) 1440x576p @ 50 Hz with pixel clock 54 MHz has a score of 66472
HDMI:EDID CEA mode (30) 1440x576p @ 50 Hz with pixel clock 54 MHz has a score of 66472
HDMI:EDID CEA mode (31) 1920x1080p @ 50 Hz with pixel clock 148 MHz has a score of 232360
HDMI:EDID DMT mode (32) 1280x960p @ 60 Hz with pixel clock 108 MHz has a score of 98728
HDMI:EDID DMT mode (35) 1280x1024p @ 60 Hz with pixel clock 108 MHz has a score of 103643
HDMI:EDID DMT mode (36) 1280x1024p @ 75 Hz with pixel clock 135 MHz has a score of 98304
HDMI:EDID DMT mode (47) 1440x900p @ 60 Hz with pixel clock 106 MHz has a score of 102760
HDMI:EDID DMT mode (58) 1680x1050p @ 60 Hz with pixel clock 146 MHz has a score of 130840
HDMI:EDID DMT mode (82) 1920x1080p @ 60 Hz with pixel clock 148 MHz has a score of 149416
HDMI:EDID DMT mode (85) 1280x720p @ 60 Hz with pixel clock 74 MHz has a score of 80296
HDMI:EDID preferred mode remained as CEA (16) 1920x1080p @ 60 Hz with pixel clock 148 MHz
HDMI:EDID has HDMI support and audio support
edid_parser exited with code 0

--------

Any ideas?

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Thu Sep 21, 2017 12:55 am

One other small update... After digging up a higher quality HDMI cable, I was able to get my small MustHD monitor to recognize the CM3 via my carrier board. However, the flashing during (long) boot behavior is still there and the same as with my larger ASUS monitor.

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Thu Sep 21, 2017 4:59 am

Another interesting clue... on a suggestion from a more experienced EE, I wanted to try heating and cooling the BCM2837 in case this would resolve some timing corner-case failure. I had to order some cooling spray, but I do have a hot air rework station. From a safe distance, I began warming the IC. I saw no change in my flickering screen issue, but after some time I saw the Over Temperature Warning icon appear in the top right corner of the screen. While I thought that was cool because I didn't know it existed, what struck me as odd was how this icon wasn't flickering like the rest of the screen. Display of this warning icon seemed stable. What would explain how this one element is stable, and it is being sent from the CM3 to my monitor, while the rest of the signal is flickering?

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1209
Joined: Sat Sep 10, 2011 11:43 am

Re: Flickering HDMI on custom CM3 board

Thu Sep 21, 2017 9:42 am

If you get the same response on the CMIO3 board then I would agree there is something to look at, but at the moment it just looks like poor signal integrity... Try forcing a lower pixel clock hdmi mode to see if it changes anything
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

James Adams
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 94
Joined: Wed Mar 19, 2014 2:58 pm
Location: Cambridge

Re: Flickering HDMI on custom CM3 board

Thu Sep 21, 2017 9:53 am

This could also be a power supply noise issue - the HDMI PHY uses both 3V3 and 1V8, so one thing to check is your supplies are clean and sequenced properly (compare them with CMIO3 board).
James Adams
Raspberry Pi - COO & Hardware Lead

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1410
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: Flickering HDMI on custom CM3 board

Thu Sep 21, 2017 10:57 am

I have a theory that the flickering is Linux switching consoles - don't ask me how yet, that's part two of the problem. We can out console weirdness by preventing the kernel from starting, which is most easily achieved by renaming kernel7.ing to something else. The CM3 should then boot to the rainbow screen - if that is stable then I think we can rule out a simple HDMI electrical problem.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 4595
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Flickering HDMI on custom CM3 board

Thu Sep 21, 2017 12:00 pm

gsh wrote:
Tue Sep 19, 2017 6:56 pm
I believe the hotplug signal is actually only read once and it's value is remembered.
For my own knowledge I've checked this.
Without hdmi_force_hotplug=1 the HPD line is polled (didn't notice the rate) and tvservice will respond to HPD events. You can monitor that with tvservice -M.
With hdmi_force_hotplug=1, a faked HPD assert event is generated early on during the boot process, and the state of the GPIO itself is never read.

So HPD is unlikely to be the culprit.

I think the comes due to the resolution of the Linux framebuffer is normally only being set once during boot to whatever display resolution is deteremined at that time.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
Please don't send PMs asking for support - use the forum.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Thu Sep 21, 2017 4:54 pm

PhilE, I think you may be on to something! I changed kernel7.img to kernel_no.img using the CMIO board, plugged the CM3 back into my custom carrier, and I get the rainbow screen (with no flickering)!

I am wondering if perhaps I have gone a bit out of order in bringing up my new board... I haven't yet created a custom dt-blob.bin file for pin muxing, but my board does of course have some peripherals (and some need to use Alt functionality). Could this be causing the issue? I think my next course of action will be to flash a fresh OS onto the CM3, create and install a custom dt-blob.bin file, and then try again.

Does that sound like a good plan, or any other suggestions with this new info?

Thanks for all your help guys, and hopefully we're getting close!

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Thu Sep 21, 2017 4:57 pm

I should also add that before changing the kernel7.img name, I tried changing the screen resolution options using raspi-config (down to 640x480). When rebooting I could see the new resolutions were applied, but it didn't appear to have any change on the flickering behavior.

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Mon Sep 25, 2017 7:39 pm

I have now isolated the issue, but am still searching for a solution. The problem with the "flickering" on boot is being triggered because I have a peripheral that uses a single-wire (half-duplex) UART interface connected to UART0 (GPIO 14 & 15). Since it is a single-wire interface, I have the TX and RX pins tied together on my carrier board. As soon as I severed this connection with a razor, the CM3 booted fine in my carrier board with no virtual console flickering!

I had not yet created a custom dt-blob for pin configuration and was hoping doing so would fix the problem for good, but so far no luck. I have added a custom dt-blob.bin to /boot, and in it I have set function = "uart0" for both GPIO 14 & 15. But this had no affect on the flickering. Is there something else I can do in this configuration to prepare it for the single-wire interface and prevent this virtual console flickering on boot?

If I run raspi-gpio after installing my dt-blob.bin here is the output for those two pins:

GPIO 14: level=1 fsel=4 alt=0 func=TXD0
GPIO 15: level=0 fsel=4 alt=0 func=RXD0

My earlier prototypes (with a simpler MCU, not an RPi) had the same setup and with some flow control worked fine.

Any ideas?

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1410
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: Flickering HDMI on custom CM3 board

Mon Sep 25, 2017 7:59 pm

1. Are you certain there is no console being started on ttyAMA0? Check /boot/cmdline.txt for any occurence of "console=" and report what it says.

2. I've not heard of a Pi's serial port being used in half duplex mode like this. Have you prototyped tying TX and RX pins together on UART0? What is there to stop the UART receiving all characters it sends, or is that taken care of by the application software?

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Mon Sep 25, 2017 8:17 pm

PhilE, when I open /boot/cmdline.txt I see two occurrences:

console=serial0,115200
console=tty1

Do I need to disable something here?

In my earlier (non-RPi) prototypes, my application firmware used flow control to enable/disable the RX as needed to prevent transmissions echoing right back in. To be honest this is one element I hadn't fully prototyped on UART0, I figured with some configuration there must be a way... hopefully that wasn't an incorrect assumption? Even if there is no way to simply enable/disable RX on the fly, I should still be able to handle the filtering out of echoes directly in my application code. I just need to get the board to boot successfully first with these pins still tied together.

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Mon Sep 25, 2017 8:33 pm

Ahhhh.... I disabled the login shell over serial, and it booted like a charm!!

This one threw me for a loop when it shouldn't have. The ESD5384 is the first BGA component I've assembled by hand, so I was suspicious of the HDMI interface right off the bat. And with the "flickering" symptoms I went down the wrong path of debugging the HDMI.

Thanks to all you guys, and especially PhilE for your insights and help! I'm really impressed with Raspberry Pi hardware, and now with the support as well :D

I may still have some work to do with getting the single-wire UART working as desired, but now I have a great platform to work from.

thunderfoot
Posts: 12
Joined: Mon Sep 18, 2017 8:18 pm

Re: Flickering HDMI on custom CM3 board

Mon Sep 25, 2017 8:38 pm

The only thing that is still a little odd, is that it seems to boot with a lower resolution on my carrier board than when the same CM3 is booted using the CMIO board. Any explanation for the difference there?

Thanks!

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1209
Joined: Sat Sep 10, 2011 11:43 am

Re: Flickering HDMI on custom CM3 board

Tue Sep 26, 2017 9:31 am

You've either got hdmi_force_hotplug enabled or one of the hdmi_group hdmi_mode settings to force the mode. Either that or it is failing to read the edid correctly

Gordon
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

Return to “Compute Module”

Who is online

Users browsing this forum: No registered users and 4 guests