summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/armv7/mx7/soc.c
diff options
context:
space:
mode:
authorPeng Fan <Peng.Fan@freescale.com>2015-10-23 10:13:04 +0800
committerStefano Babic <sbabic@denx.de>2015-11-12 17:31:16 +0100
commit7de4703691498e18c58f375d724818e4d0db6223 (patch)
tree080824ec20f880eda1c4500ee33a11b14107aca0 /arch/arm/cpu/armv7/mx7/soc.c
parentd47cb0b61aa9e268f140455b2bc4421ae9e0b4bc (diff)
downloadu-boot-7de4703691498e18c58f375d724818e4d0db6223.tar.gz
u-boot-7de4703691498e18c58f375d724818e4d0db6223.tar.xz
u-boot-7de4703691498e18c58f375d724818e4d0db6223.zip
mx7: psci: add basic psci support
1. add basic psci support for imx7 chip. 2. support cpu_on and cpu_off. 3. switch to non-secure mode when boot linux kernel. 4. set csu allow accessing all peripherial register in non-secure mode. Signed-off-by: Frank Li <Frank.Li@freescale.com> Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com>
Diffstat (limited to 'arch/arm/cpu/armv7/mx7/soc.c')
-rw-r--r--arch/arm/cpu/armv7/mx7/soc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/mx7/soc.c b/arch/arm/cpu/armv7/mx7/soc.c
index a6224afedc..c777922e9d 100644
--- a/arch/arm/cpu/armv7/mx7/soc.c
+++ b/arch/arm/cpu/armv7/mx7/soc.c
@@ -122,10 +122,19 @@ u32 __weak get_board_rev(void)
}
#endif
+/* enable all periherial can be accessed in nosec mode */
+static void init_csu(void)
+{
+ int i = 0;
+ for (i = 0; i < CSU_NUM_REGS; i++)
+ writel(CSU_INIT_SEC_LEVEL0, CSU_IPS_BASE_ADDR + i * 4);
+}
+
int arch_cpu_init(void)
{
init_aips();
+ init_csu();
/* Disable PDE bit of WMCR register */
imx_set_wdog_powerdown(false);