Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.5.6.
 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 __BCM47XX_NVRAM_H
12#define __BCM47XX_NVRAM_H
13
14#include <linux/types.h>
15#include <linux/kernel.h>
16
17struct nvram_header {
18	u32 magic;
19	u32 len;
20	u32 crc_ver_init;	/* 0:7 crc, 8:15 ver, 16:31 sdram_init */
21	u32 config_refresh;	/* 0:15 sdram_config, 16:31 sdram_refresh */
22	u32 config_ncdl;	/* ncdl values for memc */
23};
24
25#define NVRAM_HEADER		0x48534C46	/* 'FLSH' */
26#define NVRAM_VERSION		1
27#define NVRAM_HEADER_SIZE	20
28#define NVRAM_SPACE		0x8000
29
30#define FLASH_MIN		0x00020000	/* Minimum flash size */
31
32#define NVRAM_MAX_VALUE_LEN 255
33#define NVRAM_MAX_PARAM_LEN 64
34
35extern int bcm47xx_nvram_getenv(char *name, char *val, size_t val_len);
36
37static inline void bcm47xx_nvram_parse_macaddr(char *buf, u8 macaddr[6])
38{
39	if (strchr(buf, ':'))
40		sscanf(buf, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddr[0],
41			&macaddr[1], &macaddr[2], &macaddr[3], &macaddr[4],
42			&macaddr[5]);
43	else if (strchr(buf, '-'))
44		sscanf(buf, "%hhx-%hhx-%hhx-%hhx-%hhx-%hhx", &macaddr[0],
45			&macaddr[1], &macaddr[2], &macaddr[3], &macaddr[4],
46			&macaddr[5]);
47	else
48		printk(KERN_WARNING "Can not parse mac address: %s\n", buf);
49}
50
51int bcm47xx_nvram_gpio_pin(const char *name);
52
53#endif /* __BCM47XX_NVRAM_H */