pm.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * arch/arm/mach-dove/include/mach/pm.h
  3. *
  4. * This file is licensed under the terms of the GNU General Public
  5. * License version 2. This program is licensed "as is" without any
  6. * warranty of any kind, whether express or implied.
  7. */
  8. #ifndef __ASM_ARCH_PM_H
  9. #define __ASM_ARCH_PM_H
  10. #include <asm/errno.h>
  11. #include <mach/irqs.h>
  12. #define CLOCK_GATING_CONTROL (DOVE_PMU_VIRT_BASE + 0x38)
  13. #define CLOCK_GATING_USB0_MASK (1 << 0)
  14. #define CLOCK_GATING_USB1_MASK (1 << 1)
  15. #define CLOCK_GATING_GBE_MASK (1 << 2)
  16. #define CLOCK_GATING_SATA_MASK (1 << 3)
  17. #define CLOCK_GATING_PCIE0_MASK (1 << 4)
  18. #define CLOCK_GATING_PCIE1_MASK (1 << 5)
  19. #define CLOCK_GATING_SDIO0_MASK (1 << 8)
  20. #define CLOCK_GATING_SDIO1_MASK (1 << 9)
  21. #define CLOCK_GATING_NAND_MASK (1 << 10)
  22. #define CLOCK_GATING_CAMERA_MASK (1 << 11)
  23. #define CLOCK_GATING_I2S0_MASK (1 << 12)
  24. #define CLOCK_GATING_I2S1_MASK (1 << 13)
  25. #define CLOCK_GATING_CRYPTO_MASK (1 << 15)
  26. #define CLOCK_GATING_AC97_MASK (1 << 21)
  27. #define CLOCK_GATING_PDMA_MASK (1 << 22)
  28. #define CLOCK_GATING_XOR0_MASK (1 << 23)
  29. #define CLOCK_GATING_XOR1_MASK (1 << 24)
  30. #define CLOCK_GATING_GIGA_PHY_MASK (1 << 30)
  31. #define PMU_INTERRUPT_CAUSE (DOVE_PMU_VIRT_BASE + 0x50)
  32. #define PMU_INTERRUPT_MASK (DOVE_PMU_VIRT_BASE + 0x54)
  33. static inline int pmu_to_irq(int pin)
  34. {
  35. if (pin < NR_PMU_IRQS)
  36. return pin + IRQ_DOVE_PMU_START;
  37. return -EINVAL;
  38. }
  39. static inline int irq_to_pmu(int irq)
  40. {
  41. if (IRQ_DOVE_PMU_START < irq && irq < NR_IRQS)
  42. return irq - IRQ_DOVE_PMU_START;
  43. return -EINVAL;
  44. }
  45. #endif