Monday, September 26, 2005

MBARS

I was wrong. It looks like only the pepherials (sp) are set by chip select. Everything else looks to have their own address range setting register ("mask" in the freescale coldfire user manual). The MBAR (Module Base Address Register) and MBAR2 registers set the base address for the SIM (System Integration Module) registers. The SIM is quote

"The SIM provides overall control of the internal and external buses and serves as the interface between the ColdFire core processor and the internal peripherals or external devices."
That sounds like what I'm looking for. So now that I have the MBAR set up, I can access the I2C controlling registers such as the MBCR (MBAR_ADDR + 0x0288 I believe) and other registers.

So i guess the plan is this:
#define the I2C control registers like:
#define MBCR *(MBAR_ADDR + 0x0288)
and then i should (hopefully) be able to access them like so:
MBCR = value;
which gets translated into:
*(MBAR_ADDR + 0x0288) = value;
obviously by the preprocessor.

After I have access to the I2C bus, I will have to try to figure out a way to access the lcd which will be the hard part (not that I none of this was hard)