opp3xxx_data.c 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * OMAP3 OPP table definitions.
  4. *
  5. * Copyright (C) 2009-2010 Texas Instruments Incorporated - https://www.ti.com/
  6. * Nishanth Menon
  7. * Kevin Hilman
  8. * Copyright (C) 2010-2011 Nokia Corporation.
  9. * Eduardo Valentin
  10. * Paul Walmsley
  11. */
  12. #include <linux/module.h>
  13. #include "soc.h"
  14. #include "control.h"
  15. #include "omap_opp_data.h"
  16. #include "pm.h"
  17. /* 34xx */
  18. /* VDD1 */
  19. #define OMAP3430_VDD_MPU_OPP1_UV 975000
  20. #define OMAP3430_VDD_MPU_OPP2_UV 1075000
  21. #define OMAP3430_VDD_MPU_OPP3_UV 1200000
  22. #define OMAP3430_VDD_MPU_OPP4_UV 1270000
  23. #define OMAP3430_VDD_MPU_OPP5_UV 1350000
  24. struct omap_volt_data omap34xx_vddmpu_volt_data[] = {
  25. VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP1_UV, OMAP343X_CONTROL_FUSE_OPP1_VDD1, 0xf4, 0x0c),
  26. VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP2_UV, OMAP343X_CONTROL_FUSE_OPP2_VDD1, 0xf4, 0x0c),
  27. VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP3_UV, OMAP343X_CONTROL_FUSE_OPP3_VDD1, 0xf9, 0x18),
  28. VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP4_UV, OMAP343X_CONTROL_FUSE_OPP4_VDD1, 0xf9, 0x18),
  29. VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP5_UV, OMAP343X_CONTROL_FUSE_OPP5_VDD1, 0xf9, 0x18),
  30. VOLT_DATA_DEFINE(0, 0, 0, 0),
  31. };
  32. /* VDD2 */
  33. #define OMAP3430_VDD_CORE_OPP1_UV 975000
  34. #define OMAP3430_VDD_CORE_OPP2_UV 1050000
  35. #define OMAP3430_VDD_CORE_OPP3_UV 1150000
  36. struct omap_volt_data omap34xx_vddcore_volt_data[] = {
  37. VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP1_UV, OMAP343X_CONTROL_FUSE_OPP1_VDD2, 0xf4, 0x0c),
  38. VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP2_UV, OMAP343X_CONTROL_FUSE_OPP2_VDD2, 0xf4, 0x0c),
  39. VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP3_UV, OMAP343X_CONTROL_FUSE_OPP3_VDD2, 0xf9, 0x18),
  40. VOLT_DATA_DEFINE(0, 0, 0, 0),
  41. };
  42. /* 36xx */
  43. /* VDD1 */
  44. #define OMAP3630_VDD_MPU_OPP50_UV 1012500
  45. #define OMAP3630_VDD_MPU_OPP100_UV 1200000
  46. #define OMAP3630_VDD_MPU_OPP120_UV 1325000
  47. #define OMAP3630_VDD_MPU_OPP1G_UV 1375000
  48. struct omap_volt_data omap36xx_vddmpu_volt_data[] = {
  49. VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD1, 0xf4, 0x0c),
  50. VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD1, 0xf9, 0x16),
  51. VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP120_UV, OMAP3630_CONTROL_FUSE_OPP120_VDD1, 0xfa, 0x23),
  52. VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP1G_UV, OMAP3630_CONTROL_FUSE_OPP1G_VDD1, 0xfa, 0x27),
  53. VOLT_DATA_DEFINE(0, 0, 0, 0),
  54. };
  55. /* VDD2 */
  56. #define OMAP3630_VDD_CORE_OPP50_UV 1000000
  57. #define OMAP3630_VDD_CORE_OPP100_UV 1200000
  58. struct omap_volt_data omap36xx_vddcore_volt_data[] = {
  59. VOLT_DATA_DEFINE(OMAP3630_VDD_CORE_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD2, 0xf4, 0x0c),
  60. VOLT_DATA_DEFINE(OMAP3630_VDD_CORE_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD2, 0xf9, 0x16),
  61. VOLT_DATA_DEFINE(0, 0, 0, 0),
  62. };