nvram.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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. #ifndef __NVRAM_H
  11. #define __NVRAM_H
  12. #include <linux/types.h>
  13. struct nvram_header {
  14. u32 magic;
  15. u32 len;
  16. u32 crc_ver_init; /* 0:7 crc, 8:15 ver, 16:31 sdram_init */
  17. u32 config_refresh; /* 0:15 sdram_config, 16:31 sdram_refresh */
  18. u32 config_ncdl; /* ncdl values for memc */
  19. };
  20. #define NVRAM_HEADER 0x48534C46 /* 'FLSH' */
  21. #define NVRAM_VERSION 1
  22. #define NVRAM_HEADER_SIZE 20
  23. #define NVRAM_SPACE 0x8000
  24. #define FLASH_MIN 0x00020000 /* Minimum flash size */
  25. #define NVRAM_MAX_VALUE_LEN 255
  26. #define NVRAM_MAX_PARAM_LEN 64
  27. #define NVRAM_ERR_INV_PARAM -8
  28. #define NVRAM_ERR_ENVNOTFOUND -9
  29. extern int nvram_getenv(char *name, char *val, size_t val_len);
  30. #endif