public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* Non-power related ACPI devices (help)
@ 2003-01-26 23:03 Frank Bruno
  0 siblings, 0 replies; only message in thread
From: Frank Bruno @ 2003-01-26 23:03 UTC (permalink / raw)
  To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

[-- Attachment #1: Type: text/plain, Size: 811 bytes --]

Hello,
I've installed Redhat 8.0 on a Compaq TC1000 tablet computer that I own. 
I upgraded the kernel to 2.4.20+ the corresponding ACPI patch from 
sourceforge. I have compiled the kernel with CONFIG_ACPI_DEBUG. The 
TC1000 is fairly standard except for two devices. The first being the 
touchscreen and the second some related buttons. I finally tracked down 
the devices under windows and found that both are configured via ACPI. 
I've attached the corresponding snippet from dsdt.

The first device is nothing more than a serial port on com1 (I believe). 
The corresponding windows driver is a serial driver. The other one I am 
not sure about.

My question is: how can i get these devices initialized via ACPI? If 
someone could point me in the right direction, I'd greatly appreciate it.

Thanks,
Frank



[-- Attachment #2: stuff --]
[-- Type: text/plain, Size: 5903 bytes --]


                Device (DIGI)
                {
                    Name (_HID, EisaId ("FPI2002"))
                    Name (_UID, 0x01)
                    Name (RSRC, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
                        IRQNoFlags () {}
                    })
                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x01)
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
                            IRQNoFlags () {4}
                        }
                        EndDependentFn ()
                    })
                    OperationRegion (VSIO, SystemIO, 0x03F0, 0x02)
                    Field (VSIO, ByteAcc, NoLock, Preserve)
                    {
                        INDX,   8, 
                        DATA,   8
                    }

                    IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0xE2), 
                        CRE2,   8, 
                        CRE3,   8, 
                        Offset (0xE6), 
                        CRE6,   8, 
                        CRE7,   8, 
                        CRE8,   8, 
                        Offset (0xEE), 
                        CREE,   8
                    }

                    Method (ENCG, 0, NotSerialized)
                    {
                        Store (\_SB.PCI0.PIB.EXFE, Local0)
                        Or (Local0, 0x02, Local0)
                        Store (Local0, \_SB.PCI0.PIB.EXFE)
                    }

                    Method (EXCG, 0, NotSerialized)
                    {
                        Store (\_SB.PCI0.PIB.EXFE, Local0)
                        And (Local0, 0xFD, Local0)
                        Store (Local0, \_SB.PCI0.PIB.EXFE)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        ENCG ()
                        Store (CRE2, Local0)
                        And (Local0, 0x04, Local0)
                        If (Local0)
                        {
                            Store (CRE7, Local1)
                            EXCG ()
                            Return (0x0F)
                        }

                        EXCG ()
                        Return (0x0D)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        ENCG ()
                        Store (CRE2, Local0)
                        And (Local0, 0xFB, Local0)
                        Store (Local0, CRE2)
                        Store (Zero, CRE7)
                        EXCG ()
                        Store (Zero, \_SB.PCI0.PIB.SAIQ)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
                            IRQNoFlags () {4}
                        })
                        CreateByteField (BUF0, 0x02, IOLO)
                        CreateByteField (BUF0, 0x03, IOHI)
                        CreateByteField (BUF0, 0x04, IORL)
                        CreateByteField (BUF0, 0x05, IORH)
                        CreateByteField (BUF0, 0x09, IRQL)
                        ENCG ()
                        Store (CRE7, Local0)
                        Store (Local0, Local1)
                        And (Local1, 0xC0, Local1)
                        ShiftRight (Local1, 0x06, Local1)
                        And (Local0, 0x3F, Local0)
                        ShiftLeft (Local0, 0x02, Local0)
                        Store (Local0, IOLO)
                        Store (Local1, IOHI)
                        Store (IOLO, IORL)
                        Store (IOHI, IORH)
                        EXCG ()
                        Store (\_SB.PCI0.PIB.SAIQ, Local0)
                        Store (0x01, Local1)
                        ShiftLeft (Local1, Local0, IRQL)
                        Return (BUF0)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, IOLO)
                        CreateByteField (Arg0, 0x03, IOHI)
                        CreateByteField (Arg0, 0x09, IRQL)
                        ENCG ()
                        Store (CRE2, Local0)
                        And (Local0, 0xFB, Local0)
                        Store (Local0, CRE2)
                        Store (IOLO, Local0)
                        ShiftRight (Local0, 0x02, Local0)
                        And (Local0, 0xFE, Local0)
                        Store (IOHI, Local1)
                        ShiftLeft (Local1, 0x06, Local1)
                        Or (Local0, Local1, Local0)
                        Store (Local0, CRE7)
                        FindSetRightBit (IRQL, Local0)
                        Decrement (Local0)
                        Store (Local0, \_SB.PCI0.PIB.SAIQ)
                        Store (CRE2, Local0)
                        Or (Local0, 0x04, Local0)
                        Store (Local0, CRE2)
                        EXCG ()
                    }
                }

                Device (BTNS)
                {
                    Name (_HID, "Compaq TabletPC Buttons")
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
                        IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
                        IRQ (Edge, ActiveHigh, Exclusive) {1}
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (0x0F)
                    }
                }


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-01-26 23:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-26 23:03 Non-power related ACPI devices (help) Frank Bruno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox