aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/mtd/sh_flctl.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/mtd/sh_flctl.h b/include/linux/mtd/sh_flctl.h
index 9cf4c4c7955..b66940593c8 100644
--- a/include/linux/mtd/sh_flctl.h
+++ b/include/linux/mtd/sh_flctl.h
@@ -67,6 +67,30 @@
67#define CE0_ENABLE (0x1 << 3) /* Chip Enable 0 */ 67#define CE0_ENABLE (0x1 << 3) /* Chip Enable 0 */
68#define TYPESEL_SET (0x1 << 0) 68#define TYPESEL_SET (0x1 << 0)
69 69
70/*
71 * Clock settings using the PULSEx registers from FLCMNCR
72 *
73 * Some hardware uses bits called PULSEx instead of FCKSEL_E and QTSEL_E
74 * to control the clock divider used between the High-Speed Peripheral Clock
75 * and the FLCTL internal clock. If so, use CLK_8_BIT_xxx for connecting 8 bit
76 * and CLK_16_BIT_xxx for connecting 16 bit bus bandwith NAND chips. For the 16
77 * bit version the divider is seperate for the pulse width of high and low
78 * signals.
79 */
80#define PULSE3 (0x1 << 27)
81#define PULSE2 (0x1 << 17)
82#define PULSE1 (0x1 << 15)
83#define PULSE0 (0x1 << 9)
84#define CLK_8B_0_5 PULSE1
85#define CLK_8B_1 0x0
86#define CLK_8B_1_5 (PULSE1 | PULSE2)
87#define CLK_8B_2 PULSE0
88#define CLK_8B_3 (PULSE0 | PULSE1 | PULSE2)
89#define CLK_8B_4 (PULSE0 | PULSE2)
90#define CLK_16B_6L_2H PULSE0
91#define CLK_16B_9L_3H (PULSE0 | PULSE1 | PULSE2)
92#define CLK_16B_12L_4H (PULSE0 | PULSE2)
93
70/* FLCMDCR control bits */ 94/* FLCMDCR control bits */
71#define ADRCNT2_E (0x1 << 31) /* 5byte address enable */ 95#define ADRCNT2_E (0x1 << 31) /* 5byte address enable */
72#define ADRMD_E (0x1 << 26) /* Sector address access */ 96#define ADRMD_E (0x1 << 26) /* Sector address access */