Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
jedec_probe.c File Reference
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <asm/io.h>
#include <asm/byteorder.h>
#include <linux/errno.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/map.h>
#include <linux/mtd/cfi.h>
#include <linux/mtd/gen_probe.h>

Go to the source code of this file.

Data Structures

struct  unlock_addr
 
struct  amd_flash_info
 

Macros

#define AM29DL800BB   0x22CB
 
#define AM29DL800BT   0x224A
 
#define AM29F800BB   0x2258
 
#define AM29F800BT   0x22D6
 
#define AM29LV400BB   0x22BA
 
#define AM29LV400BT   0x22B9
 
#define AM29LV800BB   0x225B
 
#define AM29LV800BT   0x22DA
 
#define AM29LV160DT   0x22C4
 
#define AM29LV160DB   0x2249
 
#define AM29F017D   0x003D
 
#define AM29F016D   0x00AD
 
#define AM29F080   0x00D5
 
#define AM29F040   0x00A4
 
#define AM29LV040B   0x004F
 
#define AM29F032B   0x0041
 
#define AM29F002T   0x00B0
 
#define AM29SL800DB   0x226B
 
#define AM29SL800DT   0x22EA
 
#define AT49BV512   0x0003
 
#define AT29LV512   0x003d
 
#define AT49BV16X   0x00C0
 
#define AT49BV16XT   0x00C2
 
#define AT49BV32X   0x00C8
 
#define AT49BV32XT   0x00C9
 
#define EN29SL800BB   0x226B
 
#define EN29SL800BT   0x22EA
 
#define MBM29F040C   0x00A4
 
#define MBM29F800BA   0x2258
 
#define MBM29LV650UE   0x22D7
 
#define MBM29LV320TE   0x22F6
 
#define MBM29LV320BE   0x22F9
 
#define MBM29LV160TE   0x22C4
 
#define MBM29LV160BE   0x2249
 
#define MBM29LV800BA   0x225B
 
#define MBM29LV800TA   0x22DA
 
#define MBM29LV400TC   0x22B9
 
#define MBM29LV400BC   0x22BA
 
#define HY29F002T   0x00B0
 
#define I28F004B3T   0x00d4
 
#define I28F004B3B   0x00d5
 
#define I28F400B3T   0x8894
 
#define I28F400B3B   0x8895
 
#define I28F008S5   0x00a6
 
#define I28F016S5   0x00a0
 
#define I28F008SA   0x00a2
 
#define I28F008B3T   0x00d2
 
#define I28F008B3B   0x00d3
 
#define I28F800B3T   0x8892
 
#define I28F800B3B   0x8893
 
#define I28F016S3   0x00aa
 
#define I28F016B3T   0x00d0
 
#define I28F016B3B   0x00d1
 
#define I28F160B3T   0x8890
 
#define I28F160B3B   0x8891
 
#define I28F320B3T   0x8896
 
#define I28F320B3B   0x8897
 
#define I28F640B3T   0x8898
 
#define I28F640B3B   0x8899
 
#define I28F640C3B   0x88CD
 
#define I28F160F3T   0x88F3
 
#define I28F160F3B   0x88F4
 
#define I28F160C3T   0x88C2
 
#define I28F160C3B   0x88C3
 
#define I82802AB   0x00ad
 
#define I82802AC   0x00ac
 
#define MX29LV040C   0x004F
 
#define MX29LV160T   0x22C4
 
#define MX29LV160B   0x2249
 
#define MX29F040   0x00A4
 
#define MX29F016   0x00AD
 
#define MX29F002T   0x00B0
 
#define MX29F004T   0x0045
 
#define MX29F004B   0x0046
 
#define UPD29F064115   0x221C
 
#define PM49FL002   0x006D
 
#define PM49FL004   0x006E
 
#define PM49FL008   0x006A
 
#define LH28F640BF   0x00b0
 
#define M29F800AB   0x0058
 
#define M29W800DT   0x22D7
 
#define M29W800DB   0x225B
 
#define M29W400DT   0x00EE
 
#define M29W400DB   0x00EF
 
#define M29W160DT   0x22C4
 
#define M29W160DB   0x2249
 
#define M29W040B   0x00E3
 
#define M50FW040   0x002C
 
#define M50FW080   0x002D
 
#define M50FW016   0x002E
 
#define M50LPW080   0x002F
 
#define M50FLW080A   0x0080
 
#define M50FLW080B   0x0081
 
#define PSD4256G6V   0x00e9
 
#define SST29EE020   0x0010
 
#define SST29LE020   0x0012
 
#define SST29EE512   0x005d
 
#define SST29LE512   0x003d
 
#define SST39LF800   0x2781
 
#define SST39LF160   0x2782
 
#define SST39VF1601   0x234b
 
#define SST39VF3201   0x235b
 
#define SST39WF1601   0x274b
 
#define SST39WF1602   0x274a
 
#define SST39LF512   0x00D4
 
#define SST39LF010   0x00D5
 
#define SST39LF020   0x00D6
 
#define SST39LF040   0x00D7
 
#define SST39SF010A   0x00B5
 
#define SST39SF020A   0x00B6
 
#define SST39SF040   0x00B7
 
#define SST49LF004B   0x0060
 
#define SST49LF040B   0x0050
 
#define SST49LF008A   0x005a
 
#define SST49LF030A   0x001C
 
#define SST49LF040A   0x0051
 
#define SST49LF080A   0x005B
 
#define SST36VF3203   0x7354
 
#define TC58FVT160   0x00C2
 
#define TC58FVB160   0x0043
 
#define TC58FVT321   0x009A
 
#define TC58FVB321   0x009C
 
#define TC58FVT641   0x0093
 
#define TC58FVB641   0x0095
 
#define W49V002A   0x00b0
 
#define ERASEINFO(size, blocks)   (size<<8)|(blocks-1)
 
#define SIZE_64KiB   16
 
#define SIZE_128KiB   17
 
#define SIZE_256KiB   18
 
#define SIZE_512KiB   19
 
#define SIZE_1MiB   20
 
#define SIZE_2MiB   21
 
#define SIZE_4MiB   22
 
#define SIZE_8MiB   23
 

Enumerations

enum  uaddr {
  MTD_UADDR_NOT_SUPPORTED = 0, MTD_UADDR_0x0555_0x02AA, MTD_UADDR_0x0555_0x0AAA, MTD_UADDR_0x5555_0x2AAA,
  MTD_UADDR_0x0AAA_0x0554, MTD_UADDR_0x0AAA_0x0555, MTD_UADDR_0xAAAA_0x5555, MTD_UADDR_DONT_CARE,
  MTD_UADDR_UNNECESSARY
}
 

Functions

 module_init (jedec_probe_init)
 
 module_exit (jedec_probe_exit)
 
 MODULE_LICENSE ("GPL")
 
 MODULE_AUTHOR ("Erwin Authried <eauth@softsys.co.at> et al.")
 
 MODULE_DESCRIPTION ("Probe code for JEDEC-compliant flash chips")
 

Macro Definition Documentation

#define AM29DL800BB   0x22CB

Definition at line 26 of file jedec_probe.c.

#define AM29DL800BT   0x224A

Definition at line 27 of file jedec_probe.c.

#define AM29F002T   0x00B0

Definition at line 43 of file jedec_probe.c.

#define AM29F016D   0x00AD

Definition at line 38 of file jedec_probe.c.

#define AM29F017D   0x003D

Definition at line 37 of file jedec_probe.c.

#define AM29F032B   0x0041

Definition at line 42 of file jedec_probe.c.

#define AM29F040   0x00A4

Definition at line 40 of file jedec_probe.c.

#define AM29F080   0x00D5

Definition at line 39 of file jedec_probe.c.

#define AM29F800BB   0x2258

Definition at line 29 of file jedec_probe.c.

#define AM29F800BT   0x22D6

Definition at line 30 of file jedec_probe.c.

#define AM29LV040B   0x004F

Definition at line 41 of file jedec_probe.c.

#define AM29LV160DB   0x2249

Definition at line 36 of file jedec_probe.c.

#define AM29LV160DT   0x22C4

Definition at line 35 of file jedec_probe.c.

#define AM29LV400BB   0x22BA

Definition at line 31 of file jedec_probe.c.

#define AM29LV400BT   0x22B9

Definition at line 32 of file jedec_probe.c.

#define AM29LV800BB   0x225B

Definition at line 33 of file jedec_probe.c.

#define AM29LV800BT   0x22DA

Definition at line 34 of file jedec_probe.c.

#define AM29SL800DB   0x226B

Definition at line 44 of file jedec_probe.c.

#define AM29SL800DT   0x22EA

Definition at line 45 of file jedec_probe.c.

#define AT29LV512   0x003d

Definition at line 49 of file jedec_probe.c.

#define AT49BV16X   0x00C0

Definition at line 50 of file jedec_probe.c.

#define AT49BV16XT   0x00C2

Definition at line 51 of file jedec_probe.c.

#define AT49BV32X   0x00C8

Definition at line 52 of file jedec_probe.c.

#define AT49BV32XT   0x00C9

Definition at line 53 of file jedec_probe.c.

#define AT49BV512   0x0003

Definition at line 48 of file jedec_probe.c.

#define EN29SL800BB   0x226B

Definition at line 56 of file jedec_probe.c.

#define EN29SL800BT   0x22EA

Definition at line 57 of file jedec_probe.c.

#define ERASEINFO (   size,
  blocks 
)    (size<<8)|(blocks-1)

Definition at line 277 of file jedec_probe.c.

#define HY29F002T   0x00B0

Definition at line 73 of file jedec_probe.c.

#define I28F004B3B   0x00d5

Definition at line 77 of file jedec_probe.c.

#define I28F004B3T   0x00d4

Definition at line 76 of file jedec_probe.c.

#define I28F008B3B   0x00d3

Definition at line 84 of file jedec_probe.c.

#define I28F008B3T   0x00d2

Definition at line 83 of file jedec_probe.c.

#define I28F008S5   0x00a6

Definition at line 80 of file jedec_probe.c.

#define I28F008SA   0x00a2

Definition at line 82 of file jedec_probe.c.

#define I28F016B3B   0x00d1

Definition at line 89 of file jedec_probe.c.

#define I28F016B3T   0x00d0

Definition at line 88 of file jedec_probe.c.

#define I28F016S3   0x00aa

Definition at line 87 of file jedec_probe.c.

#define I28F016S5   0x00a0

Definition at line 81 of file jedec_probe.c.

#define I28F160B3B   0x8891

Definition at line 91 of file jedec_probe.c.

#define I28F160B3T   0x8890

Definition at line 90 of file jedec_probe.c.

#define I28F160C3B   0x88C3

Definition at line 100 of file jedec_probe.c.

#define I28F160C3T   0x88C2

Definition at line 99 of file jedec_probe.c.

#define I28F160F3B   0x88F4

Definition at line 98 of file jedec_probe.c.

#define I28F160F3T   0x88F3

Definition at line 97 of file jedec_probe.c.

#define I28F320B3B   0x8897

Definition at line 93 of file jedec_probe.c.

#define I28F320B3T   0x8896

Definition at line 92 of file jedec_probe.c.

#define I28F400B3B   0x8895

Definition at line 79 of file jedec_probe.c.

#define I28F400B3T   0x8894

Definition at line 78 of file jedec_probe.c.

#define I28F640B3B   0x8899

Definition at line 95 of file jedec_probe.c.

#define I28F640B3T   0x8898

Definition at line 94 of file jedec_probe.c.

#define I28F640C3B   0x88CD

Definition at line 96 of file jedec_probe.c.

#define I28F800B3B   0x8893

Definition at line 86 of file jedec_probe.c.

#define I28F800B3T   0x8892

Definition at line 85 of file jedec_probe.c.

#define I82802AB   0x00ad

Definition at line 101 of file jedec_probe.c.

#define I82802AC   0x00ac

Definition at line 102 of file jedec_probe.c.

#define LH28F640BF   0x00b0

Definition at line 123 of file jedec_probe.c.

#define M29F800AB   0x0058

Definition at line 126 of file jedec_probe.c.

#define M29W040B   0x00E3

Definition at line 133 of file jedec_probe.c.

#define M29W160DB   0x2249

Definition at line 132 of file jedec_probe.c.

#define M29W160DT   0x22C4

Definition at line 131 of file jedec_probe.c.

#define M29W400DB   0x00EF

Definition at line 130 of file jedec_probe.c.

#define M29W400DT   0x00EE

Definition at line 129 of file jedec_probe.c.

#define M29W800DB   0x225B

Definition at line 128 of file jedec_probe.c.

#define M29W800DT   0x22D7

Definition at line 127 of file jedec_probe.c.

#define M50FLW080A   0x0080

Definition at line 138 of file jedec_probe.c.

#define M50FLW080B   0x0081

Definition at line 139 of file jedec_probe.c.

#define M50FW016   0x002E

Definition at line 136 of file jedec_probe.c.

#define M50FW040   0x002C

Definition at line 134 of file jedec_probe.c.

#define M50FW080   0x002D

Definition at line 135 of file jedec_probe.c.

#define M50LPW080   0x002F

Definition at line 137 of file jedec_probe.c.

#define MBM29F040C   0x00A4

Definition at line 60 of file jedec_probe.c.

#define MBM29F800BA   0x2258

Definition at line 61 of file jedec_probe.c.

#define MBM29LV160BE   0x2249

Definition at line 66 of file jedec_probe.c.

#define MBM29LV160TE   0x22C4

Definition at line 65 of file jedec_probe.c.

#define MBM29LV320BE   0x22F9

Definition at line 64 of file jedec_probe.c.

#define MBM29LV320TE   0x22F6

Definition at line 63 of file jedec_probe.c.

#define MBM29LV400BC   0x22BA

Definition at line 70 of file jedec_probe.c.

#define MBM29LV400TC   0x22B9

Definition at line 69 of file jedec_probe.c.

#define MBM29LV650UE   0x22D7

Definition at line 62 of file jedec_probe.c.

#define MBM29LV800BA   0x225B

Definition at line 67 of file jedec_probe.c.

#define MBM29LV800TA   0x22DA

Definition at line 68 of file jedec_probe.c.

#define MX29F002T   0x00B0

Definition at line 110 of file jedec_probe.c.

#define MX29F004B   0x0046

Definition at line 112 of file jedec_probe.c.

#define MX29F004T   0x0045

Definition at line 111 of file jedec_probe.c.

#define MX29F016   0x00AD

Definition at line 109 of file jedec_probe.c.

#define MX29F040   0x00A4

Definition at line 108 of file jedec_probe.c.

#define MX29LV040C   0x004F

Definition at line 105 of file jedec_probe.c.

#define MX29LV160B   0x2249

Definition at line 107 of file jedec_probe.c.

#define MX29LV160T   0x22C4

Definition at line 106 of file jedec_probe.c.

#define PM49FL002   0x006D

Definition at line 118 of file jedec_probe.c.

#define PM49FL004   0x006E

Definition at line 119 of file jedec_probe.c.

#define PM49FL008   0x006A

Definition at line 120 of file jedec_probe.c.

#define PSD4256G6V   0x00e9

Definition at line 140 of file jedec_probe.c.

#define SIZE_128KiB   17

Definition at line 280 of file jedec_probe.c.

#define SIZE_1MiB   20

Definition at line 283 of file jedec_probe.c.

#define SIZE_256KiB   18

Definition at line 281 of file jedec_probe.c.

#define SIZE_2MiB   21

Definition at line 284 of file jedec_probe.c.

#define SIZE_4MiB   22

Definition at line 285 of file jedec_probe.c.

#define SIZE_512KiB   19

Definition at line 282 of file jedec_probe.c.

#define SIZE_64KiB   16

Definition at line 279 of file jedec_probe.c.

#define SIZE_8MiB   23

Definition at line 286 of file jedec_probe.c.

#define SST29EE020   0x0010

Definition at line 143 of file jedec_probe.c.

#define SST29EE512   0x005d

Definition at line 145 of file jedec_probe.c.

#define SST29LE020   0x0012

Definition at line 144 of file jedec_probe.c.

#define SST29LE512   0x003d

Definition at line 146 of file jedec_probe.c.

#define SST36VF3203   0x7354

Definition at line 166 of file jedec_probe.c.

#define SST39LF010   0x00D5

Definition at line 154 of file jedec_probe.c.

#define SST39LF020   0x00D6

Definition at line 155 of file jedec_probe.c.

#define SST39LF040   0x00D7

Definition at line 156 of file jedec_probe.c.

#define SST39LF160   0x2782

Definition at line 148 of file jedec_probe.c.

#define SST39LF512   0x00D4

Definition at line 153 of file jedec_probe.c.

#define SST39LF800   0x2781

Definition at line 147 of file jedec_probe.c.

#define SST39SF010A   0x00B5

Definition at line 157 of file jedec_probe.c.

#define SST39SF020A   0x00B6

Definition at line 158 of file jedec_probe.c.

#define SST39SF040   0x00B7

Definition at line 159 of file jedec_probe.c.

#define SST39VF1601   0x234b

Definition at line 149 of file jedec_probe.c.

#define SST39VF3201   0x235b

Definition at line 150 of file jedec_probe.c.

#define SST39WF1601   0x274b

Definition at line 151 of file jedec_probe.c.

#define SST39WF1602   0x274a

Definition at line 152 of file jedec_probe.c.

#define SST49LF004B   0x0060

Definition at line 160 of file jedec_probe.c.

#define SST49LF008A   0x005a

Definition at line 162 of file jedec_probe.c.

#define SST49LF030A   0x001C

Definition at line 163 of file jedec_probe.c.

#define SST49LF040A   0x0051

Definition at line 164 of file jedec_probe.c.

#define SST49LF040B   0x0050

Definition at line 161 of file jedec_probe.c.

#define SST49LF080A   0x005B

Definition at line 165 of file jedec_probe.c.

#define TC58FVB160   0x0043

Definition at line 170 of file jedec_probe.c.

#define TC58FVB321   0x009C

Definition at line 172 of file jedec_probe.c.

#define TC58FVB641   0x0095

Definition at line 174 of file jedec_probe.c.

#define TC58FVT160   0x00C2

Definition at line 169 of file jedec_probe.c.

#define TC58FVT321   0x009A

Definition at line 171 of file jedec_probe.c.

#define TC58FVT641   0x0093

Definition at line 173 of file jedec_probe.c.

#define UPD29F064115   0x221C

Definition at line 115 of file jedec_probe.c.

#define W49V002A   0x00b0

Definition at line 177 of file jedec_probe.c.

Enumeration Type Documentation

enum uaddr
Enumerator:
MTD_UADDR_NOT_SUPPORTED 
MTD_UADDR_0x0555_0x02AA 
MTD_UADDR_0x0555_0x0AAA 
MTD_UADDR_0x5555_0x2AAA 
MTD_UADDR_0x0AAA_0x0554 
MTD_UADDR_0x0AAA_0x0555 
MTD_UADDR_0xAAAA_0x5555 
MTD_UADDR_DONT_CARE 
MTD_UADDR_UNNECESSARY 

Definition at line 189 of file jedec_probe.c.

Function Documentation

MODULE_AUTHOR ( "Erwin Authried <eauth@softsys.co.at> et al."  )
MODULE_DESCRIPTION ( "Probe code for JEDEC-compliant flash chips )
module_exit ( jedec_probe_exit  )
module_init ( jedec_probe_init  )
MODULE_LICENSE ( "GPL"  )