summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhoronzhuk, Ivan <ivan.khoronzhuk@ti.com>2014-10-17 21:01:13 +0300
committerTom Rini <trini@ti.com>2014-10-23 11:27:29 -0400
commit3c61502aad85e8b25b75e349dfd5a5a7eee22301 (patch)
tree79bc35b044f709ec8f9d19e5b7078f40e80f55d7
parent2162faaf58684e262a0a7a933c1c77da45317831 (diff)
downloadu-boot-imx-3c61502aad85e8b25b75e349dfd5a5a7eee22301.zip
u-boot-imx-3c61502aad85e8b25b75e349dfd5a5a7eee22301.tar.gz
u-boot-imx-3c61502aad85e8b25b75e349dfd5a5a7eee22301.tar.bz2
net: keystone_serdes: add keystone K2E SoC support
Keystone2 Edison SoC uses the same keystone SerDes driver. This patch adds support for K2E SoCs. Acked-by: Vitaly Andrianov <vitalya@ti.com> Acked-by: Murali Karicheri <m-karicheri2@ti.com> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
-rw-r--r--arch/arm/include/asm/arch-keystone/hardware-k2e.h4
-rw-r--r--drivers/net/keystone_net.c6
-rw-r--r--include/configs/k2e_evm.h3
-rw-r--r--include/configs/ks2_evm.h1
4 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/include/asm/arch-keystone/hardware-k2e.h b/arch/arm/include/asm/arch-keystone/hardware-k2e.h
index fba701f..1d6fd11 100644
--- a/arch/arm/include/asm/arch-keystone/hardware-k2e.h
+++ b/arch/arm/include/asm/arch-keystone/hardware-k2e.h
@@ -41,6 +41,10 @@
#define KS2_CIC2_DDR3_ECC_IRQ_NUM -1 /* not defined in K2E */
#define KS2_CIC2_DDR3_ECC_CHAN_NUM -1 /* not defined in K2E */
+/* SGMII SerDes */
+#define KS2_SGMII_SERDES2_BASE 0x02324000
+#define KS2_LANES_PER_SGMII_SERDES 4
+
/* Number of DSP cores */
#define KS2_NUM_DSPS 1
diff --git a/drivers/net/keystone_net.c b/drivers/net/keystone_net.c
index 13a1778..43c263e 100644
--- a/drivers/net/keystone_net.c
+++ b/drivers/net/keystone_net.c
@@ -551,6 +551,12 @@ static void keystone2_net_serdes_setup(void)
&ks2_serdes_sgmii_156p25mhz,
CONFIG_KSNET_SERDES_LANES_PER_SGMII);
+#ifdef CONFIG_SOC_K2E
+ ks2_serdes_init(CONFIG_KSNET_SERDES_SGMII2_BASE,
+ &ks2_serdes_sgmii_156p25mhz,
+ CONFIG_KSNET_SERDES_LANES_PER_SGMII);
+#endif
+
/* wait till setup */
udelay(5000);
}
diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
index 3502d10..fd45d61 100644
--- a/include/configs/k2e_evm.h
+++ b/include/configs/k2e_evm.h
@@ -34,4 +34,7 @@
/* NAND Configuration */
#define CONFIG_SYS_NAND_PAGE_2K
+/* SerDes */
+#define CONFIG_TI_KEYSTONE_SERDES
+
#endif /* __CONFIG_K2E_EVM_H */
diff --git a/include/configs/ks2_evm.h b/include/configs/ks2_evm.h
index fe197dc..7c6392a 100644
--- a/include/configs/ks2_evm.h
+++ b/include/configs/ks2_evm.h
@@ -138,6 +138,7 @@
#define CONFIG_KSNET_MAC_ID_BASE KS2_MAC_ID_BASE_ADDR
#define CONFIG_KSNET_NETCP_BASE KS2_NETCP_BASE
#define CONFIG_KSNET_SERDES_SGMII_BASE KS2_SGMII_SERDES_BASE
+#define CONFIG_KSNET_SERDES_SGMII2_BASE KS2_SGMII_SERDES2_BASE
#define CONFIG_KSNET_SERDES_LANES_PER_SGMII KS2_LANES_PER_SGMII_SERDES
/* AEMIF */