|
@@ -39,9 +39,11 @@
|
|
|
#define RB500_CF_MAXPORTS 1
|
|
|
#define RB500_CF_IO_DELAY 400
|
|
|
|
|
|
-#define RB500_CF_REG_CMD 0x0800
|
|
|
+#define RB500_CF_REG_BASE 0x0800
|
|
|
+#define RB500_CF_REG_ERR 0x080D
|
|
|
#define RB500_CF_REG_CTRL 0x080E
|
|
|
-#define RB500_CF_REG_DATA 0x0C00
|
|
|
+/* 32bit buffered data register offset */
|
|
|
+#define RB500_CF_REG_DBUF32 0x0C00
|
|
|
|
|
|
struct rb532_cf_info {
|
|
|
void __iomem *iobase;
|
|
@@ -146,13 +148,14 @@ static void rb532_pata_setup_ports(struct ata_host *ah)
|
|
|
ap->pio_mask = 0x1f; /* PIO4 */
|
|
|
ap->flags = ATA_FLAG_NO_LEGACY | ATA_FLAG_MMIO;
|
|
|
|
|
|
- ap->ioaddr.cmd_addr = info->iobase + RB500_CF_REG_CMD;
|
|
|
+ ap->ioaddr.cmd_addr = info->iobase + RB500_CF_REG_BASE;
|
|
|
ap->ioaddr.ctl_addr = info->iobase + RB500_CF_REG_CTRL;
|
|
|
ap->ioaddr.altstatus_addr = info->iobase + RB500_CF_REG_CTRL;
|
|
|
|
|
|
ata_sff_std_ports(&ap->ioaddr);
|
|
|
|
|
|
- ap->ioaddr.data_addr = info->iobase + RB500_CF_REG_DATA;
|
|
|
+ ap->ioaddr.data_addr = info->iobase + RB500_CF_REG_DBUF32;
|
|
|
+ ap->ioaddr.error_addr = info->iobase + RB500_CF_REG_ERR;
|
|
|
}
|
|
|
|
|
|
static __devinit int rb532_pata_driver_probe(struct platform_device *pdev)
|