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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [cdrom/] [mcd.h] - Blame information for rev 1774

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

Line No. Rev Author Line
1 1275 phoenix
/*
2
 * Definitions for a Mitsumi CD-ROM interface
3
 *
4
 *      Copyright (C) 1992  Martin Harriss
5
 *
6
 *      martin@bdsi.com
7
 *
8
 *  This program is free software; you can redistribute it and/or modify
9
 *  it under the terms of the GNU General Public License as published by
10
 *  the Free Software Foundation; either version 2 of the License, or
11
 *  (at your option) any later version.
12
 *
13
 *  This program is distributed in the hope that it will be useful,
14
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 *  GNU General Public License for more details.
17
 *
18
 *  You should have received a copy of the GNU General Public License
19
 *  along with this program; if not, write to the Free Software
20
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21
 *
22
 */
23
 
24
/* Increase this if you get lots of timeouts */
25
#define MCD_STATUS_DELAY        1000
26
 
27
/* number of times to retry a command before giving up */
28
#define MCD_RETRY_ATTEMPTS      10
29
 
30
/* port access macro */
31
#define MCDPORT(x)              (mcd_port + (x))
32
 
33
/* How many sectors to read at 1x when an error at 2x speed occurs. */
34
/* You can change this to anything from 2 to 32767, but 30 seems to */
35
/* work best for me.  I have found that when the drive has problems */
36
/* reading one sector, it will have troubles reading the next few.  */
37
#define SINGLE_HOLD_SECTORS 30  
38
 
39
#define MCMD_2X_READ 0xC1       /* Double Speed Read DON'T TOUCH! */
40
 
41
/* status bits */
42
 
43
#define MST_CMD_CHECK           0x01            /* command error */
44
#define MST_BUSY                0x02            /* now playing */
45
#define MST_READ_ERR            0x04            /* read error */
46
#define MST_DSK_TYPE            0x08
47
#define MST_SERVO_CHECK         0x10
48
#define MST_DSK_CHG             0x20            /* disk removed or changed */
49
#define MST_READY               0x40            /* disk in the drive */
50
#define MST_DOOR_OPEN           0x80            /* door is open */
51
 
52
/* flag bits */
53
 
54
#define MFL_DATA                0x02            /* data available */
55
#define MFL_STATUS              0x04            /* status available */
56
 
57
/* commands */
58
 
59
#define MCMD_GET_DISK_INFO      0x10            /* read info from disk */
60
#define MCMD_GET_Q_CHANNEL      0x20            /* read info from q channel */
61
#define MCMD_GET_STATUS         0x40
62
#define MCMD_SET_MODE           0x50
63
#define MCMD_SOFT_RESET         0x60
64
#define MCMD_STOP               0x70            /* stop play */
65
#define MCMD_CONFIG_DRIVE       0x90
66
#define MCMD_SET_VOLUME         0xAE            /* set audio level */
67
#define MCMD_PLAY_READ          0xC0            /* play or read data */
68
#define MCMD_GET_VERSION        0xDC
69
#define MCMD_EJECT              0xF6            /* eject (FX drive) */
70
 
71
/* borrowed from hd.c */
72
 
73
#define MAX_TRACKS              104
74
 
75
struct msf {
76
        unsigned char   min;
77
        unsigned char   sec;
78
        unsigned char   frame;
79
};
80
 
81
struct mcd_Play_msf {
82
        struct msf      start;
83
        struct msf      end;
84
};
85
 
86
struct mcd_DiskInfo {
87
        unsigned char   first;
88
        unsigned char   last;
89
        struct msf      diskLength;
90
        struct msf      firstTrack;
91
};
92
 
93
struct mcd_Toc {
94
        unsigned char   ctrl_addr;
95
        unsigned char   track;
96
        unsigned char   pointIndex;
97
        struct msf      trackTime;
98
        struct msf      diskTime;
99
};
100
 
101
#define test1(x)
102
#define test2(x)
103
#define test3(x)
104
#define test4(x)
105
#define test5(x)
106
 

powered by: WebSVN 2.1.0

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