From 19ca7978a660fd325d9a6b25f3dd964f81fe8b19 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 4 Oct 1999 20:41:28 +0000 Subject: Motorola MVME2307 BSP submitted by Jay Kulpinski . No modifications made. --- c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c (limited to 'c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c') diff --git a/c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c b/c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c new file mode 100644 index 0000000000..124f81eada --- /dev/null +++ b/c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c @@ -0,0 +1,25 @@ +#include + +#define ram_addr_low (* (volatile char *) IO_TO_LOCAL(0x0074)) +#define ram_addr_high (* (volatile char *) IO_TO_LOCAL(0x0075)) +#define ram_data (* (volatile char *) IO_TO_LOCAL(0x0077)) +#define ram_end_addr 0x1ff8 + +int read_nvram(char *buff, int offset, int len) { + int i; + + if (offset < 0 || offset >= ram_end_addr) { + return 0; + } + if (offset + len > ram_end_addr) { + len = ram_end_addr - offset; + } + for (i = 0; i < len; i++) { + ram_addr_high = offset >> 8; + ram_addr_low = offset; + *buff++ = ram_data; + offset++; + } + return len; +} + -- cgit v1.2.3