summaryrefslogtreecommitdiff
path: root/board/freescale/t104xrdb
diff options
context:
space:
mode:
Diffstat (limited to 'board/freescale/t104xrdb')
-rw-r--r--board/freescale/t104xrdb/cpld.h1
-rw-r--r--board/freescale/t104xrdb/eth.c2
-rw-r--r--board/freescale/t104xrdb/t104xrdb.c10
3 files changed, 12 insertions, 1 deletions
diff --git a/board/freescale/t104xrdb/cpld.h b/board/freescale/t104xrdb/cpld.h
index 2fb4105..86de26c 100644
--- a/board/freescale/t104xrdb/cpld.h
+++ b/board/freescale/t104xrdb/cpld.h
@@ -44,3 +44,4 @@ void cpld_write(unsigned int reg, u8 value);
cpld_write(offsetof(struct cpld_data, reg), value)
#define MISC_CTL_SG_SEL 0x80
#define MISC_CTL_AURORA_SEL 0x02
+#define MISC_MUX_QE_TDM 0xc0
diff --git a/board/freescale/t104xrdb/eth.c b/board/freescale/t104xrdb/eth.c
index 71d0457..52cd112 100644
--- a/board/freescale/t104xrdb/eth.c
+++ b/board/freescale/t104xrdb/eth.c
@@ -11,7 +11,7 @@
#include <fm_eth.h>
#include <fsl_mdio.h>
#include <malloc.h>
-#include <asm/fsl_dtsec.h>
+#include <fsl_dtsec.h>
#include <vsc9953.h>
#include "../common/fman.h"
diff --git a/board/freescale/t104xrdb/t104xrdb.c b/board/freescale/t104xrdb/t104xrdb.c
index d982dfc..3227652 100644
--- a/board/freescale/t104xrdb/t104xrdb.c
+++ b/board/freescale/t104xrdb/t104xrdb.c
@@ -6,12 +6,14 @@
#include <common.h>
#include <command.h>
+#include <hwconfig.h>
#include <netdev.h>
#include <linux/compiler.h>
#include <asm/mmu.h>
#include <asm/processor.h>
#include <asm/cache.h>
#include <asm/immap_85xx.h>
+#include <asm/fsl_fdt.h>
#include <asm/fsl_law.h>
#include <asm/fsl_serdes.h>
#include <asm/fsl_portals.h>
@@ -110,6 +112,12 @@ int misc_init_r(void)
MISC_CTL_SG_SEL | MISC_CTL_AURORA_SEL);
#if defined(CONFIG_T1040D4RDB)
+ if (hwconfig("qe-tdm")) {
+ CPLD_WRITE(sfp_ctl_status, CPLD_READ(sfp_ctl_status) |
+ MISC_MUX_QE_TDM);
+ printf("QECSR : 0x%02x, mux to qe-tdm\n",
+ CPLD_READ(sfp_ctl_status));
+ }
/* Mask all CPLD interrupt sources, except QSGMII interrupts */
if (CPLD_READ(sw_ver) < 0x03) {
debug("CPLD SW version 0x%02x doesn't support int_mask\n",
@@ -149,5 +157,7 @@ int ft_board_setup(void *blob, bd_t *bd)
fdt_fixup_fman_ethernet(blob);
#endif
+ if (hwconfig("qe-tdm"))
+ fdt_del_diu(blob);
return 0;
}