text: /*
   * 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_ */
  