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

Joseph Smith joe at settoplinux.org
Mon May 11 14:42:32 CEST 2009




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 :-)
I am going to have to test this out on the i830.
Elia do you need someone with svn access to apply your patch?

-- 
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org





More information about the coreboot mailing list