1*534bc70eSTom Rini /* 2*534bc70eSTom Rini * Keystone EVM : Power off 3*534bc70eSTom Rini * 4*534bc70eSTom Rini * (C) Copyright 2014 5*534bc70eSTom Rini * Texas Instruments Incorporated, <www.ti.com> 6*534bc70eSTom Rini * 7*534bc70eSTom Rini * SPDX-License-Identifier: GPL-2.0+ 8*534bc70eSTom Rini */ 9*534bc70eSTom Rini 10*534bc70eSTom Rini #include <common.h> 11*534bc70eSTom Rini #include <command.h> 12*534bc70eSTom Rini #include <asm/arch/mon.h> 13*534bc70eSTom Rini #include <asm/arch/psc_defs.h> 14*534bc70eSTom Rini #include <asm/arch/hardware.h> 15*534bc70eSTom Rini 16*534bc70eSTom Rini int do_poweroff(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) 17*534bc70eSTom Rini { 18*534bc70eSTom Rini mon_power_off(0); 19*534bc70eSTom Rini 20*534bc70eSTom Rini psc_disable_module(KS2_LPSC_TETRIS); 21*534bc70eSTom Rini psc_disable_domain(KS2_TETRIS_PWR_DOMAIN); 22*534bc70eSTom Rini 23*534bc70eSTom Rini asm volatile ("isb\n" 24*534bc70eSTom Rini "dsb\n" 25*534bc70eSTom Rini "wfi\n"); 26*534bc70eSTom Rini 27*534bc70eSTom Rini return 0; 28*534bc70eSTom Rini } 29