[lkml]   [2003]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectNCR 7452/3 POS - Retail CMOS NVRAM Driver
I say Hi to the greatests hackers!

I'm trying to build a kernel module driver to be able to access the CMOS
NVRAM that the NCR 7452/3 POS (Point of Sale) has built-in on the
motherboard. All the information that I could get from the manufacturers
is that the memory works at I/O address 0x100. But later I found out
that you can configure the I/O address using switches on the motherboard
to one of the following ranges of addresses:
0x100-0x10F DEFAULT

The memory chips that NCR uses are:
1) NEC D43256BGU - NCR POS Model 7452-1011
The chip is 256KB, but NCR says they use only 128KB
2) NEC D431000AGW - NCR POS Model 7453-1011
The chip is 1MB, but NCR says they use only 128KB

I've made a simple kernel module (based on drivers/char/nvram.c) to see
if I can _test_ the memory (to see if it is there and read/write some
bytes from 0x100 I/O Port) and I'm getting some confusing results.
In the end the module does the following:

#ifndef NVRAM_PORT
#define NVRAM_PORT(x) (0x100 + (x))

#define NVRAM_READ(addr) ({ \
outb_p((addr),NVRAM_PORT(0)); \
inb_p(NVRAM_PORT(1)); \

#define NVRAM_WRITE(val, addr) ({ \
outb_p((addr),NVRAM_PORT(0)); \
outb_p((val),NVRAM_PORT(1)); \

The questions are:

* Has anyone worked with this kind of NVRAM before?
* Do you know how can the memory be programmed? Maybe you can enlight me
with something... :)

I have some more details of the module and the tests I've been doing to
send if someone is interested.

OBS: If this message is considered highly off-topic, please can you
point me in the right direction to ask this questions? (Maybe linux-mtd???)

Many thanks in advance

.^. Gabriel Gomiz - Red Hat Certified Engineer (RHCE)
// \\
/( )\
^^-^^ s/Window[$s]/LINUX!!/g or die;

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:32    [W:0.047 / U:4.904 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site