11 Sep 2013: 2nd revision, working LCD with EOMA68-A20 CPU Card

Thanks to Joe (of GPL-squared) for helping to spot some schematics errors swapping the LCD-HSYNC and VSYNC in one area and LCD-DE with HSYNC in yet another: removing one of the bank of 4 resistors and replacing it with 0.5mm wires in a tiny tangled cross-over mess allowed the picture below to be taken, which demonstrates several things:

  • Firstly, that the EOMA68-A20 has a working RGB/TTL LCD interface (at least up to 1024x600).
  • Secondly, that the Flying Squirrel's LCD power and Backlight circuits work (and everything else driving it, including the 2nd AXP209 PMIC as well as the 3.3v regulators)
  • Thirdly, that the PCMCIA connectors appear to have been massively over-engineered (they were spec'd for only 33mhz 16-bit PCI data!) which is good news because the RGB/TTL lines are being driven at about 78mhz for this LCD, alone.
  • Fourthly, that the STM32F can and has been successfully programmed to bring up 3 GPIO lines, controlling LCD power, Backlight Power and LCD PWM brightness (currently set as a plain GPIO at 100%).

So that is quite a lot that's properly working. In combination with the testing carried out by several people on the arm-netbooks mailing list, which has confirmed that both Ethernet and SATA are functional, this successful test confirms all the major high-speed functions of the first CPU Card in the EOMA68 series: the EOMA68-A20.

The next stage will be to bring up the Touch Panel (I2C Bus), check the accelerometer (I2C bus again) - these should be fairly easy. After that it's into some libopencm3 programming, to create a PWM-based Stereo Output driver that will register as an AC97 USB audio device. Microphone (14-bit ADC) will follow on from that, and last but not least will be to port adamgreig's "followingrobot" CSI camera code from ST's libraries over to libopencm3.

Lots still to do but a working 1024x600 IPS LCD is a major step forward.