UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2015. All rights reserved.
User manual
Rev. 2.1 — 10 December 2015
179 of 1441
NXP Semiconductors
UM10503
Chapter 13: LPC43xx/LPC43Sxx Clock Generation Unit (CGU)
/* multiplier: compute mdec from msel */
unsigned mdec_new (unsigned msel) {
unsigned x=0x4000, im;
switch (msel) {
case 0: return 0xFFFFFFFF;
case 1: return 0x18003;
case 2: return 0x10003;
default:
for (im = msel; im <= PLL0_MSEL_MAX; im++)
x = ((x ^ x>>1) & 1) << 14 | x>>1 & 0xFFFF;
return x;
} }
The values for SELP and SELI depend on the value for M = msel as expressed by the
following code snippet (SELR = 0):
/* bandwidth: compute seli from msel */
unsigned anadeci_new (unsigned msel) {
unsigned tmp;
if (msel > 16384) return 1;
if (msel > 8192) return 2;
if (msel > 2048) return 4;
if (msel >= 501) return 8;
if (msel >= 60) {
tmp=1024/(msel+9);
return ( 1024 == ( tmp*(msel+9)) ) == 0 ? tmp*4 : (tmp+1)*4 ;
}
return (msel & 0x3c) + 4;
}
/* bandwidth: compute selp from msel */
unsigned anadecp_new (unsigned msel) {
if (msel < 60) return (msel>>1) + 1;
return 31;
}
Table 130. PLL0USB M-divider register (PLL0USB_MDIV, address 0x4005 0024) bit
description
Bit
Symbol
Description
Reset
value
Access
16:0
MDEC
Decoded M-divider coefficient value. Select values for
the M-divider between 1 and 131071.
0x5B6A
R/W
21:17
SELP
Bandwidth select P value
11100
R/W
27:22
SELI
Bandwidth select I value
010111
R/W
31:28
SELR
Bandwidth select R value; SELR = 0.
0000
R/W