Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 1 | #ifndef __ARCH_ARM_MACH_OMAP2_CM_REGBITS_24XX_H |
| 2 | #define __ARCH_ARM_MACH_OMAP2_CM_REGBITS_24XX_H |
| 3 | |
| 4 | /* |
| 5 | * OMAP24XX Clock Management register bits |
| 6 | * |
| 7 | * Copyright (C) 2007 Texas Instruments, Inc. |
| 8 | * Copyright (C) 2007 Nokia Corporation |
| 9 | * |
| 10 | * Written by Paul Walmsley |
| 11 | * |
| 12 | * This program is free software; you can redistribute it and/or modify |
| 13 | * it under the terms of the GNU General Public License version 2 as |
| 14 | * published by the Free Software Foundation. |
| 15 | */ |
| 16 | |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 17 | #define OMAP24XX_EN_CAM_SHIFT 31 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 18 | #define OMAP24XX_EN_WDT4_SHIFT 29 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 19 | #define OMAP2420_EN_WDT3_SHIFT 28 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 20 | #define OMAP24XX_EN_MSPRO_SHIFT 27 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 21 | #define OMAP24XX_EN_FAC_SHIFT 25 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 22 | #define OMAP2420_EN_EAC_SHIFT 24 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 23 | #define OMAP24XX_EN_HDQ_SHIFT 23 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 24 | #define OMAP2420_EN_I2C2_SHIFT 20 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 25 | #define OMAP2420_EN_I2C1_SHIFT 19 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 26 | #define OMAP2430_EN_MCBSP5_SHIFT 5 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 27 | #define OMAP2430_EN_MCBSP4_SHIFT 4 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 28 | #define OMAP2430_EN_MCBSP3_SHIFT 3 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 29 | #define OMAP24XX_EN_SSI_SHIFT 1 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 30 | #define OMAP24XX_EN_MPU_WDT_SHIFT 3 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 31 | #define OMAP24XX_CLKSEL_MPU_SHIFT 0 |
Rajendra Nayak | 6ab9f69 | 2012-11-10 21:22:28 -0700 | [diff] [blame] | 32 | #define OMAP24XX_CLKSEL_MPU_WIDTH 5 |
Paul Walmsley | 801954d | 2008-08-19 11:08:44 +0300 | [diff] [blame] | 33 | #define OMAP24XX_AUTOSTATE_MPU_MASK (1 << 0) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 34 | #define OMAP24XX_EN_TV_SHIFT 2 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 35 | #define OMAP24XX_EN_DSS2_SHIFT 1 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 36 | #define OMAP24XX_EN_DSS1_SHIFT 0 |
Paul Walmsley | f38ca10 | 2010-05-20 12:31:04 -0600 | [diff] [blame] | 37 | #define OMAP24XX_EN_DSS1_MASK (1 << 0) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 38 | #define OMAP2430_EN_I2CHS2_SHIFT 20 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 39 | #define OMAP2430_EN_I2CHS1_SHIFT 19 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 40 | #define OMAP2430_EN_MMCHSDB2_SHIFT 17 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 41 | #define OMAP2430_EN_MMCHSDB1_SHIFT 16 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 42 | #define OMAP24XX_EN_MAILBOXES_SHIFT 30 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 43 | #define OMAP2430_EN_SDRC_SHIFT 2 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 44 | #define OMAP24XX_EN_PKA_SHIFT 4 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 45 | #define OMAP24XX_EN_AES_SHIFT 3 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 46 | #define OMAP24XX_EN_RNG_SHIFT 2 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 47 | #define OMAP24XX_EN_SHA_SHIFT 1 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 48 | #define OMAP24XX_EN_DES_SHIFT 0 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 49 | #define OMAP24XX_ST_MAILBOXES_SHIFT 30 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 50 | #define OMAP24XX_ST_HDQ_SHIFT 23 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 51 | #define OMAP2420_ST_I2C2_SHIFT 20 |
Paul Walmsley | 2004290 | 2010-09-30 02:40:12 +0530 | [diff] [blame] | 52 | #define OMAP2430_ST_I2CHS1_SHIFT 19 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 53 | #define OMAP2420_ST_I2C1_SHIFT 19 |
Paul Walmsley | 2004290 | 2010-09-30 02:40:12 +0530 | [diff] [blame] | 54 | #define OMAP2430_ST_I2CHS2_SHIFT 20 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 55 | #define OMAP24XX_ST_MCBSP2_SHIFT 16 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 56 | #define OMAP24XX_ST_MCBSP1_SHIFT 15 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 57 | #define OMAP24XX_ST_DSS_SHIFT 0 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 58 | #define OMAP2430_ST_MCBSP5_SHIFT 5 |
Paul Walmsley | f38ca10 | 2010-05-20 12:31:04 -0600 | [diff] [blame] | 59 | #define OMAP2430_ST_MCBSP4_SHIFT 4 |
Paul Walmsley | f38ca10 | 2010-05-20 12:31:04 -0600 | [diff] [blame] | 60 | #define OMAP2430_ST_MCBSP3_SHIFT 3 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 61 | #define OMAP24XX_ST_AES_SHIFT 3 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 62 | #define OMAP24XX_ST_RNG_SHIFT 2 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 63 | #define OMAP24XX_ST_SHA_SHIFT 1 |
Paul Walmsley | a56d9ea | 2011-02-25 15:39:29 -0700 | [diff] [blame] | 64 | #define OMAP24XX_AUTO_SDRC_SHIFT 2 |
Paul Walmsley | 6ae690d | 2011-02-25 15:39:29 -0700 | [diff] [blame] | 65 | #define OMAP24XX_AUTO_GPMC_SHIFT 1 |
Paul Walmsley | 6ae690d | 2011-02-25 15:39:29 -0700 | [diff] [blame] | 66 | #define OMAP24XX_AUTO_SDMA_SHIFT 0 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 67 | #define OMAP24XX_CLKSEL_USB_MASK (0x7 << 25) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 68 | #define OMAP24XX_CLKSEL_SSI_MASK (0x1f << 20) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 69 | #define OMAP2420_CLKSEL_VLYNQ_MASK (0x1f << 15) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 70 | #define OMAP24XX_CLKSEL_DSS2_MASK (0x1 << 13) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 71 | #define OMAP24XX_CLKSEL_DSS1_MASK (0x1f << 8) |
| 72 | #define OMAP24XX_CLKSEL_L4_SHIFT 5 |
Rajendra Nayak | 6ab9f69 | 2012-11-10 21:22:28 -0700 | [diff] [blame] | 73 | #define OMAP24XX_CLKSEL_L4_WIDTH 2 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 74 | #define OMAP24XX_CLKSEL_L3_SHIFT 0 |
Rajendra Nayak | 6ab9f69 | 2012-11-10 21:22:28 -0700 | [diff] [blame] | 75 | #define OMAP24XX_CLKSEL_L3_WIDTH 5 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 76 | #define OMAP24XX_CLKSEL_GPT12_MASK (0x3 << 22) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 77 | #define OMAP24XX_CLKSEL_GPT11_MASK (0x3 << 20) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 78 | #define OMAP24XX_CLKSEL_GPT10_MASK (0x3 << 18) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 79 | #define OMAP24XX_CLKSEL_GPT9_MASK (0x3 << 16) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 80 | #define OMAP24XX_CLKSEL_GPT8_MASK (0x3 << 14) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 81 | #define OMAP24XX_CLKSEL_GPT7_MASK (0x3 << 12) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 82 | #define OMAP24XX_CLKSEL_GPT6_MASK (0x3 << 10) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 83 | #define OMAP24XX_CLKSEL_GPT5_MASK (0x3 << 8) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 84 | #define OMAP24XX_CLKSEL_GPT4_MASK (0x3 << 6) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 85 | #define OMAP24XX_CLKSEL_GPT3_MASK (0x3 << 4) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 86 | #define OMAP24XX_CLKSEL_GPT2_MASK (0x3 << 2) |
Paul Walmsley | 801954d | 2008-08-19 11:08:44 +0300 | [diff] [blame] | 87 | #define OMAP24XX_AUTOSTATE_DSS_MASK (1 << 2) |
Paul Walmsley | 801954d | 2008-08-19 11:08:44 +0300 | [diff] [blame] | 88 | #define OMAP24XX_AUTOSTATE_L4_MASK (1 << 1) |
Paul Walmsley | 801954d | 2008-08-19 11:08:44 +0300 | [diff] [blame] | 89 | #define OMAP24XX_AUTOSTATE_L3_MASK (1 << 0) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 90 | #define OMAP24XX_EN_3D_SHIFT 2 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 91 | #define OMAP24XX_EN_2D_SHIFT 1 |
Paul Walmsley | 801954d | 2008-08-19 11:08:44 +0300 | [diff] [blame] | 92 | #define OMAP24XX_AUTOSTATE_GFX_MASK (1 << 0) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 93 | #define OMAP2430_EN_ICR_SHIFT 6 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 94 | #define OMAP24XX_EN_OMAPCTRL_SHIFT 5 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 95 | #define OMAP24XX_EN_WDT1_SHIFT 4 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 96 | #define OMAP24XX_EN_32KSYNC_SHIFT 1 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 97 | #define OMAP24XX_ST_MPU_WDT_SHIFT 3 |
Paul Walmsley | da0747d | 2009-01-28 12:18:22 -0700 | [diff] [blame] | 98 | #define OMAP24XX_ST_32KSYNC_SHIFT 1 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 99 | #define OMAP24XX_CLKSEL_GPT1_MASK (0x3 << 0) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 100 | #define OMAP24XX_EN_54M_PLL_SHIFT 6 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 101 | #define OMAP24XX_EN_96M_PLL_SHIFT 2 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 102 | #define OMAP24XX_EN_DPLL_MASK (0x3 << 0) |
Paul Walmsley | b6ffa05 | 2012-10-29 20:56:17 -0600 | [diff] [blame] | 103 | #define OMAP24XX_ST_54M_APLL_SHIFT 9 |
Paul Walmsley | b6ffa05 | 2012-10-29 20:56:17 -0600 | [diff] [blame] | 104 | #define OMAP24XX_ST_96M_APLL_SHIFT 8 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 105 | #define OMAP24XX_AUTO_54M_MASK (0x3 << 6) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 106 | #define OMAP24XX_AUTO_96M_MASK (0x3 << 2) |
| 107 | #define OMAP24XX_AUTO_DPLL_SHIFT 0 |
| 108 | #define OMAP24XX_AUTO_DPLL_MASK (0x3 << 0) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 109 | #define OMAP24XX_APLLS_CLKIN_SHIFT 23 |
Tero Kristo | 944ee5d | 2014-02-20 19:09:18 +0200 | [diff] [blame] | 110 | #define OMAP24XX_APLLS_CLKIN_WIDTH 3 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 111 | #define OMAP24XX_APLLS_CLKIN_MASK (0x7 << 23) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 112 | #define OMAP24XX_DPLL_MULT_MASK (0x3ff << 12) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 113 | #define OMAP24XX_DPLL_DIV_MASK (0xf << 8) |
| 114 | #define OMAP24XX_54M_SOURCE_SHIFT 5 |
Rajendra Nayak | 6ab9f69 | 2012-11-10 21:22:28 -0700 | [diff] [blame] | 115 | #define OMAP24XX_54M_SOURCE_WIDTH 1 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 116 | #define OMAP2430_96M_SOURCE_SHIFT 4 |
Rajendra Nayak | 6ab9f69 | 2012-11-10 21:22:28 -0700 | [diff] [blame] | 117 | #define OMAP2430_96M_SOURCE_WIDTH 1 |
Paul Walmsley | f38ca10 | 2010-05-20 12:31:04 -0600 | [diff] [blame] | 118 | #define OMAP24XX_48M_SOURCE_MASK (1 << 3) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 119 | #define OMAP24XX_CORE_CLK_SRC_MASK (0x3 << 0) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 120 | #define OMAP2420_EN_IVA_COP_SHIFT 10 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 121 | #define OMAP2420_EN_IVA_MPU_SHIFT 8 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 122 | #define OMAP24XX_CM_FCLKEN_DSP_EN_DSP_SHIFT 0 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 123 | #define OMAP2420_EN_DSP_IPI_SHIFT 1 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 124 | #define OMAP2420_CLKSEL_IVA_MASK (0x1f << 8) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 125 | #define OMAP24XX_CLKSEL_DSP_IF_MASK (0x3 << 5) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 126 | #define OMAP24XX_CLKSEL_DSP_MASK (0x1f << 0) |
Paul Walmsley | 801954d | 2008-08-19 11:08:44 +0300 | [diff] [blame] | 127 | #define OMAP2420_AUTOSTATE_IVA_MASK (1 << 8) |
Paul Walmsley | 801954d | 2008-08-19 11:08:44 +0300 | [diff] [blame] | 128 | #define OMAP24XX_AUTOSTATE_DSP_MASK (1 << 0) |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 129 | #define OMAP2430_EN_OSC_SHIFT 1 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 130 | #define OMAP2430_CM_ICLKEN_MDM_EN_MDM_SHIFT 0 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 131 | #define OMAP2430_CLKSEL_MDM_MASK (0xf << 0) |
Paul Walmsley | 801954d | 2008-08-19 11:08:44 +0300 | [diff] [blame] | 132 | #define OMAP2430_AUTOSTATE_MDM_MASK (1 << 0) |
Paul Walmsley | 55ae350 | 2010-12-21 21:05:15 -0700 | [diff] [blame] | 133 | #define OMAP24XX_CLKSTCTRL_DISABLE_AUTO 0x0 |
| 134 | #define OMAP24XX_CLKSTCTRL_ENABLE_AUTO 0x1 |
Paul Walmsley | 69d88a0 | 2008-03-18 10:02:50 +0200 | [diff] [blame] | 135 | #endif |