connectTheSignalSlot.c 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. *
  9. * This program is free software; you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License version 2 as
  11. * published by the Free Software Foundation.
  12. */
  13. #undef DEBUG
  14. #include <linux/kernel.h>
  15. #include <linux/io.h>
  16. #include "soc.h"
  17. #include "iomap.h"
  18. #include "common.h"
  19. #include "cm-regbits-34xx.h"
  20. #include "prm-regbits-34xx.h"
  21. #include "prm3xxx.h"
  22. #include "cm3xxx.h"
  23. #include "sdrc.h"
  24. #include "pm.h"
  25. #include "control.h"
  26. /* Used by omap3_ctrl_save_padconf() */
  27. #define START_PADCONF_SAVE 0x2
  28. #define PADCONF_SAVE_DONE 0x1
  29. static void __iomem *omap2_ctrl_base;
  30. static void __iomem *omap4_ctrl_pad_base;
  31. #if defined(CONFIG_ARCH_OMAP3) && defined(CONFIG_PM)
  32. struct omap3_scratchpad {
  33. u32 boot_config_ptr;
  34. u32 public_restore_ptr;
  35. u32 secure_ram_restore_ptr;
  36. u32 sdrc_module_semaphore;
  37. u32 prcm_block_offset;
  38. u32 sdrc_block_offset;
  39. };
  40. struct omap3_scratchpad_prcm_block {
  41. u32 prm_clksrc_ctrl;
  42. u32 prm_clksel;
  43. u32 cm_clksel_core;
  44. u32 cm_clksel_wkup;
  45. u32 cm_clken_pll;
  46. u32 cm_autoidle_pll;
  47. u32 cm_clksel1_pll;
  48. u32 cm_clksel2_pll;
  49. u32 cm_clksel3_pll;
  50. u32 cm_clken_pll_mpu;
  51. u32 cm_autoidle_pll_mpu;
  52. u32 cm_clksel1_pll_mpu;
  53. u32 cm_clksel2_pll_mpu;
  54. u32 prcm_block_size;
  55. };
  56. struct omap3_scratchpad_sdrc_block {
  57. u16 sysconfig;
  58. u16 cs_cfg;
  59. u16 sharing;
  60. u16 err_type;
  61. u32 dll_a_ctrl;
  62. u32 dll_b_ctrl;
  63. u32 power;
  64. u32 cs_0;
  65. u32 mcfg_0;
  66. u16 mr_0;
  67. u16 emr_1_0;
  68. u16 emr_2_0;
  69. u16 emr_3_0;
  70. u32 actim_ctrla_0;
  71. u32 actim_ctrlb_0;
  72. u32 rfr_ctrl_0;
  73. u32 cs_1;
  74. u32 mcfg_1;
  75. u16 mr_1;
  76. u16 emr_1_1;
  77. u16 emr_2_1;
  78. u16 emr_3_1;
  79. u32 actim_ctrla_1;
  80. u32 actim_ctrlb_1;
  81. u32 rfr_ctrl_1;
  82. u16 dcdl_1_ctrl;
  83. u16 dcdl_2_ctrl;
  84. u32 flags;
  85. u32 block_size;