prm33xx.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * AM33XX PRM instance offset macros
  4. *
  5. * Copyright (C) 2011-2012 Texas Instruments Incorporated - https://www.ti.com/
  6. */
  7. #ifndef __ARCH_ARM_MACH_OMAP2_PRM33XX_H
  8. #define __ARCH_ARM_MACH_OMAP2_PRM33XX_H
  9. #include "prcm-common.h"
  10. #include "prm.h"
  11. #define AM33XX_PRM_BASE 0x44E00000
  12. #define AM33XX_PRM_REGADDR(inst, reg) \
  13. AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRM_BASE + (inst) + (reg))
  14. /* PRM instances */
  15. #define AM33XX_PRM_OCP_SOCKET_MOD 0x0B00
  16. #define AM33XX_PRM_PER_MOD 0x0C00
  17. #define AM33XX_PRM_WKUP_MOD 0x0D00
  18. #define AM33XX_PRM_MPU_MOD 0x0E00
  19. #define AM33XX_PRM_DEVICE_MOD 0x0F00
  20. #define AM33XX_PRM_RTC_MOD 0x1000
  21. #define AM33XX_PRM_GFX_MOD 0x1100
  22. #define AM33XX_PRM_CEFUSE_MOD 0x1200
  23. /* PRM.PER_PRM register offsets */
  24. #define AM33XX_PM_PER_PWRSTST_OFFSET 0x0008
  25. #define AM33XX_PM_PER_PWRSTST AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x0008)
  26. #define AM33XX_PM_PER_PWRSTCTRL_OFFSET 0x000c
  27. #define AM33XX_PM_PER_PWRSTCTRL AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x000c)
  28. /* PRM.WKUP_PRM register offsets */
  29. #define AM33XX_PM_WKUP_PWRSTCTRL_OFFSET 0x0004
  30. #define AM33XX_PM_WKUP_PWRSTCTRL AM33XX_PRM_REGADDR(AM33XX_PRM_WKUP_MOD, 0x0004)
  31. #define AM33XX_PM_WKUP_PWRSTST_OFFSET 0x0008
  32. #define AM33XX_PM_WKUP_PWRSTST AM33XX_PRM_REGADDR(AM33XX_PRM_WKUP_MOD, 0x0008)
  33. /* PRM.MPU_PRM register offsets */
  34. #define AM33XX_PM_MPU_PWRSTCTRL_OFFSET 0x0000
  35. #define AM33XX_PM_MPU_PWRSTCTRL AM33XX_PRM_REGADDR(AM33XX_PRM_MPU_MOD, 0x0000)
  36. #define AM33XX_PM_MPU_PWRSTST_OFFSET 0x0004
  37. #define AM33XX_PM_MPU_PWRSTST AM33XX_PRM_REGADDR(AM33XX_PRM_MPU_MOD, 0x0004)
  38. /* PRM.DEVICE_PRM register offsets */
  39. #define AM33XX_PRM_RSTCTRL_OFFSET 0x0000
  40. #define AM33XX_PRM_RSTCTRL AM33XX_PRM_REGADDR(AM33XX_PRM_DEVICE_MOD, 0x0000)
  41. /* PRM.RTC_PRM register offsets */
  42. #define AM33XX_PM_RTC_PWRSTCTRL_OFFSET 0x0000
  43. #define AM33XX_PM_RTC_PWRSTCTRL AM33XX_PRM_REGADDR(AM33XX_PRM_RTC_MOD, 0x0000)
  44. #define AM33XX_PM_RTC_PWRSTST_OFFSET 0x0004
  45. #define AM33XX_PM_RTC_PWRSTST AM33XX_PRM_REGADDR(AM33XX_PRM_RTC_MOD, 0x0004)
  46. /* PRM.GFX_PRM register offsets */
  47. #define AM33XX_PM_GFX_PWRSTCTRL_OFFSET 0x0000
  48. #define AM33XX_PM_GFX_PWRSTCTRL AM33XX_PRM_REGADDR(AM33XX_PRM_GFX_MOD, 0x0000)
  49. #define AM33XX_PM_GFX_PWRSTST_OFFSET 0x0010
  50. #define AM33XX_PM_GFX_PWRSTST AM33XX_PRM_REGADDR(AM33XX_PRM_GFX_MOD, 0x0010)
  51. /* PRM.CEFUSE_PRM register offsets */
  52. #define AM33XX_PM_CEFUSE_PWRSTCTRL_OFFSET 0x0000
  53. #define AM33XX_PM_CEFUSE_PWRSTCTRL AM33XX_PRM_REGADDR(AM33XX_PRM_CEFUSE_MOD, 0x0000)
  54. #define AM33XX_PM_CEFUSE_PWRSTST_OFFSET 0x0004
  55. #define AM33XX_PM_CEFUSE_PWRSTST AM33XX_PRM_REGADDR(AM33XX_PRM_CEFUSE_MOD, 0x0004)
  56. #ifndef __ASSEMBLER__
  57. int am33xx_prm_init(const struct omap_prcm_init_data *data);
  58. #endif /* ASSEMBLER */
  59. #endif