at91_shdwc.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * arch/arm/mach-at91/include/mach/at91_shdwc.h
  3. *
  4. * Copyright (C) 2007 Andrew Victor
  5. * Copyright (C) 2007 Atmel Corporation.
  6. *
  7. * Shutdown Controller (SHDWC) - System peripherals regsters.
  8. * Based on AT91SAM9261 datasheet revision D.
  9. *
  10. * This program is free software; you can redistribute it and/or modify
  11. * it under the terms of the GNU General Public License as published by
  12. * the Free Software Foundation; either version 2 of the License, or
  13. * (at your option) any later version.
  14. */
  15. #ifndef AT91_SHDWC_H
  16. #define AT91_SHDWC_H
  17. #ifndef __ASSEMBLY__
  18. extern void __iomem *at91_shdwc_base;
  19. #define at91_shdwc_read(field) \
  20. __raw_readl(at91_shdwc_base + field)
  21. #define at91_shdwc_write(field, value) \
  22. __raw_writel(value, at91_shdwc_base + field);
  23. #endif
  24. #define AT91_SHDW_CR 0x00 /* Shut Down Control Register */
  25. #define AT91_SHDW_SHDW (1 << 0) /* Shut Down command */
  26. #define AT91_SHDW_KEY (0xa5 << 24) /* KEY Password */
  27. #define AT91_SHDW_MR 0x04 /* Shut Down Mode Register */
  28. #define AT91_SHDW_WKMODE0 (3 << 0) /* Wake-up 0 Mode Selection */
  29. #define AT91_SHDW_WKMODE0_NONE 0
  30. #define AT91_SHDW_WKMODE0_HIGH 1
  31. #define AT91_SHDW_WKMODE0_LOW 2
  32. #define AT91_SHDW_WKMODE0_ANYLEVEL 3
  33. #define AT91_SHDW_CPTWK0_MAX 0xf /* Maximum Counter On Wake Up 0 */
  34. #define AT91_SHDW_CPTWK0 (AT91_SHDW_CPTWK0_MAX << 4) /* Counter On Wake Up 0 */
  35. #define AT91_SHDW_CPTWK0_(x) ((x) << 4)
  36. #define AT91_SHDW_RTTWKEN (1 << 16) /* Real Time Timer Wake-up Enable */
  37. #define AT91_SHDW_RTCWKEN (1 << 17) /* Real Time Clock Wake-up Enable */
  38. #define AT91_SHDW_SR 0x08 /* Shut Down Status Register */
  39. #define AT91_SHDW_WAKEUP0 (1 << 0) /* Wake-up 0 Status */
  40. #define AT91_SHDW_RTTWK (1 << 16) /* Real-time Timer Wake-up */
  41. #define AT91_SHDW_RTCWK (1 << 17) /* Real-time Clock Wake-up [SAM9RL] */
  42. #endif