]> git.sur5r.net Git - openocd/commitdiff
sam4s flash: fix PLLA frequency calculation if diva > 1
authorThomas Schmid <thomas.schmid@gmail.com>
Thu, 24 Oct 2013 15:32:35 +0000 (09:32 -0600)
committerSpencer Oliver <spen@spen-soft.co.uk>
Tue, 29 Oct 2013 22:51:33 +0000 (22:51 +0000)
The code didn't address the case where diva is bigger than 1.

Change-Id: I15d8c47aa7b5cf80df1f29e067f30575f5d60a90
Signed-off-by: Thomas Schmid <thomas.schmid@gmail.com>
Reviewed-on: http://openocd.zylin.com/1765
Tested-by: jenkins
Reviewed-by: Mathias Küster <kesmtp@freenet.de>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/flash/nor/at91sam4.c

index 2615c3d750b243fe895b6e635a7255ce71db5b59..6c8b71e2fdcce9d4d2ca8d6917b8a57f0b7c4933 100644 (file)
@@ -1246,8 +1246,8 @@ static void sam4_explain_ckgr_plla(struct sam4_chip *pChip)
                LOG_USER("\tPLLA Freq: (Disabled,mula = 0)");
        else if (diva == 0)
                LOG_USER("\tPLLA Freq: (Disabled,diva = 0)");
-       else if (diva == 1) {
-               pChip->cfg.plla_freq = (pChip->cfg.mainosc_freq * (mula + 1));
+       else if (diva >= 1) {
+               pChip->cfg.plla_freq = (pChip->cfg.mainosc_freq * (mula + 1) / diva);
                LOG_USER("\tPLLA Freq: %3.03f MHz",
                        _tomhz(pChip->cfg.plla_freq));
        }