mirror of
https://github.com/saymrwulf/pulp-runtime.git
synced 2026-05-16 21:00:16 +00:00
132 lines
4.5 KiB
C
132 lines
4.5 KiB
C
/*
|
|
* Copyright (C) 2018 ETH Zurich, University of Bologna
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
|
|
#ifndef __ARCHI_CHIPS_CONTROL_PULP_MEMORY_MAP_H__
|
|
#define __ARCHI_CHIPS_CONTROL_PULP_MEMORY_MAP_H__
|
|
|
|
|
|
/*
|
|
* MEMORIES
|
|
*/
|
|
|
|
#define ARCHI_L2_PRIV0_ADDR 0x1c000000
|
|
#define ARCHI_L2_PRIV0_SIZE 0x00008000
|
|
|
|
#define ARCHI_L2_PRIV1_ADDR 0x1c008000
|
|
#define ARCHI_L2_PRIV1_SIZE 0x00008000
|
|
|
|
#define ARCHI_L2_SHARED_ADDR 0x1c010000
|
|
#define ARCHI_L2_SHARED_SIZE 0x00070000
|
|
|
|
|
|
/*
|
|
* SOC PERIPHERALS
|
|
*/
|
|
|
|
#define ARCHI_SOC_PERIPHERALS_ADDR 0x1A100000
|
|
|
|
#define ARCHI_FC_TIMER_SIZE 0x00000800
|
|
|
|
|
|
#define ARCHI_FLL_OFFSET 0x00000000
|
|
#define ARCHI_GPIO_OFFSET 0x00001000
|
|
#define ARCHI_UDMA_OFFSET 0x00002000
|
|
#define ARCHI_APB_SOC_CTRL_OFFSET 0x00004000
|
|
#define ARCHI_SOC_EU_OFFSET 0x00006000
|
|
#define ARCHI_FC_ITC_OFFSET 0x00009800
|
|
#define ARCHI_FC_TIMER_OFFSET 0x0000B000
|
|
#define ARCHI_STDOUT_OFFSET 0x0000F000
|
|
|
|
|
|
|
|
#define ARCHI_GPIO_ADDR ( ARCHI_SOC_PERIPHERALS_ADDR + ARCHI_GPIO_OFFSET )
|
|
#define ARCHI_UDMA_ADDR ( ARCHI_SOC_PERIPHERALS_ADDR + ARCHI_UDMA_OFFSET )
|
|
#define ARCHI_APB_SOC_CTRL_ADDR ( ARCHI_SOC_PERIPHERALS_ADDR + ARCHI_APB_SOC_CTRL_OFFSET )
|
|
#define ARCHI_SOC_EU_ADDR ( ARCHI_SOC_PERIPHERALS_ADDR + ARCHI_SOC_EU_OFFSET )
|
|
#define ARCHI_FC_ITC_ADDR ( ARCHI_SOC_PERIPHERALS_ADDR + ARCHI_FC_ITC_OFFSET )
|
|
#define ARCHI_FC_TIMER_ADDR ( ARCHI_SOC_PERIPHERALS_ADDR + ARCHI_FC_TIMER_OFFSET )
|
|
#define ARCHI_STDOUT_ADDR ( ARCHI_SOC_PERIPHERALS_ADDR + ARCHI_STDOUT_OFFSET )
|
|
|
|
#define ARCHI_FLL_AREA_SIZE 0x00000010
|
|
|
|
|
|
|
|
|
|
/*
|
|
* FC
|
|
*/
|
|
|
|
#define ARCHI_FC_ADDR 0x00000000
|
|
#define ARCHI_FC_GLOBAL_ADDR 0x1B000000
|
|
|
|
|
|
/*
|
|
* CLUSTER
|
|
*/
|
|
|
|
#define ARCHI_CLUSTER_ADDR 0x00000000
|
|
#define ARCHI_CLUSTER_SIZE 0x00400000
|
|
#define ARCHI_CLUSTER_GLOBAL_ADDR(cid) (0x10000000 + (cid)*ARCHI_CLUSTER_SIZE)
|
|
|
|
|
|
|
|
/*
|
|
* CLUSTER PERIPHERALS
|
|
*/
|
|
|
|
#define ARCHI_CLUSTER_PERIPHERALS_OFFSET 0x00200000
|
|
|
|
#define ARCHI_TIMER_SIZE 0x00000800
|
|
|
|
#define ARCHI_CLUSTER_CTRL_OFFSET 0x00000000
|
|
#define ARCHI_TIMER_OFFSET 0x00000400
|
|
#define ARCHI_EU_OFFSET 0x00000800
|
|
#define ARCHI_HWCE_OFFSET 0x00001000
|
|
#define ARCHI_ICACHE_CTRL_OFFSET 0x00001400
|
|
#define ARCHI_MCHAN_EXT_OFFSET 0x00001800
|
|
#define ARCHI_IDMA_EXT_OFFSET 0x00001800
|
|
|
|
#define ARCHI_CLUSTER_PERIPHERALS_ADDR ( ARCHI_CLUSTER_ADDR + ARCHI_CLUSTER_PERIPHERALS_OFFSET )
|
|
#define ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_GLOBAL_ADDR(cid) + ARCHI_CLUSTER_PERIPHERALS_OFFSET )
|
|
|
|
#define ARCHI_CLUSTER_CTRL_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_CLUSTER_CTRL_OFFSET )
|
|
#define ARCHI_ICACHE_CTRL_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_ICACHE_CTRL_OFFSET )
|
|
#define ARCHI_EU_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_EU_OFFSET )
|
|
#define ARCHI_HWCE_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_HWCE_OFFSET )
|
|
#define ARCHI_MCHAN_EXT_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_MCHAN_EXT_OFFSET )
|
|
#define ARCHI_IDMA_EXT_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_IDMA_EXT_OFFSET )
|
|
|
|
|
|
|
|
/*
|
|
* CLUSTER DEMUX PERIPHERALS
|
|
*/
|
|
|
|
#define ARCHI_DEMUX_PERIPHERALS_OFFSET 0x204000
|
|
|
|
#define ARCHI_EU_DEMUX_OFFSET ( 0x00000 )
|
|
#define ARCHI_MCHAN_DEMUX_OFFSET ( 0x00400 )
|
|
#define ARCHI_IDMA_DEMUX_OFFSET ( 0x00400 )
|
|
|
|
|
|
#define ARCHI_DEMUX_PERIPHERALS_ADDR ( ARCHI_CLUSTER_ADDR + ARCHI_DEMUX_PERIPHERALS_OFFSET )
|
|
|
|
#define ARCHI_EU_DEMUX_ADDR ( ARCHI_DEMUX_PERIPHERALS_ADDR + ARCHI_EU_DEMUX_OFFSET )
|
|
#define ARCHI_MCHAN_DEMUX_ADDR ( ARCHI_DEMUX_PERIPHERALS_ADDR + ARCHI_MCHAN_DEMUX_OFFSET )
|
|
#define ARCHI_IDMA_DEMUX_ADDR ( ARCHI_DEMUX_PERIPHERALS_ADDR + ARCHI_IDMA_DEMUX_OFFSET )
|
|
|
|
#endif
|