From: Dean Ramsier on
I've been tasked with writing a GPIO driver for the Winbond 83627. This is
my first foray into "big Windows" (I'm coming from the CE world), and also
my first foray into x86 (coming from the ARM world). So the questions are
probably pretty basic, but any insight you can provide would be much
appreciated.

The basic problem I've got is that the GPIO on this part can't be mapped
into regular IO space by the BIOS (or so I'm told). We (someone else who is
no longer here) did a legacy driver for a different Winbond chip, but that
one allowed the GPIO register to be mapped into IO space. The driver just
blasted the port, and everyone was happy (no support for PnP, WDM etc, but
got the job done).

The data sheet for this part indicates that you have to enter "Compatible
PNP mode" by writing some magic numbers to 0x2E, and then use 0x2E/0x2F as a
address/data pair to hit the various registers. I'm thinking there are
several possible problems with this:

- Will XP allow me to just blast those registers? They show up as
motherboard resources in the device manager, and I'm thinking XP might
protect them somehow.
- There are other devices that could theoretically want access to this
magical space. If I'm allowed to just enter it at will, who is preventing
the other drivers and I from messing each other up?
- Is this Compatible PNP mode related to the regular ISA PNP mechanism, or
just a copycat mechanism used to try to protect the registers from
inadvertent writes?
- If this area is protected, what is the recommended method of accessing
these registers?

I'll write a little test driver to see what happens if I just write to this
space. But anything anyone cares to add would be greatly appreciated...

--
Dean Ramsier



From: Maxim S. Shatskih on
Is it a PCI card?

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim(a)storagecraft.com
http://www.storagecraft.com

"Dean Ramsier" <ramsiernospam(a)nospam.com> wrote in message
news:O$%23tn2EaFHA.1456(a)TK2MSFTNGP15.phx.gbl...
> I've been tasked with writing a GPIO driver for the Winbond 83627. This is
> my first foray into "big Windows" (I'm coming from the CE world), and also
> my first foray into x86 (coming from the ARM world). So the questions are
> probably pretty basic, but any insight you can provide would be much
> appreciated.
>
> The basic problem I've got is that the GPIO on this part can't be mapped
> into regular IO space by the BIOS (or so I'm told). We (someone else who is
> no longer here) did a legacy driver for a different Winbond chip, but that
> one allowed the GPIO register to be mapped into IO space. The driver just
> blasted the port, and everyone was happy (no support for PnP, WDM etc, but
> got the job done).
>
> The data sheet for this part indicates that you have to enter "Compatible
> PNP mode" by writing some magic numbers to 0x2E, and then use 0x2E/0x2F as a
> address/data pair to hit the various registers. I'm thinking there are
> several possible problems with this:
>
> - Will XP allow me to just blast those registers? They show up as
> motherboard resources in the device manager, and I'm thinking XP might
> protect them somehow.
> - There are other devices that could theoretically want access to this
> magical space. If I'm allowed to just enter it at will, who is preventing
> the other drivers and I from messing each other up?
> - Is this Compatible PNP mode related to the regular ISA PNP mechanism, or
> just a copycat mechanism used to try to protect the registers from
> inadvertent writes?
> - If this area is protected, what is the recommended method of accessing
> these registers?
>
> I'll write a little test driver to see what happens if I just write to this
> space. But anything anyone cares to add would be greatly appreciated...
>
> --
> Dean Ramsier
>
>
>


From: Dean Ramsier on
No, the W83627 is on the LPC interface of the south bridge.

--
Dean Ramsier - eMVP


"Maxim S. Shatskih" <maxim(a)storagecraft.com> wrote in message
news:ORiplkGaFHA.3976(a)TK2MSFTNGP15.phx.gbl...
> Is it a PCI card?
>
> --
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> maxim(a)storagecraft.com
> http://www.storagecraft.com
>
> "Dean Ramsier" <ramsiernospam(a)nospam.com> wrote in message
> news:O$%23tn2EaFHA.1456(a)TK2MSFTNGP15.phx.gbl...
> > I've been tasked with writing a GPIO driver for the Winbond 83627. This
is
> > my first foray into "big Windows" (I'm coming from the CE world), and
also
> > my first foray into x86 (coming from the ARM world). So the questions
are
> > probably pretty basic, but any insight you can provide would be much
> > appreciated.
> >
> > The basic problem I've got is that the GPIO on this part can't be mapped
> > into regular IO space by the BIOS (or so I'm told). We (someone else
who is
> > no longer here) did a legacy driver for a different Winbond chip, but
that
> > one allowed the GPIO register to be mapped into IO space. The driver
just
> > blasted the port, and everyone was happy (no support for PnP, WDM etc,
but
> > got the job done).
> >
> > The data sheet for this part indicates that you have to enter
"Compatible
> > PNP mode" by writing some magic numbers to 0x2E, and then use 0x2E/0x2F
as a
> > address/data pair to hit the various registers. I'm thinking there are
> > several possible problems with this:
> >
> > - Will XP allow me to just blast those registers? They show up as
> > motherboard resources in the device manager, and I'm thinking XP might
> > protect them somehow.
> > - There are other devices that could theoretically want access to this
> > magical space. If I'm allowed to just enter it at will, who is
preventing
> > the other drivers and I from messing each other up?
> > - Is this Compatible PNP mode related to the regular ISA PNP mechanism,
or
> > just a copycat mechanism used to try to protect the registers from
> > inadvertent writes?
> > - If this area is protected, what is the recommended method of accessing
> > these registers?
> >
> > I'll write a little test driver to see what happens if I just write to
this
> > space. But anything anyone cares to add would be greatly appreciated...
> >
> > --
> > Dean Ramsier
> >
> >
> >
>
>


From: Maxim S. Shatskih on
Any ISAPnP support there?

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim(a)storagecraft.com
http://www.storagecraft.com

"Dean Ramsier" <ramsiernospam(a)nospam.com> wrote in message
news:OIBk11GaFHA.3132(a)TK2MSFTNGP09.phx.gbl...
> No, the W83627 is on the LPC interface of the south bridge.
>
> --
> Dean Ramsier - eMVP
>
>
> "Maxim S. Shatskih" <maxim(a)storagecraft.com> wrote in message
> news:ORiplkGaFHA.3976(a)TK2MSFTNGP15.phx.gbl...
> > Is it a PCI card?
> >
> > --
> > Maxim Shatskih, Windows DDK MVP
> > StorageCraft Corporation
> > maxim(a)storagecraft.com
> > http://www.storagecraft.com
> >
> > "Dean Ramsier" <ramsiernospam(a)nospam.com> wrote in message
> > news:O$%23tn2EaFHA.1456(a)TK2MSFTNGP15.phx.gbl...
> > > I've been tasked with writing a GPIO driver for the Winbond 83627. This
> is
> > > my first foray into "big Windows" (I'm coming from the CE world), and
> also
> > > my first foray into x86 (coming from the ARM world). So the questions
> are
> > > probably pretty basic, but any insight you can provide would be much
> > > appreciated.
> > >
> > > The basic problem I've got is that the GPIO on this part can't be mapped
> > > into regular IO space by the BIOS (or so I'm told). We (someone else
> who is
> > > no longer here) did a legacy driver for a different Winbond chip, but
> that
> > > one allowed the GPIO register to be mapped into IO space. The driver
> just
> > > blasted the port, and everyone was happy (no support for PnP, WDM etc,
> but
> > > got the job done).
> > >
> > > The data sheet for this part indicates that you have to enter
> "Compatible
> > > PNP mode" by writing some magic numbers to 0x2E, and then use 0x2E/0x2F
> as a
> > > address/data pair to hit the various registers. I'm thinking there are
> > > several possible problems with this:
> > >
> > > - Will XP allow me to just blast those registers? They show up as
> > > motherboard resources in the device manager, and I'm thinking XP might
> > > protect them somehow.
> > > - There are other devices that could theoretically want access to this
> > > magical space. If I'm allowed to just enter it at will, who is
> preventing
> > > the other drivers and I from messing each other up?
> > > - Is this Compatible PNP mode related to the regular ISA PNP mechanism,
> or
> > > just a copycat mechanism used to try to protect the registers from
> > > inadvertent writes?
> > > - If this area is protected, what is the recommended method of accessing
> > > these registers?
> > >
> > > I'll write a little test driver to see what happens if I just write to
> this
> > > space. But anything anyone cares to add would be greatly appreciated...
> > >
> > > --
> > > Dean Ramsier
> > >
> > >
> > >
> >
> >
>
>


From: Dean Ramsier on
I'm not sure exactly what you mean by ISAPnP support, but I believe the
hardware and BIOS are ISA PNP capable, and I assume that's been
implemented in general. However, the GPIO is muxed with a couple of
other devices (GAME and MIDI) in this Winbond chip, so I (or the BIOS)
needs to ensure the GPIO is the one that is exposed. How this affects
PnP, I don't know.

I have some opportunity to have the BIOS modified, as long as it isn't
too major. But, I need to tell the BIOS guy what needs done, and I'm
not sure what that should be...

- Dean