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
0x120-0x12F
0x140-0x14F
0x160-0x16F
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))
#endif
#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) /V\ // \\ /( )\ ^^-^^ 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/