tegra-powergate.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * Copyright (c) 2010 Google, Inc
  3. *
  4. * Author:
  5. * Colin Cross <ccross@google.com>
  6. *
  7. * This software is licensed under the terms of the GNU General Public
  8. * License version 2, as published by the Free Software Foundation, and
  9. * may be copied, distributed, and modified under those terms.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. */
  17. #ifndef _MACH_TEGRA_POWERGATE_H_
  18. #define _MACH_TEGRA_POWERGATE_H_
  19. struct clk;
  20. #define TEGRA_POWERGATE_CPU 0
  21. #define TEGRA_POWERGATE_3D 1
  22. #define TEGRA_POWERGATE_VENC 2
  23. #define TEGRA_POWERGATE_PCIE 3
  24. #define TEGRA_POWERGATE_VDEC 4
  25. #define TEGRA_POWERGATE_L2 5
  26. #define TEGRA_POWERGATE_MPE 6
  27. #define TEGRA_POWERGATE_HEG 7
  28. #define TEGRA_POWERGATE_SATA 8
  29. #define TEGRA_POWERGATE_CPU1 9
  30. #define TEGRA_POWERGATE_CPU2 10
  31. #define TEGRA_POWERGATE_CPU3 11
  32. #define TEGRA_POWERGATE_CELP 12
  33. #define TEGRA_POWERGATE_3D1 13
  34. #define TEGRA_POWERGATE_CPU0 14
  35. #define TEGRA_POWERGATE_C0NC 15
  36. #define TEGRA_POWERGATE_C1NC 16
  37. #define TEGRA_POWERGATE_DIS 18
  38. #define TEGRA_POWERGATE_DISB 19
  39. #define TEGRA_POWERGATE_XUSBA 20
  40. #define TEGRA_POWERGATE_XUSBB 21
  41. #define TEGRA_POWERGATE_XUSBC 22
  42. #define TEGRA_POWERGATE_3D0 TEGRA_POWERGATE_3D
  43. #ifdef CONFIG_ARCH_TEGRA
  44. int tegra_powergate_is_powered(int id);
  45. int tegra_powergate_power_on(int id);
  46. int tegra_powergate_power_off(int id);
  47. int tegra_powergate_remove_clamping(int id);
  48. /* Must be called with clk disabled, and returns with clk enabled */
  49. int tegra_powergate_sequence_power_up(int id, struct clk *clk);
  50. #else
  51. static inline int tegra_powergate_is_powered(int id)
  52. {
  53. return -ENOSYS;
  54. }
  55. static inline int tegra_powergate_power_on(int id)
  56. {
  57. return -ENOSYS;
  58. }
  59. static inline int tegra_powergate_power_off(int id)
  60. {
  61. return -ENOSYS;
  62. }
  63. static inline int tegra_powergate_remove_clamping(int id)
  64. {
  65. return -ENOSYS;
  66. }
  67. static inline int tegra_powergate_sequence_power_up(int id, struct clk *clk)
  68. {
  69. return -ENOSYS;
  70. }
  71. #endif
  72. #endif /* _MACH_TEGRA_POWERGATE_H_ */