Thread (1 message) 1 message, 1 author, 2005-08-02

Re: Accessing DSDT entries within a kernel device driver

From: Bjorn Helgaas <hidden>
Date: 2005-08-02 20:18:40

On Tuesday 02 August 2005 1:29 pm, Marcel Selhorst wrote:
I am pretty new to ACPI and I hope that my question is not offending, but I didn't
find an answer in the mailing archive.
I am writing a device driver for a trusted platform module (TPM), which is connected
to the mainboard via the LPC-bus. The corresponding ioports needed to communicate
with the chip are written into the ACPI-table (DSDT) through the BIOS.
So what I would like to do is simply read out the values stored inside the DSDT-table
and gather the information I need to configure the TPM-chip with the correct ioports.
Use 8250_pnp.c as a template, specifically serial_pnp_probe().

You should be able to claim the TPM device using a PNP driver that
claims IFX0101 devices.  Then the PNP subsystem will take care of
extracting your IO port information from the ACPI namespace.
The corresponding DSDT-entry looks like this:

Device (TPM)
        {
            Name (_HID, EisaId ("IFX0101"))
            Name (_UID, 0x01)
            Name (_CRS, ResourceTemplate ()
            {
                IO (Decode16, 0x004E, 0x004E, 0x01, 0x02)
                IO (Decode16, 0x4700, 0x4700, 0x01, 0x0C)
            })
        }

Is there a way to get the information (without userspace disassembling through iasl)?

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help