diff options
Diffstat (limited to 'arch/arm/mach-spear3xx/clock.c')
-rw-r--r-- | arch/arm/mach-spear3xx/clock.c | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/arch/arm/mach-spear3xx/clock.c b/arch/arm/mach-spear3xx/clock.c index eeafe38eab25..cd6c11099083 100644 --- a/arch/arm/mach-spear3xx/clock.c +++ b/arch/arm/mach-spear3xx/clock.c | |||
@@ -19,6 +19,104 @@ | |||
19 | #include <asm/mach-types.h> | 19 | #include <asm/mach-types.h> |
20 | #include <plat/clock.h> | 20 | #include <plat/clock.h> |
21 | #include <mach/misc_regs.h> | 21 | #include <mach/misc_regs.h> |
22 | #include <mach/spear.h> | ||
23 | |||
24 | #define PLL1_CTR (MISC_BASE + 0x008) | ||
25 | #define PLL1_FRQ (MISC_BASE + 0x00C) | ||
26 | #define PLL1_MOD (MISC_BASE + 0x010) | ||
27 | #define PLL2_CTR (MISC_BASE + 0x014) | ||
28 | /* PLL_CTR register masks */ | ||
29 | #define PLL_ENABLE 2 | ||
30 | #define PLL_MODE_SHIFT 4 | ||
31 | #define PLL_MODE_MASK 0x3 | ||
32 | #define PLL_MODE_NORMAL 0 | ||
33 | #define PLL_MODE_FRACTION 1 | ||
34 | #define PLL_MODE_DITH_DSB 2 | ||
35 | #define PLL_MODE_DITH_SSB 3 | ||
36 | |||
37 | #define PLL2_FRQ (MISC_BASE + 0x018) | ||
38 | /* PLL FRQ register masks */ | ||
39 | #define PLL_DIV_N_SHIFT 0 | ||
40 | #define PLL_DIV_N_MASK 0xFF | ||
41 | #define PLL_DIV_P_SHIFT 8 | ||
42 | #define PLL_DIV_P_MASK 0x7 | ||
43 | #define PLL_NORM_FDBK_M_SHIFT 24 | ||
44 | #define PLL_NORM_FDBK_M_MASK 0xFF | ||
45 | #define PLL_DITH_FDBK_M_SHIFT 16 | ||
46 | #define PLL_DITH_FDBK_M_MASK 0xFFFF | ||
47 | |||
48 | #define PLL2_MOD (MISC_BASE + 0x01C) | ||
49 | #define PLL_CLK_CFG (MISC_BASE + 0x020) | ||
50 | #define CORE_CLK_CFG (MISC_BASE + 0x024) | ||
51 | /* CORE CLK CFG register masks */ | ||
52 | #define PLL_HCLK_RATIO_SHIFT 10 | ||
53 | #define PLL_HCLK_RATIO_MASK 0x3 | ||
54 | #define HCLK_PCLK_RATIO_SHIFT 8 | ||
55 | #define HCLK_PCLK_RATIO_MASK 0x3 | ||
56 | |||
57 | #define PERIP_CLK_CFG (MISC_BASE + 0x028) | ||
58 | /* PERIP_CLK_CFG register masks */ | ||
59 | #define UART_CLK_SHIFT 4 | ||
60 | #define UART_CLK_MASK 0x1 | ||
61 | #define FIRDA_CLK_SHIFT 5 | ||
62 | #define FIRDA_CLK_MASK 0x3 | ||
63 | #define GPT0_CLK_SHIFT 8 | ||
64 | #define GPT1_CLK_SHIFT 11 | ||
65 | #define GPT2_CLK_SHIFT 12 | ||
66 | #define GPT_CLK_MASK 0x1 | ||
67 | #define AUX_CLK_PLL3_VAL 0 | ||
68 | #define AUX_CLK_PLL1_VAL 1 | ||
69 | |||
70 | #define PERIP1_CLK_ENB (MISC_BASE + 0x02C) | ||
71 | /* PERIP1_CLK_ENB register masks */ | ||
72 | #define UART_CLK_ENB 3 | ||
73 | #define SSP_CLK_ENB 5 | ||
74 | #define I2C_CLK_ENB 7 | ||
75 | #define JPEG_CLK_ENB 8 | ||
76 | #define FIRDA_CLK_ENB 10 | ||
77 | #define GPT1_CLK_ENB 11 | ||
78 | #define GPT2_CLK_ENB 12 | ||
79 | #define ADC_CLK_ENB 15 | ||
80 | #define RTC_CLK_ENB 17 | ||
81 | #define GPIO_CLK_ENB 18 | ||
82 | #define DMA_CLK_ENB 19 | ||
83 | #define SMI_CLK_ENB 21 | ||
84 | #define GMAC_CLK_ENB 23 | ||
85 | #define USBD_CLK_ENB 24 | ||
86 | #define USBH_CLK_ENB 25 | ||
87 | #define C3_CLK_ENB 31 | ||
88 | |||
89 | #define RAS_CLK_ENB (MISC_BASE + 0x034) | ||
90 | |||
91 | #define PRSC1_CLK_CFG (MISC_BASE + 0x044) | ||
92 | #define PRSC2_CLK_CFG (MISC_BASE + 0x048) | ||
93 | #define PRSC3_CLK_CFG (MISC_BASE + 0x04C) | ||
94 | /* gpt synthesizer register masks */ | ||
95 | #define GPT_MSCALE_SHIFT 0 | ||
96 | #define GPT_MSCALE_MASK 0xFFF | ||
97 | #define GPT_NSCALE_SHIFT 12 | ||
98 | #define GPT_NSCALE_MASK 0xF | ||
99 | |||
100 | #define AMEM_CLK_CFG (MISC_BASE + 0x050) | ||
101 | #define EXPI_CLK_CFG (MISC_BASE + 0x054) | ||
102 | #define CLCD_CLK_SYNT (MISC_BASE + 0x05C) | ||
103 | #define FIRDA_CLK_SYNT (MISC_BASE + 0x060) | ||
104 | #define UART_CLK_SYNT (MISC_BASE + 0x064) | ||
105 | #define GMAC_CLK_SYNT (MISC_BASE + 0x068) | ||
106 | #define RAS1_CLK_SYNT (MISC_BASE + 0x06C) | ||
107 | #define RAS2_CLK_SYNT (MISC_BASE + 0x070) | ||
108 | #define RAS3_CLK_SYNT (MISC_BASE + 0x074) | ||
109 | #define RAS4_CLK_SYNT (MISC_BASE + 0x078) | ||
110 | /* aux clk synthesiser register masks for irda to ras4 */ | ||
111 | #define AUX_SYNT_ENB 31 | ||
112 | #define AUX_EQ_SEL_SHIFT 30 | ||
113 | #define AUX_EQ_SEL_MASK 1 | ||
114 | #define AUX_EQ1_SEL 0 | ||
115 | #define AUX_EQ2_SEL 1 | ||
116 | #define AUX_XSCALE_SHIFT 16 | ||
117 | #define AUX_XSCALE_MASK 0xFFF | ||
118 | #define AUX_YSCALE_SHIFT 0 | ||
119 | #define AUX_YSCALE_MASK 0xFFF | ||
22 | 120 | ||
23 | /* root clks */ | 121 | /* root clks */ |
24 | /* 32 KHz oscillator clock */ | 122 | /* 32 KHz oscillator clock */ |