You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
258 lines
8.6 KiB
C
258 lines
8.6 KiB
C
/*******************************************************************************
|
|
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"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
#define MV_ARM_SOC
|
|
#define SOC_NAME_PREFIX "MV88F"
|
|
|
|
|
|
/* units base and port numbers */
|
|
#ifdef MV_ASMLANGUAGE
|
|
#define XOR_UNIT_BASE(unit) 0x60800
|
|
#else
|
|
#define MV_XOR_REG_BASE 0x60000
|
|
#define XOR_UNIT_BASE(unit) ((unit)? 0x60900:0x60800)
|
|
#endif
|
|
|
|
#define TDM_REG_BASE 0xD0000
|
|
#define USB_REG_BASE(dev) 0x50000
|
|
#define AUDIO_REG_BASE 0xA0000
|
|
#define SATA_REG_BASE 0x80000
|
|
#define MV_CESA_REG_BASE 0x3D000
|
|
#define MV_CESA_TDMA_REG_BASE 0x30000
|
|
#define MV_SDIO_REG_BASE 0x90000
|
|
#define MV_ETH_REG_BASE(port) (((port) == 0) ? 0x72000 : 0x76000)
|
|
#define MV_UART_CHAN_BASE(chanNum) (0x12000 + (chanNum * 0x100))
|
|
#define DRAM_BASE 0x0
|
|
#define CNTMR_BASE 0x20300
|
|
#define TWSI_SLAVE_BASE(chanNum) 0x11000
|
|
#define PEX_IF_BASE(pexIf) 0x40000
|
|
#define MPP_REG_BASE 0x10000
|
|
#define TSU_GLOBAL_REG_BASE 0xB4000
|
|
#define MAX_AHB_TO_MBUS_REG_BASE 0x20000
|
|
|
|
#define INTER_REGS_SIZE _1M
|
|
/* This define describes the TWSI interrupt bit and location */
|
|
#define TWSI_CPU_MAIN_INT_CAUSE_REG 0x20200
|
|
#define TWSI0_CPU_MAIN_INT_BIT (1<<29)
|
|
#define TWSI_SPEED 100000
|
|
|
|
#define MV_GPP_MAX_GROUP 2
|
|
#define MV_CNTMR_MAX_COUNTER 2
|
|
#define MV_UART_MAX_CHAN 2
|
|
#define MV_XOR_MAX_UNIT 2
|
|
#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_SATA_MAX_CHAN 2
|
|
|
|
#define MV_6281_MPP_MAX_MODULE 2
|
|
#define MV_6192_MPP_MAX_MODULE 1
|
|
#define MV_6190_MPP_MAX_MODULE 1
|
|
#define MV_6180_MPP_MAX_MODULE 2
|
|
#define MV_6281_MPP_MAX_GROUP 7
|
|
#define MV_6192_MPP_MAX_GROUP 4
|
|
#define MV_6190_MPP_MAX_GROUP 4
|
|
#define MV_6180_MPP_MAX_GROUP 3
|
|
|
|
#define MV_DRAM_MAX_CS 4
|
|
|
|
/* This define describes the maximum number of supported PCI\PCIX Interfaces*/
|
|
#define MV_PCI_MAX_IF 0
|
|
#define MV_PCI_START_IF 0
|
|
|
|
/* This define describes the maximum number of supported PEX Interfaces */
|
|
#define MV_INCLUDE_PEX0
|
|
#define MV_DISABLE_PEX_DEVICE_BAR
|
|
#define MV_PEX_MAX_IF 1
|
|
#define MV_PEX_START_IF MV_PCI_MAX_IF
|
|
|
|
/* This define describes the maximum number of supported PCI Interfaces */
|
|
#define MV_PCI_IF_MAX_IF (MV_PEX_MAX_IF+MV_PCI_MAX_IF)
|
|
|
|
#define MV_ETH_MAX_PORTS 2
|
|
#define MV_6281_ETH_MAX_PORTS 2
|
|
#define MV_6192_ETH_MAX_PORTS 2
|
|
#define MV_6190_ETH_MAX_PORTS 1
|
|
#define MV_6180_ETH_MAX_PORTS 1
|
|
|
|
#define MV_IDMA_MAX_CHAN 0
|
|
|
|
#define MV_USB_MAX_PORTS 1
|
|
|
|
#define MV_USB_VERSION 1
|
|
|
|
|
|
#define MV_6281_NAND 1
|
|
#define MV_6192_NAND 1
|
|
#define MV_6190_NAND 1
|
|
#define MV_6180_NAND 0
|
|
|
|
#define MV_6281_SDIO 1
|
|
#define MV_6192_SDIO 1
|
|
#define MV_6190_SDIO 1
|
|
#define MV_6180_SDIO 1
|
|
|
|
#define MV_6281_TS 1
|
|
#define MV_6192_TS 1
|
|
#define MV_6190_TS 0
|
|
#define MV_6180_TS 0
|
|
|
|
#define MV_6281_AUDIO 1
|
|
#define MV_6192_AUDIO 1
|
|
#define MV_6190_AUDIO 0
|
|
#define MV_6180_AUDIO 1
|
|
|
|
#define MV_6281_TDM 1
|
|
#define MV_6192_TDM 1
|
|
#define MV_6190_TDM 0
|
|
#define MV_6180_TDM 0
|
|
|
|
#define MV_DEVICE_MAX_CS 4
|
|
|
|
/* Others */
|
|
#define PEX_HOST_BUS_NUM(pciIf) (pciIf)
|
|
#define PEX_HOST_DEV_NUM(pciIf) 0
|
|
|
|
#define PCI_IO(pciIf) (PEX0_IO)
|
|
#define PCI_MEM(pciIf, memNum) (PEX0_MEM0)
|
|
/* CESA version #2: One channel, 2KB SRAM, TDMA */
|
|
#if defined(MV_CESA_CHAIN_MODE_SUPPORT)
|
|
#define MV_CESA_VERSION 3
|
|
#else
|
|
#define MV_CESA_VERSION 2
|
|
#endif
|
|
#define MV_CESA_SRAM_SIZE 2*1024
|
|
/* This define describes the maximum number of supported Ethernet ports */
|
|
#define MV_ETH_VERSION 4
|
|
#define MV_ETH_MAX_RXQ 8
|
|
#define MV_ETH_MAX_TXQ 8
|
|
#define MV_ETH_PORT_SGMII { MV_FALSE, MV_FALSE }
|
|
/* This define describes the the support of USB */
|
|
#define MV_USB_VERSION 1
|
|
|
|
#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
|
|
|
|
#define MPP_GROUP_1_TYPE {\
|
|
{0, 0, 0}, /* Reserved for AUTO */ \
|
|
{0x22220000, 0x22222222, 0x2222}, /* TDM */ \
|
|
{0x44440000, 0x00044444, 0x0000}, /* AUDIO */ \
|
|
{0x33330000, 0x33003333, 0x0033}, /* RGMII */ \
|
|
{0x33330000, 0x03333333, 0x0033}, /* GMII */ \
|
|
{0x11110000, 0x11111111, 0x0001}, /* TS */ \
|
|
{0x33330000, 0x33333333, 0x3333} /* MII */ \
|
|
}
|
|
|
|
#define MPP_GROUP_2_TYPE {\
|
|
{0, 0, 0}, /* Reserved for AUTO */ \
|
|
{0x22220000, 0x22222222, 0x22}, /* TDM */ \
|
|
{0x44440000, 0x00044444, 0x0}, /* AUDIO */ \
|
|
{0, 0, 0}, /* N_A */ \
|
|
{0, 0, 0}, /* N_A */ \
|
|
{0x11110000, 0x11111111, 0x01} /* TS */ \
|
|
}
|
|
|
|
#ifndef MV_ASMLANGUAGE
|
|
|
|
/* This enumerator defines the Marvell Units ID */
|
|
typedef enum _mvUnitId
|
|
{
|
|
DRAM_UNIT_ID,
|
|
PEX_UNIT_ID,
|
|
ETH_GIG_UNIT_ID,
|
|
USB_UNIT_ID,
|
|
IDMA_UNIT_ID,
|
|
XOR_UNIT_ID,
|
|
SATA_UNIT_ID,
|
|
TDM_UNIT_ID,
|
|
UART_UNIT_ID,
|
|
CESA_UNIT_ID,
|
|
SPI_UNIT_ID,
|
|
AUDIO_UNIT_ID,
|
|
SDIO_UNIT_ID,
|
|
TS_UNIT_ID,
|
|
MAX_UNITS_ID
|
|
|
|
}MV_UNIT_ID;
|
|
|
|
#endif
|
|
|
|
#endif /* __INCmvCtrlEnvSpech */
|