Hello,
I have an LCD panel on a custom PXA27x based board and it must be turned
on/off by some special commands via a GPIO throught a I2C chip.
I'd like some suggestion about I can easily manage this situation.
Maybe can I add a special I2C function to get i2c_client pointer and then
using it to send on/off commands to the LCD?
Thanks in advance,
Rodolfo
--
GNU/Linux Solutions e-mail: [email protected]
Linux Device Driver [email protected]
Embedded Systems [email protected]
UNIX programming phone: +39 349 2432127
On Mon, 24 Sep 2007 10:58:08 +0200 (CEST)
"Rodolfo Giometti" <[email protected]> wrote:
> Hello,
>
> I have an LCD panel on a custom PXA27x based board and it must be
> turned on/off by some special commands via a GPIO throught a I2C chip.
>
> I'd like some suggestion about I can easily manage this situation.
I have a similar panel in the sense that it needs a bunch of SPI
commands to get started. I implemented a LCD driver
(drivers/video/backlight) for it so that it is automatically turned
on/off at bootup/shutdown, and can be manually turned on/off
through /sys/class/lcd/ltv350qv/power. AFAIK the driver is currently
sitting in the backlight tree scheduled for inclusion in 2.6.24.
> Maybe can I add a special I2C function to get i2c_client pointer and
> then using it to send on/off commands to the LCD?
Just implement it as a regular I2C chip driver which registers a device
with the LCD framework when it is successfully probed.
HÃ¥vard
On Mon, 2007-09-24 at 12:34 +0200, Haavard Skinnemoen wrote:
> On Mon, 24 Sep 2007 10:58:08 +0200 (CEST)
> "Rodolfo Giometti" <[email protected]> wrote:
> > I have an LCD panel on a custom PXA27x based board and it must be
> > turned on/off by some special commands via a GPIO throught a I2C chip.
> >
> > I'd like some suggestion about I can easily manage this situation.
>
> I have a similar panel in the sense that it needs a bunch of SPI
> commands to get started. I implemented a LCD driver
> (drivers/video/backlight) for it so that it is automatically turned
> on/off at bootup/shutdown, and can be manually turned on/off
> through /sys/class/lcd/ltv350qv/power. AFAIK the driver is currently
> sitting in the backlight tree scheduled for inclusion in 2.6.24.
It is, its queued as
http://git.o-hand.com/?p=linux-rpurdie-backlight;a=commitdiff;h=c962fe18c64ae9139028ee674ab3c380449ce052
Its also worth noting that corgi-bl.c has a variant (akita) that uses a
gpio over an I2C IO expander for the backlight control. The code paths
are a little convoluted since other gpios are used by other drivers. The
base driver is in arch/arm/mach-pxa/akita-ioexp.c, the set_intensity
function is in arch/arm/mach-pxa/corgi_lcd.c and the base backlight
device in arch/arm/mach-pxa/spitz.c. I will be moving the set_intensity
to spitz.c to make things a little clearer.
Also, I'm in the process of turning corgi-bl.c into a generic backlight
driver which might help you, see:
http://git.o-hand.com/?p=linux-rpurdie-backlight;a=commitdiff;h=c74f241bf53bf5251c7c10f65041c20979f6c694
Now, the GPIO framework could help too (it didn't exist when I wrote
akita-ioexp)...
Regards,
Richard
On Mon, Sep 24, 2007 at 12:34:08PM +0200, Haavard Skinnemoen wrote:
>
> I have a similar panel in the sense that it needs a bunch of SPI
> commands to get started. I implemented a LCD driver
> (drivers/video/backlight) for it so that it is automatically turned
> on/off at bootup/shutdown, and can be manually turned on/off
> through /sys/class/lcd/ltv350qv/power. AFAIK the driver is currently
> sitting in the backlight tree scheduled for inclusion in 2.6.24.
Mmm... it seems a good solution! :)
> Just implement it as a regular I2C chip driver which registers a device
> with the LCD framework when it is successfully probed.
Thanks for your suggestion.
Rodolfo
--
GNU/Linux Solutions e-mail: [email protected]
Linux Device Driver [email protected]
Embedded Systems [email protected]
UNIX programming phone: +39 349 2432127