coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <device/mmio.h>
#include <console/console.h>
#include <delay.h>
#include <stdint.h>
#include "raminit.h"
#include "x4x.h"
Go to the source code of this file.
Data Structures | |
struct | rec_timing |
Macros | |
#define | MAX_COARSE 15 |
#define | DQS_HIGH 1 |
#define | DQS_LOW 0 |
#define | RESET_CNTL(channel) (0x5d8 + (channel) * 0x400) |
Functions | |
static void | mfence (void) |
static u8 | sampledqs (u32 addr, u8 lane, u8 channel) |
static void | program_timing (const struct rec_timing *timing, u8 channel, u8 lane) |
static int | increase_medium (struct rec_timing *timing) |
static int | decrease_medium (struct rec_timing *timing) |
static int | increase_tap (struct rec_timing *timing) |
static int | decrease_tap (struct rec_timing *timing) |
static int | decr_coarse_low (u8 channel, u8 lane, u32 addr, struct rec_timing *timing) |
static int | fine_search_dqs_high (u8 channel, u8 lane, u32 addr, struct rec_timing *timing) |
static int | find_dqs_low (u8 channel, u8 lane, u32 addr, struct rec_timing *timing) |
static int | find_dqs_high (u8 channel, u8 lane, u32 addr, struct rec_timing *timing) |
static int | find_dqs_edge_lowhigh (u8 channel, u8 lane, u32 addr, struct rec_timing *timing) |
static int | find_preamble (u8 channel, u8 lane, u32 addr, struct rec_timing *timing) |
static int | calibrate_receive_enable (u8 channel, u8 lane, u32 addr, struct rec_timing *timing) |
void | rcven (struct sysinfo *s) |
|
static |
Definition at line 240 of file rcven.c.
References addr, BIOS_WARNING, decrease_tap(), find_dqs_edge_lowhigh(), find_dqs_low(), find_preamble(), increase_medium(), mchbar_clrbits16, mchbar_clrsetbits16(), rec_timing::pi, printk, and program_timing().
Referenced by rcven().
|
static |
Definition at line 124 of file rcven.c.
References addr, BIOS_CRIT, rec_timing::coarse, DQS_LOW, rec_timing::medium, printk, program_timing(), RAM_DEBUG, and sampledqs().
Referenced by find_preamble().
|
static |
Definition at line 86 of file rcven.c.
References BIOS_ERR, rec_timing::coarse, rec_timing::medium, and printk.
Referenced by decrease_tap(), and find_dqs_edge_lowhigh().
|
static |
Definition at line 112 of file rcven.c.
References decrease_medium(), and rec_timing::tap.
Referenced by calibrate_receive_enable().
|
static |
Definition at line 204 of file rcven.c.
References addr, decrease_medium(), find_dqs_high(), fine_search_dqs_high(), and program_timing().
Referenced by calibrate_receive_enable().
|
static |
Definition at line 187 of file rcven.c.
References addr, BIOS_CRIT, rec_timing::coarse, DQS_HIGH, increase_medium(), rec_timing::medium, printk, program_timing(), RAM_DEBUG, and sampledqs().
Referenced by find_dqs_edge_lowhigh().
|
static |
Definition at line 172 of file rcven.c.
References addr, BIOS_CRIT, rec_timing::coarse, DQS_LOW, increase_medium(), rec_timing::medium, printk, program_timing(), RAM_DEBUG, and sampledqs().
Referenced by calibrate_receive_enable().
|
static |
Definition at line 221 of file rcven.c.
References addr, BIOS_CRIT, decr_coarse_low(), DQS_HIGH, increase_medium(), printk, program_timing(), and sampledqs().
Referenced by calibrate_receive_enable().
|
static |
Definition at line 140 of file rcven.c.
References addr, BIOS_CRIT, BIOS_WARNING, rec_timing::coarse, DQS_HIGH, increase_tap(), rec_timing::medium, printk, program_timing(), RAM_DEBUG, sampledqs(), and rec_timing::tap.
Referenced by find_dqs_edge_lowhigh().
|
static |
Definition at line 72 of file rcven.c.
References BIOS_ERR, rec_timing::coarse, MAX_COARSE, rec_timing::medium, and printk.
Referenced by calibrate_receive_enable(), find_dqs_high(), find_dqs_low(), find_preamble(), and increase_tap().
|
static |
Definition at line 100 of file rcven.c.
References increase_medium(), and rec_timing::tap.
Referenced by fine_search_dqs_high().
Definition at line 23 of file rcven.c.
Referenced by sampledqs().
|
static |
Definition at line 46 of file rcven.c.
References rec_timing::coarse, mchbar_read16(), mchbar_read32(), mchbar_read8(), mchbar_write16(), mchbar_write32(), mchbar_write8(), rec_timing::medium, rec_timing::pi, printk, RAM_SPEW, and rec_timing::tap.
Referenced by calibrate_receive_enable(), decr_coarse_low(), find_dqs_edge_lowhigh(), find_dqs_high(), find_dqs_low(), find_preamble(), fine_search_dqs_high(), and rcven().
Definition at line 282 of file rcven.c.
References addr, BIOS_DEBUG, calibrate_receive_enable(), rec_timing::coarse, die(), FOR_EACH_BYTELANE, FOR_EACH_POPULATED_CHANNEL, FOR_EACH_POPULATED_RANK_IN_CHANNEL, mchbar_clrbits8, mchbar_clrsetbits16(), rec_timing::medium, rec_timing::pi, printk, program_timing(), s, rec_timing::tap, test_address(), and TOTAL_BYTELANES.
Referenced by does_lane_work(), find_rcven_pi_coarse(), program_timings(), and sdram_program_receive_enable().
Definition at line 28 of file rcven.c.
References addr, mchbar_clrbits8, mchbar_read8(), mchbar_setbits8, mfence(), read32p(), RESET_CNTL, TOTAL_CHANNELS, and udelay().
Referenced by decr_coarse_low(), find_dqs_high(), find_dqs_low(), find_preamble(), and fine_search_dqs_high().