LCD/TV Interface - How to program interface?

LCD/TV Interface - How to program interface?

Post by Patrick Duga » Sun, 01 Sep 2002 16:27:00

Hi all,

Here's a stream of bits & bytes for those much respected Linux driver
authors I need to learn from out there.  I posted in c.o.l.laptop and
c.o.l.hardware a few days ago but did not get any reply so maybe
someone reading this has a clue or can recommend a better newsgroup or
other resource.  I'm using a Sony VAIO PCG-FX310 laptop. I was cheap:
$2000 CND at Future Shop.  No major problems installing RH Linux 7.3,
so maybe that is a good one to get.  In fact, it was almost effortless
to install.  With it, I can play DVDs, record CDs, (it has a combo
drive) connect to my work VPN, run X in 1024x768 mode (16-bit), play
music, connect to the net (through cable modem), and no problems with
any other devices, except for one.

So to get to the point, I can't seem to get the LCD/TV and LCD/VGA
ports to work (Fn+F7 & Fn+F8).  I've tried sonypi and sonyfx but they
only work for other Fn and PPK keys such as the browser and email
button, the brightness and volume adjustment Fn key combinations so
far.  Everything I've tried to get this LCD/TV interface to be enabled
makes me wonder why they didn't integrate this into the ACPI (or did
they?).  The problem isn't getting the key sequences recognized, it's
getting Linux to flip a bit in a video memory register, I think.  I've
tried rebooting after connecting my laptop to the TV, using a
resolution of 640x480, as per the troubleshooting guide in the manual
that came with the laptop (p. 56 & 57), but still not success:

Does anybody have a clue how would I go about getting this working
under Linux or at the very least, how to verify that the register is
correct?  I have seen the document on the chipset from Intel which was
assembled into my Sony VAIO laptop:

Click on Programmer's Reference Manual (PRM) - 82815 GMCH.

My chipset is actually a 815em (m for mobile) which is just a smaller
version of the 815e.  The 815em doesn't have a PRM, I assume the 815e
instruction set is the same as 815em, although the physical
construction might not be.

Info from the manual:
- LCDTV_C-LCD-Tv-Out Control Register (p. 340) (registers are in memory)
- Address offset: 60018h (from base_reg -- MMADR Register -- bytes 19-31
  *see p. 30 )
- Default Value:  00000000h (32-bits)
- Base memory address is programmed into the PCI Configuration Option
  offset 14h, so is MMAPA so be careful
- Bit#31: This enables the LCD / TV digital interface

Process to turn enable the interface:
- First get the base mem address
- then write to register offset 60018h with 31st bit turned on

I'm trying to get in touch with the sonypi author to get this
integrated but I haven't heard back.  The sonyfx author can't help me.
Can anyone else out there?  Is there a more relevant newsgroup anyone
would recommend posting to?  Can I program this entirely in user space
or do I need to write a driver?  Does anybody have any good Linux DDK
or how to resources?  Writing this driver doesn't scare me, it can't
be that complicated.

- Pat