| /* |
| * (C) Copyright 2004 |
| * Texas Instruments, <www.ti.com> |
| * Richard Woodruff <r-woodruff2@ti.com> |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License as |
| * published by the Free Software Foundation; either version 2 of |
| * the License, or (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR /PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to the Free Software |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
| * MA 02111-1307 USA |
| */ |
| #ifndef _OMAP242X_CLOCKS_H_ |
| #define _OMAP242X_CLOCKS_H_ |
| |
| /****************************************************************************; |
| ; PRCM Scheme I |
| ; |
| ; Enable clocks and DPLL for: |
| ; DPLL=330, DPLLout=660 M=1,N=55 CM_CLKSEL1_PLL[21:8] 12/2*55 |
| ; Core=660 (core domain) DPLLx2 CM_CLKSEL2_PLL[1:0] |
| ; MPUF=330 (mpu domain) 2 CM_CLKSEL_MPU[4:0] |
| ; DSPF=220 (dsp domain) 3 CM_CLKSEL_DSP[4:0] |
| ; DSPI=110 6 CM_CLKSEL_DSP[6:5] |
| ; DSP_S activated CM_CLKSEL_DSP[7] |
| ; IVAF=165 (dsp domain) 4 CM_CLKSEL_DSP[12:8] |
| ; IVAF=82.5 auto |
| ; IVAI auto |
| ; IVA_MPU auto |
| ; IVA_S bypass CM_CLKSEL_DSP[13] |
| ; GFXF=82.5 (gfx domain) 8 CM_CLKSEL_FGX[2:0] |
| ; SSI_SSRF=220 3 CM_CLKSEL1_CORE[24:20] |
| ; SSI_SSTF=110 auto |
| ; L3=165Mhz (sdram) 4 CM_CLKSEL1_CORE[4:0] |
| ; L4=82.5Mhz 8 |
| ; C_L4_USB=41.25 16 CM_CLKSEL1_CORE[6:5] |
| ***************************************************************************/ |
| #define I_DPLL_OUT_X2 0x2 /* x2 core out */ |
| #define I_MPU_DIV 0x2 /* mpu = core/2 */ |
| #define I_DSP_DIV 0x3c3 /* dsp & iva divider */ |
| #define I_GFX_DIV 0x2 |
| #define I_BUS_DIV 0x04601044 |
| #ifdef INPUT_CLK_13MHZ |
| #define I_DPLL_330 0x0114AC00 /* 13MHz */ |
| #else |
| #define I_DPLL_330 0x01837100 /* 12MHz */ |
| #endif |
| |
| /****************************************************************************; |
| ; PRCM Scheme II <tested> |
| ; |
| ; Enable clocks and DPLL for: |
| ; DPLL=300, DPLLout=600 M=1,N=50 CM_CLKSEL1_PLL[21:8] 12/2*50 |
| ; Core=600 (core domain) DPLLx2 CM_CLKSEL2_PLL[1:0] |
| ; MPUF=300 (mpu domain) 2 CM_CLKSEL_MPU[4:0] |
| ; DSPF=200 (dsp domain) 3 CM_CLKSEL_DSP[4:0] |
| ; DSPI=100 6 CM_CLKSEL_DSP[6:5] |
| ; DSP_S bypass CM_CLKSEL_DSP[7] |
| ; IVAF=200 (dsp domain) 3 CM_CLKSEL_DSP[12:8] |
| ; IVAF=100 auto |
| ; IVAI auto |
| ; IVA_MPU auto |
| ; IVA_S bypass CM_CLKSEL_DSP[13] |
| ; GFXF=50 (gfx domain) 12 CM_CLKSEL_FGX[2:0] |
| ; SSI_SSRF=200 3 CM_CLKSEL1_CORE[24:20] |
| ; SSI_SSTF=100 auto |
| ; L3=100Mhz (sdram) 6 CM_CLKSEL1_CORE[4:0] |
| ; L4=100Mhz 6 |
| ; C_L4_USB=50 12 CM_CLKSEL1_CORE[6:5] |
| ***************************************************************************/ |
| #define II_DPLL_OUT_X2 0x2 /* x2 core out */ |
| #define II_MPU_DIV 0x2 /* mpu = core/2 */ |
| #define II_DSP_DIV 0x343 /* dsp & iva divider */ |
| #define II_GFX_DIV 0x2 |
| #define II_BUS_DIV 0x04601026 |
| #ifdef INPUT_CLK_13MHZ |
| #define II_DPLL_300 0x0112CC00 /* 13MHz */ |
| #else |
| #define II_DPLL_300 0x01832100 /* 12MHz */ |
| #endif |
| |
| /****************************************************************************; |
| ; PRCM Scheme III <tested> |
| ; |
| ; Enable clocks and DPLL for: |
| ; DPLL=266, DPLLout=532 M=5+1,N=133 CM_CLKSEL1_PLL[21:8] 12/6*133=266 |
| ; Core=532 (core domain) DPLLx2 CM_CLKSEL2_PLL[1:0] |
| ; MPUF=266 (mpu domain) /2 CM_CLKSEL_MPU[4:0] |
| ; DSPF=177.3 (dsp domain) /3 CM_CLKSEL_DSP[4:0] |
| ; DSPI=88.67 /6 CM_CLKSEL_DSP[6:5] |
| ; DSP_S ACTIVATED CM_CLKSEL_DSP[7] |
| ; IVAF=88.67 (dsp domain) /3 CM_CLKSEL_DSP[12:8] |
| ; IVAF=88.67 auto |
| ; IVAI auto |
| ; IVA_MPU auto |
| ; IVA_S ACTIVATED CM_CLKSEL_DSP[13] |
| ; GFXF=66.5 (gfx domain) /8 CM_CLKSEL_FGX[2:0]: |
| ; SSI_SSRF=177.3 /3 CM_CLKSEL1_CORE[24:20] |
| ; SSI_SSTF=88.67 auto |
| ; L3=133Mhz (sdram) /4 CM_CLKSEL1_CORE[4:0] |
| ; L4=66.5Mhz /8 |
| ; C_L4_USB=33.25 /16 CM_CLKSEL1_CORE[6:5] |
| ***************************************************************************/ |
| #define III_DPLL_OUT_X2 0x2 /* x2 core out */ |
| #define III_MPU_DIV 0x2 /* mpu = core/2 */ |
| #define III_DSP_DIV 0x23C3 /* dsp & iva divider sych enabled*/ |
| #define III_GFX_DIV 0x2 |
| #define III_BUS_DIV 0x08301044 |
| #ifdef INPUT_CLK_13MHZ |
| #define III_DPLL_266 0x0110AC00 /* 13MHz */ |
| #else |
| #define III_DPLL_266 0x01885500 /* 12MHz */ |
| #endif |
| |
| /* set defaults for boot up */ |
| #ifdef PRCM_CONFIG_I |
| # define DPLL_OUT I_DPLL_OUT_X2 |
| # define MPU_DIV I_MPU_DIV |
| # define DSP_DIV I_DSP_DIV |
| # define GFX_DIV I_GFX_DIV |
| # define BUS_DIV I_BUS_DIV |
| # define DPLL_VAL I_DPLL_266 |
| #elif PRCM_CONFIG_II |
| # define DPLL_OUT II_DPLL_OUT_X2 |
| # define MPU_DIV II_MPU_DIV |
| # define DSP_DIV II_DSP_DIV |
| # define GFX_DIV II_GFX_DIV |
| # define BUS_DIV II_BUS_DIV |
| # define DPLL_VAL II_DPLL_300 |
| #elif PRCM_CONFIG_III |
| # define DPLL_OUT III_DPLL_OUT_X2 |
| # define MPU_DIV III_MPU_DIV |
| # define DSP_DIV III_DSP_DIV |
| # define GFX_DIV III_GFX_DIV |
| # define BUS_DIV III_BUS_DIV |
| # define DPLL_VAL III_DPLL_266 |
| #endif |
| |
| #endif |