[coreboot] [patch] fix intel 82810 onboard VGA and SDRAM functions

Elia Yehuda z4ziggy at gmail.com
Mon May 11 15:42:06 CEST 2009


On Mon, May 11, 2009 at 4:33 PM, Myles Watson <mylesgw at gmail.com> wrote:

> On Mon, May 11, 2009 at 7:30 AM, Elia Yehuda <z4ziggy at gmail.com> wrote:
> >
> >
> > On Mon, May 11, 2009 at 3:42 PM, Joseph Smith <joe at settoplinux.org>
> wrote:
> >>
> >>
> >>
> >> On Sun, 10 May 2009 23:09:36 -0400, Corey Osgood <
> corey.osgood at gmail.com>
> >> wrote:
> >> > On Sun, May 10, 2009 at 6:34 PM, Elia Yehuda <z4ziggy at gmail.com>
> wrote:
> >> >
> >> >> here is the comment from my previous patch, revealing most of my RE
> >> >> work
> >> > :
> >> >>
> >> >>
> >> >>     /* TODO: This needs to be calculated according to the DRAM tech
> >> >>      * (x8, x16, or x32). Argh, Intel provides no docs on this!
> >> >>      * Currently, it needs to be pulled from the output of
> >> >>      * lspci -xxx Rx92
> >> >>      * here are some common results:
> >> >>      * (c = 128MB dual sided, d = 128MB single sided, f = 256MB dual
> >> > sided)
> >> >>      * BUFF_SC: tom:    drp:   DIMM0:               DIMM1:
> >> >>      * 0x3356   128MB   0x0c   128MB dual-sided     -
> >> >>      * 0xcc56   128MB   0xc0   -                    128MB dual-sided
> >> >>      * 0x77da   128MB   0x0d   128MB single-sided   -
> >> >>      * 0xddda   128MB   0xd0   -                    128MB
> single-sided
> >> >>      * 0x0001   256MB   0xcc   128MB dual-sided     128MB dual-sided
> >> >>      * 0x55c6   256MB   0xdd   128MB single-sided   128MB
> single-sided
> >> >>      * 0x4445   256MB   0xcd   128MB single-sided   128MB dual-sided
> >> >>      * 0x1145   256MB   0xdc   128MB dual-sided     128MB
> single-sided
> >> >>      * 0x3356   256MB   0x0f   256MB dual-sided     -
> >> >>      * 0xcc56   256MB   0xf0   -                    256MB dual-sided
> >> >>      * 0x0001   384MB   0xcf   256MB dual-sided     128MB dual-sided
> >> >>      * 0x0001   384MB   0xfc   128MB dual-sided     256MB dual-sided
> >> >>      * 0x1145   384MB   0xdf   256MB dual-sided     128MB
> single-sided
> >> >>      * 0x4445   384MB   0xfd   128MB single-sided   256MB dual-sided
> >> >>      * 0x0001   512MB   0xff   256MB dual-sided     256MB dual-sided
> >> >>      *
> >> >>      * BUFF_SC: BUFF_SC in binary:          tom:    drp:
> >> >> DIMM0:               DIMM1:
> >> >>      * 0x3356   0 0 1 1 00 11 01 01 01 10   128MB   0x0c   128MB
> >> >> dual-sided     -
> >> >>      * 0xcc56   1 1 0 0 11 00 01 01 01 10   128MB   0xc0
> >> >> -                    128MB dual-sided
> >> >>      * 0x77da   0 1 1 1 01 11 11 01 10 10   128MB   0x0d   128MB
> >> >> single-sided   -
> >> >>      * 0xddda   1 1 0 1 11 01 11 01 10 10   128MB   0xd0
> >> >> -                    128MB single-sided
> >> >>      * 0x0001   0 0 0 0 00 00 00 00 00 01   256MB   0xcc   128MB
> >> >> dual-sided     128MB dual-sided
> >> >>      * 0x55c6   0 1 0 1 01 01 11 00 01 10   256MB   0xdd   128MB
> >> >> single-sided   128MB single-sided
> >> >>      * 0x4445   0 1 0 0 01 00 01 00 01 01   256MB   0xcd   128MB
> >> >> single-sided   128MB dual-sided
> >> >>      * 0x1145   0 0 0 1 00 01 01 00 01 01   256MB   0xdc   128MB
> >> >> dual-sided     128MB single-sided
> >> >>      * 0x3356   0 0 1 1 00 11 01 01 01 10   256MB   0x0f   256MB
> >> >> dual-sided     -
> >> >>      * 0xcc56   1 1 0 0 11 00 01 01 01 10   256MB   0xf0
> >> >> -                    256MB dual-sided
> >> >>      * 0x0001   0 0 0 0 00 00 00 00 00 01   384MB   0xcf   256MB
> >> >> dual-sided     128MB dual-sided
> >> >>      * 0x0001   0 0 0 0 00 00 00 00 00 01   384MB   0xfc   128MB
> >> >> dual-sided     256MB dual-sided
> >> >>      * 0x1145   0 0 0 1 00 01 01 00 01 01   384MB   0xdf   256MB
> >> >> dual-sided     128MB single-sided
> >> >>      * 0x4445   0 1 0 0 01 00 01 00 01 01   384MB   0xfd   128MB
> >> >> single-sided   256MB dual-sided
> >> >>      * 0x0001   0 0 0 0 00 00 00 00 00 01   512MB   0xff   256MB
> >> >> dual-sided     256MB dual-sided
> >> >>
> >> >>         0:1   00 = 0 DIMMs
> >> >>               01 = 2 dual
> >> >>                1 dual + 1 single
> >> >>                1 single + 1 dual
> >> >>               10 = 1 DIMM only
> >> >>                2 single
> >> >>         2:3   00 = 2 dual sided
> >> >>               01 = 1 dual sided only
> >> >>                2 single sided
> >> >>                1 dual + 1 single
> >> >>                1 single + 1 dual
> >> >>               10 = 1 single sided only
> >> >>         4:5   00 = 2 DIMMs
> >> >>               01 = 1 DIMM only
> >> >>         6:7   00 = 2 dual
> >> >>               01 = 1 dual only
> >> >>                1 dual + 1 single
> >> >>                1 single + 1 dual
> >> >>               11 = 1 single
> >> >>                2 single
> >> >>         8:9   00 = 2 dual
> >> >>                1 single + 1 dual
> >> >>                1 dual only in slot #1
> >> >>               01 = 1 single only in slot #1
> >> >>                1 dual + 1 single
> >> >>                2 single
> >> >>               11 = no dimm in slot #1
> >> >>         10:11 00 = 1 dual only in slot #0
> >> >>                2 dual
> >> >>                1 dual + 1 single
> >> >>               01 = 1 single only in slot #0
> >> >>                2 single
> >> >>                1 single + 1 dual
> >> >>               11 = no dimm in slot #0
> >> >>         12     0 = 1 dual only in slot #1
> >> >>                2 dual
> >> >>                1 single + 1 dual
> >> >>                1 = no dimm in slot #1
> >> >>                1 single
> >> >>                2 single
> >> >>                1 dual + 1 single
> >> >>         13     0 = any in slot #1
> >> >>                1 = no dimm in slot #1
> >> >>         14     0 = 1 dual only in slot #0
> >> >>                2 dual
> >> >>                1 dual + 1 single
> >> >>                1 = no dimm in slot #0
> >> >>                1 single only in slot #0
> >> >>                2 single
> >> >>                1 single + 1 dual
> >> >>         15     0 = no dimm in slot #1
> >> >>                2 DIMMs
> >> >>                1 = no dimm in slot #0
> >> >>
> >> >>
> >> >>      */
> >> >>
> >> >>
> >> > Wow, cool, I'd never have been able to put that together ;) thanks!
> >> >
> >> Yes very cool :-)
> >
> > thanks :)
> >
> >>
> >> I am going to have to test this out on the i830.
> >> Elia do you need someone with svn access to apply your patch?
> >
> > sure, but as was suggested by Myles Watson, we'll wait for the
> > HAVE_HIGH_TABLES fix before applying this patch.
>
> I don't want to hold back progress.  I think you've done good work.
> Maybe you could send boot logs to the list and get help to track down
> the error.  I don't have the hardware, but I'd be happy to help some.
> Could you add a few printks to the calculations of tomk before
> collecting the logs (with and without HAVE_HIGH_TABLES?


sure. will do it later today and post my logs to the ml.
also, uwe is planning to test the patches later today too, so he might
be successful in tracing the problem before me :)


>
>
> Thanks,
> Myles
>

Elia.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090511/4ecdc5c1/attachment.html>


More information about the coreboot mailing list