blob: 870902f60654ad9dc1c56cb6de3b6d3ad4db7257 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
/*++
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;
}
|