Understanding DSDT entries

Hi all,

I have done some reasearch on ACPI spec, tables etc. Now my query is, I have to interface and chip on I2c. I have to provide its entry in DSDT , but some basic stuff is not clear to be in DSDT.

GNVS system memory shows some memory mapped registers ( like GP0A, GP0L, OSYS) . What are these , where do I get information on these. As far as I understand these are information passed by BIOS to OS . But if I need to use any of these , then how do I do that. Where is the documentation for these available ? Iam using intel E3900 processor for my design.

OperationRegion (GNVS, SystemMemory, 0x7AEB0000, 0x044A)
Field (GNVS, AnyAcc, Lock, Preserve)
{
OSYS, 16,
LIDS, 8,
PWRS, 8,
ACTT, 8,
CRTT, 8,
Offset (0x07),
Offset (0x08),
…
GP0A

I’m finding your question a little unclear. Perhaps you can clarify?

What exactly are you trying to do?
Are you trying to understand an existing DSDT entry? Or are you the BIOS writer and needing to create a new one?
It sounds like you have some need to access an I2C attached device. Are you the hardware manufacturer adding a new device one of the I2C busses?

What exactly do you want to know about GNVS? Why do you suspect you need to know this information for communicating with an I2C device?

I think clearly stating the problem you’re trying to solve would help folks have a chance at helping you. Maybe you have a production mainboard with a production BIOS that has a DSDT entry exposing an I2C attached device, but don’t know how to access it from Windows?

1 Like

Hi Shane_Corbin,
Well, I am a hardware manufacturer adding a new device one of the I2C busses, that sounds most appropriate.
We are kind of developing a tablet PC. So, I am a 3rd party developer who has bought a board based on intel E3900 from a vendor who has exposed I2c pins on the board for my use. They have provided the BIOS (default). My requirement is to interface a battery fuel gauge IC using i2c to this processor. The only requirement is that the battery status should be shown in the windows OS. My understanding is that If I do the required modification in ACPI tables, and add I2c operation regions then I should be able to expose the battery status to the OS.

So my question here is how to go about this ?

I haven’t DONE this myself, so I can’t provide any specific, practical, help.

The general idea is that Windows includes all the necessary “stuff” to integrate your battery control and status. And you provide the ASL to implement the require methods. This is pretty much described here.

I don’t know if that’s any help,

Peter