psc_defs.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (C) 2011
  4. * Heiko Schocher, DENX Software Engineering, hs@denx.de.
  5. */
  6. #ifndef _DV_PSC_DEFS_H_
  7. #define _DV_PSC_DEFS_H_
  8. /*
  9. * Power/Sleep Ctrl Register structure
  10. * See sprufb3.pdf, Chapter 7
  11. */
  12. struct dv_psc_regs {
  13. unsigned int pid; /* 0x000 */
  14. unsigned char rsvd0[16]; /* 0x004 */
  15. unsigned char rsvd1[4]; /* 0x014 */
  16. unsigned int inteval; /* 0x018 */
  17. unsigned char rsvd2[36]; /* 0x01C */
  18. unsigned int merrpr0; /* 0x040 */
  19. unsigned int merrpr1; /* 0x044 */
  20. unsigned char rsvd3[8]; /* 0x048 */
  21. unsigned int merrcr0; /* 0x050 */
  22. unsigned int merrcr1; /* 0x054 */
  23. unsigned char rsvd4[8]; /* 0x058 */
  24. unsigned int perrpr; /* 0x060 */
  25. unsigned char rsvd5[4]; /* 0x064 */
  26. unsigned int perrcr; /* 0x068 */
  27. unsigned char rsvd6[4]; /* 0x06C */
  28. unsigned int epcpr; /* 0x070 */
  29. unsigned char rsvd7[4]; /* 0x074 */
  30. unsigned int epccr; /* 0x078 */
  31. unsigned char rsvd8[144]; /* 0x07C */
  32. unsigned char rsvd9[20]; /* 0x10C */
  33. unsigned int ptcmd; /* 0x120 */
  34. unsigned char rsvd10[4]; /* 0x124 */
  35. unsigned int ptstat; /* 0x128 */
  36. unsigned char rsvd11[212]; /* 0x12C */
  37. unsigned int pdstat0; /* 0x200 */
  38. unsigned int pdstat1; /* 0x204 */
  39. unsigned char rsvd12[248]; /* 0x208 */
  40. unsigned int pdctl0; /* 0x300 */
  41. unsigned int pdctl1; /* 0x304 */
  42. unsigned char rsvd13[536]; /* 0x308 */
  43. unsigned int mckout0; /* 0x520 */
  44. unsigned int mckout1; /* 0x524 */
  45. unsigned char rsvd14[728]; /* 0x528 */
  46. unsigned int mdstat[52]; /* 0x800 */
  47. unsigned char rsvd15[304]; /* 0x8D0 */
  48. unsigned int mdctl[52]; /* 0xA00 */
  49. };
  50. /* PSC constants */
  51. #define EMURSTIE_MASK (0x00000200)
  52. #define PD0 (0)
  53. #define PSC_ENABLE (0x3)
  54. #define PSC_DISABLE (0x2)
  55. #define PSC_SYNCRESET (0x1)
  56. #define PSC_SWRSTDISABLE (0x0)
  57. #define PSC_GOSTAT (1 << 0)
  58. #define PSC_MD_STATE_MSK (0x1f)
  59. #define PSC_CMD_GO (1 << 0)
  60. #define dv_psc_regs ((struct dv_psc_regs *)DAVINCI_PWR_SLEEP_CNTRL_BASE)
  61. #endif /* _DV_PSC_DEFS_H_ */