This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

programming PLL's: evm5515_v1.gel and PCGCR registers

I'm having trouble reconciling a couple of lines from this .gel file and the C5515 DSP System User's guide. Section 1.4.3.2.6 says "The recommendation is to
stop all peripheral operation before changing the PLL frequency, with the exception of the device CPU and USB."

As supplied with CCS v5, as the first step in the function ProgramPLL_100MHz, we find

    /* Enable clocks to all peripherals */
    *(short *)PCGCR1@IO = 0x0;
    *(short *)PCGCR2@IO = 0x0;

Is an appropriate way to stop peripheral operations to set the PCGCR registers to all 1s (except SYSCLKDIS and USBCG)?

On a related note the reserved bit in PCGCR1 says you must write 1 to it, but with the reserved bits for PCGCR2 no such requirement is made. Are these reserved bits different or should we be writing 1s to the reserved bits in PCGCR2 as well? The .gel file is writing 0s so isn't it in conflict with the system users's guide here?

  • Correction, that should be evm5515.gel (in a directory evm5515_v1/gel)

  • In yet another apparent conflict between the .gel file and the system user's guide, further down in the same function there is:

        // set CLR_CNTL = 0
        *(short *)CGCR1@IO = *(short *)CGCR1@IO & 0x7FFF;

    No mention of this CLR_CNTL field is made in the guide. The guide does not mention any such step in 1.4.3.2.6, and bit 15 "must be set to 1 for normal operation."

    Which is more authoritative, the guide or the .gel file?