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