aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wimax_cmc/wimax_i2c.h
blob: cadd7626424539e691eb90e454620f4641525d1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/**
 * wimax_i2c.h
 *
 * EEPROM access functions
 */
#ifndef __WIMAX_I2C_H__
#define __WIMAX_I2C_H__
#include <linux/mutex.h>
#define WIMAX_BOOTIMAGE_PATH	"/system/etc/wimax_boot.bin"

struct boot_image_data {
	unsigned int   size;
	unsigned int   address;
	unsigned int   offset;
	struct mutex    lock;
	unsigned char   *data;
};

/* Write WiMAX boot image to EEPROM */
int eeprom_write_boot(void);

/* Write HW rev to EEPROM */
int eeprom_write_rev(void);

/* Erase WiMAX certification */
void eeprom_erase_cert(void);

/* Check WiMAX cerification exist or not */
int eeprom_check_cert(void);

/* Check WiMAX calibration done or not */
int eeprom_check_cal(void);

/* Read WiMAX boot image */
void eeprom_read_boot(void);

/* Read entire EEPROM data */
void eeprom_read_all(void);

/* Erase entire EEPROM data */
void eeprom_erase_all(void);

#ifndef DRIVER_BIT_BANG

/* Initialize i2c-gpio driver for eeprom*/
int wmxeeprom_init(void);

/* Remove the eeprom i2c-gpio driver */
void wmxeeprom_exit(void);

#endif

#endif	/* __WIMAX_I2C_H__ */