blob: a80ea8c19c6bddd3a868bbe62655f7beddb1e82b [file] [log] [blame]
/*
* Copyright (c) 2017 Linaro Limited
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _SOC_MEMORY_MAP_H_
#define _SOC_MEMORY_MAP_H_
/*
* Address space definitions
*/
/* MPS2 Address space definition */
#define MPS2_APB_BASE_ADDR 0x40000000
#define MPS2_AHB_BASE_ADDR 0x40010000
#define MPS2_FPGA_APB_BASE_ADDR 0x40020000
/* MPS2 AHB peripherals */
#define GPIO_0_BASE_ADDR (MPS2_AHB_BASE_ADDR + 0x0000)
#define GPIO_1_BASE_ADDR (MPS2_AHB_BASE_ADDR + 0x1000)
#define GPIO_2_BASE_ADDR (MPS2_AHB_BASE_ADDR + 0x2000)
#define GPIO_3_BASE_ADDR (MPS2_AHB_BASE_ADDR + 0x3000)
#define SYSCON_BASE_ADDR (MPS2_AHB_BASE_ADDR + 0xF000)
/* MPS2 APB peripherals */
#define TIMER_0_BASE_ADDR (MPS2_APB_BASE_ADDR + 0x0000)
#define TIMER_1_BASE_ADDR (MPS2_APB_BASE_ADDR + 0x1000)
#define DTIMER_BASE_ADDR (MPS2_APB_BASE_ADDR + 0x2000)
#define UART_0_BASE_ADDR (MPS2_APB_BASE_ADDR + 0x4000)
#define UART_1_BASE_ADDR (MPS2_APB_BASE_ADDR + 0x5000)
#define UART_2_BASE_ADDR (MPS2_APB_BASE_ADDR + 0x6000)
#define UART_3_BASE_ADDR (MPS2_APB_BASE_ADDR + 0x7000)
#define WDOG_BASE_ADDR (MPS2_APB_BASE_ADDR + 0x8000)
#define UART_4_BASE_ADDR (MPS2_APB_BASE_ADDR + 0x9000)
/* MPS2 peripherals in FPGA APB subsystem */
#define I2C_TOUCH_BASE_ADDR (MPS2_FPGA_APB_BASE_ADDR + 0x2000)
#define I2C_AUDIO_CONF_BASE_ADDR (MPS2_FPGA_APB_BASE_ADDR + 0x3000)
#define FPGAIO_BASE_ADDR (MPS2_FPGA_APB_BASE_ADDR + 0x8000)
#define I2C_SHIELD0_BASE_ADDR (MPS2_FPGA_APB_BASE_ADDR + 0x9000)
#define I2C_SHIELD1_BASE_ADDR (MPS2_FPGA_APB_BASE_ADDR + 0xa000)
#endif /* _SOC_MEMORY_MAP_H_ */