ARM: keystone2: Switch to using the poweroff command

Now that we have a standard way to power off the hardware, switch to
using that rather than our own command.

Cc: Vitaly Andrianov <vitalya@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Tom Rini 2016-03-16 09:19:43 -04:00
parent aadd3360e6
commit 534bc70e35
4 changed files with 30 additions and 29 deletions

View File

@ -450,6 +450,7 @@ config ARCH_KEYSTONE
bool "TI Keystone"
select CPU_V7
select SUPPORT_SPL
select CMD_POWEROFF
config ARCH_MX7
bool "Freescale MX7"

View File

@ -12,6 +12,7 @@ obj-y += mon.o
ifndef CONFIG_SPL_BUILD
obj-y += cmd_clock.o
obj-y += cmd_mon.o
obj-y += cmd_poweroff.o
endif
obj-y += msmc.o
obj-y += ddr3.o cmd_ddr3.o

View File

@ -0,0 +1,28 @@
/*
* Keystone EVM : Power off
*
* (C) Copyright 2014
* Texas Instruments Incorporated, <www.ti.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <command.h>
#include <asm/arch/mon.h>
#include <asm/arch/psc_defs.h>
#include <asm/arch/hardware.h>
int do_poweroff(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
mon_power_off(0);
psc_disable_module(KS2_LPSC_TETRIS);
psc_disable_domain(KS2_TETRIS_PWR_DOMAIN);
asm volatile ("isb\n"
"dsb\n"
"wfi\n");
return 0;
}

View File

@ -9,10 +9,8 @@
#include <common.h>
#include <asm/io.h>
#include <asm/arch/mon.h>
#include <asm/arch/psc_defs.h>
#include <asm/arch/hardware.h>
#include <asm/arch/hardware.h>
/**
* cpu_to_bus - swap bytes of the 32-bit data if the device is BE
@ -30,22 +28,6 @@ int cpu_to_bus(u32 *ptr, u32 length)
return 0;
}
static int turn_off_myself(void)
{
printf("Turning off ourselves\r\n");
mon_power_off(0);
psc_disable_module(KS2_LPSC_TETRIS);
psc_disable_domain(KS2_TETRIS_PWR_DOMAIN);
asm volatile ("isb\n"
"dsb\n"
"wfi\n");
printf("What! Should not see that\n");
return 0;
}
static void turn_off_all_dsps(int num_dsps)
{
int i;
@ -59,17 +41,6 @@ static void turn_off_all_dsps(int num_dsps)
}
}
int do_killme_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
return turn_off_myself();
}
U_BOOT_CMD(
killme, 1, 0, do_killme_cmd,
"turn off main ARM core",
"turn off main ARM core. Should not live after that :(\n"
);
int misc_init_r(void)
{
char *env;