<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to PLLs</title><link>https://sourceforge.net/p/linuxwmt/wiki/PLLs/</link><description>Recent changes to PLLs</description><atom:link href="https://sourceforge.net/p/linuxwmt/wiki/PLLs/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 20 Apr 2013 18:37:38 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/linuxwmt/wiki/PLLs/feed" rel="self" type="application/rss+xml"/><item><title>PLLs modified by Tony Prisk</title><link>https://sourceforge.net/p/linuxwmt/wiki/PLLs/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -15,7 +15,7 @@

 To calculate the PLL frequency on the WM8505, use the following formula:

-*pre_div = (reg_val &amp; 0x100) ? 2 : 1*
+*pre_div = (reg_val &amp; 0x100) ? 1 : 2*

 *freq = (OSC / pre_div) * (reg_val &amp; 0x1F)*

@@ -32,3 +32,33 @@
 To calculate the PLL frequency on the WM8650, use the following formula:

 *freq = (OSC * (reg_val &amp; 0x3FF)) / (((reg_val &gt;&gt; 10) &amp; 7) * ((1 &lt;&lt; ((reg_val &gt;&gt; 13) &amp; 3)))*
+
+
+WM8750
+------
+
+bits|function
+----|--------
+31:24|Filter
+23:16|Multiplier
+8|Divider
+2:0|Shifted Divider
+
+To calculate the PLL frequency on the WM8750, use the following formula:
+
+*freq = (OSC * ((reg_val &gt;&gt; 16) &amp; 0xFF)) / ((((reg_val &gt;&gt; 8) &amp; 1) + 1) * (1 &lt;&lt; (reg_val &amp; 7)))*
+
+
+WM8850
+------
+
+bits|function
+----|--------
+31:23|Reserved (always write 0)
+22:16|Multiplier
+8|Divider
+2:0|Shifted Divider
+
+To calculate the PLL frequency on the WM8850, use the following formula:
+
+*freq = (OSC * 2 * (((reg_val &gt;&gt; 16) &amp; 0xFF) + 1)) / ((((reg_val &gt;&gt; 8) &amp; 1) + 1) * (1 &lt;&lt; (reg_val &amp; 7)))*
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tony Prisk</dc:creator><pubDate>Sat, 20 Apr 2013 18:37:38 -0000</pubDate><guid>https://sourceforge.net0f14be1a02fc4f8e28266ecb4d55ee338cecd270</guid></item><item><title>WikiPage PLLs modified by Tony Prisk</title><link>https://sourceforge.net/p/linuxwmt/wiki/PLLs/</link><description>PLL's
=====

Wondermedia processors have several PLL's driven from an oscillator. These provide clocks for the arm processor, ahb bus and peripherals.

WM8505
------

bits|function
----|--------
19:18|VCO Range Value bits (always write 0)
17:16|Charge-pump Range Value bits (always write 0)
8|Pre-Divisor Bypass (0=divide by 2, 1=bypass)
4:0|Multiplier (0..3 = bypass, otherwise value*2)

To calculate the PLL frequency on the WM8505, use the following formula:

*pre_div = (reg_val &amp; 0x100) ? 2 : 1*

*freq = (OSC / pre_div) * (reg_val &amp; 0x1F)*


WM8650
------

bits|function
----|--------
14:13|Shifted Divider
12:10|Divider
9:0|Multiplier (unknown which values are invalid)

To calculate the PLL frequency on the WM8650, use the following formula:

*freq = (OSC * (reg_val &amp; 0x3FF)) / (((reg_val &gt;&gt; 10) &amp; 7) * ((1 &lt;&lt; ((reg_val &gt;&gt; 13) &amp; 3)))*</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tony Prisk</dc:creator><pubDate>Thu, 05 Jul 2012 21:52:05 -0000</pubDate><guid>https://sourceforge.netac7071e472b607467f5d31a1bb07e839741fe913</guid></item></channel></rss>