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>
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 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);
 | |
| }
 |