0d8cc146f7a4dbb315f57a9353502e28bc556a1f
[sfrench/cifs-2.6.git] / arch / mips / include / asm / mach-bcm47xx / nvram.h
1 /*
2  *  Copyright (C) 2005, Broadcom Corporation
3  *  Copyright (C) 2006, Felix Fietkau <nbd@openwrt.org>
4  *
5  *  This program is free software; you can redistribute  it and/or modify it
6  *  under  the terms of  the GNU General  Public License as published by the
7  *  Free Software Foundation;  either version 2 of the  License, or (at your
8  *  option) any later version.
9  */
10
11 #ifndef __NVRAM_H
12 #define __NVRAM_H
13
14 #include <linux/types.h>
15
16 struct nvram_header {
17         u32 magic;
18         u32 len;
19         u32 crc_ver_init;       /* 0:7 crc, 8:15 ver, 16:31 sdram_init */
20         u32 config_refresh;     /* 0:15 sdram_config, 16:31 sdram_refresh */
21         u32 config_ncdl;        /* ncdl values for memc */
22 };
23
24 #define NVRAM_HEADER            0x48534C46      /* 'FLSH' */
25 #define NVRAM_VERSION           1
26 #define NVRAM_HEADER_SIZE       20
27 #define NVRAM_SPACE             0x8000
28
29 #define FLASH_MIN               0x00020000      /* Minimum flash size */
30
31 #define NVRAM_MAX_VALUE_LEN 255
32 #define NVRAM_MAX_PARAM_LEN 64
33
34 extern int nvram_getenv(char *name, char *val, size_t val_len);
35
36 #endif