I'm designing a system based on ATMEL AT91RM9200 SOC.
The system will run under Linux.
I've couple of quetsion regarding processor initialisation code.
I'm trying to find this code in the linux 2.4 kernel sources and unable to locate it. In particular i'm looking for the code initializing the processor internal PLLs and selecting the master clock source.
Looking in the include/asm-arm/arch-at91rm9200/at91rm9200dk.h
i see following code and comments
#define AT91C_MAIN_CLOCK 179712000 /* from 18.432 MHz crystal (18432000 / 4
- 39) */ #define AT91C_MASTER_CLOCK 59904000 /* peripheral clock (AT91C_MASTER_CLOCK / 3) */
BTW the second comment id erroneous it should be /* peripheral clock (AT91C_MAIN_CLOCK / 3) */
These 4 and 39 constants are apparently parameters for PLL divider and multiplyer But i'm unable to locate the code where these values are actually programmed into the PLL control registers.
My hardware will be a subset of at91rm9200dk with a twist. I'd like to scrap the 50 MHZ oscilator used to drive RMII REFCLK and istead to connect the at91rm9200 to the 25 Mhz crystal and derive then the 50MHZ from one of the PMC outputs.
Any suggestions or pointers? Thanks Vadim Lebedev CTO7Chips