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

Elia Yehuda z4ziggy at gmail.com
Mon May 11 00:34:13 CEST 2009


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


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


More information about the coreboot mailing list