coreboot-kgpe-d16/tests/device/ddr4-test.c
Rob Barnes a01ee36288 device/dram: Add method for converting MHz to MT/s
Add method for converting DDR4 speed in MHz to MT/s. Checks that MHz is
within a speed grade range.

BUG=b:167155849
TEST=ddr4-test unit test
BRANCH=Zork

Change-Id: I1433f028afb794fe3e397b03f5bd0565494c8130
Signed-off-by: Rob Barnes <robbarnes@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/45343
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
2020-09-16 03:24:50 +00:00

41 lines
1.3 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only */
#include <device/dram/ddr4.h>
#include <tests/test.h>
static void ddr4_speed_mhz_to_mts_test(void **state)
{
assert_int_equal(0, ddr4_speed_mhz_to_reported_mts(0));
assert_int_equal(0, ddr4_speed_mhz_to_reported_mts(667));
assert_int_equal(1600, ddr4_speed_mhz_to_reported_mts(668));
assert_int_equal(1600, ddr4_speed_mhz_to_reported_mts(800));
assert_int_equal(1866, ddr4_speed_mhz_to_reported_mts(801));
assert_int_equal(1866, ddr4_speed_mhz_to_reported_mts(933));
assert_int_equal(1866, ddr4_speed_mhz_to_reported_mts(934));
assert_int_equal(2133, ddr4_speed_mhz_to_reported_mts(1066));
assert_int_equal(2133, ddr4_speed_mhz_to_reported_mts(1067));
assert_int_equal(2400, ddr4_speed_mhz_to_reported_mts(1200));
assert_int_equal(2666, ddr4_speed_mhz_to_reported_mts(1333));
assert_int_equal(2933, ddr4_speed_mhz_to_reported_mts(1466));
assert_int_equal(3200, ddr4_speed_mhz_to_reported_mts(1467));
assert_int_equal(3200, ddr4_speed_mhz_to_reported_mts(1600));
assert_int_equal(0, ddr4_speed_mhz_to_reported_mts(1601));
assert_int_equal(0, ddr4_speed_mhz_to_reported_mts(INT16_MAX));
}
int main(void)
{
const struct CMUnitTest tests[] = {
cmocka_unit_test(ddr4_speed_mhz_to_mts_test)
};
return cmocka_run_group_tests(tests, NULL, NULL);
}