⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sbpcd.h

📁 powerpc内核 mpc8241芯片 linux系统下cdrom驱动程序
💻 H
📖 第 1 页 / 共 2 页
字号:
#define READ_SC	0x04	/* "subchannel info": 96 bytes per frame */#define READ_AU	0x08	/* "audio frame": 2352 bytes per frame *//* * sense_byte: * *          values: 00 *                  01 *                  81 *                  82 "raw audio" mode *                  xx from infobuf[0] after 85 00 00 00 00 00 00 *//* audio status (bin) */#define aud_00 0x00 /* Audio status byte not supported or not valid */#define audx11 0x0b /* Audio play operation in progress             */#define audx12 0x0c /* Audio play operation paused                  */#define audx13 0x0d /* Audio play operation successfully completed  */#define audx14 0x0e /* Audio play operation stopped due to error    */#define audx15 0x0f /* No current audio status to return            *//* audio status (bcd) */#define aud_11 0x11 /* Audio play operation in progress             */#define aud_12 0x12 /* Audio play operation paused                  */#define aud_13 0x13 /* Audio play operation successfully completed  */#define aud_14 0x14 /* Audio play operation stopped due to error    */#define aud_15 0x15 /* No current audio status to return            *//* * highest allowed drive number (MINOR+1) */#define NR_SBPCD	4/* * we try to never disable interrupts - seems to work */#define SBPCD_DIS_IRQ	0/* * "write byte to port" */#define OUT(x,y)	outb(y,x)/*==========================================================================*/#define MIXER_addr SOUND_BASE+4 /* sound card's address register */#define MIXER_data SOUND_BASE+5 /* sound card's data register */#define MIXER_CD_Volume	0x28	/* internal SB Pro register address *//*==========================================================================*/#define MAX_TRACKS	99#define ERR_DISKCHANGE 615/*==========================================================================*//* * To make conversions easier (machine dependent!) */typedef union _msf{	u_int n;	u_char c[4];} MSF;typedef union _blk{	u_int n;	u_char c[4];} BLK;/*==========================================================================*//*==========================================================================================================================================================COMMAND SET of "old" drives like CR-521, CR-522               (the CR-562 family is different):No.	Command			       Code--------------------------------------------Drive Commands: 1	Seek				01	 2	Read Data			02 3	Read XA-Data			03 4	Read Header			04 5	Spin Up				05 6	Spin Down			06 7	Diagnostic			07 8	Read UPC			08 9	Read ISRC			0910	Play Audio			0A11	Play Audio MSF			0B12	Play Audio Track/Index		0CStatus Commands:13	Read Status			81	14	Read Error			8215	Read Drive Version		8316	Mode Select			8417	Mode Sense			8518	Set XA Parameter		8619	Read XA Parameter		8720	Read Capacity			8821	Read SUB_Q			8922	Read Disc Code			8A23	Read Disc Information		8B24	Read TOC			8C25	Pause/Resume			8D26	Read Packet			8E27	Read Path Check			00  all numbers (lba, msf-bin, msf-bcd, counts) to transfer high byte firstmnemo     7-byte command        #bytes response (r0...rn)________ ____________________  ____ Read Status:status:  81.                    (1)  one-byte command, gives the main                                                          status byteRead Error:check1:  82 00 00 00 00 00 00.  (6)  r1: audio statusRead Packet:check2:  8e xx 00 00 00 00 00. (xx)  gets xx bytes response, relating                                        to commands 01 04 05 07 08 09Play Audio:play:    0a ll-bb-aa nn-nn-nn.  (0)  play audio, ll-bb-aa: starting block (lba),                                                 nn-nn-nn: #blocksPlay Audio MSF:         0b mm-ss-ff mm-ss-ff   (0)  play audio from/toPlay Audio Track/Index:         0c ...Pause/Resume:pause:   8d pr 00 00 00 00 00.  (0)  pause (pr=00)                                      resume (pr=80) audio playingMode Select:         84 00 nn-nn ??.?? 00   (0)  nn-nn: 2048 or 2340                                     possibly defines transfer sizeset_vol: 84 83 00 00 sw le 00.  (0)  sw(itch): lrxxxxxx (off=1)                                     le(vel): min=0, max=FF, else half				     (firmware 2.11)Mode Sense:get_vol: 85 03 00 00 00 00 00.  (2)  tell current audio volume settingRead Disc Information:tocdesc: 8b 00 00 00 00 00 00.  (6)  read the toc descriptor ("msf-bin"-format)Read TOC:tocent:  8c fl nn 00 00 00 00.  (8)  read toc entry #nn                                       (fl=0:"lba"-, =2:"msf-bin"-format)Read Capacity:capacit: 88 00 00 00 00 00 00.  (5)  "read CD-ROM capacity"Read Path Check:ping:    00 00 00 00 00 00 00.  (2)  r0=AA, r1=55                                     ("ping" if the drive is connected)Read Drive Version:ident:   83 00 00 00 00 00 00. (12)  gives "MATSHITAn.nn"                                      (n.nn = 2.01, 2.11., 3.00, ...)Seek:seek:    01 00 ll-bb-aa 00 00.  (0)  seek:    01 02 mm-ss-ff 00 00.  (0)  Read Data:read:    02 xx-xx-xx nn-nn fl.  (?)  read nn-nn blocks of 2048 bytes,                                     starting at block xx-xx-xx                                       fl=0: "lba"-, =2:"msf-bcd"-coded xx-xx-xxRead XA-Data:read:    03 xx-xx-xx nn-nn fl.  (?)  read nn-nn blocks of 2340 bytes,                                      starting at block xx-xx-xx                                     fl=0: "lba"-, =2:"msf-bcd"-coded xx-xx-xxRead SUB_Q:         89 fl 00 00 00 00 00. (13)  r0: audio status, r4-r7: lba/msf,                                        fl=0: "lba", fl=2: "msf"Read Disc Code:         8a 00 00 00 00 00 00. (14)  possibly extended "check condition"-infoRead Header:         04 00 ll-bb-aa 00 00.  (0)   4 bytes response with "check2"         04 02 mm-ss-ff 00 00.  (0)   4 bytes response with "check2"Spin Up:         05 00 ll-bb-aa 00 00.  (0)  possibly implies a "seek"Spin Down:         06 ...Diagnostic:         07 00 ll-bb-aa 00 00.  (2)   2 bytes response with "check2"         07 02 mm-ss-ff 00 00.  (2)   2 bytes response with "check2"Read UPC:         08 00 ll-bb-aa 00 00. (16)           08 02 mm-ss-ff 00 00. (16)  Read ISRC:         09 00 ll-bb-aa 00 00. (15)  15 bytes response with "check2"         09 02 mm-ss-ff 00 00. (15)  15 bytes response with "check2"Set XA Parameter:         86 ...Read XA Parameter:         87 ...==========================================================================================================================================================*//* * commands * * CR-52x:      CMD0_ * CR-56x:      CMD1_ * CD200:       CMD2_ * LCS-7260:    CMDL_ * TEAC CD-55A: CMDT_ * ECS-AT:      CMDV_ */#define CMD1_RESET	0x0a#define CMD2_RESET	0x01#define CMDT_RESET	0xc0#define CMD1_LOCK_CTL	0x0c#define CMD2_LOCK_CTL	0x1e#define CMDT_LOCK_CTL	CMD2_LOCK_CTL#define CMDL_LOCK_CTL	0x0e#define CMDV_LOCK_CTL	CMDL_LOCK_CTL#define CMD1_TRAY_CTL	0x07#define CMD2_TRAY_CTL	0x1b#define CMDT_TRAY_CTL	CMD2_TRAY_CTL#define CMDL_TRAY_CTL	0x0d#define CMDV_TRAY_CTL	CMDL_TRAY_CTL#define CMD1_MULTISESS	0x8d#define CMDL_MULTISESS	0x8c#define CMDV_MULTISESS	CMDL_MULTISESS#define CMD1_SUBCHANINF	0x11#define CMD2_SUBCHANINF	0x??#define CMD1_ABORT	0x08#define CMD2_ABORT	0x08#define CMDT_ABORT	0x08#define CMD2_x02	0x02#define CMD2_SETSPEED	0xda#define CMD0_PATH_CHECK	0x00#define CMD1_PATH_CHECK	0x???#define CMD2_PATH_CHECK	0x???#define CMDT_PATH_CHECK	0x???#define CMDL_PATH_CHECK	CMD0_PATH_CHECK#define CMDV_PATH_CHECK	CMD0_PATH_CHECK#define CMD0_SEEK	0x01#define CMD1_SEEK	CMD0_SEEK#define CMD2_SEEK	0x2b#define CMDT_SEEK	CMD2_SEEK#define CMDL_SEEK	CMD0_SEEK#define CMDV_SEEK	CMD0_SEEK#define CMD0_READ	0x02#define CMD1_READ	0x10#define CMD2_READ	0x28#define CMDT_READ	CMD2_READ#define CMDL_READ	CMD0_READ#define CMDV_READ	CMD0_READ#define CMD0_READ_XA	0x03#define CMD2_READ_XA	0xd4#define CMD2_READ_XA2	0xd5#define CMDL_READ_XA	CMD0_READ_XA /* really ?? */#define CMDV_READ_XA	CMD0_READ_XA#define CMD0_READ_HEAD	0x04#define CMD0_SPINUP	0x05#define CMD1_SPINUP	0x02#define CMD2_SPINUP	CMD2_TRAY_CTL#define CMDL_SPINUP	CMD0_SPINUP#define CMDV_SPINUP	CMD0_SPINUP#define CMD0_SPINDOWN	0x06 /* really??? */#define CMD1_SPINDOWN	0x06#define CMD2_SPINDOWN	CMD2_TRAY_CTL#define CMDL_SPINDOWN	0x0d#define CMDV_SPINDOWN	CMD0_SPINDOWN#define CMD0_DIAG	0x07#define CMD0_READ_UPC	0x08#define CMD1_READ_UPC	0x88#define CMD2_READ_UPC	0x???#define CMDL_READ_UPC	CMD0_READ_UPC#define CMDV_READ_UPC	0x8f#define CMD0_READ_ISRC	0x09#define CMD0_PLAY	0x0a#define CMD1_PLAY	0x???#define CMD2_PLAY	0x???#define CMDL_PLAY	CMD0_PLAY#define CMDV_PLAY	CMD0_PLAY#define CMD0_PLAY_MSF	0x0b#define CMD1_PLAY_MSF	0x0e#define CMD2_PLAY_MSF	0x47#define CMDT_PLAY_MSF	CMD2_PLAY_MSF#define CMDL_PLAY_MSF	0x???#define CMD0_PLAY_TI	0x0c#define CMD1_PLAY_TI	0x0f#define CMD0_STATUS	0x81#define CMD1_STATUS	0x05#define CMD2_STATUS	0x00#define CMDT_STATUS	CMD2_STATUS#define CMDL_STATUS	CMD0_STATUS#define CMDV_STATUS	CMD0_STATUS#define CMD2_SEEK_LEADIN 0x00#define CMD0_READ_ERR	0x82#define CMD1_READ_ERR	CMD0_READ_ERR#define CMD2_READ_ERR	0x03#define CMDT_READ_ERR	CMD2_READ_ERR /* get audio status */#define CMDL_READ_ERR	CMD0_READ_ERR#define CMDV_READ_ERR	CMD0_READ_ERR#define CMD0_READ_VER	0x83#define CMD1_READ_VER	CMD0_READ_VER#define CMD2_READ_VER	0x12#define CMDT_READ_VER	CMD2_READ_VER /* really ?? */#define CMDL_READ_VER	CMD0_READ_VER#define CMDV_READ_VER	CMD0_READ_VER#define CMD0_SETMODE	0x84#define CMD1_SETMODE	0x09#define CMD2_SETMODE	0x55#define CMDT_SETMODE	CMD2_SETMODE#define CMDL_SETMODE	CMD0_SETMODE#define CMD0_GETMODE	0x85#define CMD1_GETMODE	0x84#define CMD2_GETMODE	0x5a#define CMDT_GETMODE	CMD2_GETMODE#define CMDL_GETMODE	CMD0_GETMODE#define CMD0_SET_XA	0x86#define CMD0_GET_XA	0x87#define CMD0_CAPACITY	0x88#define CMD1_CAPACITY	0x85#define CMD2_CAPACITY	0x25#define CMDL_CAPACITY	CMD0_CAPACITY /* missing in some firmware versions */#define CMD0_READSUBQ	0x89#define CMD1_READSUBQ	0x87#define CMD2_READSUBQ	0x42#define CMDT_READSUBQ	CMD2_READSUBQ#define CMDL_READSUBQ	CMD0_READSUBQ#define CMDV_READSUBQ	CMD0_READSUBQ#define CMD0_DISKCODE	0x8a#define CMD0_DISKINFO	0x8b#define CMD1_DISKINFO	CMD0_DISKINFO#define CMD2_DISKINFO	0x43#define CMDT_DISKINFO	CMD2_DISKINFO#define CMDL_DISKINFO	CMD0_DISKINFO#define CMDV_DISKINFO	CMD0_DISKINFO#define CMD0_READTOC	0x8c#define CMD1_READTOC	CMD0_READTOC#define CMD2_READTOC	0x???#define CMDL_READTOC	CMD0_READTOC#define CMDV_READTOC	CMD0_READTOC#define CMD0_PAU_RES	0x8d#define CMD1_PAU_RES	0x0d#define CMD2_PAU_RES	0x4b#define CMDT_PAUSE	CMD2_PAU_RES#define CMDL_PAU_RES	CMD0_PAU_RES#define CMDV_PAUSE	CMD0_PAU_RES#define CMD0_PACKET	0x8e#define CMD1_PACKET	CMD0_PACKET#define CMD2_PACKET	0x???#define CMDL_PACKET	CMD0_PACKET#define CMDV_PACKET	0x???/*==========================================================================*//*==========================================================================*/#endif /* _LINUX_SBPCD_H *//*==========================================================================*//* * Overrides for Emacs so that we follow Linus's tabbing style. * Emacs will notice this stuff at the end of the file and automatically * adjust the settings for this buffer only.  This must remain at the end * of the file.  * --------------------------------------------------------------------------- * Local variables: * c-indent-level: 8 * c-brace-imaginary-offset: 0 * c-brace-offset: -8 * c-argdecl-indent: 8 * c-label-offset: -8 * c-continued-statement-offset: 8 * c-continued-brace-offset: 0 * End: */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -