From 7116d19cc31d364eababe1ca5d4cf1407da052b2 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Tue, 10 Apr 2007 21:47:20 +0000 Subject: Wrong svn repository SVN-Revision: 6927 --- .../easygate-2.6/files/arch/mips/bcm963xx/nvram.c | 129 --------------------- 1 file changed, 129 deletions(-) delete mode 100644 target/linux/easygate-2.6/files/arch/mips/bcm963xx/nvram.c (limited to 'target/linux/easygate-2.6/files/arch/mips/bcm963xx/nvram.c') diff --git a/target/linux/easygate-2.6/files/arch/mips/bcm963xx/nvram.c b/target/linux/easygate-2.6/files/arch/mips/bcm963xx/nvram.c deleted file mode 100644 index cef2b14c5c..0000000000 --- a/target/linux/easygate-2.6/files/arch/mips/bcm963xx/nvram.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * BCM947xx nvram variable access - * - * Copyright 2005, Broadcom Corporation - * Copyright 2006, Felix Fietkau - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#define MB * 1048576 - -#define WINDOW_ADDR 0x1F000000 -#define WINDOW_SIZE 0x800000 - -static char nvram_buf[NVRAM_SPACE]; -static int cfe_env; -extern char *cfe_env_get(char *nv_buf, const char *name); - -/* Probe for NVRAM header */ -void __init early_nvram_init(void) -{ - struct nvram_header *header; - int i; - u32 base, lim, off; - u32 *src, *dst; - - base = WINDOW_ADDR; - lim = WINDOW_SIZE; - cfe_env = 0; - - - /* XXX: hack for supporting the CFE environment stuff on WGT634U */ - if (lim >= 8 MB) { - src = (u32 *) KSEG1ADDR(base + 8 MB - 0x20000); - dst = (u32 *) nvram_buf; - - /* We are looking for the String gOGoBrCm */ - if ((*src) == 0x674f476f && (*(src + 1)) == 0x4272436d) { - printk("early_nvram_init: EasyGate NVRAM found.\n"); - - for (i = 0; i < 0x1ff0; i++) { - if (*src == 0xFFFFFFFF) - break; - *dst++ = *src++; - } - cfe_env = 1; - return; - } - } - - off = 0x20000; - while (off <= lim) { - /* Windowed flash access */ - header = (struct nvram_header *) KSEG1ADDR(base + off - NVRAM_SPACE); - if (header->magic == NVRAM_HEADER) - goto found; - off <<= 1; - } - - /* Try embedded NVRAM at 4 KB and 1 KB as last resorts */ - header = (struct nvram_header *) KSEG1ADDR(base + 4096); - if (header->magic == NVRAM_HEADER) - goto found; - - header = (struct nvram_header *) KSEG1ADDR(base + 1024); - if (header->magic == NVRAM_HEADER) - goto found; - - printk("Found no CFE environnment\n"); - return; - -found: - printk("Found CFE environnment\n"); - src = (u32 *) header; - dst = (u32 *) nvram_buf; - for (i = 0; i < sizeof(struct nvram_header); i += 4) - *dst++ = *src++; - for (; i < header->len && i < NVRAM_SPACE; i += 4) - //*dst++ = le32_to_cpu(*src++); - *dst++ = be32_to_cpu(*src++); -} - -char *nvram_get(const char *name) -{ - char *var, *value, *end, *eq; - - if (!name) - return NULL; - - if (!nvram_buf[0]) - early_nvram_init(); - - if (cfe_env) - return cfe_env_get(nvram_buf, name); - - /* Look for name=value and return value */ - var = &nvram_buf[sizeof(struct nvram_header)]; - end = nvram_buf + sizeof(nvram_buf) - 2; - end[0] = end[1] = '\0'; - for (; *var; var = value + strlen(value) + 1) { - if (!(eq = strchr(var, '='))) - break; - value = eq + 1; - if ((eq - var) == strlen(name) && strncmp(var, name, (eq - var)) == 0) - return value; - } - - return NULL; -} - -EXPORT_SYMBOL(nvram_get); -- cgit v1.2.3