Skip to content
Snippets Groups Projects
Commit 6259e291 authored by Zhao Qiang's avatar Zhao Qiang Committed by York Sun
Browse files

T1040QDS/U-QE: Add u-qe support to t1040qds


Add u-qe support for t1040qds

Signed-off-by: default avatarZhao Qiang <B45475@freescale.com>
Reviewed-by: default avatarYork Sun <yorksun@freescale.com>
parent 5303a3de
No related branches found
No related tags found
No related merge requests found
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include <asm/fsl_portals.h> #include <asm/fsl_portals.h>
#include <asm/fsl_liodn.h> #include <asm/fsl_liodn.h>
#include <fm_eth.h> #include <fm_eth.h>
#include <hwconfig.h>
#include <asm/mpc85xx_gpio.h> #include <asm/mpc85xx_gpio.h>
#include "../common/qixis.h" #include "../common/qixis.h"
...@@ -90,6 +91,30 @@ int select_i2c_ch_pca9547(u8 ch) ...@@ -90,6 +91,30 @@ int select_i2c_ch_pca9547(u8 ch)
return 0; return 0;
} }
static void qe_board_setup(void)
{
u8 brdcfg15, brdcfg9;
if (hwconfig("qe") && hwconfig("tdm")) {
brdcfg15 = QIXIS_READ(brdcfg[15]);
/*
* TDMRiser uses QE-TDM
* Route QE_TDM signals to TDM Riser slot
*/
QIXIS_WRITE(brdcfg[15], brdcfg15 | 7);
} else if (hwconfig("qe") && hwconfig("uart")) {
brdcfg15 = QIXIS_READ(brdcfg[15]);
brdcfg9 = QIXIS_READ(brdcfg[9]);
/*
* Route QE_TDM signals to UCC
* ProfiBus controlled by UCC3
*/
brdcfg15 &= 0xfc;
QIXIS_WRITE(brdcfg[15], brdcfg15 | 2);
QIXIS_WRITE(brdcfg[9], brdcfg9 | 4);
}
}
int board_early_init_r(void) int board_early_init_r(void)
{ {
#ifdef CONFIG_SYS_FLASH_BASE #ifdef CONFIG_SYS_FLASH_BASE
...@@ -197,6 +222,8 @@ int misc_init_r(void) ...@@ -197,6 +222,8 @@ int misc_init_r(void)
} }
} }
qe_board_setup();
return 0; return 0;
} }
......
...@@ -601,6 +601,8 @@ unsigned long get_board_ddr_clk(void); ...@@ -601,6 +601,8 @@ unsigned long get_board_ddr_clk(void);
#define CONFIG_SYS_DPAA_FMAN #define CONFIG_SYS_DPAA_FMAN
#define CONFIG_SYS_DPAA_PME #define CONFIG_SYS_DPAA_PME
#define CONFIG_QE
#define CONFIG_U_QE
/* Default address of microcode for the Linux Fman driver */ /* Default address of microcode for the Linux Fman driver */
#if defined(CONFIG_SPIFLASH) #if defined(CONFIG_SPIFLASH)
/* /*
...@@ -623,6 +625,7 @@ unsigned long get_board_ddr_clk(void); ...@@ -623,6 +625,7 @@ unsigned long get_board_ddr_clk(void);
#else #else
#define CONFIG_SYS_QE_FMAN_FW_IN_NOR #define CONFIG_SYS_QE_FMAN_FW_IN_NOR
#define CONFIG_SYS_FMAN_FW_ADDR 0xEFF00000 #define CONFIG_SYS_FMAN_FW_ADDR 0xEFF00000
#define CONFIG_SYS_QE_FW_ADDR 0xEFF10000
#endif #endif
#define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000 #define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000
#define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH) #define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment