control.c (4ba25a496f62129a2ad8c2436ab2b402752dc66c) | control.c (c6a2d839d0dba8a06f55c7b06f8ce33bdbe4aea3) |
---|---|
1/* 2 * OMAP2/3 System Control Module register access 3 * 4 * Copyright (C) 2007, 2012 Texas Instruments, Inc. 5 * Copyright (C) 2007 Nokia Corporation 6 * 7 * Written by Paul Walmsley 8 * --- 32 unchanged lines hidden (view full) --- 41 u32 sdrc_module_semaphore; 42 u32 prcm_block_offset; 43 u32 sdrc_block_offset; 44}; 45 46struct omap3_scratchpad_prcm_block { 47 u32 prm_clksrc_ctrl; 48 u32 prm_clksel; | 1/* 2 * OMAP2/3 System Control Module register access 3 * 4 * Copyright (C) 2007, 2012 Texas Instruments, Inc. 5 * Copyright (C) 2007 Nokia Corporation 6 * 7 * Written by Paul Walmsley 8 * --- 32 unchanged lines hidden (view full) --- 41 u32 sdrc_module_semaphore; 42 u32 prcm_block_offset; 43 u32 sdrc_block_offset; 44}; 45 46struct omap3_scratchpad_prcm_block { 47 u32 prm_clksrc_ctrl; 48 u32 prm_clksel; |
49 u32 cm_clksel_core; 50 u32 cm_clksel_wkup; 51 u32 cm_clken_pll; 52 u32 cm_autoidle_pll; 53 u32 cm_clksel1_pll; 54 u32 cm_clksel2_pll; 55 u32 cm_clksel3_pll; 56 u32 cm_clken_pll_mpu; 57 u32 cm_autoidle_pll_mpu; 58 u32 cm_clksel1_pll_mpu; 59 u32 cm_clksel2_pll_mpu; | 49 u32 cm_contents[11]; |
60 u32 prcm_block_size; 61}; 62 63struct omap3_scratchpad_sdrc_block { 64 u16 sysconfig; 65 u16 cs_cfg; 66 u16 sharing; 67 u16 err_type; --- 274 unchanged lines hidden (view full) --- 342 343 /* Populate the PRCM block contents */ 344 prcm_block_contents.prm_clksrc_ctrl = 345 omap2_prm_read_mod_reg(OMAP3430_GR_MOD, 346 OMAP3_PRM_CLKSRC_CTRL_OFFSET); 347 prcm_block_contents.prm_clksel = 348 omap2_prm_read_mod_reg(OMAP3430_CCR_MOD, 349 OMAP3_PRM_CLKSEL_OFFSET); | 50 u32 prcm_block_size; 51}; 52 53struct omap3_scratchpad_sdrc_block { 54 u16 sysconfig; 55 u16 cs_cfg; 56 u16 sharing; 57 u16 err_type; --- 274 unchanged lines hidden (view full) --- 332 333 /* Populate the PRCM block contents */ 334 prcm_block_contents.prm_clksrc_ctrl = 335 omap2_prm_read_mod_reg(OMAP3430_GR_MOD, 336 OMAP3_PRM_CLKSRC_CTRL_OFFSET); 337 prcm_block_contents.prm_clksel = 338 omap2_prm_read_mod_reg(OMAP3430_CCR_MOD, 339 OMAP3_PRM_CLKSEL_OFFSET); |
350 prcm_block_contents.cm_clksel_core = 351 omap2_cm_read_mod_reg(CORE_MOD, CM_CLKSEL); 352 prcm_block_contents.cm_clksel_wkup = 353 omap2_cm_read_mod_reg(WKUP_MOD, CM_CLKSEL); 354 prcm_block_contents.cm_clken_pll = 355 omap2_cm_read_mod_reg(PLL_MOD, CM_CLKEN); 356 /* 357 * As per erratum i671, ROM code does not respect the PER DPLL 358 * programming scheme if CM_AUTOIDLE_PLL..AUTO_PERIPH_DPLL == 1. 359 * Then, in anycase, clear these bits to avoid extra latencies. 360 */ 361 prcm_block_contents.cm_autoidle_pll = 362 omap2_cm_read_mod_reg(PLL_MOD, CM_AUTOIDLE) & 363 ~OMAP3430_AUTO_PERIPH_DPLL_MASK; 364 prcm_block_contents.cm_clksel1_pll = 365 omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL1_PLL); 366 prcm_block_contents.cm_clksel2_pll = 367 omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL2_PLL); 368 prcm_block_contents.cm_clksel3_pll = 369 omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL3); 370 prcm_block_contents.cm_clken_pll_mpu = 371 omap2_cm_read_mod_reg(MPU_MOD, OMAP3430_CM_CLKEN_PLL); 372 prcm_block_contents.cm_autoidle_pll_mpu = 373 omap2_cm_read_mod_reg(MPU_MOD, OMAP3430_CM_AUTOIDLE_PLL); 374 prcm_block_contents.cm_clksel1_pll_mpu = 375 omap2_cm_read_mod_reg(MPU_MOD, OMAP3430_CM_CLKSEL1_PLL); 376 prcm_block_contents.cm_clksel2_pll_mpu = 377 omap2_cm_read_mod_reg(MPU_MOD, OMAP3430_CM_CLKSEL2_PLL); | 340 341 omap3_cm_save_scratchpad_contents(prcm_block_contents.cm_contents); 342 |
378 prcm_block_contents.prcm_block_size = 0x0; 379 380 /* Populate the SDRC block contents */ 381 sdrc_block_contents.sysconfig = 382 (sdrc_read_reg(SDRC_SYSCONFIG) & 0xFFFF); 383 sdrc_block_contents.cs_cfg = 384 (sdrc_read_reg(SDRC_CS_CFG) & 0xFFFF); 385 sdrc_block_contents.sharing = --- 222 unchanged lines hidden --- | 343 prcm_block_contents.prcm_block_size = 0x0; 344 345 /* Populate the SDRC block contents */ 346 sdrc_block_contents.sysconfig = 347 (sdrc_read_reg(SDRC_SYSCONFIG) & 0xFFFF); 348 sdrc_block_contents.cs_cfg = 349 (sdrc_read_reg(SDRC_CS_CFG) & 0xFFFF); 350 sdrc_block_contents.sharing = --- 222 unchanged lines hidden --- |