From: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>
To: Michael Fuckner <michael-iWcS09LKDTLR7s880joybQ@public.gmane.org>
Cc: Michael Lawnick <ml.lawnick-Mmb7MZpHnFY@public.gmane.org>,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Decode dimms on dual socket machines
Date: Wed, 13 Apr 2011 13:45:14 +0200 [thread overview]
Message-ID: <20110413134514.2a019889@endymion.delvare> (raw)
In-Reply-To: <4DA575C3.1050100-iWcS09LKDTLR7s880joybQ@public.gmane.org>
Hallo Michael,
On Wed, 13 Apr 2011 12:06:59 +0200, Michael Fuckner wrote:
> Supermicro just gave me the following information:
>
> To access all SPDs, you have to pull low GPIO49 (IO_0x528 bit 17) first.
> Then pull low GPIO52 (IO_0x528 bit 20) to access first CPU
> memory(0x50~0x55); pull high GPIO52 to access 2nd CPU memory(0x50~0x55).
I am surprised because AllMEMDIMM.ini suggests that GPIO 53 and 52 are
used, not 47 and 52.
> I can't find anything about GPIO49/52,53 in Datasheet for 5500/5520 chipset
> http://www.intel.com/assets/pdf/datasheet/321328.pdf
>
> So it is probably connected to ICH10
> http://www.intel.com/Assets/PDF/datasheet/319973.pdf
>
> but I don't know how to use this information
My own workstation board happens to have a similar (but slightly
different) GPIO-based SMBus multiplexing scheme. I wanted to look into
it but could never find the time. Your request gave me an opportunity
to look into it again. As a first step, I've improved isadump and
isaset to support 32-bit I/O access:
http://marc.info/?l=lm-sensors&m=130264185604706&w=2
http://marc.info/?l=lm-sensors&m=130264189004750&w=2
With these two patches applied, you should be able to control the
multiplexer from user-space. First of all, check the base I/O address
of the GPIO registers, because the values provided by Supermicro are
off by 16 compared to what I have:
# setpci -s 00:1f.0 48.l
It returns 00000501 for me, for I/O base 0x500. If it is the same for
you, you can dump the GPIO registers with:
# isadump -f -L 0x500 64
Preliminary note: wrong setup of GPIO could have disastrous effects on
your hardware. If at any point you are unsure of what you're doing, you
better just stop and ask.
The operations described by Supermicro would then be achieved with the
following commands:
: Pull GPIO49 low
# isaset -f -L 0x538 0x00000000 0x00020000
: Pull GPIO52 low:
# isaset -f -L 0x538 0x00000000 0x00100000
: Pull GPIO52 up:
# isaset -f -L 0x538 0x00100000 0x00100000
Note the 0x538 when your Supermicro contact said 0x528. 0x528 would be
correct only if the I/O base is 0x4f0 instead of 0x500... but I'd be
surprised if it is the case.
Of course this is all a hack and the kernel drivers won't notice the
multiplexer change happening in their backs. So if you happen to have
the same number of memory modules for both CPUs, plugged in symmetrical
sockets, "sensors" (and "decode-dimms") will nicely report the values
from the currently selected bus segment, but you can't see all modules
at once. For this, proper multiplexing support in the kernel will be
needed, which is a lot more work. Patience...
--
Jean Delvare
http://khali.linux-fr.org/wishlist.html
next prev parent reply other threads:[~2011-04-13 11:45 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-12 10:10 Decode dimms on dual socket machines Michael Fuckner
[not found] ` <4DA4250A.3060907-iWcS09LKDTLR7s880joybQ@public.gmane.org>
2011-04-12 11:26 ` Jean Delvare
[not found] ` <20110412132611.045ace21-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2011-04-12 12:52 ` Michael Fuckner
[not found] ` <4DA44B05.906-iWcS09LKDTLR7s880joybQ@public.gmane.org>
2011-04-12 13:53 ` Jean Delvare
[not found] ` <20110412155345.4644e51c-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2011-04-13 6:13 ` Michael Lawnick
[not found] ` <4DA53F22.5020105-Mmb7MZpHnFY@public.gmane.org>
2011-04-13 8:39 ` Jean Delvare
[not found] ` <20110413103952.68bdb6fa-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2011-04-13 10:06 ` Michael Fuckner
[not found] ` <4DA575C3.1050100-iWcS09LKDTLR7s880joybQ@public.gmane.org>
2011-04-13 11:45 ` Jean Delvare [this message]
2011-04-19 12:24 ` Jean Delvare
2011-04-14 11:42 ` Michael Lawnick
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110413134514.2a019889@endymion.delvare \
--to=khali-puyad+kwke1g9huczpvpmw@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=michael-iWcS09LKDTLR7s880joybQ@public.gmane.org \
--cc=ml.lawnick-Mmb7MZpHnFY@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).