Reply 120 of 123, by sdz
@mbandalauk
For now, yes, my focus is on MXM variants. After I'm done with these, I'll likely make these cards in PCIe/PCI/AGP, just for completion's sake.
I could make a batch/batches, but what I really can't do is ship who knows how many packages.
@K4sum1
What do you mean by legacy coreboot setup? The laptop runs mainline coreboot, with patches specific for my use case. I will release everything, but it's not ready yet, and I also need to clean things up a bit.
In the meantime, is there anything specific you want to accomplish?
@Deksor
While it would be really nice, it won't be either cheap or easy doing such a thing.
Last week I finally got time to finish the cards and started testing. I'm glad I did, as compared to the first card I made (and used a lot), some of the other cards had an issue.
Sometimes, the system would just start with a black screen (failure % varied by card). System reboot would not help. Investigated a little, it wasn't the FPGA or the VSA-100. That left the video scaler IC.
Connected an oscilloscope to the scaler IC reset signal, the two power rails (1V8 and 3V3), the crystal, and the SPI bus. When it worked it looked like this:
Top line is the reset line, followed by the 1V8 rail (3V3 not in this screenshot, and part of the SPI bus), crystal, and the SPI clock line.
When it failed it looked like this:
It wasn't even attempting to start. Now, the weird thing, when it got into this state, manually pulling the reset line low and releasing it wouldn't actually reset the IC.
The little blip on the reset signal is caused by the RC on the reset line. Then, the line goes low. This is actually the scaler IC pulling its own reset line low (.....) . The reset line was also connected to the MCU, but that GPIO was set to high impedance.
Now, there is no documentation in the datasheet about power sequencing, ramp up, reset signal, etc. I tried changing how the power rails come up (order and timings) and asserting reset at various points. This only made it worse.
Lastly, I increased the capacitor on the reset line. After this, it would always attempt to load the firmware, which was nice.
What wasn't nice is that after a few power cycles, it again started showing a black screen (always). This was weird, as I was still seeing activity on the SPI bus (which did not happen before, black screen and SPI activity).
Tried another board, it worked for a few power cycles, then permanently failed as the previous one.
Removed the flash ICs and dumped them, random bytes were changed compared to the bin I flashed. The scaler has no reason to write anything in the flash IC. All settings that can be changed are saved in the I2C EEPROM.
The issue was, at power off, as the rails were falling, the RESET line would always be a little higher than the 3V3 line (because of the larger cap on the reset) and the scaler would just start doing crap as its power rails were falling and reset was still high. Tied the flash write protect line low, and now it can't do that anymore and everything works fine.
I have to say, powering on a couple of Voodoo4 laptops at the same time sure is satisfying.
I'll upload everything soon (maybe even today).