diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2009-03-04 15:01:31 -0500 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-03-20 14:07:39 -0400 |
commit | a591f5d35e89be90c04830d7de01c276af68aeb7 (patch) | |
tree | 25ed19b0423f7035e340ff7b6fea3352971d0a83 /arch/mips/include/asm/txx9 | |
parent | fc371a25eab8816d49c2d322d91b48a11e206018 (diff) |
[MTD] [NAND] TXx9: add NDFMC support
Add platform support for NAND Flash Memory Controller of TXx9 SoCs.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Acked-By: Ralf Bächle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'arch/mips/include/asm/txx9')
-rw-r--r-- | arch/mips/include/asm/txx9/ndfmc.h | 30 | ||||
-rw-r--r-- | arch/mips/include/asm/txx9/tx4938.h | 1 | ||||
-rw-r--r-- | arch/mips/include/asm/txx9/tx4939.h | 2 |
3 files changed, 33 insertions, 0 deletions
diff --git a/arch/mips/include/asm/txx9/ndfmc.h b/arch/mips/include/asm/txx9/ndfmc.h new file mode 100644 index 000000000000..fa67f3df78fc --- /dev/null +++ b/arch/mips/include/asm/txx9/ndfmc.h | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License version 2 as | ||
4 | * published by the Free Software Foundation. | ||
5 | * | ||
6 | * (C) Copyright TOSHIBA CORPORATION 2007 | ||
7 | */ | ||
8 | #ifndef __ASM_TXX9_NDFMC_H | ||
9 | #define __ASM_TXX9_NDFMC_H | ||
10 | |||
11 | #define NDFMC_PLAT_FLAG_USE_BSPRT 0x01 | ||
12 | #define NDFMC_PLAT_FLAG_NO_RSTR 0x02 | ||
13 | #define NDFMC_PLAT_FLAG_HOLDADD 0x04 | ||
14 | #define NDFMC_PLAT_FLAG_DUMMYWRITE 0x08 | ||
15 | |||
16 | struct txx9ndfmc_platform_data { | ||
17 | unsigned int shift; | ||
18 | unsigned int gbus_clock; | ||
19 | unsigned int hold; /* hold time in nanosecond */ | ||
20 | unsigned int spw; /* strobe pulse width in nanosecond */ | ||
21 | unsigned int flags; | ||
22 | unsigned char ch_mask; /* available channel bitmask */ | ||
23 | unsigned char wp_mask; /* write-protect bitmask */ | ||
24 | unsigned char wide_mask; /* 16bit-nand bitmask */ | ||
25 | }; | ||
26 | |||
27 | void txx9_ndfmc_init(unsigned long baseaddr, | ||
28 | const struct txx9ndfmc_platform_data *plat_data); | ||
29 | |||
30 | #endif /* __ASM_TXX9_NDFMC_H */ | ||
diff --git a/arch/mips/include/asm/txx9/tx4938.h b/arch/mips/include/asm/txx9/tx4938.h index 0b068154054c..cd8bc2021755 100644 --- a/arch/mips/include/asm/txx9/tx4938.h +++ b/arch/mips/include/asm/txx9/tx4938.h | |||
@@ -291,6 +291,7 @@ int tx4938_pcic1_map_irq(const struct pci_dev *dev, u8 slot); | |||
291 | void tx4938_setup_pcierr_irq(void); | 291 | void tx4938_setup_pcierr_irq(void); |
292 | void tx4938_irq_init(void); | 292 | void tx4938_irq_init(void); |
293 | void tx4938_mtd_init(int ch); | 293 | void tx4938_mtd_init(int ch); |
294 | void tx4938_ndfmc_init(unsigned int hold, unsigned int spw); | ||
294 | 295 | ||
295 | struct tx4938ide_platform_info { | 296 | struct tx4938ide_platform_info { |
296 | /* | 297 | /* |
diff --git a/arch/mips/include/asm/txx9/tx4939.h b/arch/mips/include/asm/txx9/tx4939.h index 964ef7ede268..f02c50b3abfb 100644 --- a/arch/mips/include/asm/txx9/tx4939.h +++ b/arch/mips/include/asm/txx9/tx4939.h | |||
@@ -542,5 +542,7 @@ int tx4939_irq(void); | |||
542 | void tx4939_mtd_init(int ch); | 542 | void tx4939_mtd_init(int ch); |
543 | void tx4939_ata_init(void); | 543 | void tx4939_ata_init(void); |
544 | void tx4939_rtc_init(void); | 544 | void tx4939_rtc_init(void); |
545 | void tx4939_ndfmc_init(unsigned int hold, unsigned int spw, | ||
546 | unsigned char ch_mask, unsigned char wide_mask); | ||
545 | 547 | ||
546 | #endif /* __ASM_TXX9_TX4939_H */ | 548 | #endif /* __ASM_TXX9_TX4939_H */ |