xref: /optee_os/core/arch/arm/plat-imx/registers/imx8m.h (revision d2f982b68b460317b3bf19826789e3f7f5936037)
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*
3  * Copyright 2017-2019 NXP
4  */
5 
6 #ifndef __IMX8M_H__
7 #define __IMX8M_H__
8 
9 #include <registers/imx8m-crm.h>
10 
11 #define GICD_BASE	0x38800000
12 #define GICR_BASE	0x38880000
13 #define UART1_BASE	0x30860000
14 #define UART2_BASE	0x30890000
15 #define UART3_BASE	0x30880000
16 #define UART4_BASE	0x30A60000
17 #define TZASC_BASE	0x32F80000
18 #define TZASC_SIZE	0x10000
19 #define CAAM_BASE	0x30900000
20 #define CAAM_SIZE	0x40000
21 #define CCM_BASE	0x30380000
22 #define CCM_SIZE	0x10000
23 #define ANATOP_BASE	0x30360000
24 #define IOMUXC_BASE	0x30330000
25 #define OCOTP_BASE	0x30350000
26 #define OCOTP_SIZE	0x10000
27 #define SNVS_BASE	0x30370000
28 #define SNVS_SIZE	0x10000
29 #define SECMEM_BASE	0x00100000
30 #define SECMEM_SIZE	0x8000
31 
32 #ifdef CFG_MX8MQ
33 #define DIGPROG_OFFSET	  0x06c
34 #define OCOTP_SW_INFO_B1  0x40
35 #define OCOTP_SW_MAGIC_B1 0xFF0055AA
36 #endif
37 #if defined(CFG_MX8MM) || defined(CFG_MX8MN) || defined(CFG_MX8MP)
38 #define DIGPROG_OFFSET	0x800
39 #endif
40 
41 #if defined(CFG_MX8MM) || defined(CFG_MX8MQ) || defined(CFG_MX8MN)
42 #define I2C1_BASE		0x30a20000
43 #define I2C2_BASE		0x30a30000
44 #define I2C3_BASE		0x30a40000
45 #define I2C4_BASE		0x30a50000
46 
47 #define IOMUXC_I2C1_SCL_CFG_OFF	0x47C
48 #define IOMUXC_I2C1_SDA_CFG_OFF	0x480
49 #define IOMUXC_I2C1_SCL_MUX_OFF	0x214
50 #define IOMUXC_I2C1_SDA_MUX_OFF	0x218
51 #endif
52 
53 #if defined(CFG_MX8MP)
54 #define I2C1_BASE		0x30a20000
55 #define I2C2_BASE		0x30a30000
56 #define I2C3_BASE		0x30a40000
57 #define I2C4_BASE		0x30a50000
58 #define I2C5_BASE		0x30ad0000
59 #define I2C6_BASE		0x30ae0000
60 
61 #define IOMUXC_I2C1_SCL_CFG_OFF	0x460
62 #define IOMUXC_I2C1_SDA_CFG_OFF	0x464
63 #define IOMUXC_I2C1_SCL_MUX_OFF	0x200
64 #define IOMUXC_I2C1_SDA_MUX_OFF	0x204
65 #endif
66 
67 #endif /* __IMX8M_H__ */
68