1#include "config.h"
2
3#define KBYTE	1024 /* bytes */
4#define MBYTE	(KBYTE * 1024)	/* bytes */
5
6#if !defined(NAND_FLASH_BLOCKSIZE)
7#warning "POT: Not define macro NAND_FLASH_BLOCKSIZE, use default value - 128KB"
8#define NAND_FLASH_BLOCKSIZE	(128 * KBYTE)	/* bytes, 128KB */
9#endif
10#if !defined(NAND_FLASH_PAGESIZE)
11#warning "POT: Not define macro NAND_FLASH_PAGESIZE, use default value - 2KB"
12#define NAND_FLASH_PAGESIZE	(2 * KBYTE)	/* bytes, 2KB */
13#endif
14#if !defined(FIRST_NTP_TIME_OFFSET)
15#warning "POT: Not define macro FIRST_NTP_TIME_OFFSET, use default value - 2 block size"
16#define FIRST_NTP_TIME_OFFSET	(NAND_FLASH_BLOCKSIZE + NAND_FLASH_BLOCKSIZE)
17#endif
18#if !defined(FIRST_WIFISTATION_MAC_OFFSET)
19#warning "POT: Not define macro FIRST_WIFISTATION_MAC_OFFSET, use default value - 2 block size + 1 page size"
20#define FIRST_WIFISTATION_MAC_OFFSET	(FIRST_NTP_TIME_OFFSET + NAND_FLASH_PAGESIZE)
21#endif
22
23#define dfp(fmt, arg...)	fprintf(stderr, "***(%s,%s,%d): "fmt, __FILE__, __func__, __LINE__, ##arg)
24
25#define MEMGETINFO	_IOR('M', 1, struct mtd_info_user)
26#define MEMERASE	_IOW('M', 2, struct erase_info_user)
27#define MEMUNLOCK	_IOW('M', 6, struct erase_info_user)
28
29struct mtd_info_user
30{
31	unsigned char	type;
32	unsigned int	flags;
33	unsigned int	size;		/* Total size of the MTD */
34	unsigned int	erasesize;
35	unsigned int	oobblock;	/* Size of OOB blocks (e.g. 512) */
36	unsigned int	oobsize;	/* Amount of OOB data per block (e.g. 16) */
37	unsigned int	ecctype;
38	unsigned int	eccsize;
39};
40
41struct erase_info_user
42{
43	unsigned int	start;
44	unsigned int	length;
45};
46
47extern char *config_get(char *name);
48//extern int erase_block(char *mtd, int blk);
49extern int ntpst_func(int argc, char *argv[]);
50extern int stamac_func(int argc, char *argv[]);
51