mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 23:45:31 +08:00
6d45a4028c
This patch adds cpuidle support for i.MX7ULP, 3 cpuidle states supported as below: 1. WFI, just ARM wfi; 2. WAIT mode, mapped to SoC's partial stop mode #3; 3. STOP mode, mapped to SoC's partial stop mode #1. In WAIT mode, system clock and bus clock will be enabled; In STOP mode, system clock and bus clock will be disabled. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
39 lines
837 B
C
39 lines
837 B
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright (C) 2016 Freescale Semiconductor, Inc.
|
|
* Copyright 2017-2018 NXP
|
|
* Author: Dong Aisheng <aisheng.dong@nxp.com>
|
|
*/
|
|
|
|
#include <linux/irqchip.h>
|
|
#include <linux/of_platform.h>
|
|
#include <asm/mach/arch.h>
|
|
|
|
#include "common.h"
|
|
#include "cpuidle.h"
|
|
#include "hardware.h"
|
|
|
|
static void __init imx7ulp_init_machine(void)
|
|
{
|
|
imx7ulp_pm_init();
|
|
|
|
mxc_set_cpu_type(MXC_CPU_IMX7ULP);
|
|
of_platform_default_populate(NULL, NULL, imx_soc_device_init());
|
|
}
|
|
|
|
static const char *const imx7ulp_dt_compat[] __initconst = {
|
|
"fsl,imx7ulp",
|
|
NULL,
|
|
};
|
|
|
|
static void __init imx7ulp_init_late(void)
|
|
{
|
|
imx7ulp_cpuidle_init();
|
|
}
|
|
|
|
DT_MACHINE_START(IMX7ulp, "Freescale i.MX7ULP (Device Tree)")
|
|
.init_machine = imx7ulp_init_machine,
|
|
.dt_compat = imx7ulp_dt_compat,
|
|
.init_late = imx7ulp_init_late,
|
|
MACHINE_END
|