aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mtd/cfi.h
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2010-10-23 01:01:49 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2010-10-23 01:01:49 -0400
commit3dd41424090a0ca3a660218d06afe6ff4441bad3 (patch)
tree511ef1bb1799027fc5aad574adce49120ecadd87 /include/linux/mtd/cfi.h
parent5c5456402d467969b217d7fdd6670f8c8600f5a8 (diff)
parentf6f94e2ab1b33f0082ac22d71f66385a60d8157f (diff)
Merge commit 'v2.6.36' into wip-merge-2.6.36
Conflicts: Makefile arch/x86/include/asm/unistd_32.h arch/x86/kernel/syscall_table_32.S kernel/sched.c kernel/time/tick-sched.c Relevant API and functions changes (solved in this commit): - (API) .enqueue_task() (enqueue_task_litmus), dequeue_task() (dequeue_task_litmus), [litmus/sched_litmus.c] - (API) .select_task_rq() (select_task_rq_litmus) [litmus/sched_litmus.c] - (API) sysrq_dump_trace_buffer() and sysrq_handle_kill_rt_tasks() [litmus/sched_trace.c] - struct kfifo internal buffer name changed (buffer -> buf) [litmus/sched_trace.c] - add_wait_queue_exclusive_locked -> __add_wait_queue_tail_exclusive [litmus/fmlp.c] - syscall numbers for both x86_32 and x86_64
Diffstat (limited to 'include/linux/mtd/cfi.h')
-rw-r--r--include/linux/mtd/cfi.h50
1 files changed, 38 insertions, 12 deletions
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h
index df89f4275232..d2118b0eac9a 100644
--- a/include/linux/mtd/cfi.h
+++ b/include/linux/mtd/cfi.h
@@ -1,6 +1,20 @@
1 1/*
2/* Common Flash Interface structures 2 * Copyright © 2000-2010 David Woodhouse <dwmw2@infradead.org> et al.
3 * See http://support.intel.com/design/flash/technote/index.htm 3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17 *
4 */ 18 */
5 19
6#ifndef __MTD_CFI_H__ 20#ifndef __MTD_CFI_H__
@@ -253,6 +267,7 @@ struct cfi_bri_query {
253#define P_ID_MITSUBISHI_STD 0x0100 267#define P_ID_MITSUBISHI_STD 0x0100
254#define P_ID_MITSUBISHI_EXT 0x0101 268#define P_ID_MITSUBISHI_EXT 0x0101
255#define P_ID_SST_PAGE 0x0102 269#define P_ID_SST_PAGE 0x0102
270#define P_ID_SST_OLD 0x0701
256#define P_ID_INTEL_PERFORMANCE 0x0200 271#define P_ID_INTEL_PERFORMANCE 0x0200
257#define P_ID_INTEL_DATA 0x0210 272#define P_ID_INTEL_DATA 0x0210
258#define P_ID_RESERVED 0xffff 273#define P_ID_RESERVED 0xffff
@@ -297,7 +312,7 @@ static inline uint32_t cfi_build_cmd_addr(uint32_t cmd_ofs,
297 * and 32bit devices on 16 bit busses 312 * and 32bit devices on 16 bit busses
298 * set the low bit of the alternating bit sequence of the address. 313 * set the low bit of the alternating bit sequence of the address.
299 */ 314 */
300 if (((type * interleave) > bankwidth) && ((uint8_t)cmd_ofs == 0xaa)) 315 if (((type * interleave) > bankwidth) && ((cmd_ofs & 0xff) == 0xaa))
301 addr |= (type >> 1)*interleave; 316 addr |= (type >> 1)*interleave;
302 317
303 return addr; 318 return addr;
@@ -515,14 +530,25 @@ struct cfi_fixup {
515 void* param; 530 void* param;
516}; 531};
517 532
518#define CFI_MFR_ANY 0xffff 533#define CFI_MFR_ANY 0xFFFF
519#define CFI_ID_ANY 0xffff 534#define CFI_ID_ANY 0xFFFF
520 535#define CFI_MFR_CONTINUATION 0x007F
521#define CFI_MFR_AMD 0x0001 536
522#define CFI_MFR_INTEL 0x0089 537#define CFI_MFR_AMD 0x0001
523#define CFI_MFR_ATMEL 0x001F 538#define CFI_MFR_ATMEL 0x001F
524#define CFI_MFR_SAMSUNG 0x00EC 539#define CFI_MFR_EON 0x001C
525#define CFI_MFR_ST 0x0020 /* STMicroelectronics */ 540#define CFI_MFR_FUJITSU 0x0004
541#define CFI_MFR_HYUNDAI 0x00AD
542#define CFI_MFR_INTEL 0x0089
543#define CFI_MFR_MACRONIX 0x00C2
544#define CFI_MFR_NEC 0x0010
545#define CFI_MFR_PMC 0x009D
546#define CFI_MFR_SAMSUNG 0x00EC
547#define CFI_MFR_SHARP 0x00B0
548#define CFI_MFR_SST 0x00BF
549#define CFI_MFR_ST 0x0020 /* STMicroelectronics */
550#define CFI_MFR_TOSHIBA 0x0098
551#define CFI_MFR_WINBOND 0x00DA
526 552
527void cfi_fixup(struct mtd_info *mtd, struct cfi_fixup* fixups); 553void cfi_fixup(struct mtd_info *mtd, struct cfi_fixup* fixups);
528 554