|
Lines 123-130
enum {
Link Here
|
| 123 |
ich6_sata = 4, |
123 |
ich6_sata = 4, |
| 124 |
ich6_sata_ahci = 5, |
124 |
ich6_sata_ahci = 5, |
| 125 |
ich6m_sata_ahci = 6, |
125 |
ich6m_sata_ahci = 6, |
| 126 |
ich7m_sata_ahci = 7, |
126 |
ich8_sata_ahci = 7, |
| 127 |
ich8_sata_ahci = 8, |
|
|
| 128 |
|
127 |
|
| 129 |
/* constants for mapping table */ |
128 |
/* constants for mapping table */ |
| 130 |
P0 = 0, /* port 0 */ |
129 |
P0 = 0, /* port 0 */ |
|
Lines 189-195
#endif
Link Here
|
| 189 |
/* 82801GB/GR/GH (ICH7, identical to ICH6) */ |
188 |
/* 82801GB/GR/GH (ICH7, identical to ICH6) */ |
| 190 |
{ 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, |
189 |
{ 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, |
| 191 |
/* 2801GBM/GHM (ICH7M, identical to ICH6M) */ |
190 |
/* 2801GBM/GHM (ICH7M, identical to ICH6M) */ |
| 192 |
{ 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich7m_sata_ahci }, |
191 |
{ 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6m_sata_ahci }, |
| 193 |
/* Enterprise Southbridge 2 (where's the datasheet?) */ |
192 |
/* Enterprise Southbridge 2 (where's the datasheet?) */ |
| 194 |
{ 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, |
193 |
{ 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, |
| 195 |
/* SATA Controller 1 IDE (ICH8, no datasheet yet) */ |
194 |
/* SATA Controller 1 IDE (ICH8, no datasheet yet) */ |
|
Lines 328-350
static const struct piix_map_db ich6m_ma
Link Here
|
| 328 |
.mask = 0x3, |
327 |
.mask = 0x3, |
| 329 |
.port_enable = 0x5, |
328 |
.port_enable = 0x5, |
| 330 |
.present_shift = 4, |
329 |
.present_shift = 4, |
| 331 |
.map = { |
|
|
| 332 |
/* PM PS SM SS MAP */ |
| 333 |
{ P0, P2, RV, RV }, /* 00b */ |
| 334 |
{ RV, RV, RV, RV }, |
| 335 |
{ P0, P2, IDE, IDE }, /* 10b */ |
| 336 |
{ RV, RV, RV, RV }, |
| 337 |
}, |
| 338 |
}; |
| 339 |
|
| 340 |
static const struct piix_map_db ich7m_map_db = { |
| 341 |
.mask = 0x3, |
| 342 |
.port_enable = 0x5, |
| 343 |
.present_shift = 4, |
| 344 |
|
330 |
|
| 345 |
/* Map 01b isn't specified in the doc but some notebooks use |
331 |
/* Map 01b isn't specified in the doc but some notebooks use |
| 346 |
* it anyway. ATM, the only case spotted carries subsystem ID |
332 |
* it anyway. MAP 01b have been spotted on both ICH6M and |
| 347 |
* 1025:0107. This is the only difference from ich6m. |
333 |
* ICH7M. |
| 348 |
*/ |
334 |
*/ |
| 349 |
.map = { |
335 |
.map = { |
| 350 |
/* PM PS SM SS MAP */ |
336 |
/* PM PS SM SS MAP */ |
|
Lines 374-380
static const struct piix_map_db *piix_ma
Link Here
|
| 374 |
[ich6_sata] = &ich6_map_db, |
360 |
[ich6_sata] = &ich6_map_db, |
| 375 |
[ich6_sata_ahci] = &ich6_map_db, |
361 |
[ich6_sata_ahci] = &ich6_map_db, |
| 376 |
[ich6m_sata_ahci] = &ich6m_map_db, |
362 |
[ich6m_sata_ahci] = &ich6m_map_db, |
| 377 |
[ich7m_sata_ahci] = &ich7m_map_db, |
|
|
| 378 |
[ich8_sata_ahci] = &ich8_map_db, |
363 |
[ich8_sata_ahci] = &ich8_map_db, |
| 379 |
}; |
364 |
}; |
| 380 |
|
365 |
|
|
Lines 464-481
#endif
Link Here
|
| 464 |
.port_ops = &piix_sata_ops, |
449 |
.port_ops = &piix_sata_ops, |
| 465 |
}, |
450 |
}, |
| 466 |
|
451 |
|
| 467 |
/* ich7m_sata_ahci */ |
|
|
| 468 |
{ |
| 469 |
.sht = &piix_sht, |
| 470 |
.host_flags = ATA_FLAG_SATA | |
| 471 |
PIIX_FLAG_CHECKINTR | PIIX_FLAG_SCR | |
| 472 |
PIIX_FLAG_AHCI, |
| 473 |
.pio_mask = 0x1f, /* pio0-4 */ |
| 474 |
.mwdma_mask = 0x07, /* mwdma0-2 */ |
| 475 |
.udma_mask = 0x7f, /* udma0-6 */ |
| 476 |
.port_ops = &piix_sata_ops, |
| 477 |
}, |
| 478 |
|
| 479 |
/* ich8_sata_ahci */ |
452 |
/* ich8_sata_ahci */ |
| 480 |
{ |
453 |
{ |
| 481 |
.sht = &piix_sht, |
454 |
.sht = &piix_sht, |