aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhao Qiang <qiang.zhao@nxp.com>2016-02-05 10:04:17 +0800
committerYork Sun <york.sun@nxp.com>2016-02-24 08:51:14 -0800
commitd3e6d30cef41d929dcab2ce8dcb93d92319a49a2 (patch)
tree8ad4ed3514f410ea335b5f2135255bd6d62d2c81
parent3bf46e6a6de71a31be05545d59819ca73e367ddc (diff)
downloadu-boot-d3e6d30cef41d929dcab2ce8dcb93d92319a49a2.zip
u-boot-d3e6d30cef41d929dcab2ce8dcb93d92319a49a2.tar.gz
u-boot-d3e6d30cef41d929dcab2ce8dcb93d92319a49a2.tar.bz2
board: ls1043ardb: Add micro QE support for ls1043ardb
Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
-rw-r--r--board/freescale/ls1043ardb/ls1043ardb.c8
-rw-r--r--drivers/qe/qe.c6
-rw-r--r--include/configs/ls1043ardb.h7
3 files changed, 17 insertions, 4 deletions
diff --git a/board/freescale/ls1043ardb/ls1043ardb.c b/board/freescale/ls1043ardb/ls1043ardb.c
index c8f723a..2e61f3a 100644
--- a/board/freescale/ls1043ardb/ls1043ardb.c
+++ b/board/freescale/ls1043ardb/ls1043ardb.c
@@ -21,6 +21,10 @@
#include <environment.h>
#include <fsl_sec.h>
#include "cpld.h"
+#ifdef CONFIG_U_QE
+#include <fsl_qe.h>
+#endif
+
DECLARE_GLOBAL_DATA_PTR;
@@ -113,6 +117,10 @@ int board_init(void)
enable_layerscape_ns_access();
#endif
+#ifdef CONFIG_U_QE
+ u_qe_init();
+#endif
+
return 0;
}
diff --git a/drivers/qe/qe.c b/drivers/qe/qe.c
index 31e0e3b..2b98984 100644
--- a/drivers/qe/qe.c
+++ b/drivers/qe/qe.c
@@ -192,8 +192,7 @@ void qe_init(uint qe_base)
#ifdef CONFIG_U_QE
void u_qe_init(void)
{
- uint qe_base = CONFIG_SYS_IMMR + 0x01400000; /* QE immr base */
- qe_immr = (qe_map_t *)qe_base;
+ qe_immr = (qe_map_t *)(CONFIG_SYS_IMMR + QE_IMMR_OFFSET);
u_qe_upload_firmware((const void *)CONFIG_SYS_QE_FW_ADDR);
out_be32(&qe_immr->iram.iready, QE_IRAM_READY);
@@ -204,9 +203,8 @@ void u_qe_init(void)
void u_qe_resume(void)
{
qe_map_t *qe_immrr;
- uint qe_base = CONFIG_SYS_IMMR + QE_IMMR_OFFSET; /* QE immr base */
- qe_immrr = (qe_map_t *)qe_base;
+ qe_immrr = (qe_map_t *)(CONFIG_SYS_IMMR + QE_IMMR_OFFSET);
u_qe_firmware_resume((const void *)CONFIG_SYS_QE_FW_ADDR, qe_immrr);
out_be32(&qe_immrr->iram.iready, QE_IRAM_READY);
}
diff --git a/include/configs/ls1043ardb.h b/include/configs/ls1043ardb.h
index 506f50d..bc40b06 100644
--- a/include/configs/ls1043ardb.h
+++ b/include/configs/ls1043ardb.h
@@ -268,6 +268,13 @@
#define CONFIG_ETHPRIME "FM1@DTSEC3"
#endif
+/* QE */
+#if !defined(CONFIG_SD_BOOT) && !defined(CONFIG_NAND_BOOT) && \
+ !defined(CONFIG_QSPI_BOOT)
+#define CONFIG_U_QE
+#endif
+#define CONFIG_SYS_QE_FW_ADDR 0x60600000
+
/* USB */
#define CONFIG_HAS_FSL_XHCI_USB
#ifdef CONFIG_HAS_FSL_XHCI_USB