blob: 6854b95bde8e592dca81a3daf3b5cfeaea3af5fb [file] [log] [blame]
/*******************************************************************************
Copyright (C) Marvell International Ltd. and its affiliates
This software file (the "File") is owned and distributed by Marvell
International Ltd. and/or its affiliates ("Marvell") under the following
alternative licensing terms. Once you have made an election to distribute the
File under one of the following license alternatives, please (i) delete this
introductory statement regarding license alternatives, (ii) delete the two
license alternatives that you have not elected to use and (iii) preserve the
Marvell copyright notice above.
********************************************************************************
Marvell Commercial License Option
If you received this File from Marvell and you have entered into a commercial
license agreement (a "Commercial License") with Marvell, the File is licensed
to you under the terms of the applicable Commercial License.
********************************************************************************
Marvell GPL License Option
If you received this File from Marvell, you may opt to use, redistribute and/or
modify this File in accordance with the terms and conditions of the General
Public License Version 2, June 1991 (the "GPL License"), a copy of which is
available along with the File in the license.txt file or by writing to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
DISCLAIMED. The GPL License provides additional details about this warranty
disclaimer.
********************************************************************************
Marvell BSD License Option
If you received this File from Marvell, you may opt to use, redistribute and/or
modify this File under the following licensing terms.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Marvell nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*******************************************************************************/
#ifndef __INCmvCtrlEnvSpech
#define __INCmvCtrlEnvSpech
#include "mvDeviceId.h"
#include "mvSysHwConfig.h"
#include "ctrlEnv/sys/mvCpuIfRegs.h"
#define MAX_TARGETS (mvCtrlDevFamilyIdGet(0) == MV_78460_DEV_ID ? \
MAX_TARGETS_AXP : MAX_TARGETS_MSYS)
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#define MV_ARM_SOC
#if defined CONFIG_ALLEYCAT3
#define SOC_NAME_PREFIX "Alleycat3"
#elif defined CONFIG_BOBCAT2
#define SOC_NAME_PREFIX "Bobcat2"
#else
#define SOC_NAME_PREFIX "BobK"
#endif
/*
* Bobcat2/AXP Units Address decoding
*/
#define MV_DRAM_REGS_OFFSET (0x0)
#define MV_AURORA_L2_REGS_OFFSET (0x8000)
#define MV_RTC_REGS_OFFSET (0x10300)
#define MV_DEV_BUS_REGS_OFFSET (0x10400)
#define MV_SPI_REGS_OFFSET(unit) (0x10600 + (unit * 0x80))
#define MV_TWSI_SLAVE_REGS_OFFSET(chanNum) (0x11000 + (chanNum * 0x100))
#define MV_UART_REGS_OFFSET(chanNum) (0x12000 + (chanNum * 0x100))
#define MV_RUNIT_PMU_REGS_OFFSET (0x1C000)
#define MV_MPP_REGS_OFFSET (0x18000)
#define MV_GPP_REGS_OFFSET(unit) (0x18100 + ((unit) * 0x80))
#define MV_GPP_REGS_OFFSET_AXP(unit) (0x18100 + ((unit) * 0x40))
#define MV_MISC_REGS_OFFSET (0x18200)
#define MV_CLK_CMPLX_REGS_OFFSET (0x18700)
#define MV_MBUS_REGS_OFFSET (0x20000)
#define MV_COHERENCY_FABRIC_OFFSET (0x20200)
#define MV_COHERENCY_FABRIC_CTRL_REG (MV_COHERENCY_FABRIC_OFFSET + 0x0)
#define MV_COHERENCY_FABRIC_CFG_REG (MV_COHERENCY_FABRIC_OFFSET + 0x4)
#define MV_CIB_CTRL_STATUS_OFFSET (0x20280)
#define MV_CNTMR_REGS_OFFSET (0x20300)
#define MV_CPUIF_LOCAL_REGS_OFFSET (0x21000)
#define MV_CPUIF_REGS_OFFSET(cpu) (0x21800 + (cpu) * 0x100)
#define MV_PMU_NFABRIC_UNIT_SERV_OFFSET (0x22000)
#define MV_CPU_PMU_UNIT_SERV_OFFSET(cpu) (0x22100 + (cpu) * 0x100)
#define MV_CPU_HW_SEM_OFFSET (0x20500)
#define MV_ETH_BASE_ADDR (0x70000)
#define MV_ETH_REGS_OFFSET(port) (MV_ETH_BASE_ADDR - ((port) / 2) * 0x40000 + ((port) % 2) * 0x4000)
#define MV_PEX_IF_REGS_OFFSET(pexIf)\
(pexIf < 8 ? (0x40000 + ((pexIf) / 4) * 0x40000 + ((pexIf) % 4) * 0x4000)\
: (0X42000 + ((pexIf) % 8) * 0x40000))
#define MV_USB_REGS_OFFSET(dev) (0x50000 + (dev * 0x1000))
#define MV_USB2_USB3_REGS_OFFSET(unitType, dev) (MV_USB_REGS_OFFSET(dev))
#define MV_XOR_REGS_OFFSET(unit) (0xF0800)
#define MV_XOR_REGS_OFFSET_AXP(unit) (unit ? 0xF0900 : 0x60900)
#if defined(MV_INCLUDE_IDMA)
#define MV_IDMA_REGS_OFFSET (0x60800)
#endif
#define MV_CESA_TDMA_REGS_OFFSET(chanNum) (0x90000 + (chanNum * 0x2000))
#define MV_CESA_REGS_OFFSET(chanNum) (0x9D000 + (chanNum * 0x2000))
#define MV_SATA_REGS_OFFSET (0xA0000)
#define MV_COMM_UNIT_REGS_OFFSET (0xB0000)
#define MV_NFC_REGS_OFFSET (0xD0000)
#define MV_BM_REGS_OFFSET (0xC0000)
#define MV_PNC_REGS_OFFSET (0xC8000)
#define MV_SDMMC_REGS_OFFSET (0xD4000)
#define MV_USB2_CAPLENGTH_OFFSET(index) (INTER_REGS_BASE + MV_USB_REGS_OFFSET(index) + 0x100)
#define MV_ETH_SMI_PORT 0
#define MV_PP_SMI_BASE(n) (0x54000000 + 0x01000000*n)
#define MV_PP_ETH_SMI_PORT 0
/*
* Miscellanuous Controller Configurations
*/
#define AVS_CONTROL2_REG 0x20868
#define AVS_LOW_VDD_LIMIT 0x20860
#define INTER_REGS_SIZE _1M
/* This define describes the TWSI interrupt bit and location */
#define TWSI_CPU_MAIN_INT_CAUSE_REG(cpu) CPU_MAIN_INT_CAUSE_REG(1, (cpu))
#define TWSI0_CPU_MAIN_INT_BIT(ch) ((ch) + 3)
#define TWSI_SPEED 100000
#define MV_GPP_MAX_PINS 68
#define MV_GPP_MAX_GROUP 2 /* group == configuration register? */
#define MV_GPP_MAX_GROUP_AXP 3
#define MV_CNTMR_MAX_COUNTER 8 /* 4 global + 1 global WD + 2 current private CPU + 1 private CPU WD*/
#define MV_UART_MAX_CHAN 2
#define MV_XOR_MAX_UNIT 2 /* XOR unit == XOR engine */
#define MV_XOR_MAX_CHAN 4 /* total channels for all units together*/
#define MV_XOR_MAX_CHAN_PER_UNIT 2 /* channels for units */
#define MV_MPP_MAX_GROUP 5
#define MV_MPP_MAX_GROUP_AXP 9
#define MV_DRAM_MAX_CS 4
#define MV_SPI_MAX_CS 8
/* This define describes the maximum number of supported PCI\PCIX Interfaces */
#ifdef MV_INCLUDE_PCI
#define MV_PCI_MAX_IF 1
#define MV_PCI_START_IF 0
#define PCI_HOST_BUS_NUM(pciIf) (pciIf)
#define PCI_HOST_DEV_NUM(pciIf) 0
#else
#define MV_PCI_MAX_IF 0
#define MV_PCI_START_IF 0
#endif
/* This define describes the maximum number of supported PEX Interfaces */
#define MV_PEX_MAX_IF 10 /* 1 for MSYS */
#define MV_PEX_MAX_UNIT 4 /* 1 for MSYS */
#ifdef MV_INCLUDE_PEX
#define MV_INCLUDE_PEX0
#define MV_DISABLE_PEX_DEVICE_BAR
#define MV_PEX_START_IF MV_PCI_MAX_IF
#define PEX_HOST_BUS_NUM(pciIf) (pciIf)
#define PEX_HOST_DEV_NUM(pciIf) 0
#else
#undef MV_INCLUDE_PEX0
#endif
#define PCI_IO(pciIf) (PEX0_IO + 2 * (pciIf))
#define PCI_MEM(pciIf, memNum) (PEX0_MEM0 + 2 * (pciIf))
/* This define describes the maximum number of supported PCI Interfaces */
#define MV_DEVICE_MAX_CS 4
/* CESA version #3: One channel, 2KB SRAM, TDMA, CHAIN Mode support */
#define MV_CESA_VERSION 3
#define MV_CESA_SRAM_SIZE (2 * 1024)
#ifdef MV_USB
#define MV_USB_MAX_PORTS 1
#else
#define MV_USB_MAX_PORTS 0
#endif
#define MV_USB3_MAX_HOST_PORTS 0
/* This define describes the maximum number of supported Ethernet ports */
/* TODO - verify all these numbers */
#define MV_ETH_VERSION 4 /* for Legacy mode */
#define MV_NETA_VERSION 1 /* for NETA mode */
#define MV_ETH_MAX_PORTS 4
#define MV_ETH_MAX_RXQ 8
#define MV_ETH_MAX_TXQ 8
#define MV_ETH_TX_CSUM_MAX_SIZE 9800
#define MV_ETH_TX_CSUM_MIN_SIZE 2048
#define MV_PNC_TCAM_LINES 1024 /* TCAM num of entries */
#define BOARD_ETH_SWITCH_PORT_NUM 2
/* New GMAC module is used */
#define MV_ETH_GMAC_NEW
/* New WRR/EJP module is used */
#define MV_ETH_WRR_NEW
/* IPv6 parsing support for Legacy parser */
#define MV_ETH_LEGACY_PARSER_IPV6
#define MV_MV_98DX_ETH_MAX_PORT 2
#define MV_SPI_VERSION 2
#define MV_INCLUDE_SDRAM_CS0
#define MV_INCLUDE_SDRAM_CS1
#define MV_INCLUDE_SDRAM_CS2
#define MV_INCLUDE_SDRAM_CS3
#define MV_INCLUDE_DEVICE_CS0
#define MV_INCLUDE_DEVICE_CS1
#define MV_INCLUDE_DEVICE_CS2
#define MV_INCLUDE_DEVICE_CS3
#ifndef MV_ASMLANGUAGE
#define TBL_UNUSED 0 /* Used to mark unused entry */
/* This enumerator defines the Marvell Units ID */
typedef enum _mvUnitId {
DRAM_UNIT_ID,
PEX_UNIT_ID,
ETH_GIG_UNIT_ID,
XOR_UNIT_ID,
UART_UNIT_ID,
SPI_UNIT_ID,
SDIO_UNIT_ID,
I2C_UNIT_ID,
USB_UNIT_ID,
USB3_UNIT_ID,
NAND_UNIT_ID,
DEVBUS_UNIT_ID,
IDMA_UNIT_ID,
SATA_UNIT_ID,
TDM_UNIT_ID,
CESA_UNIT_ID,
AUDIO_UNIT_ID,
TS_UNIT_ID,
XPON_UNIT_ID,
BM_UNIT_ID,
PNC_UNIT_ID,
MAX_UNITS_ID
} MV_UNIT_ID;
/* This enumerator describes the Marvell controller possible devices that */
/* can be connected to its device interface. */
typedef enum _mvDevice {
#if defined(MV_INCLUDE_DEVICE_CS0)
DEV_CS0 = 0, /* Device connected to dev CS[0] */
#endif
#if defined(MV_INCLUDE_DEVICE_CS1)
DEV_CS1 = 1, /* Device connected to dev CS[1] */
#endif
#if defined(MV_INCLUDE_DEVICE_CS2)
DEV_CS2 = 2, /* Device connected to dev CS[2] */
#endif
#if defined(MV_INCLUDE_DEVICE_CS3)
DEV_CS3 = 3, /* Device connected to dev CS[2] */
#endif
BOOT_CS, /* Device connected to BOOT dev */
MV_DEV_MAX_CS = MV_DEVICE_MAX_CS
} MV_DEVICE;
/* This enumerator described the possible Controller paripheral targets. */
/* Controller peripherals are designated memory/IO address spaces that the */
/* controller can access. They are also refered as "targets" */
typedef enum _mvTarget {
TBL_TERM = -1, /* none valid target, used as targets list terminator*/
SDRAM_CS0, /* 0 SDRAM chip select 0 */
SDRAM_CS1, /* 1 SDRAM chip select 1 */
SDRAM_CS2, /* 2 SDRAM chip select 2 */
SDRAM_CS3, /* 3 SDRAM chip select 3 */
DEVICE_CS0, /* 4 Device chip select 0 */
DEVICE_CS1, /* 5 Device chip select 1 */
DEVICE_CS2, /* 6 Device chip select 2 */
DEVICE_CS3, /* 7 Device chip select 3 */
PEX0_MEM, /* 8 PCI Express 0 Memory */
PEX0_IO, /* 9 PCI Express 0 IO */
INTER_REGS, /* 10 Internal registers */
DFX_REGS, /* 11 DFX Internal registers */
SWITCH, /* 12 SWITCH */
DMA_UART, /* 13 DMA based UART request */
SPI_CS0, /* 14 SPI_CS0 */
SPI_CS1, /* 15 SPI_CS1 */
SPI_CS2, /* 16 SPI_CS2 */
SPI_CS3, /* 17 SPI_CS3 */
SPI_CS4, /* 18 SPI_CS4 */
SPI_CS5, /* 19 SPI_CS5 */
SPI_CS6, /* 20 SPI_CS6 */
SPI_CS7, /* 21 SPI_CS7 */
BOOT_ROM_CS, /* 22 BOOT_ROM_CS */
DEV_BOOCS, /* 23 DEV_BOOCS */
USB_REGS, /* 24 USB Internal registers */
DRAGONITE, /* 25 Dragonite co-processor */
MAX_TARGETS_MSYS
} MV_TARGET;
enum _mvTarget_axp {
SDRAM_CS0_AXP, /*0 SDRAM chip select 0 */
SDRAM_CS1_AXP, /*1 SDRAM chip select 1 */
SDRAM_CS2_AXP, /*2 SDRAM chip select 2 */
SDRAM_CS3_AXP, /*3 SDRAM chip select 3 */
DEVICE_CS0_AXP, /*4 Device chip select 0 */
DEVICE_CS1_AXP, /*5 Device chip select 1 */
DEVICE_CS2_AXP, /*6 Device chip select 2 */
DEVICE_CS3_AXP, /*7 Device chip select 3 */
PEX0_MEM_AXP, /*8 PCI Express 0 Memory */
PEX0_IO_AXP, /*9 PCI Express 0 IO */
PEX1_MEM, /*10 PCI Express 1 Memory */
PEX1_IO, /*11 PCI Express 1 IO */
PEX2_MEM, /*12 PCI Express 2 Memory */
PEX2_IO, /*13 PCI Express 2 IO */
PEX3_MEM, /*14 PCI Express 3 Memory */
PEX3_IO, /*15 PCI Express 3 IO */
PEX4_MEM, /*16 PCI Express 4 Memory */
PEX4_IO, /*17 PCI Express 4 IO */
PEX5_MEM, /*18 PCI Express 5 Memory */
PEX5_IO, /*19 PCI Express 5 IO */
PEX6_MEM, /*20 PCI Express 6 Memory */
PEX6_IO, /*21 PCI Express 6 IO */
PEX7_MEM, /*22 PCI Express 7 Memory */
PEX7_IO, /*23 PCI Express 7 IO */
PEX8_MEM, /*24 PCI Express 8 Memory */
PEX8_IO, /*25 PCI Express 8 IO */
PEX9_MEM, /*26 PCI Express 9 Memory */
PEX9_IO, /*27 PCI Express 9 IO */
INTER_REGS_AXP, /*28 Internal registers */
DMA_UART_AXP, /*29 DMA based UART request */
SPI_CS0_AXP, /*30 SPI_CS0 */
SPI_CS1_AXP, /*31 SPI_CS1 */
SPI_CS2_AXP, /*32 SPI_CS2 */
SPI_CS3_AXP, /*33 SPI_CS3 */
SPI_CS4_AXP, /*34 SPI_CS4 */
SPI_CS5_AXP, /*35 SPI_CS5 */
SPI_CS6_AXP, /*36 SPI_CS6 */
SPI_CS7_AXP, /*37 SPI_CS7 */
BOOT_ROM_CS_AXP, /*38 BOOT_ROM_CS */
DEV_BOOCS_AXP, /*39 DEV_BOOCS */
PMU_SCRATCHPAD, /*40 PMU Scratchpad */
CRYPT0_ENG, /* 41 Crypto0 Engine */
CRYPT1_ENG, /* 42 Crypto1 Engine */
PNC_BM, /* 43 PNC + BM */
MAX_TARGETS_AXP
};
#ifdef AURORA_IO_CACHE_COHERENCY
#define DRAM_CS0_ATTR 0x1E
#define DRAM_CS1_ATTR 0x1D
#define DRAM_CS2_ATTR 0x1B
#define DRAM_CS3_ATTR 0x17
#else
#define DRAM_CS0_ATTR 0x0E
#define DRAM_CS1_ATTR 0x0D
#define DRAM_CS2_ATTR 0x0B
#define DRAM_CS3_ATTR 0x07
#endif
#define TARGETS_DEF_ARRAY { \
{DRAM_CS0_ATTR, DRAM_TARGET_ID }, /* 0 SDRAM_CS0 */ \
{DRAM_CS1_ATTR, DRAM_TARGET_ID }, /* 1 SDRAM_CS1 */ \
{DRAM_CS2_ATTR, DRAM_TARGET_ID }, /* 2 SDRAM_CS0 */ \
{DRAM_CS3_ATTR, DRAM_TARGET_ID }, /* 3 SDRAM_CS1 */ \
{0x3E, DEV_TARGET_ID }, /* 4 DEVICE_CS0 */ \
{0x3D, DEV_TARGET_ID }, /* 5 DEVICE_CS1 */ \
{0x3B, DEV_TARGET_ID }, /* 6 DEVICE_CS2 */ \
{0x37, DEV_TARGET_ID }, /* 7 DEVICE_CS3 */ \
{0xE8, PEX0_TARGET_ID }, /* 8 PEX0_LANE0_MEM */ \
{0xE0, PEX0_TARGET_ID }, /* 9 PEX0_LANE0_IO */ \
{0xFF, 0xFF }, /* 10 INTER_REGS */ \
{0x00, DFX_TARGET_ID }, /* 11 DFX_INTER_REGS */ \
{0x00, SWITCH_TARGET_ID }, /* 12 SWITCH_TARGET_REGS */\
{0x01, DEV_TARGET_ID }, /* 13 DMA_UART */ \
{0x1E, DEV_TARGET_ID }, /* 14 SPI_CS0 */ \
{0x5E, DEV_TARGET_ID }, /* 15 SPI_CS1 */ \
{0x9E, DEV_TARGET_ID }, /* 16 SPI_CS2 */ \
{0xDE, DEV_TARGET_ID }, /* 17 SPI_CS3 */ \
{0x1F, DEV_TARGET_ID }, /* 18 SPI_CS4 */ \
{0x5F, DEV_TARGET_ID }, /* 19 SPI_CS5 */ \
{0x9F, DEV_TARGET_ID }, /* 20 SPI_CS6 */ \
{0xDF, DEV_TARGET_ID }, /* 21 SPI_CS7 */ \
{0x1D, DEV_TARGET_ID }, /* 22 BOOT_ROM_CS (Main Boot device )*/ \
{0x2F, DEV_TARGET_ID }, /* 23 DEV_BOOT_CS (Secondary Boot device,)*/ \
{0x00, USB_TARGET_ID }, /* 24 USB_TARGET_REGS */\
{0x00, DRAGONITE_TARGET_ID }, /* 25 DRAGONITE */ \
}
#define TARGETS_NAME_ARRAY { \
"SDRAM_CS0", /* 0 SDRAM_CS0 */ \
"SDRAM_CS1", /* 1 SDRAM_CS1 */ \
"SDRAM_CS2", /* 2 SDRAM_CS1 */ \
"SDRAM_CS3", /* 3 SDRAM_CS1 */ \
"DEVICE_CS0", /* 4 DEVICE_CS0 */ \
"DEVICE_CS1", /* 5 DEVICE_CS1 */ \
"DEVICE_CS2", /* 6 DEVICE_CS2 */ \
"DEVICE_CS3", /* 7 DEVICE_CS3 */ \
"PEX0_MEM", /* 8 PEX0_MEM */ \
"PEX0_IO", /* 9 PEX0_IO */ \
"INTER_REGS", /* 10 INTER_REGS */ \
"DFX_INTER_REGS", /* 11 DFX_REGS */ \
"SWITCH_REGS", /* 12 SWITCH_REGS */ \
"DMA_UART", /* 13 DMA_UART */ \
"SPI_CS0", /* 14 SPI_CS0 */ \
"SPI_CS1", /* 15 SPI_CS1 */ \
"SPI_CS2", /* 16 SPI_CS2 */ \
"SPI_CS3", /* 17 SPI_CS3 */ \
"SPI_CS4", /* 18 SPI_CS4 */ \
"SPI_CS5", /* 19 SPI_CS5 */ \
"SPI_CS6", /* 20 SPI_CS6 */ \
"SPI_CS7", /* 21 SPI_CS7 */ \
"BOOT_ROM_CS", /* 22 BOOT_ROM_CS */ \
"DEV_BOOTCS", /* 23 DEV_BOOCS */ \
"USB_REGS", /* 24 USB_REGS */ \
"DRAGONITE", /* 25 DRAGONITE*/ \
}
#define TARGETS_DEF_ARRAY_AXP { \
{DRAM_CS0_ATTR, DRAM_TARGET_ID }, /* SDRAM_CS0 */ \
{DRAM_CS1_ATTR, DRAM_TARGET_ID }, /* SDRAM_CS1 */ \
{DRAM_CS2_ATTR, DRAM_TARGET_ID }, /* SDRAM_CS0 */ \
{DRAM_CS3_ATTR, DRAM_TARGET_ID }, /* SDRAM_CS1 */ \
{0x3E, DEV_TARGET_ID }, /* DEVICE_CS0 */ \
{0x3D, DEV_TARGET_ID }, /* DEVICE_CS1 */ \
{0x3B, DEV_TARGET_ID }, /* DEVICE_CS2 */ \
{0x37, DEV_TARGET_ID }, /* DEVICE_CS3 */ \
{0xE8, PEX0_TARGET_ID }, /* PEX0_LANE0_MEM */ \
{0xE0, PEX0_TARGET_ID }, /* PEX0_LANE0_IO */ \
{0xD8, PEX0_TARGET_ID }, /* PEX0_LANE1_MEM */ \
{0xD0, PEX0_TARGET_ID }, /* PEX0_LANE1_IO */ \
{0xB8, PEX0_TARGET_ID }, /* PEX0_LANE2_MEM */ \
{0xB0, PEX0_TARGET_ID }, /* PEX0_LANE2_IO */ \
{0x78, PEX0_TARGET_ID }, /* PEX0_LANE3_MEM */ \
{0x70, PEX0_TARGET_ID }, /* PEX0_LANE3_IO */ \
{0xE8, DFX_TARGET_ID }, /* PEX1_LANE0_MEM */ \
{0xE0, DFX_TARGET_ID }, /* PEX1_LANE0_IO */ \
{0xD8, DFX_TARGET_ID }, /* PEX1_LANE1_MEM */ \
{0xD0, DFX_TARGET_ID }, /* PEX1_LANE1_IO */ \
{0xB8, DFX_TARGET_ID }, /* PEX1_LANE2_MEM */ \
{0xB0, DFX_TARGET_ID }, /* PEX1_LANE2_IO */ \
{0x78, DFX_TARGET_ID }, /* PEX1_LANE3_MEM */ \
{0x70, DFX_TARGET_ID }, /* PEX1_LANE3_IO */ \
{0xF8, PEX0_TARGET_ID }, /* PEX2_LANE0_MEM */ \
{0xF0, PEX0_TARGET_ID }, /* PEX2_LANE0_IO */ \
{0xF8, DFX_TARGET_ID }, /* PEX3_LANE0_MEM */ \
{0xF0, DFX_TARGET_ID }, /* PEX3_LANE0_IO */ \
{0xFF, 0xFF }, /* INTER_REGS */ \
{0x01, DEV_TARGET_ID }, /* DMA_UART */ \
{0x1E, DEV_TARGET_ID }, /* SPI_CS0 */ \
{0x5E, DEV_TARGET_ID }, /* SPI_CS1 */ \
{0x9E, DEV_TARGET_ID }, /* SPI_CS2 */ \
{0xDE, DEV_TARGET_ID }, /* SPI_CS3 */ \
{0x1F, DEV_TARGET_ID }, /* SPI_CS4 */ \
{0x5F, DEV_TARGET_ID }, /* SPI_CS5 */ \
{0x9F, DEV_TARGET_ID }, /* SPI_CS6 */ \
{0xDF, DEV_TARGET_ID }, /* SPI_CS7 */ \
{0x1D, DEV_TARGET_ID }, /* Main Boot device */ \
{0x2F, DEV_TARGET_ID }, /* Secondary Boot device, */ \
{0x2D, DEV_TARGET_ID }, /* PMU_SCRATCHPAD */ \
{0x09, CRYPT_TARGET_ID }, /* CRYPT_ENG0 */ \
{0x05, CRYPT_TARGET_ID }, /* CRYPT_ENG1 */ \
{0x00, PNC_BM_TARGET_ID }, /* PNC_BM */ \
}
#define TARGETS_NAME_ARRAY_AXP { \
"SDRAM_CS0", /* SDRAM_CS0 */ \
"SDRAM_CS1", /* SDRAM_CS1 */ \
"SDRAM_CS2", /* SDRAM_CS1 */ \
"SDRAM_CS3", /* SDRAM_CS1 */ \
"DEVICE_CS0", /* DEVICE_CS0 */ \
"DEVICE_CS1", /* DEVICE_CS1 */ \
"DEVICE_CS2", /* DEVICE_CS2 */ \
"DEVICE_CS3", /* DEVICE_CS3 */ \
"PEX0_MEM", /* PEX0_MEM */ \
"PEX0_IO", /* PEX0_IO */ \
"PEX1_MEM", /* PEX1_MEM */ \
"PEX1_IO", /* PEX1_IO */ \
"PEX2_MEM", /* PEX2_MEM */ \
"PEX2_IO", /* PEX2_IO */ \
"PEX3_MEM", /* PEX3_MEM */ \
"PEX3_IO", /* PEX3_IO */ \
"PEX4_MEM", /* PEX4_MEM */ \
"PEX4_IO", /* PEX4_IO */ \
"PEX5_MEM", /* PEX5_MEM */ \
"PEX5_IO", /* PEX5_IO */ \
"PEX6_MEM", /* PEX6_MEM */ \
"PEX6_IO", /* PEX6_IO */ \
"PEX7_MEM", /* PEX7_MEM */ \
"PEX7_IO", /* PEX7_IO */ \
"PEX8_MEM", /* PEX8_MEM */ \
"PEX8_IO", /* PEX8_IO */ \
"PEX9_MEM", /* PEX9_MEM */ \
"PEX9_IO", /* PEX9_IO */ \
"INTER_REGS", /* INTER_REGS */ \
"DMA_UART", /* DMA_UART */ \
"SPI_CS0", /* SPI_CS0 */ \
"SPI_CS1", /* SPI_CS1 */ \
"SPI_CS2", /* SPI_CS2 */ \
"SPI_CS3", /* SPI_CS3 */ \
"SPI_CS4", /* SPI_CS4 */ \
"SPI_CS5", /* SPI_CS5 */ \
"SPI_CS6", /* SPI_CS6 */ \
"SPI_CS7", /* SPI_CS7 */ \
"BOOT_ROM_CS", /* BOOT_ROM_CS */ \
"DEV_BOOTCS", /* DEV_BOOCS */ \
"PMU_SCRATCHPAD",/* PMU_SCRATCHPAD */ \
"CRYPT1_ENG", /* CRYPT1_ENG */ \
"CRYPT2_ENG", /* CRYPT2_ENG */ \
"PNC_BM" /* PNC_BM */ \
}
#endif /* MV_ASMLANGUAGE */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __INCmvCtrlEnvSpech */