psc_defs.h 1.9 KB

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