13a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount/**************************************************************************** 23a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount **************************************************************************** 33a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount *** 43a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount *** This header was automatically generated from a Linux kernel header 53a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount *** of the same name, to make information necessary for userspace to 63a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount *** call into the kernel available to libc. It contains only constants, 73a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount *** structures, and macros generated from the original header, and thus, 83a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount *** contains no copyrightable information. 93a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount *** 103a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount **************************************************************************** 113a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount ****************************************************************************/ 123a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#ifndef __MTD_CFI_H__ 133a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define __MTD_CFI_H__ 143a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 153a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#include <linux/delay.h> 163a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#include <linux/types.h> 173a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#include <linux/interrupt.h> 183a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#include <linux/mtd/flashchip.h> 193a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#include <linux/mtd/map.h> 203a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#include <linux/mtd/cfi_endian.h> 213a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 223a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define cfi_interleave_is_1(cfi) (0) 233a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 243a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define cfi_interleave_is_2(cfi) (0) 253a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 263a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define cfi_interleave_is_4(cfi) (0) 273a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 283a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define cfi_interleave_is_8(cfi) (0) 293a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 303a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_DEVICETYPE_X8 (8 / 8) 313a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_DEVICETYPE_X16 (16 / 8) 323a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_DEVICETYPE_X32 (32 / 8) 333a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_DEVICETYPE_X64 (64 / 8) 343a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 353a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_extquery { 363a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t pri[3]; 373a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t MajorVersion; 383a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t MinorVersion; 393a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount} __attribute__((packed)); 403a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 413a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_pri_intelext { 423a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t pri[3]; 433a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t MajorVersion; 443a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t MinorVersion; 453a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint32_t FeatureSupport; 463a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t SuspendCmdSupport; 473a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t BlkStatusRegMask; 483a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t VccOptimal; 493a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t VppOptimal; 503a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t NumProtectionFields; 513a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t ProtRegAddr; 523a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t FactProtRegSize; 533a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t UserProtRegSize; 543a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t extra[0]; 553a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount} __attribute__((packed)); 563a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 573a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_intelext_otpinfo { 583a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint32_t ProtRegAddr; 593a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t FactGroups; 603a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t FactProtRegSize; 613a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t UserGroups; 623a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t UserProtRegSize; 633a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount} __attribute__((packed)); 643a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 653a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_intelext_blockinfo { 663a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t NumIdentBlocks; 673a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t BlockSize; 683a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t MinBlockEraseCycles; 693a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t BitsPerCell; 703a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t BlockCap; 713a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount} __attribute__((packed)); 723a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 733a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_intelext_regioninfo { 743a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t NumIdentPartitions; 753a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t NumOpAllowed; 763a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t NumOpAllowedSimProgMode; 773a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t NumOpAllowedSimEraMode; 783a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t NumBlockTypes; 793a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount struct cfi_intelext_blockinfo BlockTypes[1]; 803a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount} __attribute__((packed)); 813a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 823a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_intelext_programming_regioninfo { 833a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t ProgRegShift; 843a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t Reserved1; 853a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t ControlValid; 863a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t Reserved2; 873a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t ControlInvalid; 883a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t Reserved3; 893a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount} __attribute__((packed)); 903a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 913a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_pri_amdstd { 923a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t pri[3]; 933a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t MajorVersion; 943a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t MinorVersion; 953a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t SiliconRevision; 963a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t EraseSuspend; 973a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t BlkProt; 983a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t TmpBlkUnprotect; 993a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t BlkProtUnprot; 1003a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t SimultaneousOps; 1013a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t BurstMode; 1023a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t PageMode; 1033a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t VppMin; 1043a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t VppMax; 1053a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t TopBottom; 1063a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount} __attribute__((packed)); 1073a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1083a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_pri_atmel { 1093a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t pri[3]; 1103a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t MajorVersion; 1113a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t MinorVersion; 1123a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t Features; 1133a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t BottomBoot; 1143a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t BurstMode; 1153a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t PageMode; 1163a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount} __attribute__((packed)); 1173a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1183a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_pri_query { 1193a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t NumFields; 1203a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint32_t ProtField[1]; 1213a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount} __attribute__((packed)); 1223a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1233a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_bri_query { 1243a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t PageModeReadCap; 1253a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint8_t NumFields; 1263a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint32_t ConfField[1]; 1273a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount} __attribute__((packed)); 1283a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1293a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_NONE 0x0000 1303a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_INTEL_EXT 0x0001 1313a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_AMD_STD 0x0002 1323a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_INTEL_STD 0x0003 1333a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_AMD_EXT 0x0004 1343a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_WINBOND 0x0006 1353a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_ST_ADV 0x0020 1363a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_MITSUBISHI_STD 0x0100 1373a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_MITSUBISHI_EXT 0x0101 1383a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_SST_PAGE 0x0102 1393a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_INTEL_PERFORMANCE 0x0200 1403a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_INTEL_DATA 0x0210 1413a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define P_ID_RESERVED 0xffff 1423a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1433a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_MODE_CFI 1 1443a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_MODE_JEDEC 0 1453a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1463a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_private { 1473a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t cmdset; 1483a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount void *cmdset_priv; 1493a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount int interleave; 1503a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount int device_type; 1513a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount int cfi_mode; 1523a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount int addr_unlock1; 1533a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount int addr_unlock2; 1543a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount struct mtd_info *(*cmdset_setup)(struct map_info *); 1553a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount struct cfi_ident *cfiq; 1563a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount int mfr, id; 1573a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount int numchips; 1583a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount unsigned long chipshift; 1593a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount const char *im_name; 1603a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount struct flchip chips[0]; 1613a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount}; 1623a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1633a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#if BITS_PER_LONG >= 64 1643a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#endif 1653a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CMD(x) cfi_build_cmd((x), map, cfi) 1663a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#if BITS_PER_LONG >= 64 1673a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#endif 1683a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define MERGESTATUS(x) cfi_merge_status((x), map, cfi) 1693a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1703a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccountstruct cfi_fixup { 1713a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t mfr; 1723a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount uint16_t id; 1733a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount void (*fixup)(struct mtd_info *mtd, void* param); 1743a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount void* param; 1753a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount}; 1763a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1773a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_MFR_ANY 0xffff 1783a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_ID_ANY 0xffff 1793a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1803a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_MFR_AMD 0x0001 1813a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_MFR_ATMEL 0x001F 1823a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#define CFI_MFR_ST 0x0020 1833a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1843a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccounttypedef int (*varsize_frob_t)(struct map_info *map, struct flchip *chip, 1853a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount unsigned long adr, int len, void *thunk); 1863a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount 1873a5dffc441568676ce19c6d3154a8c8a17afa323android-build SharedAccount#endif 188