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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [ecos-2.0/] [packages/] [redboot/] [v2_0/] [include/] [fs/] [ide.h] - Blame information for rev 1773

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1254 phoenix
//==========================================================================
2
//
3
//      ide.h
4
//
5
//      IDE Interface Driver Tables for RedBoot
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 Red Hat, 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 version.
16
//
17
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
19
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20
// for more details.
21
//
22
// You should have received a copy of the GNU General Public License along
23
// with eCos; if not, write to the Free Software Foundation, Inc.,
24
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25
//
26
// As a special exception, if other files instantiate templates or use macros
27
// or inline functions from this file, or you compile this file and link it
28
// with other works to produce a work based on this file, this file does not
29
// by itself cause the resulting work to be covered by the GNU General Public
30
// License. However the source code for this file must still be made available
31
// in accordance with section (3) of the GNU General Public License.
32
//
33
// This exception does not invalidate any other reasons why a work based on
34
// this file might be covered by the GNU General Public License.
35
//
36
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37
// at http://sources.redhat.com/ecos/ecos-license/
38
// -------------------------------------------
39
//####ECOSGPLCOPYRIGHTEND####
40
//==========================================================================
41
//#####DESCRIPTIONBEGIN####
42
//
43
// Author(s):    msalter
44
// Contributors: msalter
45
// Date:         2001-07-06
46
// Purpose:      
47
// Description:  
48
//              
49
// This code is part of RedBoot (tm).
50
//
51
//####DESCRIPTIONEND####
52
//
53
//==========================================================================
54
 
55
#ifndef CYGONCE_REDBOOT_IDE_H
56
#define CYGONCE_REDBOOT_IDE_H
57
 
58
// IDE Register Indices
59
#define IDE_REG_DATA      0
60
#define IDE_REG_ERROR     1
61
#define IDE_REG_FEATURES  1
62
#define IDE_REG_COUNT     2
63
#define IDE_REG_REASON    2  // ATAPI
64
#define IDE_REG_LBALOW    3
65
#define IDE_REG_LBAMID    4
66
#define IDE_REG_LBAHI     5
67
#define IDE_REG_DEVICE    6
68
#define IDE_REG_STATUS    7
69
#define IDE_REG_COMMAND   7
70
 
71
#define IDE_STAT_BSY      0x80
72
#define IDE_STAT_DRDY     0x40
73
#define IDE_STAT_SERVICE  0x10
74
#define IDE_STAT_DRQ      0x08
75
#define IDE_STAT_CORR     0x04
76
#define IDE_STAT_ERR      0x01
77
 
78
#define IDE_REASON_REL    0x04
79
#define IDE_REASON_IO     0x02
80
#define IDE_REASON_COD    0x01
81
 
82
//
83
// Drive ID offsets of interest
84
//
85
#define IDE_DEVID_GENCONFIG      0
86
#define IDE_DEVID_SERNO         20
87
#define IDE_DEVID_MODEL         54
88
#define IDE_DEVID_LBA_CAPACITY 120
89
 
90
struct ide_priv {
91
    cyg_uint8   controller;
92
    cyg_uint8   drive;
93
    cyg_uint16  flags;
94
};
95
 
96
/* flag values */
97
#define IDE_DEV_PRESENT  1  // Device is present
98
#define IDE_DEV_PACKET   2  // Supports packet interface
99
#define IDE_DEV_ADDR48   3  // Supports 48bit addressing
100
 
101
#define CDROM_SECTOR_SIZE 2048
102
#define SECTORS_PER_CDROM_SECTOR (CDROM_SECTOR_SIZE/SECTOR_SIZE)
103
 
104
#endif // CYGONCE_REDBOOT_IDE_H

powered by: WebSVN 2.1.0

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