00001 #ifndef _ARCH_ARM_AT91_PMC_H_
00002 #define _ARCH_ARM_AT91_PMC_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00078
00081 #define PMC_SCER_OFF 0x00000000
00082 #define PMC_SCER (PMC_BASE + PMC_SCER_OFF)
00083 #define PMC_SCDR_OFF 0x00000004
00084 #define PMC_SCDR (PMC_BASE + PMC_SCDR_OFF)
00085 #define PMC_SCSR_OFF 0x00000008
00086 #define PMC_SCSR (PMC_BASE + PMC_SCSR_OFF)
00088 #define PMC_PCK 0x00000001
00089 #define PMC_UHP 0x00000040
00090 #define PMC_UDP 0x00000080
00091 #define PMC_PCK0 0x00000100
00092 #define PMC_PCK1 0x00000200
00093 #define PMC_PCK2 0x00000400
00094 #define PMC_PCK3 0x00000800
00096
00097
00099 #define PMC_PCER_OFF 0x00000010
00100 #define PMC_PCER (PMC_BASE + PMC_PCER_OFF)
00101 #define PMC_PCDR_OFF 0x00000014
00102 #define PMC_PCDR (PMC_BASE + PMC_PCDR_OFF)
00103 #define PMC_PCSR_OFF 0x00000018
00104 #define PMC_PCSR (PMC_BASE + PMC_PCSR_OFF)
00106
00107
00109 #define CKGR_MOR_OFF 0x00000020
00110 #define CKGR_MOR (PMC_BASE + CKGR_MOR_OFF)
00112 #define CKGR_MOSCEN 0x00000001
00113 #define CKGR_OSCBYPASS 0x00000002
00114 #define CKGR_OSCOUNT 0x0000FF00
00115 #define CKGR_OSCOUNT_LSB 8
00117
00118
00120 #define CKGR_MCFR_OFF 0x00000024
00121 #define CKGR_MCFR (PMC_BASE + CKGR_MCFR_OFF)
00123 #define CKGR_MAINF 0x0000FFFF
00124 #define CKGR_MAINF_OFF 0
00125 #define CKGR_MAINRDY 0x00010000
00127
00128
00130 #if defined (MCU_AT91SAM9260) || defined(MCU_AT91SAM9XE512)
00131 #define CKGR_PLLAR_OFF 0x00000028
00132 #define CKGR_PLLAR (PMC_BASE + CKGR_PLLAR_OFF)
00133 #define CKGR_PLLBR_OFF 0x0000002C
00134 #define CKGR_PLLBR (PMC_BASE + CKGR_PLLBR_OFF)
00135 #elif defined (MCU_AT91SAM7X256) || defined (MCU_AT91SAM7S256) || defined(MCU_AT91SAM7SE512)
00136 #define CKGR_PLLR_OFF 0x0000002C
00137 #define CKGR_PLLR (PMC_BASE + CKGR_PLLR_OFF)
00138 #endif
00139
00140 #define CKGR_DIV 0x000000FF
00141 #define CKGR_DIV_LSB 0
00142 #define CKGR_DIV_0 0x00000000
00143 #define CKGR_DIV_BYPASS 0x00000001
00144 #define CKGR_PLLCOUNT 0x00003F00
00145 #define CKGR_PLLCOUNT_LSB 8
00146 #define CKGR_OUT 0x0000C000
00147 #define CKGR_OUT_0 0x00000000
00148 #define CKGR_OUT_1 0x00004000
00149 #define CKGR_OUT_2 0x00008000
00150 #define CKGR_OUT_3 0x0000C000
00151 #define CKGR_MUL 0x07FF0000
00152 #define CKGR_MUL_LSB 16
00153 #define CKGR_USBDIV 0x30000000
00154 #define CKGR_USBDIV_1 0x00000000
00155 #define CKGR_USBDIV_2 0x10000000
00156 #define CKGR_USBDIV_4 0x20000000
00158
00159
00161 #define PMC_MCKR_OFF 0x00000030
00162 #define PMC_MCKR (PMC_BASE + PMC_MCKR_OFF)
00163 #define PMC_ACKR_OFF 0x00000034
00164 #define PMC_ACKR (PMC_BASE + PMC_ACKR_OFF)
00165 #define PMC_PCKR0_OFF 0x00000040
00166 #define PMC_PCKR0 (PMC_BASE + PMC_PCKR0_OFF)
00167 #define PMC_PCKR1_OFF 0x00000044
00168 #define PMC_PCKR1 (PMC_BASE + PMC_PCKR1_OFF)
00169 #define PMC_PCKR2_OFF 0x00000048
00170 #define PMC_PCKR2 (PMC_BASE + PMC_PCKR2_OFF)
00171 #define PMC_PCKR3_OFF 0x0000004C
00172 #define PMC_PCKR3 (PMC_BASE + PMC_PCKR3_OFF)
00174 #define PMC_CSS 0x00000003
00175 #define PMC_CSS_SLOW_CLK 0x00000000
00176 #define PMC_CSS_MAIN_CLK 0x00000001
00177 #if defined (MCU_AT91SAM9260) || defined(MCU_AT91SAM9XE512)
00178 #define PMC_CSS_PLLA_CLK 0x00000002
00179 #define PMC_CSS_PLLB_CLK 0x00000003
00180 #elif defined (MCU_AT91SAM7X256) || defined (MCU_AT91SAM7S256) || defined(MCU_AT91SAM7SE512)
00181 #define PMC_CSS_PLL_CLK 0x00000003
00182 #endif
00183 #define PMC_PRES 0x0000001C
00184 #define PMC_PRES_LSB 2
00185 #define PMC_PRES_CLK 0x00000000
00186 #define PMC_PRES_CLK_2 0x00000004
00187 #define PMC_PRES_CLK_4 0x00000008
00188 #define PMC_PRES_CLK_8 0x0000000C
00189 #define PMC_PRES_CLK_16 0x00000010
00190 #define PMC_PRES_CLK_32 0x00000014
00191 #define PMC_PRES_CLK_64 0x00000018
00192 #if defined (MCU_AT91SAM9260) || defined(MCU_AT91SAM9XE512)
00193 #define PMC_MDIV 0x00000300
00194 #define PMC_MDIV_1 0x00000000
00195 #define PMC_MDIV_2 0x00000100
00196 #define PMC_MDIV_4 0x00000200
00197 #endif
00198
00202 #define PMC_IER_OFF 0x00000060
00203 #define PMC_IER (PMC_BASE + PMC_IER_OFF)
00204 #define PMC_IDR_OFF 0x00000064
00205 #define PMC_IDR (PMC_BASE + PMC_IDR_OFF)
00206 #define PMC_SR_OFF 0x00000068
00207 #define PMC_SR (PMC_BASE + PMC_SR_OFF)
00208 #define PMC_IMR_OFF 0x0000006C
00209 #define PMC_IMR (PMC_BASE + PMC_IMR_OFF)
00211 #define PMC_MOSCS 0x00000001
00212 #if defined (MCU_AT91SAM9260) || defined(MCU_AT91SAM9XE512)
00213 #define PMC_LOCKA 0x00000002
00214 #define PMC_LOCKB 0x00000004
00215 #elif defined (MCU_AT91SAM7X256) || defined (MCU_AT91SAM7S256) || defined(MCU_AT91SAM7SE512)
00216 #define PMC_LOCK 0x00000004
00217 #endif
00218 #define PMC_MCKRDY 0x00000008
00219 #define PMC_OSC_SEL 0x00000080
00220 #define PMC_PCKRDY0 0x00000100
00221 #define PMC_PCKRDY1 0x00000200
00222 #define PMC_PCKRDY2 0x00000400
00223 #define PMC_PCKRDY3 0x00000800
00225
00226
00229 #endif