Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
pmc93x6_eeprom.c File Reference
#include <linux/types.h>
#include "pmcc4_sysdep.h"
#include "sbecom_inline_linux.h"
#include "pmcc4.h"
#include "sbe_promformat.h"

Go to the source code of this file.

Macros

#define pr_fmt(fmt)   KBUILD_MODNAME ": " fmt
 
#define TRUE   1
 
#define FALSE   0
 
#define STATIC   static
 
#define EE_MFG   (long)0 /* Index to manufacturing record */
 
#define EE_FIRST   0x28 /* Index to start testing at */
 
#define EE_LIMIT   128 /* Index to end testing at */
 
#define EPROM_EWEN   0x0019 /* Erase/Write enable (reversed) */
 
#define EPROM_EWDS   0x0001 /* Erase/Write disable (reversed) */
 
#define EPROM_READ   0x0003 /* Read (reversed) */
 
#define EPROM_WRITE   0x0005 /* Write (reversed) */
 
#define EPROM_ERASE   0x0007 /* Erase (reversed) */
 
#define EPROM_ERAL   0x0009 /* Erase All (reversed) */
 
#define EPROM_WRAL   0x0011 /* Write All (reversed) */
 
#define EPROM_ADR_SZ   7 /* Number of bits in offset address */
 
#define EPROM_OP_SZ   3 /* Number of bits in command */
 
#define SIZE_ADDR_OP   (EPROM_ADR_SZ + EPROM_OP_SZ)
 
#define LC46A_MAX_OPS   10 /* Number of bits in Instruction */
 
#define NUM_OF_BITS   8 /* Number of bits in data */
 
#define EPROM_ACTIVE_OUT_BIT   0x0001 /* Out data bit */
 
#define EPROM_ACTIVE_IN_BIT   0x0002 /* In data bit */
 
#define ACTIVE_IN_BIT_SHIFT   0x0001 /* Shift In data bit to LSB */
 
#define EPROM_ENCS   0x0004 /* Set EEPROM CS during operation */
 

Functions

STATIC void BuildByteReverse (void)
 
STATIC void eeprom_delay (void)
 
void eeprom_put_byte (long addr, long data, int count)
 
u_int32_t eeprom_get_byte (long addr)
 
STATIC void disable_pmc_eeprom (long addr)
 
STATIC void enable_pmc_eeprom (long addr)
 
u_int32_t pmc_eeprom_read (long addr, long mem_offset)
 
int pmc_eeprom_write (long addr, long mem_offset, u_int32_t data)
 
long pmcGetBuffValue (char *ptr, int size)
 
void pmcSetBuffValue (char *ptr, long value, int size)
 
void pmc_eeprom_read_buffer (long addr, long mem_offset, char *dest_ptr, int size)
 
void pmc_eeprom_write_buffer (long addr, long mem_offset, char *dest_ptr, int size)
 
u_int32_t pmcCalcCrc_T01 (void *bufp)
 
u_int32_t pmcCalcCrc_T02 (void *bufp)
 
void pmc_init_seeprom (u_int32_t addr, u_int32_t serialNum)
 
char pmc_verify_cksum (void *bufp)
 

Variables

short mfg_template [sizeof(FLD_TYPE2)]
 

Macro Definition Documentation

#define ACTIVE_IN_BIT_SHIFT   0x0001 /* Shift In data bit to LSB */

Definition at line 82 of file pmc93x6_eeprom.c.

#define EE_FIRST   0x28 /* Index to start testing at */

Definition at line 54 of file pmc93x6_eeprom.c.

#define EE_LIMIT   128 /* Index to end testing at */

Definition at line 55 of file pmc93x6_eeprom.c.

#define EE_MFG   (long)0 /* Index to manufacturing record */

Definition at line 53 of file pmc93x6_eeprom.c.

#define EPROM_ACTIVE_IN_BIT   0x0002 /* In data bit */

Definition at line 81 of file pmc93x6_eeprom.c.

#define EPROM_ACTIVE_OUT_BIT   0x0001 /* Out data bit */

Definition at line 80 of file pmc93x6_eeprom.c.

#define EPROM_ADR_SZ   7 /* Number of bits in offset address */

Definition at line 72 of file pmc93x6_eeprom.c.

#define EPROM_ENCS   0x0004 /* Set EEPROM CS during operation */

Definition at line 83 of file pmc93x6_eeprom.c.

#define EPROM_ERAL   0x0009 /* Erase All (reversed) */

Definition at line 69 of file pmc93x6_eeprom.c.

#define EPROM_ERASE   0x0007 /* Erase (reversed) */

Definition at line 68 of file pmc93x6_eeprom.c.

#define EPROM_EWDS   0x0001 /* Erase/Write disable (reversed) */

Definition at line 65 of file pmc93x6_eeprom.c.

#define EPROM_EWEN   0x0019 /* Erase/Write enable (reversed) */

Definition at line 64 of file pmc93x6_eeprom.c.

#define EPROM_OP_SZ   3 /* Number of bits in command */

Definition at line 73 of file pmc93x6_eeprom.c.

#define EPROM_READ   0x0003 /* Read (reversed) */

Definition at line 66 of file pmc93x6_eeprom.c.

#define EPROM_WRAL   0x0011 /* Write All (reversed) */

Definition at line 70 of file pmc93x6_eeprom.c.

#define EPROM_WRITE   0x0005 /* Write (reversed) */

Definition at line 67 of file pmc93x6_eeprom.c.

#define FALSE   0

Definition at line 34 of file pmc93x6_eeprom.c.

#define LC46A_MAX_OPS   10 /* Number of bits in Instruction */

Definition at line 75 of file pmc93x6_eeprom.c.

#define NUM_OF_BITS   8 /* Number of bits in data */

Definition at line 76 of file pmc93x6_eeprom.c.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

Definition at line 24 of file pmc93x6_eeprom.c.

#define SIZE_ADDR_OP   (EPROM_ADR_SZ + EPROM_OP_SZ)

Definition at line 74 of file pmc93x6_eeprom.c.

#define STATIC   static

Definition at line 40 of file pmc93x6_eeprom.c.

#define TRUE   1

Definition at line 33 of file pmc93x6_eeprom.c.

Function Documentation

STATIC void BuildByteReverse ( void  )

Definition at line 124 of file pmc93x6_eeprom.c.

STATIC void disable_pmc_eeprom ( long  addr)

Definition at line 228 of file pmc93x6_eeprom.c.

STATIC void eeprom_delay ( void  )

Definition at line 145 of file pmc93x6_eeprom.c.

u_int32_t eeprom_get_byte ( long  addr)

Definition at line 190 of file pmc93x6_eeprom.c.

void eeprom_put_byte ( long  addr,
long  data,
int  count 
)

Definition at line 165 of file pmc93x6_eeprom.c.

STATIC void enable_pmc_eeprom ( long  addr)

Definition at line 245 of file pmc93x6_eeprom.c.

u_int32_t pmc_eeprom_read ( long  addr,
long  mem_offset 
)

Definition at line 263 of file pmc93x6_eeprom.c.

void pmc_eeprom_read_buffer ( long  addr,
long  mem_offset,
char dest_ptr,
int  size 
)

Definition at line 410 of file pmc93x6_eeprom.c.

int pmc_eeprom_write ( long  addr,
long  mem_offset,
u_int32_t  data 
)

Definition at line 303 of file pmc93x6_eeprom.c.

void pmc_eeprom_write_buffer ( long  addr,
long  mem_offset,
char dest_ptr,
int  size 
)

Definition at line 423 of file pmc93x6_eeprom.c.

void pmc_init_seeprom ( u_int32_t  addr,
u_int32_t  serialNum 
)

Definition at line 496 of file pmc93x6_eeprom.c.

char pmc_verify_cksum ( void bufp)

Definition at line 530 of file pmc93x6_eeprom.c.

u_int32_t pmcCalcCrc_T01 ( void bufp)

Definition at line 440 of file pmc93x6_eeprom.c.

u_int32_t pmcCalcCrc_T02 ( void bufp)

Definition at line 459 of file pmc93x6_eeprom.c.

long pmcGetBuffValue ( char ptr,
int  size 
)

Definition at line 371 of file pmc93x6_eeprom.c.

void pmcSetBuffValue ( char ptr,
long  value,
int  size 
)

Definition at line 392 of file pmc93x6_eeprom.c.

Variable Documentation

short mfg_template[sizeof(FLD_TYPE2)]
Initial value:
=
{
0x00, 0x1A,
0x00, 0x00, 0x00, 0x00,
0x11, 0x76,
0x07, 0x05,
0x00, 0xA0, 0xD6, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
}

Definition at line 100 of file pmc93x6_eeprom.c.