[ARM] pxa: make lubbock specific debugging stuffs back into lubbock.c
This isn't perfect but at least solves the problem of pm.c's dependency on register definitions in <mach/lubbock.h>, which doesn't make much sense. Signed-off-by: Eric Miao <eric.miao@marvell.com>
This commit is contained in:
Родитель
b393c69652
Коммит
5438614509
|
@ -25,7 +25,6 @@
|
|||
|
||||
/* FPGA register virtual addresses */
|
||||
#define LUB_WHOAMI __LUB_REG(LUBBOCK_FPGA_PHYS + 0x000)
|
||||
#define LUB_HEXLED __LUB_REG(LUBBOCK_FPGA_PHYS + 0x010)
|
||||
#define LUB_DISC_BLNK_LED __LUB_REG(LUBBOCK_FPGA_PHYS + 0x040)
|
||||
#define LUB_CONF_SWITCHES __LUB_REG(LUBBOCK_FPGA_PHYS + 0x050)
|
||||
#define LUB_USER_SWITCHES __LUB_REG(LUBBOCK_FPGA_PHYS + 0x060)
|
||||
|
|
|
@ -27,3 +27,13 @@ extern void pxa27x_cpu_suspend(unsigned int);
|
|||
extern void pxa_cpu_resume(void);
|
||||
|
||||
extern int pxa_pm_enter(suspend_state_t state);
|
||||
|
||||
/* NOTE: this is for PM debugging on Lubbock, it's really a big
|
||||
* ugly, but let's keep the crap minimum here, instead of direct
|
||||
* accessing the LUBBOCK CPLD registers in arch/arm/mach-pxa/pm.c
|
||||
*/
|
||||
#ifdef CONFIG_ARCH_LUBBOCK
|
||||
extern void lubbock_set_hexled(uint32_t value);
|
||||
#else
|
||||
#define lubbock_set_hexled(x)
|
||||
#endif
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
#include <mach/irda.h>
|
||||
#include <mach/pxafb.h>
|
||||
#include <mach/mmc.h>
|
||||
#include <mach/pm.h>
|
||||
|
||||
#include "generic.h"
|
||||
#include "clock.h"
|
||||
|
@ -112,8 +113,14 @@ static unsigned long lubbock_pin_config[] __initdata = {
|
|||
GPIO1_GPIO | WAKEUP_ON_EDGE_RISE,
|
||||
};
|
||||
|
||||
#define LUB_HEXLED __LUB_REG(LUBBOCK_FPGA_PHYS + 0x010)
|
||||
#define LUB_MISC_WR __LUB_REG(LUBBOCK_FPGA_PHYS + 0x080)
|
||||
|
||||
void lubbock_set_hexled(uint32_t value)
|
||||
{
|
||||
LUB_HEXLED = value;
|
||||
}
|
||||
|
||||
void lubbock_set_misc_wr(unsigned int mask, unsigned int set)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
|
|
@ -14,15 +14,8 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/suspend.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/time.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/system.h>
|
||||
#include <mach/pm.h>
|
||||
#include <mach/pxa-regs.h>
|
||||
#include <mach/lubbock.h>
|
||||
#include <asm/mach/time.h>
|
||||
|
||||
struct pxa_cpu_pm_fns *pxa_cpu_pm_fns;
|
||||
static unsigned long *sleep_save;
|
||||
|
@ -57,9 +50,9 @@ int pxa_pm_enter(suspend_state_t state)
|
|||
|
||||
/* if invalid, display message and wait for a hardware reset */
|
||||
if (checksum != sleep_save_checksum) {
|
||||
#ifdef CONFIG_ARCH_LUBBOCK
|
||||
LUB_HEXLED = 0xbadbadc5;
|
||||
#endif
|
||||
|
||||
lubbock_set_hexled(0xbadbadc5);
|
||||
|
||||
while (1)
|
||||
pxa_cpu_pm_fns->enter(state);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче