/* * Copyright (C) 2016 Freescale Semiconductor, Inc. All Rights Reserved. * Copyright NXP 2017. */ /* * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License version 2 as * * published by the Free Software Foundation. * */ #ifndef __ASM_ARCH_MX7ULP_IOMAP_H__ #define __ASM_ARCH_MX7ULP_IOMAP_H__ #define MX7ULP_IO_P2V(x) IMX_IO_P2V(x) #define MX7ULP_IO_ADDRESS(x) IOMEM(MX7ULP_IO_P2V(x)) #define MX7ULP_AIPS1_BASE_ADDR 0x40000000 #define MX7ULP_AIPS1_SIZE 0x100000 #define MX7ULP_AIPS2_BASE_ADDR 0x40300000 #define MX7ULP_AIPS2_SIZE 0x100000 #define MX7ULP_AIPS3_BASE_ADDR 0x40400000 #define MX7ULP_AIPS3_SIZE 0x100000 #define MX7ULP_AIPS4_BASE_ADDR 0x40a00000 #define MX7ULP_AIPS4_SIZE 0x100000 #define MX7ULP_AIPS5_BASE_ADDR 0x41000000 #define MX7ULP_AIPS5_SIZE 0x100000 #define MX7ULP_GPIOC_BASE_ADDR 0x400f0000 #define MX7ULP_GPIOC_SIZE 0x1000 #define MX7ULP_PCC3_BASE_ADDR 0x40b30000 #define MX7ULP_PCC3_SIZE 0x1000 #define MX7ULP_SCG1_BASE_ADDR 0x403e0000 #define MX7ULP_SCG1_SIZE 0x1000 #define MX7ULP_PCC2_BASE_ADDR 0x403f0000 #define MX7ULP_PCC2_SIZE 0x1000 #define MX7ULP_SIM_BASE_ADDR 0x410a3000 #define MX7ULP_SIM_SIZE 0x1000 #define MX7ULP_PMC1_BASE_ADDR 0x40400000 #define MX7ULP_PMC1_SIZE 0x1000 #define MX7ULP_SMC1_BASE_ADDR 0x40410000 #define MX7ULP_SMC1_SIZE 0x1000 #define MX7ULP_MMDC_BASE_ADDR 0x40ab0000 #define MX7ULP_MMDC_SIZE 0x1000 #define MX7ULP_IOMUXC1_BASE_ADDR 0x40ac0000 #define MX7ULP_IOMUXC1_BASE__SIZE 0x1000 #define MX7ULP_MMDC_IO_BASE_ADDR 0x40ad0000 #define MX7ULP_MMDC_IO_SIZE 0x1000 /* below is just used for static mapping of the AIPSx's memory region */ #define MX7ULP_AIPS_VIRT_BASE(x) (0xf4000000 + ((x) * SZ_1M)) #define mx7ulp_aips_map_entry(index, _type) { \ .virtual = MX7ULP_AIPS_VIRT_BASE(index), \ .pfn = __phys_to_pfn(MX7ULP_AIPS ## index ## _BASE_ADDR), \ .length = SZ_1M, \ .type = _type, \ } #define TT_ATTRIB_NON_CACHEABLE_1M 0x802 #define MX7ULP_IRAM_TLB_SIZE 0x4000 #define MX7ULP_SUSPEND_OCRAM_SIZE 0x1000 #endif