Index: uspace/drv/infrastructure/rootamdm37x/amdm37x.c
===================================================================
--- uspace/drv/infrastructure/rootamdm37x/amdm37x.c	(revision c73910287a21883954d2c3d3c7fcbc1668ecc81f)
+++ uspace/drv/infrastructure/rootamdm37x/amdm37x.c	(revision 22a0ee80f97fa3cec4bd4ef790bfe46c8aa94130)
@@ -271,8 +271,15 @@
 		/* Compute divisors and multiplier
 		 * See AMDM37x TRM p. 300 for the formula */
-		assert((base_freq % 100) == 0);
-		const unsigned mult = 1200;
-		const unsigned div = (base_freq / 100) - 1;
+		// TODO: base_freq does not have to be rounded to Mhz
+		// (that's why I used KHz as unit).
+		const unsigned mult = 120;
+		const unsigned div = (base_freq / 1000) - 1;
 		const unsigned div2 = 1;
+		if ( ((base_freq % 1000) != 0) || (div > 127)) {
+			ddf_msg(LVL_ERROR, "Rounding error, or divisor to big "
+			    "freq: %d, div: %d", base_freq, div);
+			return;
+		};
+		assert(div <= 127);
 
 		/* Set multiplier */
