92 lines
1.4 KiB
C
92 lines
1.4 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1995 Digital Equipment Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
pflash.c
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
This module contains the platform dependent code to access the AMD
|
|||
|
flash ROM part
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Wim Colgate, 5/23/95
|
|||
|
|
|||
|
Environment:
|
|||
|
|
|||
|
Firmware/Kernel mode
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
#include "halp.h"
|
|||
|
#include "arccodes.h"
|
|||
|
#include <flash8k.h>
|
|||
|
#include "flashbus.h"
|
|||
|
#include "am29f400.h"
|
|||
|
|
|||
|
|
|||
|
VOID pWriteFlashByte(
|
|||
|
IN ULONG FlashOffset,
|
|||
|
IN UCHAR Data
|
|||
|
)
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
This routine goes writes the flashbus using the hardware
|
|||
|
specific access method.
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
FlashOffset - offset within the flash ROM.
|
|||
|
Data - data to write
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
The value of the flash at the given location.
|
|||
|
|
|||
|
--*/
|
|||
|
{
|
|||
|
|
|||
|
WRITE_EPIC_REGISTER(FLASH_ACCESS_ADDR,
|
|||
|
(FlashOffset << FLASH_ADDR_SHIFT) | Data
|
|||
|
| FLASH_WRITE_FLAG);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
UCHAR pReadFlashByte(
|
|||
|
IN ULONG FlashOffset
|
|||
|
)
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
This routine goes out and reads the flashbus using the hardware
|
|||
|
specific access method.
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
FlashOffset - offset within the flash ROM.
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
The value of the flash at the given location.
|
|||
|
|
|||
|
--*/
|
|||
|
{
|
|||
|
ULONG ReturnVal;
|
|||
|
|
|||
|
|
|||
|
WRITE_EPIC_REGISTER(FLASH_ACCESS_ADDR,
|
|||
|
(FlashOffset << FLASH_ADDR_SHIFT));
|
|||
|
|
|||
|
ReturnVal = READ_EPIC_REGISTER(FLASH_ACCESS_ADDR);
|
|||
|
|
|||
|
return (UCHAR)ReturnVal;
|
|||
|
}
|