All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2] qe: disable qe when qe-ucode fails to be uploaded
@ 2014-04-28  8:33 Zhao Qiang
  0 siblings, 0 replies; only message in thread
From: Zhao Qiang @ 2014-04-28  8:33 UTC (permalink / raw)
  To: u-boot

when qe-ucode fails to be uploaded, disable qe.

Signed-off-by: Zhao Qiang <B45475@freescale.com>
---
Changes for v2:
	- add "#ifdef CONFIG_MPC85xx"

 drivers/qe/qe.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/qe/qe.c b/drivers/qe/qe.c
index b5ddc4b..c41bfcc 100644
--- a/drivers/qe/qe.c
+++ b/drivers/qe/qe.c
@@ -14,6 +14,8 @@
 #include "asm/immap_qe.h"
 #include "qe.h"
 
+#define MPC85xx_DEVDISR_QE_DISABLE	0x1
+
 qe_map_t		*qe_immr = NULL;
 static qe_snum_t	snums[QE_NUM_OF_SNUM];
 
@@ -317,7 +319,9 @@ int qe_upload_firmware(const struct qe_firmware *firmware)
 	size_t calc_size = sizeof(struct qe_firmware);
 	size_t length;
 	const struct qe_header *hdr;
-
+#ifdef CONFIG_MPC85xx
+	ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+#endif
 	if (!firmware) {
 		printf("Invalid address\n");
 		return -EINVAL;
@@ -330,6 +334,9 @@ int qe_upload_firmware(const struct qe_firmware *firmware)
 	if ((hdr->magic[0] != 'Q') || (hdr->magic[1] != 'E') ||
 	    (hdr->magic[2] != 'F')) {
 		printf("Not a microcode\n");
+#ifdef CONFIG_MPC85xx
+		setbits_be32(&gur->devdisr, MPC85xx_DEVDISR_QE_DISABLE);
+#endif
 		return -EPERM;
 	}
 
-- 
1.8.5

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2014-04-28  8:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-28  8:33 [U-Boot] [PATCH v2] qe: disable qe when qe-ucode fails to be uploaded Zhao Qiang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.