summaryrefslogtreecommitdiffstats
path: root/arch/blackfin
diff options
context:
space:
mode:
authorSteven Miao <realmz6@gmail.com>2012-05-04 13:01:47 +0800
committerBob Liu <lliubbo@gmail.com>2012-07-24 13:39:53 +0800
commit0220874aad7160d127f9a95eb556cec2c374cd51 (patch)
treef8861e69a0b57b45b3d5a85cd0856c6d8fd2506e /arch/blackfin
parent433b58877d454f420e9d6ac1f889de80ee454df0 (diff)
downloadtalos-obmc-linux-0220874aad7160d127f9a95eb556cec2c374cd51.tar.gz
talos-obmc-linux-0220874aad7160d127f9a95eb556cec2c374cd51.zip
PM: add BF60x flash suspend and resume support
Signed-off-by: Steven Miao <realmz6@gmail.com> Signed-off-by: Bob Liu <lliubbo@gmail.com>
Diffstat (limited to 'arch/blackfin')
-rw-r--r--arch/blackfin/mach-bf609/boards/ezkit.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/arch/blackfin/mach-bf609/boards/ezkit.c b/arch/blackfin/mach-bf609/boards/ezkit.c
index 9f9f597dc1be..36fbdacc0b76 100644
--- a/arch/blackfin/mach-bf609/boards/ezkit.c
+++ b/arch/blackfin/mach-bf609/boards/ezkit.c
@@ -677,10 +677,25 @@ int bf609_nor_flash_init(struct platform_device *dev)
return 0;
}
+void bf609_nor_flash_exit(struct platform_device *dev)
+{
+ const unsigned short pins[] = {
+ P_A3, P_A4, P_A5, P_A6, P_A7, P_A8, P_A9, P_A10, P_A11, P_A12,
+ P_A13, P_A14, P_A15, P_A16, P_A17, P_A18, P_A19, P_A20, P_A21,
+ P_A22, P_A23, P_A24, P_A25, P_NORCK, 0,
+ };
+
+ peripheral_free_list(pins);
+
+ bfin_write32(SMC_GCTL, 0);
+ return 0;
+}
+
static struct physmap_flash_data ezkit_flash_data = {
.width = 2,
.parts = ezkit_partitions,
- .init = bf609_nor_flash_init,
+ .init = bf609_nor_flash_init,
+ .exit = bf609_nor_flash_exit,
.nr_parts = ARRAY_SIZE(ezkit_partitions),
#ifdef CONFIG_ROMKERNEL
.probe_type = "map_rom",
OpenPOWER on IntegriCloud