OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [devs/] [flash/] [mips/] [atlas/] [current/] [src/] [flash.h] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
//==========================================================================
2
//
3
//      flash.h
4
//
5
//      Flash programming - device constants, etc.
6
//
7
//==========================================================================
8
// ####ECOSGPLCOPYRIGHTBEGIN####                                            
9
// -------------------------------------------                              
10
// This file is part of eCos, the Embedded Configurable Operating System.   
11
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
12
//
13
// eCos is free software; you can redistribute it and/or modify it under    
14
// the terms of the GNU General Public License as published by the Free     
15
// Software Foundation; either version 2 or (at your option) any later      
16
// version.                                                                 
17
//
18
// eCos is distributed in the hope that it will be useful, but WITHOUT      
19
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or    
20
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License    
21
// for more details.                                                        
22
//
23
// You should have received a copy of the GNU General Public License        
24
// along with eCos; if not, write to the Free Software Foundation, Inc.,    
25
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.            
26
//
27
// As a special exception, if other files instantiate templates or use      
28
// macros or inline functions from this file, or you compile this file      
29
// and link it with other works to produce a work based on this file,       
30
// this file does not by itself cause the resulting work to be covered by   
31
// the GNU General Public License. However the source code for this file    
32
// must still be made available in accordance with section (3) of the GNU   
33
// General Public License v2.                                               
34
//
35
// This exception does not invalidate any other reasons why a work based    
36
// on this file might be covered by the GNU General Public License.         
37
// -------------------------------------------                              
38
// ####ECOSGPLCOPYRIGHTEND####                                              
39
//==========================================================================
40
//#####DESCRIPTIONBEGIN####
41
//
42
// Author(s):    gthomas
43
// Contributors: gthomas
44
// Date:         2000-07-26
45
// Purpose:      
46
// Description:  
47
//              
48
//####DESCRIPTIONEND####
49
//
50
//==========================================================================
51
 
52
#ifndef _FLASH_HWR_H_
53
#define _FLASH_HWR_H_
54
 
55
#define FLASH_Intel_code   0x89
56
 
57
#define FLASH_Read_ID      0x00900090
58
#define FLASH_Read_Query   0x00980098
59
#define FLASH_Read_Status  0x00700070
60
#define FLASH_Clear_Status 0x00500050
61
#define FLASH_Status_Ready 0x00800080
62
#define FLASH_Write_Buffer 0x00E800E8
63
#define FLASH_Program      0x00100010
64
#define FLASH_Block_Erase  0x00200020
65
#define FLASH_Set_Lock     0x00600060
66
#define FLASH_Set_Lock_Confirm 0x00010001
67
#define FLASH_Clear_Locks  0x00600060
68
#define FLASH_Clear_Locks_Confirm  0x00D000D0
69
#define FLASH_Confirm      0x00D000D0
70
#define FLASH_Configure    0x00B800B8
71
#define FLASH_Configure_ReadyWait      0x00000000
72
#define FLASH_Configure_PulseOnErase   0x00010001
73
#define FLASH_Configure_PulseOnProgram 0x00020002
74
#define FLASH_Configure_PulseOnBoth    0x00030003
75
#define FLASH_Reset        0x00FF00FF
76
 
77
#define FLASH_BLOCK_SIZE   0x40000
78
 
79
#define FLASH_Intel_code   0x89
80
 
81
#define FLASH_BASE_MASK 0xff000000
82
 
83
// Extended query information
84
struct FLASH_query {
85
    unsigned char manuf_code;
86
    unsigned char device_code;
87
    unsigned char _unused0[14];
88
    unsigned char id[3];  // Q R Y
89
    unsigned char _unused1[20];
90
    unsigned char device_size;
91
    unsigned char device_interface[2];
92
    unsigned char buffer_size[2];
93
    unsigned char is_block_oriented;
94
    unsigned char num_regions[2];
95
    unsigned char region_size[2];
96
};
97
 
98
#define ATLAS_SFWCTRL *((volatile unsigned *)0xbf000700)
99
#define ATLAS_WEN_MAGIC 0xc7
100
 
101
#define FLASH_WRITE_ENABLE()   (ATLAS_SFWCTRL = ATLAS_WEN_MAGIC)
102
#define FLASH_WRITE_DISABLE()  (ATLAS_SFWCTRL = 0)
103
 
104
#endif  // _FLASH_HWR_H_

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.