1 /* 2 * (C) Copyright 2009 3 * Marvell Semiconductor <www.marvell.com> 4 * Prafulla Wadaskar <prafulla@marvell.com> 5 * 6 * (C) Copyright 2009 7 * Stefan Roese, DENX Software Engineering, sr@denx.de. 8 * 9 * (C) Copyright 2011-2012 10 * Holger Brunck, Keymile GmbH Hannover, holger.brunck@keymile.com 11 * Valentin Longchamp, Keymile AG, valentin.longchamp@keymile.com 12 * 13 * See file CREDITS for list of people who contributed to this 14 * project. 15 * 16 * This program is free software; you can redistribute it and/or 17 * modify it under the terms of the GNU General Public License as 18 * published by the Free Software Foundation; either version 2 of 19 * the License, or (at your option) any later version. 20 * 21 * This program is distributed in the hope that it will be useful, 22 * but WITHOUT ANY WARRANTY; without even the implied warranty of 23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24 * GNU General Public License for more details. 25 * 26 * You should have received a copy of the GNU General Public License 27 * along with this program; if not, write to the Free Software 28 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 29 * MA 02110-1301 USA 30 */ 31 32 /* 33 * for linking errors see 34 * http://lists.denx.de/pipermail/u-boot/2009-July/057350.html 35 */ 36 37 #ifndef _CONFIG_KM_KIRKWOOD_H 38 #define _CONFIG_KM_KIRKWOOD_H 39 40 /* KM_KIRKWOOD */ 41 #if defined(CONFIG_KM_KIRKWOOD) 42 #define CONFIG_IDENT_STRING "\nKeymile Kirkwood" 43 #define CONFIG_HOSTNAME km_kirkwood 44 #define CONFIG_KM_DISABLE_PCIE 45 #define KM_IVM_BUS "pca9544a:70:9" /* I2C2 (Mux-Port 1)*/ 46 47 /* KM_KIRKWOOD_PCI */ 48 #elif defined(CONFIG_KM_KIRKWOOD_PCI) 49 #define CONFIG_IDENT_STRING "\nKeymile Kirkwood PCI" 50 #define CONFIG_HOSTNAME km_kirkwood_pci 51 #define KM_IVM_BUS "pca9544a:70:9" /* I2C2 (Mux-Port 1)*/ 52 #define CONFIG_KM_FPGA_CONFIG 53 54 /* KM_NUSA */ 55 #elif defined(CONFIG_KM_NUSA) 56 #define KM_IVM_BUS "pca9547:70:9" /* I2C2 (Mux-Port 1)*/ 57 #define CONFIG_IDENT_STRING "\nKeymile NUSA" 58 #define CONFIG_HOSTNAME kmnusa 59 #undef CONFIG_SYS_KWD_CONFIG 60 #define CONFIG_SYS_KWD_CONFIG \ 61 $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage_128M16_1.cfg 62 #define CONFIG_KM_ENV_IS_IN_SPI_NOR 63 #define CONFIG_KM_FPGA_CONFIG 64 #define CONFIG_KM_PIGGY4_88E6352 65 66 /* KM_MGCOGE3UN */ 67 #elif defined(CONFIG_KM_MGCOGE3UN) 68 #define CONFIG_IDENT_STRING "\nKeymile COGE3UN" 69 #define CONFIG_HOSTNAME mgcoge3un 70 #define KM_IVM_BUS "pca9547:70:9" /* I2C2 (Mux-Port 1)*/ 71 #undef CONFIG_SYS_KWD_CONFIG 72 #define CONFIG_SYS_KWD_CONFIG \ 73 $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage-memphis.cfg 74 #define CONFIG_KM_BOARD_EXTRA_ENV "waitforne=true\0" 75 #define CONFIG_PIGGY_MAC_ADRESS_OFFSET 3 76 #define CONFIG_KM_DISABLE_PCIE 77 #define CONFIG_KM_PIGGY4_88E6061 78 79 /* KMCOGE5UN */ 80 #elif defined(CONFIG_KM_COGE5UN) 81 #define CONFIG_IDENT_STRING "\nKeymile COGE5UN" 82 #define KM_IVM_BUS "pca9547:70:9" /* I2C2 (Mux-Port 1)*/ 83 #undef CONFIG_SYS_KWD_CONFIG 84 #define CONFIG_SYS_KWD_CONFIG \ 85 $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage_256M8_1.cfg 86 #define CONFIG_KM_ENV_IS_IN_SPI_NOR 87 #define CONFIG_PIGGY_MAC_ADRESS_OFFSET 3 88 #define CONFIG_HOSTNAME kmcoge5un 89 #define CONFIG_KM_DISABLE_PCIE 90 #define CONFIG_KM_PIGGY4_88E6352 91 92 /* KM_PORTL2 */ 93 #elif defined(CONFIG_KM_PORTL2) 94 #define CONFIG_IDENT_STRING "\nKeymile Port-L2" 95 #define CONFIG_HOSTNAME portl2 96 #define KM_IVM_BUS "pca9544a:70:9" /* I2C2 (Mux-Port 1)*/ 97 #define CONFIG_KM_PIGGY4_88E6061 98 99 #else 100 #error ("Board unsupported") 101 #endif 102 103 /* include common defines/options for all arm based Keymile boards */ 104 #include "km/km_arm.h" 105 106 #ifndef CONFIG_KM_ENV_IS_IN_SPI_NOR 107 #define KM_ENV_BUS "pca9544a:70:d" /* I2C2 (Mux-Port 5)*/ 108 #endif 109 110 #if defined(CONFIG_KM_PIGGY4_88E6352) 111 /* 112 * Some keymile boards like mgcoge5un & nusa1 have their PIGGY4 connected via 113 * an Marvell 88E6352 simple switch. 114 * In this case we have to change the default settings for the etherent mac. 115 * There is NO ethernet phy. The ARM and Switch are conencted directly over 116 * RGMII in MAC-MAC mode 117 * In this case 1GBit full duplex and autoneg off 118 */ 119 #define PORT_SERIAL_CONTROL_VALUE ( \ 120 MVGBE_FORCE_LINK_PASS | \ 121 MVGBE_DIS_AUTO_NEG_FOR_DUPLX | \ 122 MVGBE_DIS_AUTO_NEG_FOR_FLOW_CTRL | \ 123 MVGBE_ADV_NO_FLOW_CTRL | \ 124 MVGBE_FORCE_FC_MODE_NO_PAUSE_DIS_TX | \ 125 MVGBE_FORCE_BP_MODE_NO_JAM | \ 126 (1 << 9) /* Reserved bit has to be 1 */ | \ 127 MVGBE_DO_NOT_FORCE_LINK_FAIL | \ 128 MVGBE_DIS_AUTO_NEG_SPEED_GMII | \ 129 MVGBE_DTE_ADV_0 | \ 130 MVGBE_MIIPHY_MAC_MODE | \ 131 MVGBE_AUTO_NEG_NO_CHANGE | \ 132 MVGBE_MAX_RX_PACKET_1552BYTE | \ 133 MVGBE_CLR_EXT_LOOPBACK | \ 134 MVGBE_SET_FULL_DUPLEX_MODE | \ 135 MVGBE_EN_FLOW_CTRL_TX_RX_IN_FULL_DUPLEX |\ 136 MVGBE_SET_GMII_SPEED_TO_1000 |\ 137 MVGBE_SET_MII_SPEED_TO_100) 138 139 #endif 140 141 #ifdef CONFIG_KM_PIGGY4_88E6061 142 /* 143 * Some keymile boards like mgcoge3un have their PIGGY4 connected via 144 * an Marvell 88E6061 simple switch. 145 * In this case we have to change the default settings for the 146 * ethernet phy connected to the kirkwood. 147 * In this case 100MB full duplex and autoneg off 148 */ 149 #define PORT_SERIAL_CONTROL_VALUE ( \ 150 MVGBE_FORCE_LINK_PASS | \ 151 MVGBE_DIS_AUTO_NEG_FOR_DUPLX | \ 152 MVGBE_DIS_AUTO_NEG_FOR_FLOW_CTRL | \ 153 MVGBE_ADV_NO_FLOW_CTRL | \ 154 MVGBE_FORCE_FC_MODE_NO_PAUSE_DIS_TX | \ 155 MVGBE_FORCE_BP_MODE_NO_JAM | \ 156 (1 << 9) /* Reserved bit has to be 1 */ | \ 157 MVGBE_DO_NOT_FORCE_LINK_FAIL | \ 158 MVGBE_DIS_AUTO_NEG_SPEED_GMII | \ 159 MVGBE_DTE_ADV_0 | \ 160 MVGBE_MIIPHY_MAC_MODE | \ 161 MVGBE_AUTO_NEG_NO_CHANGE | \ 162 MVGBE_MAX_RX_PACKET_1552BYTE | \ 163 MVGBE_CLR_EXT_LOOPBACK | \ 164 MVGBE_SET_FULL_DUPLEX_MODE | \ 165 MVGBE_DIS_FLOW_CTRL_TX_RX_IN_FULL_DUPLEX |\ 166 MVGBE_SET_GMII_SPEED_TO_10_100 |\ 167 MVGBE_SET_MII_SPEED_TO_100) 168 #endif 169 170 #ifdef CONFIG_KM_DISABLE_PCI 171 #undef CONFIG_KIRKWOOD_PCIE_INIT 172 #endif 173 174 175 #endif /* _CONFIG_KM_KIRKWOOD */ 176