Topic: LCD Port as I/O

Is it possible to use the LCD port connector for general purpose I/O?  If so how is this done?  I have experience with Linux so console commands and code don't scare me.

Re: LCD Port as I/O

LCD pins are connected to "arduino" type connector on board.

You should use these pins in GPIO mode.

Look from schematics where they are connected and then check iMX23 reference manual how to take them in use. See chapter 37 and Table 37-2 for ho to set desired pins to GPIO mode.

Re: LCD Port as I/O

Yes.

For a quick hack of a project we did for Maker Faire, we hooked up each of the 18 LCD pins to an LED array to mimic cylon / KITT lights.  The C code is here.

One gotcha: The LCD pins also happen to be what's used to determine the boot device.  If you start fiddling with the LCD pins and suddenly find you can't boot, a quick workaround is to just disconnect everything from the LCD header as you plug in power.  It's okay to plug things back in even milliseconds after applying 5V smile

Re: LCD Port as I/O

I've been trying to use some of these LCD pins as inputs and I found a couple of additional points:

1.  I gave up trying to use LCD_D08 (corresponds to pin 13 on the Arduino header) because I just couldn't get it to "relax".  It seemed to be driving low no matter what I did- at best my input signal could rise to about 180mV.
2.  I had no success using LCD_D07 (pin 12) either, at first- that one (which is hooked to an open collector signal with a 1k pull-up) would hover around 1.6V; my OC transistor could pull it low but the 1k wouldn't pull it high.  In the end...
3.  You have to disable the LCDIF clock by setting bit 30 in the HW_LCDIF_CTRL register.  Once I did that, pin 12 (and pin 7, which was what I moved my other input to) behaved fine.

Hope someone finds that helpful.

Re: LCD Port as I/O

ChumbyLurker, thanks for the code example.
Do you have any information on which pins on the LCD header are used to determine the device?
I would like to be able to use pins on the LCD header without introducing boot issues.