aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/include/asm/qe.h23
-rw-r--r--arch/powerpc/sysdev/qe_lib/qe.c13
2 files changed, 22 insertions, 14 deletions
diff --git a/arch/powerpc/include/asm/qe.h b/arch/powerpc/include/asm/qe.h
index 908f0b75745b..5e0e8b2b0aa1 100644
--- a/arch/powerpc/include/asm/qe.h
+++ b/arch/powerpc/include/asm/qe.h
@@ -154,7 +154,28 @@ int qe_get_snum(void);
154void qe_put_snum(u8 snum); 154void qe_put_snum(u8 snum);
155unsigned int qe_get_num_of_risc(void); 155unsigned int qe_get_num_of_risc(void);
156unsigned int qe_get_num_of_snums(void); 156unsigned int qe_get_num_of_snums(void);
157int qe_alive_during_sleep(void); 157
158static inline int qe_alive_during_sleep(void)
159{
160 /*
161 * MPC8568E reference manual says:
162 *
163 * "...power down sequence waits for all I/O interfaces to become idle.
164 * In some applications this may happen eventually without actively
165 * shutting down interfaces, but most likely, software will have to
166 * take steps to shut down the eTSEC, QUICC Engine Block, and PCI
167 * interfaces before issuing the command (either the write to the core
168 * MSR[WE] as described above or writing to POWMGTCSR) to put the
169 * device into sleep state."
170 *
171 * MPC8569E reference manual has a similar paragraph.
172 */
173#ifdef CONFIG_PPC_85xx
174 return 0;
175#else
176 return 1;
177#endif
178}
158 179
159/* we actually use cpm_muram implementation, define this for convenience */ 180/* we actually use cpm_muram implementation, define this for convenience */
160#define qe_muram_init cpm_muram_init 181#define qe_muram_init cpm_muram_init
diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c
index 1ed1a9fd9bcf..4eaf2a962914 100644
--- a/arch/powerpc/sysdev/qe_lib/qe.c
+++ b/arch/powerpc/sysdev/qe_lib/qe.c
@@ -65,19 +65,6 @@ static unsigned int qe_num_of_snum;
65 65
66static phys_addr_t qebase = -1; 66static phys_addr_t qebase = -1;
67 67
68int qe_alive_during_sleep(void)
69{
70 static int ret = -1;
71
72 if (ret != -1)
73 return ret;
74
75 ret = !of_find_compatible_node(NULL, NULL, "fsl,mpc8569-pmc");
76
77 return ret;
78}
79EXPORT_SYMBOL(qe_alive_during_sleep);
80
81phys_addr_t get_qe_base(void) 68phys_addr_t get_qe_base(void)
82{ 69{
83 struct device_node *qe; 70 struct device_node *qe;