mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
artecgroup/dbe61: Use dbe61c specific variables and macros instead of generic ones
This is in preparation of dbe61a handling addition. Uses DIMM_DBE61C and DIMM_EMPTY instead of generic DIMM0/DIMM1, and spd_table_dbe61c instead of spd_table. Also removes a completely unused smb_devices structure definition. Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://coreboot.org/repository/coreboot-v3@1015 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
parent
6cc92990ce
commit
72f38d1a3d
1 changed files with 12 additions and 12 deletions
|
@ -35,8 +35,8 @@
|
||||||
#define MANUALCONF 0 /* Do automatic strapped PLL config */
|
#define MANUALCONF 0 /* Do automatic strapped PLL config */
|
||||||
#define PLLMSRHI 0x00001490 /* manual settings for the PLL */
|
#define PLLMSRHI 0x00001490 /* manual settings for the PLL */
|
||||||
#define PLLMSRLO 0x02000030
|
#define PLLMSRLO 0x02000030
|
||||||
#define DIMM0 ((u8) 0xA0)
|
#define DIMM_DBE61C ((u8) 0xA0)
|
||||||
#define DIMM1 ((u8) 0xA2)
|
#define DIMM_EMPTY ((u8) 0xA2)
|
||||||
|
|
||||||
struct spd_entry {
|
struct spd_entry {
|
||||||
u8 address;
|
u8 address;
|
||||||
|
@ -46,7 +46,7 @@ struct spd_entry {
|
||||||
/* Save space by using a short list of SPD values used by Geode LX Memory init */
|
/* Save space by using a short list of SPD values used by Geode LX Memory init */
|
||||||
/* Fake SPD for DBE61C - 256MB. Same memory chip, and therefore same SPD entries, as for DBE62. */
|
/* Fake SPD for DBE61C - 256MB. Same memory chip, and therefore same SPD entries, as for DBE62. */
|
||||||
/* Micron MT46V32M16 */
|
/* Micron MT46V32M16 */
|
||||||
static const struct spd_entry spd_table[] = {
|
static const struct spd_entry spd_table_dbe61c[] = {
|
||||||
{SPD_MEMORY_TYPE, 7},
|
{SPD_MEMORY_TYPE, 7},
|
||||||
{SPD_NUM_ROWS, 13},
|
{SPD_NUM_ROWS, 13},
|
||||||
{SPD_tRFC, 0x4b},
|
{SPD_tRFC, 0x4b},
|
||||||
|
@ -95,7 +95,7 @@ static const struct spd_entry spd_table_dbe61a[] = {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Given an SMBUS device, and an address in that device, return the value of SPD
|
* Given an SMBUS device, and an address in that device, return the value of SPD
|
||||||
* for that device. In this mainboard, the only one that can return is DIMM0.
|
* for that device. In this mainboard, the only one that can return is DIMM_DBE61C.
|
||||||
* @param device The device number
|
* @param device The device number
|
||||||
* @param address The address in SPD rom to return the value of
|
* @param address The address in SPD rom to return the value of
|
||||||
* @returns The value
|
* @returns The value
|
||||||
|
@ -107,15 +107,15 @@ u8 spd_read_byte(u16 device, u8 address)
|
||||||
u8 ret = 0xff;
|
u8 ret = 0xff;
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "spd_read_byte dev %04x", device);
|
printk(BIOS_DEBUG, "spd_read_byte dev %04x", device);
|
||||||
if (device == DIMM0) {
|
if (device == DIMM_DBE61C) {
|
||||||
for (i = 0; i < ARRAY_SIZE(spd_table); i++) {
|
for (i = 0; i < ARRAY_SIZE(spd_table_dbe61c); i++) {
|
||||||
if (spd_table[i].address == address) {
|
if (spd_table_dbe61c[i].address == address) {
|
||||||
ret = spd_table[i].data;
|
ret = spd_table_dbe61c[i].data;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i == ARRAY_SIZE(spd_table))
|
if (i == ARRAY_SIZE(spd_table_dbe61c))
|
||||||
printk(BIOS_DEBUG, " addr %02x does not exist in SPD table",
|
printk(BIOS_DEBUG, " addr %02x does not exist in SPD table",
|
||||||
address);
|
address);
|
||||||
}
|
}
|
||||||
|
@ -155,16 +155,16 @@ int main(void)
|
||||||
pll_reset(MANUALCONF, PLLMSRHI, PLLMSRLO);
|
pll_reset(MANUALCONF, PLLMSRHI, PLLMSRLO);
|
||||||
printk(BIOS_DEBUG, "done pll reset\n");
|
printk(BIOS_DEBUG, "done pll reset\n");
|
||||||
|
|
||||||
cpu_reg_init(0, DIMM0, DIMM1, DRAM_UNTERMINATED);
|
cpu_reg_init(0, DIMM_DBE61C, DIMM_EMPTY, DRAM_UNTERMINATED);
|
||||||
printk(BIOS_DEBUG, "done cpu reg init\n");
|
printk(BIOS_DEBUG, "done cpu reg init\n");
|
||||||
|
|
||||||
sdram_set_registers();
|
sdram_set_registers();
|
||||||
printk(BIOS_DEBUG, "done sdram set registers\n");
|
printk(BIOS_DEBUG, "done sdram set registers\n");
|
||||||
|
|
||||||
sdram_set_spd_registers(DIMM0, DIMM1);
|
sdram_set_spd_registers(DIMM_DBE61C, DIMM_EMPTY);
|
||||||
printk(BIOS_DEBUG, "done sdram set spd registers\n");
|
printk(BIOS_DEBUG, "done sdram set spd registers\n");
|
||||||
|
|
||||||
sdram_enable(DIMM0, DIMM1);
|
sdram_enable(DIMM_DBE61C, DIMM_EMPTY);
|
||||||
printk(BIOS_DEBUG, "done sdram enable\n");
|
printk(BIOS_DEBUG, "done sdram enable\n");
|
||||||
|
|
||||||
/* Check low memory */
|
/* Check low memory */
|
||||||
|
|
Loading…
Add table
Reference in a new issue