Hi Jetmir,
You might be lucky - exact 16 MHz should be possible without changing the VCXO of 122.88MHz.
You need to get to a VCO frequency of exact 3072 MHz
122.88MHz * ( 4 * B + A) = 3072MHz | B = 6, A = 1
Then use an M1 divider of 3 - that gives you a 1024 MHz distribution clock.
A channel divider of 64 get's you to exact 16 MHz.
--- a/arch/microblaze/boot/dts/adi-fmcomms1.dtsi
+++ b/arch/microblaze/boot/dts/adi-fmcomms1.dtsi
@@ -34,9 +34,9 @@
adi,pll1-loop-filter-rzero = <3>;
adi,ref-mode = <3>;
adi,pll2-charge-pump-current-nA = <420000>;
- adi,pll2-ndiv-a-cnt = <0>;
- adi,pll2-ndiv-b-cnt = <3>;
- adi,pll2-freq-doubler-enable;
+ adi,pll2-ndiv-a-cnt = <1>;
+ adi,pll2-ndiv-b-cnt = <6>;
+ /*adi,pll2-freq-doubler-enable;*/
adi,pll2-r2-div = <1>;
adi,pll2-vco-diff-m1 = <3>;
adi,pll2-vco-diff-m2 = <3>;
-Michael