PS: How do you know that 325MHz, 350MHz, and 375MHz are possible at all?
I am not sure, just plain assumption. There is possibly a clock divider and clock multiplier values associated with those registers, and it would be good it reverse engineer it, to check if higher than 300MHz performance is feasible.
ckolivas has tested it (see
https://bitcointalk.org/index.php?topic=239360.msg2540290#msg2540290), you can run at higher frequencies, although at some point the error rate grows too high so that effective hash rate goes down.
You should be able to replace the "if cascade" with two simple lines as shown here:
https://bitcointalk.org/index.php?topic=239360.msg2540247#msg2540247However, whether a given frequency actually works would probably depend on additional factors.
Onkel Paul