summaryrefslogtreecommitdiff
path: root/src/device/dram/ddr4.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/device/dram/ddr4.c')
-rw-r--r--src/device/dram/ddr4.c49
1 files changed, 11 insertions, 38 deletions
diff --git a/src/device/dram/ddr4.c b/src/device/dram/ddr4.c
index f8fe8d3a96..050857ee20 100644
--- a/src/device/dram/ddr4.c
+++ b/src/device/dram/ddr4.c
@@ -35,41 +35,13 @@ struct ddr4_speed_attr {
* May be 1 less than the actual max MT/s
*/
static const struct ddr4_speed_attr ddr4_speeds[] = {
- [DDR4_1600] = {
- .min_clock_mhz = 668,
- .max_clock_mhz = 800,
- .reported_mts = 1600
- },
- [DDR4_1866] = {
- .min_clock_mhz = 801,
- .max_clock_mhz = 934,
- .reported_mts = 1866
- },
- [DDR4_2133] = {
- .min_clock_mhz = 935,
- .max_clock_mhz = 1067,
- .reported_mts = 2133
- },
- [DDR4_2400] = {
- .min_clock_mhz = 1068,
- .max_clock_mhz = 1200,
- .reported_mts = 2400
- },
- [DDR4_2666] = {
- .min_clock_mhz = 1201,
- .max_clock_mhz = 1333,
- .reported_mts = 2666
- },
- [DDR4_2933] = {
- .min_clock_mhz = 1334,
- .max_clock_mhz = 1466,
- .reported_mts = 2933
- },
- [DDR4_3200] = {
- .min_clock_mhz = 1467,
- .max_clock_mhz = 1600,
- .reported_mts = 3200
- }
+ [DDR4_1600] = {.min_clock_mhz = 668, .max_clock_mhz = 800, .reported_mts = 1600},
+ [DDR4_1866] = {.min_clock_mhz = 801, .max_clock_mhz = 934, .reported_mts = 1866},
+ [DDR4_2133] = {.min_clock_mhz = 935, .max_clock_mhz = 1067, .reported_mts = 2133},
+ [DDR4_2400] = {.min_clock_mhz = 1068, .max_clock_mhz = 1200, .reported_mts = 2400},
+ [DDR4_2666] = {.min_clock_mhz = 1201, .max_clock_mhz = 1333, .reported_mts = 2666},
+ [DDR4_2933] = {.min_clock_mhz = 1334, .max_clock_mhz = 1466, .reported_mts = 2933},
+ [DDR4_3200] = {.min_clock_mhz = 1467, .max_clock_mhz = 1600, .reported_mts = 3200}
};
typedef enum {
@@ -95,14 +67,15 @@ const spd_block spd_blocks[] = {
{.type = BLOCK_0, 0, 128, 126}, {.type = BLOCK_1, 128, 128, 126},
{.type = BLOCK_1_L, 128, 64, 0}, {.type = BLOCK_1_H, 192, 64, 0},
{.type = BLOCK_2_L, 256, 64, 62}, {.type = BLOCK_2_H, 320, 64, 0},
- {.type = BLOCK_3, 384, 128, 0} };
+ {.type = BLOCK_3, 384, 128, 0}
+};
static bool verify_block(const spd_block *block, spd_raw_data spd)
{
uint16_t crc, spd_crc;
- spd_crc = (spd[block->start + block->crc_start + 1] << 8)
- | spd[block->start + block->crc_start];
+ spd_crc = (spd[block->start + block->crc_start + 1] << 8) |
+ spd[block->start + block->crc_start];
crc = ddr_crc16(&spd[block->start], block->len - 2);
return spd_crc == crc;