.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright 2004-2014 Freescale Semiconductor, Inc. All Rights Reserved. |
---|
3 | 4 | */ |
---|
4 | 5 | |
---|
5 | | -/* |
---|
6 | | - * This program is free software; you can redistribute it and/or modify |
---|
7 | | - * it under the terms of the GNU General Public License version 2 as |
---|
8 | | - * published by the Free Software Foundation. |
---|
9 | | - */ |
---|
10 | 6 | |
---|
11 | 7 | #ifndef __ASM_ARCH_MXC_COMMON_H__ |
---|
12 | 8 | #define __ASM_ARCH_MXC_COMMON_H__ |
---|
.. | .. |
---|
21 | 17 | enum mxc_cpu_pwr_mode; |
---|
22 | 18 | struct of_device_id; |
---|
23 | 19 | |
---|
24 | | -void mx21_map_io(void); |
---|
25 | | -void mx27_map_io(void); |
---|
26 | 20 | void mx31_map_io(void); |
---|
27 | 21 | void mx35_map_io(void); |
---|
28 | 22 | void imx21_init_early(void); |
---|
29 | | -void imx27_init_early(void); |
---|
30 | 23 | void imx31_init_early(void); |
---|
31 | 24 | void imx35_init_early(void); |
---|
32 | 25 | void mxc_init_irq(void __iomem *); |
---|
33 | | -void mx21_init_irq(void); |
---|
34 | | -void mx27_init_irq(void); |
---|
35 | 26 | void mx31_init_irq(void); |
---|
36 | 27 | void mx35_init_irq(void); |
---|
37 | | -void imx21_soc_init(void); |
---|
38 | | -void imx27_soc_init(void); |
---|
39 | | -void imx31_soc_init(void); |
---|
40 | | -void imx35_soc_init(void); |
---|
41 | | -int mx21_clocks_init(unsigned long lref, unsigned long fref); |
---|
42 | | -int mx27_clocks_init(unsigned long fref); |
---|
43 | | -int mx31_clocks_init(unsigned long fref); |
---|
44 | | -int mx35_clocks_init(void); |
---|
45 | | -struct platform_device *mxc_register_gpio(char *name, int id, |
---|
46 | | - resource_size_t iobase, resource_size_t iosize, int irq, int irq_high); |
---|
47 | 28 | void mxc_set_cpu_type(unsigned int type); |
---|
48 | 29 | void mxc_restart(enum reboot_mode, const char *); |
---|
49 | 30 | void mxc_arch_reset_init(void __iomem *); |
---|
.. | .. |
---|
53 | 34 | int mxc_device_init(void); |
---|
54 | 35 | void imx_set_soc_revision(unsigned int rev); |
---|
55 | 36 | void imx_init_revision_from_anatop(void); |
---|
56 | | -struct device *imx_soc_device_init(void); |
---|
57 | 37 | void imx6_enable_rbc(bool enable); |
---|
58 | 38 | void imx_gpc_check_dt(void); |
---|
59 | 39 | void imx_gpc_set_arm_power_in_lpm(bool power_off); |
---|
.. | .. |
---|
70 | 50 | WAIT_UNCLOCKED_POWER_OFF, /* WAIT + SRPG */ |
---|
71 | 51 | STOP_POWER_ON, /* just STOP */ |
---|
72 | 52 | STOP_POWER_OFF, /* STOP + SRPG */ |
---|
| 53 | +}; |
---|
| 54 | + |
---|
| 55 | +enum ulp_cpu_pwr_mode { |
---|
| 56 | + ULP_PM_HSRUN, /* High speed run mode */ |
---|
| 57 | + ULP_PM_RUN, /* Run mode */ |
---|
| 58 | + ULP_PM_WAIT, /* Wait mode */ |
---|
| 59 | + ULP_PM_STOP, /* Stop mode */ |
---|
| 60 | + ULP_PM_VLPS, /* Very low power stop mode */ |
---|
| 61 | + ULP_PM_VLLS, /* very low leakage stop mode */ |
---|
73 | 62 | }; |
---|
74 | 63 | |
---|
75 | 64 | void imx_enable_cpu(int cpu, bool enable); |
---|
.. | .. |
---|
98 | 87 | void imx6_set_int_mem_clk_lpm(bool enable); |
---|
99 | 88 | void imx6sl_set_wait_clk(bool enter); |
---|
100 | 89 | int imx_mmdc_get_ddr_type(void); |
---|
| 90 | +int imx7ulp_set_lpm(enum ulp_cpu_pwr_mode mode); |
---|
101 | 91 | |
---|
102 | 92 | void imx_cpu_die(unsigned int cpu); |
---|
103 | 93 | int imx_cpu_kill(unsigned int cpu); |
---|
.. | .. |
---|
120 | 110 | void imx6sl_pm_init(void); |
---|
121 | 111 | void imx6sx_pm_init(void); |
---|
122 | 112 | void imx6ul_pm_init(void); |
---|
| 113 | +void imx7ulp_pm_init(void); |
---|
123 | 114 | |
---|
124 | 115 | #ifdef CONFIG_PM |
---|
125 | 116 | void imx51_pm_init(void); |
---|