rename target/linux/generic-2.6 to generic
[15.05/openwrt.git] / target / linux / generic / files / crypto / ocf / kirkwood / mvHal / kw_family / ctrlEnv / mvCtrlEnvSpec.h
diff --git a/target/linux/generic/files/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvSpec.h b/target/linux/generic/files/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvSpec.h
new file mode 100644 (file)
index 0000000..e41d80a
--- /dev/null
@@ -0,0 +1,257 @@
+/*******************************************************************************
+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 */