diff options
-rw-r--r-- | include/linux/mtd/sh_flctl.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/mtd/sh_flctl.h b/include/linux/mtd/sh_flctl.h index 9cf4c4c79555..b66940593c82 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 */ |