From: Norrih on
Hi All,

I would like to control one of the 14 GPIO provided on the Poulsbo UW15w.
and I would like to use the driver (Genport) provided in DDK.

Do you know if this would work to set and clear GPIO.

How do I get the Address of the Port i want to set. (gpdwrite . ...)
is it set in the .inf

Thanks

regards

Norrih
From: eagersh on
On Feb 16, 12:41 am, Norrih <Nor...(a)discussions.microsoft.com> wrote:
> Hi All,
>
> I would like to control one of the 14 GPIO provided on the Poulsbo UW15w.
> and I would like to use the driver (Genport) provided in DDK.
>
> Do you know if this would work to set and clear GPIO.
>
> How do I get the Address of the Port i want to set. (gpdwrite .   ...)
> is it set in  the .inf
>
> Thanks
>
> regards
>
> Norrih

Genport provides only interface to access GPIO. Using gpdwrite/gpdread
you could specify an offset from a Base address and access to
particular IO port. The Base address is specified in *.inf file. You
could check Base Addresses in PortIOEvtDevicePrepareHardware of
device.c .

Igor Sharovar
From: Tim Roberts on
Norrih <Norrih(a)discussions.microsoft.com> wrote:
>
>I would like to control one of the 14 GPIO provided on the Poulsbo UW15w.
>and I would like to use the driver (Genport) provided in DDK.

Do you mean US15w, the Atom chipset that used to be called "Poulsbo"?

>Do you know if this would work to set and clear GPIO.

This depends on the design of your motherboard and your BIOS. It's
entirely possible that your BIOS configures the LPC with the GPIOs
disabled.

>How do I get the Address of the Port i want to set. (gpdwrite . ...)
>is it set in the .inf

It's complicated. Are you looking at the US15w datasheet? You have to
find the I/O port base for the LPC (by getting the I/O BAR for device 31
function 0), then fetch the base address of the GPIO registers within the
I/O space, then go tweak the register itself.

There are better ways to get I/O pins.
--
Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.