cm33xx.h 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * AM33XX CM offset macros
  4. *
  5. * Copyright (C) 2011-2012 Texas Instruments Incorporated - https://www.ti.com/
  6. * Vaibhav Hiremath <[email protected]>
  7. */
  8. #ifndef __ARCH_ARM_MACH_OMAP2_CM_33XX_H
  9. #define __ARCH_ARM_MACH_OMAP2_CM_33XX_H
  10. #include "cm.h"
  11. #include "cm-regbits-33xx.h"
  12. #include "prcm-common.h"
  13. /* CM base address */
  14. #define AM33XX_CM_BASE 0x44e00000
  15. #define AM33XX_CM_REGADDR(inst, reg) \
  16. AM33XX_L4_WK_IO_ADDRESS(AM33XX_CM_BASE + (inst) + (reg))
  17. /* CM instances */
  18. #define AM33XX_CM_PER_MOD 0x0000
  19. #define AM33XX_CM_WKUP_MOD 0x0400
  20. #define AM33XX_CM_DPLL_MOD 0x0500
  21. #define AM33XX_CM_MPU_MOD 0x0600
  22. #define AM33XX_CM_DEVICE_MOD 0x0700
  23. #define AM33XX_CM_RTC_MOD 0x0800
  24. #define AM33XX_CM_GFX_MOD 0x0900
  25. #define AM33XX_CM_CEFUSE_MOD 0x0A00
  26. /* CM.PER_CM register offsets */
  27. #define AM33XX_CM_PER_L4LS_CLKSTCTRL_OFFSET 0x0000
  28. #define AM33XX_CM_PER_L4LS_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0000)
  29. #define AM33XX_CM_PER_L3S_CLKSTCTRL_OFFSET 0x0004
  30. #define AM33XX_CM_PER_L3S_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0004)
  31. #define AM33XX_CM_PER_L4FW_CLKSTCTRL_OFFSET 0x0008
  32. #define AM33XX_CM_PER_L4FW_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0008)
  33. #define AM33XX_CM_PER_L3_CLKSTCTRL_OFFSET 0x000c
  34. #define AM33XX_CM_PER_L3_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x000c)
  35. #define AM33XX_CM_PER_EMIF_CLKCTRL_OFFSET 0x0028
  36. #define AM33XX_CM_PER_EMIF_CLKCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0028)
  37. #define AM33XX_CM_PER_L4HS_CLKSTCTRL_OFFSET 0x011c
  38. #define AM33XX_CM_PER_L4HS_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x011c)
  39. #define AM33XX_CM_PER_OCPWP_L3_CLKSTCTRL_OFFSET 0x012c
  40. #define AM33XX_CM_PER_OCPWP_L3_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x012c)
  41. #define AM33XX_CM_PER_PRUSS_CLKSTCTRL_OFFSET 0x0140
  42. #define AM33XX_CM_PER_PRUSS_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0140)
  43. #define AM33XX_CM_PER_CPSW_CLKSTCTRL_OFFSET 0x0144
  44. #define AM33XX_CM_PER_CPSW_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0144)
  45. #define AM33XX_CM_PER_LCDC_CLKSTCTRL_OFFSET 0x0148
  46. #define AM33XX_CM_PER_LCDC_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0148)
  47. #define AM33XX_CM_PER_CLK_24MHZ_CLKSTCTRL_OFFSET 0x0150
  48. #define AM33XX_CM_PER_CLK_24MHZ_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_PER_MOD, 0x0150)
  49. /* CM.WKUP_CM register offsets */
  50. #define AM33XX_CM_WKUP_CLKSTCTRL_OFFSET 0x0000
  51. #define AM33XX_CM_WKUP_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_WKUP_MOD, 0x0000)
  52. #define AM33XX_CM_L3_AON_CLKSTCTRL_OFFSET 0x0018
  53. #define AM33XX_CM_L3_AON_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_WKUP_MOD, 0x0018)
  54. #define AM33XX_CM_L4_WKUP_AON_CLKSTCTRL_OFFSET 0x00cc
  55. #define AM33XX_CM_L4_WKUP_AON_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_WKUP_MOD, 0x00cc)
  56. /* CM.DPLL_CM register offsets */
  57. #define AM33XX_CLKSEL_GFX_FCLK AM33XX_CM_REGADDR(AM33XX_CM_DPLL_MOD, 0x002c)
  58. /* CM.MPU_CM register offsets */
  59. #define AM33XX_CM_MPU_CLKSTCTRL_OFFSET 0x0000
  60. #define AM33XX_CM_MPU_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_MPU_MOD, 0x0000)
  61. #define AM33XX_CM_MPU_MPU_CLKCTRL AM33XX_CM_REGADDR(AM33XX_CM_MPU_MOD, 0x0004)
  62. /* CM.DEVICE_CM register offsets */
  63. /* CM.RTC_CM register offsets */
  64. #define AM33XX_CM_RTC_CLKSTCTRL_OFFSET 0x0004
  65. #define AM33XX_CM_RTC_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_RTC_MOD, 0x0004)
  66. /* CM.GFX_CM register offsets */
  67. #define AM33XX_CM_GFX_L3_CLKSTCTRL_OFFSET 0x0000
  68. #define AM33XX_CM_GFX_L3_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_GFX_MOD, 0x0000)
  69. #define AM33XX_CM_GFX_L4LS_GFX_CLKSTCTRL__1_OFFSET 0x000c
  70. #define AM33XX_CM_GFX_L4LS_GFX_CLKSTCTRL__1 AM33XX_CM_REGADDR(AM33XX_CM_GFX_MOD, 0x000c)
  71. /* CM.CEFUSE_CM register offsets */
  72. #define AM33XX_CM_CEFUSE_CLKSTCTRL_OFFSET 0x0000
  73. #define AM33XX_CM_CEFUSE_CLKSTCTRL AM33XX_CM_REGADDR(AM33XX_CM_CEFUSE_MOD, 0x0000)
  74. #ifndef __ASSEMBLER__
  75. int am33xx_cm_init(const struct omap_prcm_init_data *data);
  76. #endif /* ASSEMBLER */
  77. #endif