opp3xxx_data.c 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * OMAP3 OPP table definitions.
  3. *
  4. * Copyright (C) 2009-2010 Texas Instruments Incorporated - http://www.ti.com/
  5. * Nishanth Menon
  6. * Kevin Hilman
  7. * Copyright (C) 2010-2011 Nokia Corporation.
  8. * Eduardo Valentin
  9. * Paul Walmsley
  10. *
  11. * This program is free software; you can redistribute it and/or modify
  12. * it under the terms of the GNU General Public License version 2 as
  13. * published by the Free Software Foundation.
  14. *
  15. * This program is distributed "as is" WITHOUT ANY WARRANTY of any
  16. * kind, whether express or implied; without even the implied warranty
  17. * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License for more details.
  19. */
  20. #include <linux/module.h>
  21. #include "soc.h"
  22. #include "control.h"
  23. #include "omap_opp_data.h"
  24. #include "pm.h"
  25. /* 34xx */
  26. /* VDD1 */
  27. #define OMAP3430_VDD_MPU_OPP1_UV 975000
  28. #define OMAP3430_VDD_MPU_OPP2_UV 1075000
  29. #define OMAP3430_VDD_MPU_OPP3_UV 1200000
  30. #define OMAP3430_VDD_MPU_OPP4_UV 1270000
  31. #define OMAP3430_VDD_MPU_OPP5_UV 1350000
  32. struct omap_volt_data omap34xx_vddmpu_volt_data[] = {
  33. VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP1_UV, OMAP343X_CONTROL_FUSE_OPP1_VDD1, 0xf4, 0x0c),
  34. VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP2_UV, OMAP343X_CONTROL_FUSE_OPP2_VDD1, 0xf4, 0x0c),
  35. VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP3_UV, OMAP343X_CONTROL_FUSE_OPP3_VDD1, 0xf9, 0x18),
  36. VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP4_UV, OMAP343X_CONTROL_FUSE_OPP4_VDD1, 0xf9, 0x18),
  37. VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP5_UV, OMAP343X_CONTROL_FUSE_OPP5_VDD1, 0xf9, 0x18),
  38. VOLT_DATA_DEFINE(0, 0, 0, 0),
  39. };
  40. /* VDD2 */
  41. #define OMAP3430_VDD_CORE_OPP1_UV 975000
  42. #define OMAP3430_VDD_CORE_OPP2_UV 1050000
  43. #define OMAP3430_VDD_CORE_OPP3_UV 1150000
  44. struct omap_volt_data omap34xx_vddcore_volt_data[] = {
  45. VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP1_UV, OMAP343X_CONTROL_FUSE_OPP1_VDD2, 0xf4, 0x0c),
  46. VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP2_UV, OMAP343X_CONTROL_FUSE_OPP2_VDD2, 0xf4, 0x0c),
  47. VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP3_UV, OMAP343X_CONTROL_FUSE_OPP3_VDD2, 0xf9, 0x18),
  48. VOLT_DATA_DEFINE(0, 0, 0, 0),
  49. };
  50. /* 36xx */
  51. /* VDD1 */
  52. #define OMAP3630_VDD_MPU_OPP50_UV 1012500
  53. #define OMAP3630_VDD_MPU_OPP100_UV 1200000
  54. #define OMAP3630_VDD_MPU_OPP120_UV 1325000
  55. #define OMAP3630_VDD_MPU_OPP1G_UV 1375000
  56. struct omap_volt_data omap36xx_vddmpu_volt_data[] = {
  57. VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD1, 0xf4, 0x0c),
  58. VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD1, 0xf9, 0x16),
  59. VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP120_UV, OMAP3630_CONTROL_FUSE_OPP120_VDD1, 0xfa, 0x23),
  60. VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP1G_UV, OMAP3630_CONTROL_FUSE_OPP1G_VDD1, 0xfa, 0x27),
  61. VOLT_DATA_DEFINE(0, 0, 0, 0),
  62. };
  63. /* VDD2 */
  64. #define OMAP3630_VDD_CORE_OPP50_UV 1000000
  65. #define OMAP3630_VDD_CORE_OPP100_UV 1200000
  66. struct omap_volt_data omap36xx_vddcore_volt_data[] = {
  67. VOLT_DATA_DEFINE(OMAP3630_VDD_CORE_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD2, 0xf4, 0x0c),
  68. VOLT_DATA_DEFINE(OMAP3630_VDD_CORE_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD2, 0xf9, 0x16),
  69. VOLT_DATA_DEFINE(0, 0, 0, 0),
  70. };