| /******************************************************************************* |
| 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 __INCmvBoardEnvSpech |
| #define __INCmvBoardEnvSpech |
| |
| #include "mvSysHwConfig.h" |
| |
| /* I2C bus addresses */ |
| #define MV_BOARD_DIMM0_I2C_ADDR 0x56 |
| #define MV_BOARD_DIMM0_I2C_ADDR_TYPE ADDR7_BIT |
| #define MV_BOARD_DIMM1_I2C_ADDR 0x57 |
| #define MV_BOARD_DIMM1_I2C_ADDR_TYPE ADDR7_BIT |
| #define MV_BOARD_DIMM_I2C_CHANNEL 0x0 |
| |
| /* Board specific configuration */ |
| /* ============================ */ |
| #ifndef MV_ASMLANGUAGE |
| /* New board ID numbers */ |
| |
| /* Customer boards */ |
| #define CUTOMER_BOARD_ID_BASE 0x0 |
| #define AVANTA_LP_CUSTOMER_BOARD_ID0 (CUTOMER_BOARD_ID_BASE + 0) |
| #define AVANTA_LP_CUSTOMER_BOARD_ID1 (CUTOMER_BOARD_ID_BASE + 1) |
| #define MV_MAX_CUSTOMER_BOARD_ID (CUTOMER_BOARD_ID_BASE + 2) |
| #define MV_CUSTOMER_BOARD_NUM (MV_MAX_CUSTOMER_BOARD_ID - CUTOMER_BOARD_ID_BASE) |
| |
| /* Marvell boards */ |
| #define MARVELL_BOARD_ID_BASE 0x10 |
| #define RD_6650_ID (MARVELL_BOARD_ID_BASE + 0) |
| #define DB_6650_ID (MARVELL_BOARD_ID_BASE + 1) |
| #define RD_6660_ID (MARVELL_BOARD_ID_BASE + 2) |
| #define DB_6660_ID (MARVELL_BOARD_ID_BASE + 3) |
| #define MV_MAX_MARVELL_BOARD_ID (MARVELL_BOARD_ID_BASE + 4) |
| #define MV_MARVELL_BOARD_NUM (MV_MAX_MARVELL_BOARD_ID - MARVELL_BOARD_ID_BASE) |
| |
| #define MV_INVALID_BOARD_ID 0xFFFFFFFF |
| |
| #define ALP_MPP32_39_EXT_SMI_MASK 0x0ff00000 |
| #define ALP_MPP32_39_SWITCH_SMI_CTRL_VAL 0x05500000 |
| #define ALP_MPP32_39_CPU_SMI_CTRL_VAL 0x04400000 |
| #define ALP_MPP32_39_NO_SMI_CTRL_VAL 0x0 |
| |
| /******************************************************************************* |
| * Avanata LP Customer board - Based on RD-88F6660 |
| *******************************************************************************/ |
| #define AVANTA_LP_CUSTOMER_MPP0_7 0x55555555 /* NAND */ |
| #define AVANTA_LP_CUSTOMER_MPP8_15 0x22555555 /* NAND , I2C */ |
| #define AVANTA_LP_CUSTOMER_MPP16_23 0x55555522 /* UA0, TDMMC */ |
| #define AVANTA_LP_CUSTOMER_MPP24_31 0x33333333 /* SDIO, SPI1 */ |
| #define AVANTA_LP_CUSTOMER_MPP32_39 0x00023330 /* SD_Stat (GPIO_input), SPI1,PON BEN, 3xGPIOs */ |
| #define AVANTA_LP_CUSTOMER_MPP40_47 0x44100020 /* Switch P4, PON_[XVR,TX_SD]*/ |
| #define AVANTA_LP_CUSTOMER_MPP48_55 0x44444444 /* Switch P4 */ |
| #define AVANTA_LP_CUSTOMER_MPP56_63 0x44444444 /* Switch P4 , LED */ |
| #define AVANTA_LP_CUSTOMER_MPP64_67 0x004 /* GPIO's */ |
| |
| #define AVANTA_LP_CUSTOMER_GPP_OUT_ENA_LOW 0xFFFFFFFF |
| #define AVANTA_LP_CUSTOMER_GPP_OUT_ENA_MID (~(BIT7 | BIT8 | BIT11)) |
| #define AVANTA_LP_CUSTOMER_GPP_OUT_ENA_HIGH (~(BIT1 | BIT2)) |
| #define AVANTA_LP_CUSTOMER_GPP_OUT_VAL_LOW 0x0 |
| #define AVANTA_LP_CUSTOMER_GPP_OUT_VAL_MID 0x0 |
| #define AVANTA_LP_CUSTOMER_GPP_OUT_VAL_HIGH (BIT1 | BIT2) |
| #define AVANTA_LP_CUSTOMER_GPP_POL_LOW 0x0 |
| #define AVANTA_LP_CUSTOMER_GPP_POL_MID 0x0 |
| #define AVANTA_LP_CUSTOMER_GPP_POL_HIGH 0x0 |
| |
| /******************************************************************************* |
| * AvantaLP DB-88F6660 board */ |
| /****************************************************************************** |
| MPP# DEFAULT UNIT MPP Values (respectively) |
| ----------------------------------------------------------------------------------- |
| 0-13 Boot:Nand Flash (1) |
| 14-15 I2C0 (2) |
| 16-17 UART (2) |
| 18,20,22,23,39 TDM : Lantiq (3) |
| 24-25 GbE : GE1 (2) |
| 36,41,44,45 PON (2,2,2,1) |
| 37-38 SMI Management: Switch (5) |
| 39 REF_CLK_OUT (4) |
| 42 DYING_GASP (Power off signal) (2) |
| 43 SATA_PRESENT_ACTIVEn (2) |
| 46-57 Port 0 connected to: Switch (2) |
| 58-64 LED_MATRIX (4) |
| */ |
| #define GROUP1_DEFAULT_MPP_SPI_I2C 0x22000022 /* SPI , I2C */ |
| /******************************************************************************* |
| * Avanata LP DB-6660 board |
| *******************************************************************************/ |
| #define DB_88F6660_MPP0_7 0x00020020 /* SPI */ |
| #define DB_88F6660_MPP8_15 0x22000022 /* SPI , I2C */ |
| #define DB_88F6660_MPP16_23 0x00000022 |
| #define DB_88F6660_MPP24_31 0x22222222 /* RGMII-1*/ |
| #define DB_88F6660_MPP32_39 0x04422222 /* GE_SMI ,GE1, PON */ |
| #define DB_88F6660_MPP40_47 0x22600520 /* PON , GE0 */ |
| #define DB_88F6660_MPP48_55 0x55222222 /* GE0*/ |
| #define DB_88F6660_MPP56_63 0x44444422 /* GE0 , LED */ |
| #define DB_88F6660_MPP64_67 0x004 |
| |
| #define DB_88F6660_GPP_OUT_ENA_LOW 0xFFF7FFFF |
| #define DB_88F6660_GPP_OUT_ENA_MID 0xFFFFFFFF |
| #define DB_88F6660_GPP_OUT_ENA_HIGH 0xFFFFFFFF |
| #define DB_88F6660_GPP_OUT_VAL_LOW BIT19 |
| #define DB_88F6660_GPP_OUT_VAL_MID 0x0 |
| #define DB_88F6660_GPP_OUT_VAL_HIGH 0x0 |
| #define DB_88F6660_GPP_POL_LOW 0x0 |
| #define DB_88F6660_GPP_POL_MID 0x0 |
| #define DB_88F6660_GPP_POL_HIGH 0x0 |
| |
| /******************************************************************************* |
| * Avanata LP DB-6650 board |
| *******************************************************************************/ |
| #define DB_88F6650_MPP0_7 0x00020020 /* SPI */ |
| #define DB_88F6650_MPP8_15 0x22000022 /* SPI , I2C */ |
| #define DB_88F6650_MPP16_23 0x00000022 |
| #define DB_88F6650_MPP24_31 0x22222222 /* RGMII-1*/ |
| #define DB_88F6650_MPP32_39 0x04422222 /* GE_SMI ,GE1, PON */ |
| #define DB_88F6650_MPP40_47 0x22100220 /* PON , GE0 */ |
| #define DB_88F6650_MPP48_55 0x22222222 /* GE0*/ |
| #define DB_88F6650_MPP56_63 0x44444422 /* GE0 , LED */ |
| #define DB_88F6650_MPP64_67 0x004 |
| |
| #define DB_88F6650_GPP_OUT_ENA_LOW 0xFFFFFFFF |
| #define DB_88F6650_GPP_OUT_ENA_MID 0xFFFFFFFF |
| #define DB_88F6650_GPP_OUT_ENA_HIGH 0xFFFFFFFF |
| #define DB_88F6650_GPP_OUT_VAL_LOW 0x0 |
| #define DB_88F6650_GPP_OUT_VAL_MID 0x0 |
| #define DB_88F6650_GPP_OUT_VAL_HIGH 0x0 |
| #define DB_88F6650_GPP_POL_LOW 0x0 |
| #define DB_88F6650_GPP_POL_MID 0x0 |
| #define DB_88F6650_GPP_POL_HIGH 0x0 |
| |
| /******************************************************************************* |
| * Avanata LP RD-6660 board |
| *******************************************************************************/ |
| #define RD_88F6660_MPP0_7 0x55555555 /* NAND */ |
| #define RD_88F6660_MPP8_15 0x22555555 /* NAND , I2C */ |
| #define RD_88F6660_MPP16_23 0x55555522 /* UA0, TDMMC */ |
| #define RD_88F6660_MPP24_31 0x33333333 /* SDIO, SPI1 */ |
| #define RD_88F6660_MPP32_39 0x00023330 /* SD_Stat (GPIO_input), SPI1,PON BEN, 3xGPIOs */ |
| #define RD_88F6660_MPP40_47 0x44100020 /* Switch P4, PON_[XVR,TX_SD]*/ |
| #define RD_88F6660_MPP48_55 0x44444444 /* Switch P4 */ |
| #define RD_88F6660_MPP56_63 0x44444444 /* Switch P4 , LED */ |
| #define RD_88F6660_MPP64_67 0x004 /* GPIO's */ |
| |
| #define RD_88F6660_GPP_OUT_ENA_LOW 0xFFFFFFFF |
| #define RD_88F6660_GPP_OUT_ENA_MID (~(BIT7 | BIT8 | BIT11)) |
| #define RD_88F6660_GPP_OUT_ENA_HIGH (~(BIT1 | BIT2)) |
| #define RD_88F6660_GPP_OUT_VAL_LOW 0x0 |
| #define RD_88F6660_GPP_OUT_VAL_MID 0x0 |
| #define RD_88F6660_GPP_OUT_VAL_HIGH (BIT1 | BIT2) |
| #define RD_88F6660_GPP_POL_LOW 0x0 |
| #define RD_88F6660_GPP_POL_MID 0x0 |
| #define RD_88F6660_GPP_POL_HIGH 0x0 |
| |
| /******************************************************************************* |
| * Avanata LP RD-6650 board |
| *******************************************************************************/ |
| #define RD_88F6650_MPP0_7 0x55555555 /* NAND */ |
| #define RD_88F6650_MPP8_15 0x22555555 /* NAND , I2C */ |
| #define RD_88F6650_MPP16_23 0x11110022 /* UA0, SSI, GPIO's */ |
| #define RD_88F6650_MPP24_31 0x04606001 /* P0,C0_Leds & DYING GASP*/ |
| #define RD_88F6650_MPP32_39 0x04420000 /* GE_SMI, PON & GPIO's */ |
| #define RD_88F6650_MPP40_47 0x44100020 /* Switch P4, PON_[XVR,TX_SD]*/ |
| #define RD_88F6650_MPP48_55 0x44444444 /* Switch P4 */ |
| #define RD_88F6650_MPP56_63 0x44004444 /* GE0 , LED, GPIO's */ |
| #define RD_88F6650_MPP64_67 0x004 /* GPIO's */ |
| |
| #define RD_88F6650_GPP_OUT_ENA_LOW (~(BIT19 | BIT25 | BIT29)) |
| #define RD_88F6650_GPP_OUT_ENA_MID 0xFFFFFFFF |
| #define RD_88F6650_GPP_OUT_ENA_HIGH 0xFFFFFFFF |
| #define RD_88F6650_GPP_OUT_VAL_LOW (BIT29 | BIT25) /* BIT 25 - External PHY reset */ |
| #define RD_88F6650_GPP_OUT_VAL_MID 0x0 |
| #define RD_88F6650_GPP_OUT_VAL_HIGH 0x0 |
| #define RD_88F6650_GPP_POL_LOW 0x0 |
| #define RD_88F6650_GPP_POL_MID 0x0 |
| #define RD_88F6650_GPP_POL_HIGH 0x0 |
| |
| #endif /* MV_ASMLANGUAGE */ |
| |
| #endif /* __INCmvBoardEnvSpech */ |