imx_regs.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /*
  2. * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef IMX_REGS_H
  7. #define IMX_REGS_H
  8. /* Define the processor memory map */
  9. #define OCRAM_S_ALIAS_BASE 0x00000000 /* CM4 Alias Code */
  10. #define ROM_HIGH_BASE 0x00008000 /* ROM high 64k */
  11. #define ROM_HIGH_PROT_BASE 0x00017000 /* ROM high 64k protected */
  12. #define CAAM_BASE 0x00020000 /* CAAM block base address */
  13. #define OCRAM_S_BASE 0x00180000 /* OCRAM_S */
  14. #define ROM_LOW_BASE 0x007f8000 /* ROM low 64k */
  15. #define OCRAM_BASE 0x00900000 /* OCRAM base */
  16. #define CM4_ALIAS_CODE_BASE 0x04000000 /* CM4 alias code */
  17. #define TCM_BASE 0x1fff0000 /* TCM */
  18. #define BOOTROM_CP_BASE 0x20020000 /* Boot ROM (all 96KB) */
  19. #define CM4_ALIAS_SYSTEM_BASE 0x20100000 /* CM4 Alias system */
  20. #define EIM_BASE 0x28000000 /* EIM */
  21. /* BootROM absolute base address */
  22. #define BOOTROM_BASE 0x00000000 /* BootROM */
  23. /* Peripherals like GPIO live in the AIPS range */
  24. #define AIPS1_BASE 0x30000000 /* AIPS1 */
  25. #define AIPS2_BASE 0x30400000 /* AIPS2 */
  26. #define AIPS3_BASE 0x30800000 /* AIPS3 */
  27. #define AIPS4_BASE 0x30c00000 /* AIPS4 */
  28. /* ARM peripherals like GIC */
  29. #define ARM_PERIPHERAL_GIC_BASE 0x31000000 /* GIC */
  30. /* Configuration ports */
  31. #define GPV0_BASE 0x32000000 /* Main config port */
  32. #define GPV1_BASE 0x32100000 /* Wakeup config port */
  33. #define GPV2_BASE 0x32200000 /* Per_s config port */
  34. #define GPV3_BASE 0x32300000 /* Per_m config port */
  35. #define GPV4_BASE 0x32400000 /* Enet config port */
  36. #define GPV5_BASE 0x32500000 /* Display config port */
  37. #define GPV6_BASE 0x32600000 /* M4 conig port */
  38. /* MMAP peripherals - like APBH DMA */
  39. #define APBH_DMA_BASE 0x33000000 /* APBH DMA block */
  40. /* QSPI RX BUFFERS */
  41. #define QSPI_RX_BUFFER_BASE 0x34000000 /* QSPI RX buffers */
  42. /* QSPI1 FLASH */
  43. #define QSPI_FLASH_BASE 0x60000000 /* QSPI1 flash */
  44. /* AIPS1 block addresses */
  45. #define AIPSTZ_CONFIG_OFFSET 0x001f0000
  46. #define CCM_BASE (AIPS1_BASE + 0x380000)
  47. /* Define the maximum number of UART blocks on this SoC */
  48. #define MXC_UART1_BASE (AIPS3_BASE + 0x060000)
  49. #define MXC_UART2_BASE (AIPS3_BASE + 0x070000)
  50. #define MXC_UART3_BASE (AIPS3_BASE + 0x080000)
  51. #define MXC_UART4_BASE (AIPS3_BASE + 0x260000)
  52. #define MXC_UART5_BASE (AIPS3_BASE + 0x270000)
  53. #define MXC_UART6_BASE (AIPS3_BASE + 0x280000)
  54. #define MXC_UART7_BASE (AIPS3_BASE + 0x290000)
  55. #define MXC_MAX_UART_NUM 0x07
  56. /* Define the maximum number of USDHCI blocks on this SoC */
  57. #define MXC_MAX_USDHC_NUM 3
  58. /* Define the number of CSU registers for this SoC */
  59. #define MXC_MAX_CSU_REGS 0x40
  60. #define CSU_BASE (AIPS1_BASE + 0x3E0000)
  61. /* IO Mux block base */
  62. #define MXC_IO_MUXC_BASE (AIPS1_BASE + 0x330000)
  63. /* SNVS base */
  64. #define SNVS_BASE (AIPS1_BASE + 0x370000)
  65. /* GP Timer base */
  66. #define GPT1_BASE_ADDR (AIPS1_BASE + 0x2d0000)
  67. /* MMC base */
  68. #define USDHC1_BASE (AIPS1_BASE + 0xb40000)
  69. #define USDHC2_BASE (AIPS1_BASE + 0xb50000)
  70. #define USDHC3_BASE (AIPS1_BASE + 0xb60000)
  71. /* Arm optional memory mapped counter module base address */
  72. #define SYS_CNTCTL_BASE (AIPS2_BASE + 0x2c0000)
  73. /* Define CAAM AIPS offset */
  74. #define CAAM_AIPS_BASE (AIPS3_BASE + 0x100000)
  75. #define CAAM_NUM_JOB_RINGS 0x03
  76. #define CAAM_NUM_RTIC 0x04
  77. #define CAAM_NUM_DECO 0x01
  78. /* Define watchdog base addresses */
  79. #define WDOG1_BASE (AIPS1_BASE + 0x280000)
  80. #define WDOG2_BASE (AIPS1_BASE + 0x290000)
  81. #define WDOG3_BASE (AIPS1_BASE + 0x2A0000)
  82. #define WDOG4_BASE (AIPS1_BASE + 0x280000)
  83. /* Define the maximum number of WDOG blocks on this SoC */
  84. #define MXC_MAX_WDOG_NUM 0x04
  85. #endif /* IMX_REGS_H */