Can anybody of you great guys can explain me the folling function which
I found in PMON:
BOOL IdentifyFlashType()
{
ULONG mId, dId;
WRITE_REGISTER_ULONG(FLASH_START, 0x90909090);
mId = READ_REGISTER_ULONG(FLASH_START);
WRITE_REGISTER_ULONG(FLASH_START, 0x90909090);
dId = READ_REGISTER_ULONG(FLASH_START+4);
if ((mId == 0x00890089) && (dId == 0x00180018))
{
FlashType = 1; // J3 flash
WRITE_REGISTER_ULONG(FLASH_START, 0x00ff00ff);
printf("J3 32MB flash found on this platform\r\n");
return TRUE;
}
else if ((mId == 0x00890089) && (dId == 0x00170017))
{
FlashType = 1; // J3 flash
WRITE_REGISTER_ULONG(FLASH_START, 0x00ff00ff);
printf("J3 16MB flash found on this platform\r\n");
return TRUE;
}
return FALSE;
}
I have to know what the WRITE_REGISTER_ULONG and READ_REGISTER_ULONG
functions do affect.
Why do they write 0x90909090 or 0x00ff00ff to FLASH_START?