prcm_mpu44xx.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. /*
  2. * OMAP44xx PRCM MPU instance offset macros
  3. *
  4. * Copyright (C) 2010 Texas Instruments, Inc.
  5. * Copyright (C) 2010 Nokia Corporation
  6. *
  7. * Paul Walmsley (paul@pwsan.com)
  8. * Rajendra Nayak (rnayak@ti.com)
  9. * Benoit Cousson (b-cousson@ti.com)
  10. *
  11. * This file is automatically generated from the OMAP hardware databases.
  12. * We respectfully ask that any modifications to this file be coordinated
  13. * with the public linux-omap@vger.kernel.org mailing list and the
  14. * authors above to ensure that the autogeneration scripts are kept
  15. * up-to-date with the file contents.
  16. *
  17. * This program is free software; you can redistribute it and/or modify
  18. * it under the terms of the GNU General Public License version 2 as
  19. * published by the Free Software Foundation.
  20. *
  21. * XXX This file needs to be updated to align on one of "OMAP4", "OMAP44XX",
  22. * or "OMAP4430".
  23. */
  24. #ifndef __ARCH_ARM_MACH_OMAP2_PRCM_MPU44XX_H
  25. #define __ARCH_ARM_MACH_OMAP2_PRCM_MPU44XX_H
  26. #define OMAP4430_PRCM_MPU_BASE 0x48243000
  27. #define OMAP44XX_PRCM_MPU_REGADDR(inst, reg) \
  28. OMAP2_L4_IO_ADDRESS(OMAP4430_PRCM_MPU_BASE + (inst) + (reg))
  29. /* PRCM_MPU instances */
  30. #define OMAP4430_PRCM_MPU_OCP_SOCKET_PRCM_INST 0x0000
  31. #define OMAP4430_PRCM_MPU_DEVICE_PRM_INST 0x0200
  32. #define OMAP4430_PRCM_MPU_CPU0_INST 0x0400
  33. #define OMAP4430_PRCM_MPU_CPU1_INST 0x0800
  34. /* PRCM_MPU clockdomain register offsets (from instance start) */
  35. #define OMAP4430_PRCM_MPU_CPU0_CPU0_CDOFFS 0x0018
  36. #define OMAP4430_PRCM_MPU_CPU1_CPU1_CDOFFS 0x0018
  37. /*
  38. * PRCM_MPU
  39. *
  40. * The PRCM_MPU is a local PRCM inside the MPU subsystem. For the PRCM (global)
  41. * point of view the PRCM_MPU is a single entity. It shares the same
  42. * programming model as the global PRCM and thus can be assimilate as two new
  43. * MOD inside the PRCM
  44. */
  45. /* PRCM_MPU.OCP_SOCKET_PRCM register offsets */
  46. #define OMAP4_REVISION_PRCM_OFFSET 0x0000
  47. #define OMAP4430_REVISION_PRCM OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_OCP_SOCKET_PRCM_INST, 0x0000)
  48. /* PRCM_MPU.DEVICE_PRM register offsets */
  49. #define OMAP4_PRCM_MPU_PRM_RSTST_OFFSET 0x0000
  50. #define OMAP4430_PRCM_MPU_PRM_RSTST OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_DEVICE_PRM_INST, 0x0000)
  51. #define OMAP4_PRCM_MPU_PRM_PSCON_COUNT_OFFSET 0x0004
  52. #define OMAP4430_PRCM_MPU_PRM_PSCON_COUNT OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_DEVICE_PRM_INST, 0x0004)
  53. /* PRCM_MPU.CPU0 register offsets */
  54. #define OMAP4_PM_CPU0_PWRSTCTRL_OFFSET 0x0000
  55. #define OMAP4430_PM_CPU0_PWRSTCTRL OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0000)
  56. #define OMAP4_PM_CPU0_PWRSTST_OFFSET 0x0004
  57. #define OMAP4430_PM_CPU0_PWRSTST OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0004)
  58. #define OMAP4_RM_CPU0_CPU0_CONTEXT_OFFSET 0x0008
  59. #define OMAP4430_RM_CPU0_CPU0_CONTEXT OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0008)
  60. #define OMAP4_RM_CPU0_CPU0_RSTCTRL_OFFSET 0x000c
  61. #define OMAP4430_RM_CPU0_CPU0_RSTCTRL OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x000c)
  62. #define OMAP4_RM_CPU0_CPU0_RSTST_OFFSET 0x0010
  63. #define OMAP4430_RM_CPU0_CPU0_RSTST OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0010)
  64. #define OMAP4_CM_CPU0_CPU0_CLKCTRL_OFFSET 0x0014
  65. #define OMAP4430_CM_CPU0_CPU0_CLKCTRL OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0014)
  66. #define OMAP4_CM_CPU0_CLKSTCTRL_OFFSET 0x0018
  67. #define OMAP4430_CM_CPU0_CLKSTCTRL OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0018)
  68. /* PRCM_MPU.CPU1 register offsets */
  69. #define OMAP4_PM_CPU1_PWRSTCTRL_OFFSET 0x0000
  70. #define OMAP4430_PM_CPU1_PWRSTCTRL OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0000)
  71. #define OMAP4_PM_CPU1_PWRSTST_OFFSET 0x0004
  72. #define OMAP4430_PM_CPU1_PWRSTST OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0004)
  73. #define OMAP4_RM_CPU1_CPU1_CONTEXT_OFFSET 0x0008
  74. #define OMAP4430_RM_CPU1_CPU1_CONTEXT OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0008)
  75. #define OMAP4_RM_CPU1_CPU1_RSTCTRL_OFFSET 0x000c
  76. #define OMAP4430_RM_CPU1_CPU1_RSTCTRL OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x000c)
  77. #define OMAP4_RM_CPU1_CPU1_RSTST_OFFSET 0x0010
  78. #define OMAP4430_RM_CPU1_CPU1_RSTST OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0010)
  79. #define OMAP4_CM_CPU1_CPU1_CLKCTRL_OFFSET 0x0014
  80. #define OMAP4430_CM_CPU1_CPU1_CLKCTRL OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0014)
  81. #define OMAP4_CM_CPU1_CLKSTCTRL_OFFSET 0x0018
  82. #define OMAP4430_CM_CPU1_CLKSTCTRL OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0018)
  83. /* Function prototypes */
  84. # ifndef __ASSEMBLER__
  85. extern u32 omap4_prcm_mpu_read_inst_reg(s16 inst, u16 idx);
  86. extern void omap4_prcm_mpu_write_inst_reg(u32 val, s16 inst, u16 idx);
  87. extern u32 omap4_prcm_mpu_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst,
  88. s16 idx);
  89. # endif
  90. #endif