Hi all!

We have to activate dithering in our Coldfire 5329 device.  But it seams,
that I cant even read the register values  of PLL Control Register (PCR) and
PLL Modulation Divider Register (PMDR). The registers should be user
readable and writable. But it seems that I get a bus error because the
values do not match the written ones or the reset values if I don´t write
something.

#define GT_REG_READ_SHORT(Reg, pData)
\
*pData = ((volatile unsigned short)*((unsigned short *)  (Reg)));

#define GT_REG_WRITE(Reg, data)                                          \
(*(volatile unsigned long *)(Reg)) =data

#define PLL_PODR        0xFC0C0000
#define PLL_PLLCR       0xFC0C0004
#define PLL_PMDR        0xFC0C0008
int main(int argc, char *argv[]) 
{
unsigned int RegVal=0;

    //GT_REG_WRITE(MCF_PLL_PLLCR,0x0);
    GT_REG_WRITE (PLL_PLLCR ,0);
       GT_REG_WRITE (PLL_PMDR ,0x5);
    //Setze PLL Control Register
    GT_REG_WRITE (PLL_PLLCR ,0x87);


    GT_REG_READ_SHORT (PLL_PLLCR,(unsigned int*)&RegVal);
    printf ("PLLCR has Value=%x\n",RegVal);


return 0;
}

Does someone have a hint how to write and read these registers? Is something
wrong in my code?

Best regards
Christian

_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to