Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
a1b611be
Commit
a1b611be
authored
Sep 11, 2002
by
Jens Axboe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cy82c693 update
parent
00e7ed4d
Changes
2
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
183 additions
and
120 deletions
+183
-120
drivers/ide/pci/cy82c693.c
drivers/ide/pci/cy82c693.c
+88
-120
drivers/ide/pci/cy82c693.h
drivers/ide/pci/cy82c693.h
+95
-0
No files found.
drivers/ide/pci/cy82c693.c
View file @
a1b611be
This diff is collapsed.
Click to expand it.
drivers/ide/pci/cy82c693.h
0 → 100644
View file @
a1b611be
#ifndef CY82C693_H
#define CY82C693_H
#include <linux/config.h>
#include <linux/pci.h>
#include <linux/ide.h>
/* the current version */
#define CY82_VERSION "CY82C693U driver v0.34 99-13-12 Andreas S. Krebs (akrebs@altavista.net)"
/*
* The following are used to debug the driver.
*/
#define CY82C693_DEBUG_LOGS 0
#define CY82C693_DEBUG_INFO 0
/* define CY82C693_SETDMA_CLOCK to set DMA Controller Clock Speed to ATCLK */
#undef CY82C693_SETDMA_CLOCK
/*
* NOTE: the value for busmaster timeout is tricky and I got it by
* trial and error! By using a to low value will cause DMA timeouts
* and drop IDE performance, and by using a to high value will cause
* audio playback to scatter.
* If you know a better value or how to calc it, please let me know.
*/
/* twice the value written in cy82c693ub datasheet */
#define BUSMASTER_TIMEOUT 0x50
/*
* the value above was tested on my machine and it seems to work okay
*/
/* here are the offset definitions for the registers */
#define CY82_IDE_CMDREG 0x04
#define CY82_IDE_ADDRSETUP 0x48
#define CY82_IDE_MASTER_IOR 0x4C
#define CY82_IDE_MASTER_IOW 0x4D
#define CY82_IDE_SLAVE_IOR 0x4E
#define CY82_IDE_SLAVE_IOW 0x4F
#define CY82_IDE_MASTER_8BIT 0x50
#define CY82_IDE_SLAVE_8BIT 0x51
#define CY82_INDEX_PORT 0x22
#define CY82_DATA_PORT 0x23
#define CY82_INDEX_CTRLREG1 0x01
#define CY82_INDEX_CHANNEL0 0x30
#define CY82_INDEX_CHANNEL1 0x31
#define CY82_INDEX_TIMEOUT 0x32
/* the max PIO mode - from datasheet */
#define CY82C693_MAX_PIO 4
/* the min and max PCI bus speed in MHz - from datasheet */
#define CY82C963_MIN_BUS_SPEED 25
#define CY82C963_MAX_BUS_SPEED 33
/* the struct for the PIO mode timings */
typedef
struct
pio_clocks_s
{
u8
address_time
;
/* Address setup (clocks) */
u8
time_16r
;
/* clocks for 16bit IOR (0xF0=Active/data, 0x0F=Recovery) */
u8
time_16w
;
/* clocks for 16bit IOW (0xF0=Active/data, 0x0F=Recovery) */
u8
time_8
;
/* clocks for 8bit (0xF0=Active/data, 0x0F=Recovery) */
}
pio_clocks_t
;
extern
void
init_setup_cy82c693
(
struct
pci_dev
*
,
ide_pci_device_t
*
);
extern
unsigned
int
init_chipset_cy82c693
(
struct
pci_dev
*
,
const
char
*
);
extern
void
init_hwif_cy82c693
(
ide_hwif_t
*
);
extern
void
init_dma_cy82c693
(
ide_hwif_t
*
,
unsigned
long
);
static
ide_pci_device_t
cy82c693_chipsets
[]
__initdata
=
{
{
vendor:
PCI_VENDOR_ID_CONTAQ
,
device:
PCI_DEVICE_ID_CONTAQ_82C693
,
name:
"CY82C693"
,
init_setup:
init_setup_cy82c693
,
init_chipset:
init_chipset_cy82c693
,
init_iops:
NULL
,
init_hwif:
init_hwif_cy82c693
,
init_dma:
init_dma_cy82c693
,
channels:
2
,
autodma:
AUTODMA
,
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
bootable:
ON_BOARD
,
extra:
0
,
},{
vendor:
0
,
device:
0
,
channels:
0
,
bootable:
EOL
,
}
};
#endif
/* CY82C693_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment