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

📄 sonycd535.h

📁 linux和2410结合开发 用他可以生成2410所需的zImage文件
💻 H
字号:
#ifndef SONYCD535_H#define SONYCD535_H/* * define all the commands recognized by the CDU-531/5 */#define SONY535_REQUEST_DRIVE_STATUS_1		(0x80)#define SONY535_REQUEST_SENSE			(0x82)#define SONY535_REQUEST_DRIVE_STATUS_2		(0x84)#define SONY535_REQUEST_ERROR_STATUS		(0x86)#define SONY535_REQUEST_AUDIO_STATUS		(0x88)#define SONY535_INQUIRY				(0x8a)#define SONY535_SET_INACTIVITY_TIME		(0x90)#define SONY535_SEEK_AND_READ_N_BLOCKS_1	(0xa0)#define SONY535_SEEK_AND_READ_N_BLOCKS_2	(0xa4)#define SONY535_PLAY_AUDIO			(0xa6)#define SONY535_REQUEST_DISC_CAPACITY		(0xb0)#define SONY535_REQUEST_TOC_DATA		(0xb2)#define SONY535_REQUEST_SUB_Q_DATA		(0xb4)#define SONY535_REQUEST_ISRC			(0xb6)#define SONY535_REQUEST_UPC_EAN			(0xb8)#define SONY535_SET_DRIVE_MODE			(0xc0)#define SONY535_REQUEST_DRIVE_MODE		(0xc2)#define SONY535_SET_RETRY_COUNT			(0xc4)#define SONY535_DIAGNOSTIC_1			(0xc6)#define SONY535_DIAGNOSTIC_4			(0xcc)#define SONY535_DIAGNOSTIC_5			(0xce)#define SONY535_EJECT_CADDY			(0xd0)#define SONY535_DISABLE_EJECT_BUTTON		(0xd2)#define SONY535_ENABLE_EJECT_BUTTON		(0xd4)#define SONY535_HOLD				(0xe0)#define SONY535_AUDIO_PAUSE_ON_OFF		(0xe2)#define SONY535_SET_VOLUME			(0xe8)#define SONY535_STOP				(0xf0)#define SONY535_SPIN_UP				(0xf2)#define SONY535_SPIN_DOWN			(0xf4)#define SONY535_CLEAR_PARAMETERS		(0xf6)#define SONY535_CLEAR_ENDING_ADDRESS		(0xf8)/* * define some masks */#define SONY535_DATA_NOT_READY_BIT		(0x1)#define SONY535_RESULT_NOT_READY_BIT		(0x2)/* *  drive status 1 */#define SONY535_STATUS1_COMMAND_ERROR		(0x1)#define SONY535_STATUS1_DATA_ERROR		(0x2)#define SONY535_STATUS1_SEEK_ERROR		(0x4)#define SONY535_STATUS1_DISC_TYPE_ERROR		(0x8)#define SONY535_STATUS1_NOT_SPINNING		(0x10)#define SONY535_STATUS1_EJECT_BUTTON_PRESSED	(0x20)#define SONY535_STATUS1_CADDY_NOT_INSERTED	(0x40)#define SONY535_STATUS1_BYTE_TWO_FOLLOWS	(0x80)/* * drive status 2 */#define SONY535_CDD_LOADING_ERROR		(0x7)#define SONY535_CDD_NO_DISC			(0x8)#define SONY535_CDD_UNLOADING_ERROR		(0x9)#define SONY535_CDD_CADDY_NOT_INSERTED		(0xd)#define SONY535_ATN_RESET_OCCURRED		(0x2)#define SONY535_ATN_DISC_CHANGED		(0x4)#define SONY535_ATN_RESET_AND_DISC_CHANGED	(0x6)#define SONY535_ATN_EJECT_IN_PROGRESS		(0xe)#define SONY535_ATN_BUSY			(0xf)/* * define some parameters */#define SONY535_AUDIO_DRIVE_MODE		(0)#define SONY535_CDROM_DRIVE_MODE		(0xe0)#define SONY535_PLAY_OP_PLAYBACK		(0)#define SONY535_PLAY_OP_ENTER_HOLD		(1)#define SONY535_PLAY_OP_SET_AUDIO_ENDING_ADDR	(2)#define SONY535_PLAY_OP_SCAN_FORWARD		(3)#define SONY535_PLAY_OP_SCAN_BACKWARD		(4)/* *  convert from msf format to block number  */#define SONY_BLOCK_NUMBER(m,s,f) (((m)*60L+(s))*75L+(f))#define SONY_BLOCK_NUMBER_MSF(x) (((x)[0]*60L+(x)[1])*75L+(x)[2])/* *  error return values from the doSonyCmd() routines */#define TIME_OUT			(-1)#define NO_CDROM			(-2)#define BAD_STATUS			(-3)#define CD_BUSY				(-4)#define NOT_DATA_CD			(-5)#define NO_ROOM				(-6)#define LOG_START_OFFSET        150     /* Offset of first logical sector */#define SONY_JIFFIES_TIMEOUT	(5*HZ)	/* Maximum time					   the drive will wait/try for an					   operation */#define SONY_READY_RETRIES      (50000)  /* How many times to retry a                                                  spin waiting for a register                                                  to come ready */#define SONY535_FAST_POLLS	(10000)   /* how many times recheck                                                   status waiting for a data                                                  to become ready */typedef unsigned char Byte;/* * This is the complete status returned from the drive configuration request * command. */struct s535_sony_drive_config{   char vendor_id[8];   char product_id[16];   char product_rev_level[4];};/* The following is returned from the request sub-q data command */struct s535_sony_subcode{   unsigned char address        :4;   unsigned char control        :4;   unsigned char track_num;   unsigned char index_num;   unsigned char rel_msf[3];   unsigned char abs_msf[3];};struct s535_sony_disc_capacity{   Byte mFirstTrack, sFirstTrack, fFirstTrack;   Byte mLeadOut, sLeadOut, fLeadOut;};/* * The following is returned from the request TOC (Table Of Contents) command. * (last_track_num-first_track_num+1) values are valid in tracks. */struct s535_sony_toc{   unsigned char reserved0      :4;   unsigned char control0       :4;   unsigned char point0;   unsigned char first_track_num;   unsigned char reserved0a;   unsigned char reserved0b;   unsigned char reserved1      :4;   unsigned char control1       :4;   unsigned char point1;   unsigned char last_track_num;   unsigned char dummy1;   unsigned char dummy2;   unsigned char reserved2      :4;   unsigned char control2       :4;   unsigned char point2;   unsigned char lead_out_start_msf[3];   struct   {      unsigned char reserved    :4;      unsigned char control     :4;      unsigned char track;      unsigned char track_start_msf[3];   } tracks[100];   unsigned int lead_out_start_lba;};#endif /* SONYCD535_H */

⌨️ 快捷键说明

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