Hi. Have not reviewed the details of the XMOS PLL but:
a) if this external clock is fixed and you do not have any plans to change this value then the best solution is to apply a small footprint, low cost fixed SMD oscillator. From our last review, the 3225 SMD oscillator is the most practical due to the volume of sales. You should be paying around $0.30-$0.40 USD per oscillator in 1k pieces out of Shenzhen, CN. Check WTL as one quality vendor:
b) alternate options are to create a pierce oscillator using a local single gate buffer + a low cost crystal. However, from an automated production point of view, you will pay more in labor costs to stuff the xx # of parts for this discrete oscillator rather than the single placement cost for the complete SMD oscillator. Also, the PCB real estate will be larger for the discrete oscillator design. Something to note.
c) personally, we love the use of the Silabs Si5351A PLL which accepts a low cost 25 Mhz crystal (note that it is a crystal) and using I2C, you can dial up ANY clock you wish.
XMOS has already generated a fixed part with the same target clock output for audio projects:
https://www.digikey.com/products/en?key ... 4486-GT%20
If you purchase this exact p/n, CLK0 = 49.152 Mhz upon power up. No programming required.
You can find full source code for the use of the Si5351A PLL from here:
http://www.xcore.com/viewtopic.php?t=4647&start=10
NB: You only need the source code if you plan to change the power up value of this pre-programmed PLL. Otherwise, CLK0 will power up @ 49.152 Mhz.
The older clock builder tool is a gui tool -> select the 10 pin device -> select 25 Mhz crystal (we sourced these from WTL as well and are around $ 0.12 USD or lower) -> enter your target clock. Select Generate.
Then go to File and select Export C header file. This header file will export a text file that offers all the register values for this PLL. Then using the posted XMOS code, you can re-program the clock output value over I2C interface.
Suggest for you to consider this as your solution