1819833afSPeter Tyser /* 2819833afSPeter Tyser * (C) Copyright 2006-2008 3819833afSPeter Tyser * Texas Instruments, <www.ti.com> 4819833afSPeter Tyser * Richard Woodruff <r-woodruff2@ti.com> 5819833afSPeter Tyser * 61a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 7819833afSPeter Tyser */ 8819833afSPeter Tyser #ifndef _CLOCKS_OMAP3_H_ 9819833afSPeter Tyser #define _CLOCKS_OMAP3_H_ 10819833afSPeter Tyser 11819833afSPeter Tyser #define PLL_STOP 1 /* PER & IVA */ 12819833afSPeter Tyser #define PLL_LOW_POWER_BYPASS 5 /* MPU, IVA & CORE */ 13819833afSPeter Tyser #define PLL_FAST_RELOCK_BYPASS 6 /* CORE */ 14819833afSPeter Tyser #define PLL_LOCK 7 /* MPU, IVA, CORE & PER */ 15819833afSPeter Tyser 16819833afSPeter Tyser /* 17819833afSPeter Tyser * The following configurations are OPP and SysClk value independant 18819833afSPeter Tyser * and hence are defined here. All the other DPLL related values are 19819833afSPeter Tyser * tabulated in lowlevel_init.S. 20819833afSPeter Tyser */ 21819833afSPeter Tyser 22819833afSPeter Tyser /* CORE DPLL */ 23819833afSPeter Tyser #define CORE_M3X2 2 /* 332MHz : CM_CLKSEL1_EMU */ 24819833afSPeter Tyser #define CORE_SSI_DIV 3 /* 221MHz : CM_CLKSEL_CORE */ 25819833afSPeter Tyser #define CORE_FUSB_DIV 2 /* 41.5MHz: */ 26819833afSPeter Tyser #define CORE_L4_DIV 2 /* 83MHz : L4 */ 27819833afSPeter Tyser #define CORE_L3_DIV 2 /* 166MHz : L3 {DDR} */ 28819833afSPeter Tyser #define GFX_DIV 2 /* 83MHz : CM_CLKSEL_GFX */ 29f4dac3e1SVaibhav Hiremath #define GFX_DIV_36X 5 /* 200MHz : CM_CLKSEL_GFX */ 30819833afSPeter Tyser #define WKUP_RSM 2 /* 41.5MHz: CM_CLKSEL_WKUP */ 31819833afSPeter Tyser 32819833afSPeter Tyser /* PER DPLL */ 33819833afSPeter Tyser #define PER_M6X2 3 /* 288MHz: CM_CLKSEL1_EMU */ 34819833afSPeter Tyser #define PER_M5X2 4 /* 216MHz: CM_CLKSEL_CAM */ 35819833afSPeter Tyser #define PER_M4X2 2 /* 432MHz: CM_CLKSEL_DSS-dss1 */ 36819833afSPeter Tyser #define PER_M3X2 16 /* 54MHz : CM_CLKSEL_DSS-tv */ 37819833afSPeter Tyser 38819833afSPeter Tyser #define CLSEL1_EMU_VAL ((CORE_M3X2 << 16) | (PER_M6X2 << 24) | (0x0A50)) 39819833afSPeter Tyser 40819833afSPeter Tyser /* MPU DPLL */ 41819833afSPeter Tyser 42819833afSPeter Tyser #define MPU_M_12_ES1 0x0FE 43819833afSPeter Tyser #define MPU_N_12_ES1 0x07 44819833afSPeter Tyser #define MPU_FSEL_12_ES1 0x05 45819833afSPeter Tyser #define MPU_M2_12_ES1 0x01 46819833afSPeter Tyser 47819833afSPeter Tyser #define MPU_M_12_ES2 0x0FA 48819833afSPeter Tyser #define MPU_N_12_ES2 0x05 49819833afSPeter Tyser #define MPU_FSEL_12_ES2 0x07 50819833afSPeter Tyser #define MPU_M2_ES2 0x01 51819833afSPeter Tyser 52819833afSPeter Tyser #define MPU_M_12 0x085 53819833afSPeter Tyser #define MPU_N_12 0x05 54819833afSPeter Tyser #define MPU_FSEL_12 0x07 55819833afSPeter Tyser #define MPU_M2_12 0x01 56819833afSPeter Tyser 57819833afSPeter Tyser #define MPU_M_13_ES1 0x17D 58819833afSPeter Tyser #define MPU_N_13_ES1 0x0C 59819833afSPeter Tyser #define MPU_FSEL_13_ES1 0x03 60819833afSPeter Tyser #define MPU_M2_13_ES1 0x01 61819833afSPeter Tyser 62c8e5ba80SSchuyler Patton #define MPU_M_13_ES2 0x258 63819833afSPeter Tyser #define MPU_N_13_ES2 0x0C 64819833afSPeter Tyser #define MPU_FSEL_13_ES2 0x03 65819833afSPeter Tyser #define MPU_M2_13_ES2 0x01 66819833afSPeter Tyser 67819833afSPeter Tyser #define MPU_M_13 0x10A 68819833afSPeter Tyser #define MPU_N_13 0x0C 69819833afSPeter Tyser #define MPU_FSEL_13 0x03 70819833afSPeter Tyser #define MPU_M2_13 0x01 71819833afSPeter Tyser 72819833afSPeter Tyser #define MPU_M_19P2_ES1 0x179 73819833afSPeter Tyser #define MPU_N_19P2_ES1 0x12 74819833afSPeter Tyser #define MPU_FSEL_19P2_ES1 0x04 75819833afSPeter Tyser #define MPU_M2_19P2_ES1 0x01 76819833afSPeter Tyser 77819833afSPeter Tyser #define MPU_M_19P2_ES2 0x271 78819833afSPeter Tyser #define MPU_N_19P2_ES2 0x17 79819833afSPeter Tyser #define MPU_FSEL_19P2_ES2 0x03 80819833afSPeter Tyser #define MPU_M2_19P2_ES2 0x01 81819833afSPeter Tyser 82819833afSPeter Tyser #define MPU_M_19P2 0x14C 83819833afSPeter Tyser #define MPU_N_19P2 0x17 84819833afSPeter Tyser #define MPU_FSEL_19P2 0x03 85819833afSPeter Tyser #define MPU_M2_19P2 0x01 86819833afSPeter Tyser 87819833afSPeter Tyser #define MPU_M_26_ES1 0x17D 88819833afSPeter Tyser #define MPU_N_26_ES1 0x19 89819833afSPeter Tyser #define MPU_FSEL_26_ES1 0x03 90819833afSPeter Tyser #define MPU_M2_26_ES1 0x01 91819833afSPeter Tyser 92819833afSPeter Tyser #define MPU_M_26_ES2 0x0FA 93819833afSPeter Tyser #define MPU_N_26_ES2 0x0C 94819833afSPeter Tyser #define MPU_FSEL_26_ES2 0x07 95819833afSPeter Tyser #define MPU_M2_26_ES2 0x01 96819833afSPeter Tyser 97819833afSPeter Tyser #define MPU_M_26 0x085 98819833afSPeter Tyser #define MPU_N_26 0x0C 99819833afSPeter Tyser #define MPU_FSEL_26 0x07 100819833afSPeter Tyser #define MPU_M2_26 0x01 101819833afSPeter Tyser 102819833afSPeter Tyser #define MPU_M_38P4_ES1 0x1FA 103819833afSPeter Tyser #define MPU_N_38P4_ES1 0x32 104819833afSPeter Tyser #define MPU_FSEL_38P4_ES1 0x03 105819833afSPeter Tyser #define MPU_M2_38P4_ES1 0x01 106819833afSPeter Tyser 107819833afSPeter Tyser #define MPU_M_38P4_ES2 0x271 108819833afSPeter Tyser #define MPU_N_38P4_ES2 0x2F 109819833afSPeter Tyser #define MPU_FSEL_38P4_ES2 0x03 110819833afSPeter Tyser #define MPU_M2_38P4_ES2 0x01 111819833afSPeter Tyser 112819833afSPeter Tyser #define MPU_M_38P4 0x14C 113819833afSPeter Tyser #define MPU_N_38P4 0x2F 114819833afSPeter Tyser #define MPU_FSEL_38P4 0x03 115819833afSPeter Tyser #define MPU_M2_38P4 0x01 116819833afSPeter Tyser 117819833afSPeter Tyser /* IVA DPLL */ 118819833afSPeter Tyser 119819833afSPeter Tyser #define IVA_M_12_ES1 0x07D 120819833afSPeter Tyser #define IVA_N_12_ES1 0x05 121819833afSPeter Tyser #define IVA_FSEL_12_ES1 0x07 122819833afSPeter Tyser #define IVA_M2_12_ES1 0x01 123819833afSPeter Tyser 124819833afSPeter Tyser #define IVA_M_12_ES2 0x0B4 125819833afSPeter Tyser #define IVA_N_12_ES2 0x05 126819833afSPeter Tyser #define IVA_FSEL_12_ES2 0x07 127819833afSPeter Tyser #define IVA_M2_12_ES2 0x01 128819833afSPeter Tyser 129819833afSPeter Tyser #define IVA_M_12 0x085 130819833afSPeter Tyser #define IVA_N_12 0x05 131819833afSPeter Tyser #define IVA_FSEL_12 0x07 132819833afSPeter Tyser #define IVA_M2_12 0x01 133819833afSPeter Tyser 134819833afSPeter Tyser #define IVA_M_13_ES1 0x0FA 135819833afSPeter Tyser #define IVA_N_13_ES1 0x0C 136819833afSPeter Tyser #define IVA_FSEL_13_ES1 0x03 137819833afSPeter Tyser #define IVA_M2_13_ES1 0x01 138819833afSPeter Tyser 139819833afSPeter Tyser #define IVA_M_13_ES2 0x168 140819833afSPeter Tyser #define IVA_N_13_ES2 0x0C 141819833afSPeter Tyser #define IVA_FSEL_13_ES2 0x03 142819833afSPeter Tyser #define IVA_M2_13_ES2 0x01 143819833afSPeter Tyser 144819833afSPeter Tyser #define IVA_M_13 0x10A 145819833afSPeter Tyser #define IVA_N_13 0x0C 146819833afSPeter Tyser #define IVA_FSEL_13 0x03 147819833afSPeter Tyser #define IVA_M2_13 0x01 148819833afSPeter Tyser 149819833afSPeter Tyser #define IVA_M_19P2_ES1 0x082 150819833afSPeter Tyser #define IVA_N_19P2_ES1 0x09 151819833afSPeter Tyser #define IVA_FSEL_19P2_ES1 0x07 152819833afSPeter Tyser #define IVA_M2_19P2_ES1 0x01 153819833afSPeter Tyser 154819833afSPeter Tyser #define IVA_M_19P2_ES2 0x0E1 155819833afSPeter Tyser #define IVA_N_19P2_ES2 0x0B 156819833afSPeter Tyser #define IVA_FSEL_19P2_ES2 0x06 157819833afSPeter Tyser #define IVA_M2_19P2_ES2 0x01 158819833afSPeter Tyser 159819833afSPeter Tyser #define IVA_M_19P2 0x14C 160819833afSPeter Tyser #define IVA_N_19P2 0x17 161819833afSPeter Tyser #define IVA_FSEL_19P2 0x03 162819833afSPeter Tyser #define IVA_M2_19P2 0x01 163819833afSPeter Tyser 164819833afSPeter Tyser #define IVA_M_26_ES1 0x07D 165819833afSPeter Tyser #define IVA_N_26_ES1 0x0C 166819833afSPeter Tyser #define IVA_FSEL_26_ES1 0x07 167819833afSPeter Tyser #define IVA_M2_26_ES1 0x01 168819833afSPeter Tyser 169819833afSPeter Tyser #define IVA_M_26_ES2 0x0B4 170819833afSPeter Tyser #define IVA_N_26_ES2 0x0C 171819833afSPeter Tyser #define IVA_FSEL_26_ES2 0x07 172819833afSPeter Tyser #define IVA_M2_26_ES2 0x01 173819833afSPeter Tyser 174819833afSPeter Tyser #define IVA_M_26 0x085 175819833afSPeter Tyser #define IVA_N_26 0x0C 176819833afSPeter Tyser #define IVA_FSEL_26 0x07 177819833afSPeter Tyser #define IVA_M2_26 0x01 178819833afSPeter Tyser 179819833afSPeter Tyser #define IVA_M_38P4_ES1 0x13F 180819833afSPeter Tyser #define IVA_N_38P4_ES1 0x30 181819833afSPeter Tyser #define IVA_FSEL_38P4_ES1 0x03 182819833afSPeter Tyser #define IVA_M2_38P4_ES1 0x01 183819833afSPeter Tyser 184819833afSPeter Tyser #define IVA_M_38P4_ES2 0x0E1 185819833afSPeter Tyser #define IVA_N_38P4_ES2 0x17 186819833afSPeter Tyser #define IVA_FSEL_38P4_ES2 0x06 187819833afSPeter Tyser #define IVA_M2_38P4_ES2 0x01 188819833afSPeter Tyser 189819833afSPeter Tyser #define IVA_M_38P4 0x14C 190819833afSPeter Tyser #define IVA_N_38P4 0x2F 191819833afSPeter Tyser #define IVA_FSEL_38P4 0x03 192819833afSPeter Tyser #define IVA_M2_38P4 0x01 193819833afSPeter Tyser 194819833afSPeter Tyser /* CORE DPLL */ 195819833afSPeter Tyser 196819833afSPeter Tyser #define CORE_M_12 0xA6 197819833afSPeter Tyser #define CORE_N_12 0x05 198819833afSPeter Tyser #define CORE_FSEL_12 0x07 199819833afSPeter Tyser #define CORE_M2_12 0x01 /* M3 of 2 */ 200819833afSPeter Tyser 201819833afSPeter Tyser #define CORE_M_12_ES1 0x19F 202819833afSPeter Tyser #define CORE_N_12_ES1 0x0E 203819833afSPeter Tyser #define CORE_FSL_12_ES1 0x03 204819833afSPeter Tyser #define CORE_M2_12_ES1 0x1 /* M3 of 2 */ 205819833afSPeter Tyser 206819833afSPeter Tyser #define CORE_M_13 0x14C 207819833afSPeter Tyser #define CORE_N_13 0x0C 208819833afSPeter Tyser #define CORE_FSEL_13 0x03 209819833afSPeter Tyser #define CORE_M2_13 0x01 /* M3 of 2 */ 210819833afSPeter Tyser 211819833afSPeter Tyser #define CORE_M_13_ES1 0x1B2 212819833afSPeter Tyser #define CORE_N_13_ES1 0x10 213819833afSPeter Tyser #define CORE_FSL_13_ES1 0x03 214819833afSPeter Tyser #define CORE_M2_13_ES1 0x01 /* M3 of 2 */ 215819833afSPeter Tyser 216819833afSPeter Tyser #define CORE_M_19P2 0x19F 217819833afSPeter Tyser #define CORE_N_19P2 0x17 218819833afSPeter Tyser #define CORE_FSEL_19P2 0x03 219819833afSPeter Tyser #define CORE_M2_19P2 0x01 /* M3 of 2 */ 220819833afSPeter Tyser 221819833afSPeter Tyser #define CORE_M_19P2_ES1 0x19F 222819833afSPeter Tyser #define CORE_N_19P2_ES1 0x17 223819833afSPeter Tyser #define CORE_FSL_19P2_ES1 0x03 224819833afSPeter Tyser #define CORE_M2_19P2_ES1 0x01 /* M3 of 2 */ 225819833afSPeter Tyser 226819833afSPeter Tyser #define CORE_M_26 0xA6 227819833afSPeter Tyser #define CORE_N_26 0x0C 228819833afSPeter Tyser #define CORE_FSEL_26 0x07 229819833afSPeter Tyser #define CORE_M2_26 0x01 /* M3 of 2 */ 230819833afSPeter Tyser 231819833afSPeter Tyser #define CORE_M_26_ES1 0x1B2 232819833afSPeter Tyser #define CORE_N_26_ES1 0x21 233819833afSPeter Tyser #define CORE_FSL_26_ES1 0x03 234819833afSPeter Tyser #define CORE_M2_26_ES1 0x01 /* M3 of 2 */ 235819833afSPeter Tyser 236819833afSPeter Tyser #define CORE_M_38P4 0x19F 237819833afSPeter Tyser #define CORE_N_38P4 0x2F 238819833afSPeter Tyser #define CORE_FSEL_38P4 0x03 239819833afSPeter Tyser #define CORE_M2_38P4 0x01 /* M3 of 2 */ 240819833afSPeter Tyser 241819833afSPeter Tyser #define CORE_M_38P4_ES1 0x19F 242819833afSPeter Tyser #define CORE_N_38P4_ES1 0x2F 243819833afSPeter Tyser #define CORE_FSL_38P4_ES1 0x03 244819833afSPeter Tyser #define CORE_M2_38P4_ES1 0x01 /* M3 of 2 */ 245819833afSPeter Tyser 246819833afSPeter Tyser /* PER DPLL */ 247819833afSPeter Tyser 248819833afSPeter Tyser #define PER_M_12 0xD8 249819833afSPeter Tyser #define PER_N_12 0x05 250819833afSPeter Tyser #define PER_FSEL_12 0x07 251819833afSPeter Tyser #define PER_M2_12 0x09 252819833afSPeter Tyser 253819833afSPeter Tyser #define PER_M_13 0x1B0 254819833afSPeter Tyser #define PER_N_13 0x0C 255819833afSPeter Tyser #define PER_FSEL_13 0x03 256819833afSPeter Tyser #define PER_M2_13 0x09 257819833afSPeter Tyser 258819833afSPeter Tyser #define PER_M_19P2 0xE1 259819833afSPeter Tyser #define PER_N_19P2 0x09 260819833afSPeter Tyser #define PER_FSEL_19P2 0x07 261819833afSPeter Tyser #define PER_M2_19P2 0x09 262819833afSPeter Tyser 263819833afSPeter Tyser #define PER_M_26 0xD8 264819833afSPeter Tyser #define PER_N_26 0x0C 265819833afSPeter Tyser #define PER_FSEL_26 0x07 266819833afSPeter Tyser #define PER_M2_26 0x09 267819833afSPeter Tyser 268819833afSPeter Tyser #define PER_M_38P4 0xE1 269819833afSPeter Tyser #define PER_N_38P4 0x13 270819833afSPeter Tyser #define PER_FSEL_38P4 0x07 271819833afSPeter Tyser #define PER_M2_38P4 0x09 272819833afSPeter Tyser 2737b89795fSAlexander Holler /* PER2 DPLL */ 2747b89795fSAlexander Holler #define PER2_M_12 0x78 2757b89795fSAlexander Holler #define PER2_N_12 0x0B 2767b89795fSAlexander Holler #define PER2_FSEL_12 0x03 2777b89795fSAlexander Holler #define PER2_M2_12 0x01 2787b89795fSAlexander Holler 2797b89795fSAlexander Holler #define PER2_M_13 0x78 2807b89795fSAlexander Holler #define PER2_N_13 0x0C 2817b89795fSAlexander Holler #define PER2_FSEL_13 0x03 2827b89795fSAlexander Holler #define PER2_M2_13 0x01 2837b89795fSAlexander Holler 2847b89795fSAlexander Holler #define PER2_M_19P2 0x2EE 2857b89795fSAlexander Holler #define PER2_N_19P2 0x0B 2867b89795fSAlexander Holler #define PER2_FSEL_19P2 0x06 2877b89795fSAlexander Holler #define PER2_M2_19P2 0x0A 2887b89795fSAlexander Holler 2897b89795fSAlexander Holler #define PER2_M_26 0x78 2907b89795fSAlexander Holler #define PER2_N_26 0x0C 2917b89795fSAlexander Holler #define PER2_FSEL_26 0x03 2927b89795fSAlexander Holler #define PER2_M2_26 0x01 2937b89795fSAlexander Holler 2947b89795fSAlexander Holler #define PER2_M_38P4 0x2EE 2957b89795fSAlexander Holler #define PER2_N_38P4 0x0B 2967b89795fSAlexander Holler #define PER2_FSEL_38P4 0x06 2977b89795fSAlexander Holler #define PER2_M2_38P4 0x0A 2987b89795fSAlexander Holler 2997c281c98SSteve Sakoman /* 36XX PER DPLL */ 3007c281c98SSteve Sakoman 3017c281c98SSteve Sakoman #define PER_36XX_M_12 0x1B0 3027c281c98SSteve Sakoman #define PER_36XX_N_12 0x05 3037c281c98SSteve Sakoman #define PER_36XX_FSEL_12 0x07 3047c281c98SSteve Sakoman #define PER_36XX_M2_12 0x09 3057c281c98SSteve Sakoman 3067c281c98SSteve Sakoman #define PER_36XX_M_13 0x360 3077c281c98SSteve Sakoman #define PER_36XX_N_13 0x0C 3087c281c98SSteve Sakoman #define PER_36XX_FSEL_13 0x03 3097c281c98SSteve Sakoman #define PER_36XX_M2_13 0x09 3107c281c98SSteve Sakoman 3117c281c98SSteve Sakoman #define PER_36XX_M_19P2 0x1C2 3127c281c98SSteve Sakoman #define PER_36XX_N_19P2 0x09 3137c281c98SSteve Sakoman #define PER_36XX_FSEL_19P2 0x07 3147c281c98SSteve Sakoman #define PER_36XX_M2_19P2 0x09 3157c281c98SSteve Sakoman 3167c281c98SSteve Sakoman #define PER_36XX_M_26 0x1B0 3177c281c98SSteve Sakoman #define PER_36XX_N_26 0x0C 3187c281c98SSteve Sakoman #define PER_36XX_FSEL_26 0x07 3197c281c98SSteve Sakoman #define PER_36XX_M2_26 0x09 3207c281c98SSteve Sakoman 3217c281c98SSteve Sakoman #define PER_36XX_M_38P4 0x1C2 3227c281c98SSteve Sakoman #define PER_36XX_N_38P4 0x13 3237c281c98SSteve Sakoman #define PER_36XX_FSEL_38P4 0x07 3247c281c98SSteve Sakoman #define PER_36XX_M2_38P4 0x09 3257c281c98SSteve Sakoman 326*a704a6d6SNaumann Andreas /* 36XX PER2 DPLL */ 327*a704a6d6SNaumann Andreas 328*a704a6d6SNaumann Andreas #define PER2_36XX_M_12 0x50 329*a704a6d6SNaumann Andreas #define PER2_36XX_N_12 0x00 330*a704a6d6SNaumann Andreas #define PER2_36XX_M2_12 0x08 331*a704a6d6SNaumann Andreas 332*a704a6d6SNaumann Andreas #define PER2_36XX_M_13 0x1BB 333*a704a6d6SNaumann Andreas #define PER2_36XX_N_13 0x05 334*a704a6d6SNaumann Andreas #define PER2_36XX_M2_13 0x08 335*a704a6d6SNaumann Andreas 336*a704a6d6SNaumann Andreas #define PER2_36XX_M_19P2 0x32 337*a704a6d6SNaumann Andreas #define PER2_36XX_N_19P2 0x00 338*a704a6d6SNaumann Andreas #define PER2_36XX_M2_19P2 0x08 339*a704a6d6SNaumann Andreas 340*a704a6d6SNaumann Andreas #define PER2_36XX_M_26 0x1BB 341*a704a6d6SNaumann Andreas #define PER2_36XX_N_26 0x0B 342*a704a6d6SNaumann Andreas #define PER2_36XX_M2_26 0x08 343*a704a6d6SNaumann Andreas 344*a704a6d6SNaumann Andreas #define PER2_36XX_M_38P4 0x19 345*a704a6d6SNaumann Andreas #define PER2_36XX_N_38P4 0x00 346*a704a6d6SNaumann Andreas #define PER2_36XX_M2_38P4 0x08 347*a704a6d6SNaumann Andreas 348819833afSPeter Tyser #endif /* endif _CLOCKS_OMAP3_H_ */ 349