summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/cpu/armv7/mx6/bee.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv7/mx6/bee.c b/arch/arm/cpu/armv7/mx6/bee.c
index 40c4c5a..d40b584 100644
--- a/arch/arm/cpu/armv7/mx6/bee.c
+++ b/arch/arm/cpu/armv7/mx6/bee.c
@@ -10,6 +10,7 @@
#include <asm/system.h>
#include <common.h>
#include <command.h>
+#include <fuse.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -265,7 +266,7 @@ static int region_valid(u32 start, u32 size)
static int do_bee_init(cmd_tbl_t *cmdtp, int flag, int argc,
char * const argv[])
{
- u32 start, size;
+ u32 start, size, val;
int ret;
struct bee_parameters *p = &para;
@@ -278,6 +279,15 @@ static int do_bee_init(cmd_tbl_t *cmdtp, int flag, int argc,
if (argc > 5)
return CMD_RET_USAGE;
+ if (fuse_read(0, 4, &val)) {
+ puts("Can not get fuse bank 0, word 4\n");
+ } else {
+ if (val & (1 << 25)) {
+ puts("BEE disabed in fuse!\n");
+ return CMD_RET_FAILURE;
+ }
+ }
+
/* Cache enabled? */
if ((get_cr() & (CR_I | CR_C)) != (CR_I | CR_C)) {
/*