2 Copyright © 2013, The AROS Development Team. All rights reserved.
5 Desc: A600/A1200/A4000 ATA HIDD PIO interface functions
8 #include <aros/debug.h>
13 #include "interface_pio.h"
15 static void ata_out(struct pio_data
*data
, UBYTE val
, UWORD offset
)
19 addr
[offset
* 4] = val
;
20 DIO(bug("%p REG %d <- %02X\n", addr
, offset
, val
));
22 static UBYTE
ata_in(struct pio_data
*data
, UWORD offset
)
29 DIO(bug("%p REG %d -> %02X\n", addr
, offset
, v
));
33 static void ata_outsw(struct pio_data
*data
, APTR address
, ULONG count
)
35 volatile UWORD
*addr
= (UWORD
*)data
->dataport
;
38 DDATA(bug("WOUT %p %p %d\n", addr
, address
, count
));
43 static void ata_outsl(struct pio_data
*data
, APTR address
, ULONG count
)
45 volatile ULONG
*addr
= (ULONG
*)data
->dataport
;
48 DDATA(bug("LOUT %p %p %d\n", addr
, address
, count
));
54 static void ata_insw(struct pio_data
*data
, APTR address
, ULONG count
)
56 volatile UWORD
*addr
= (UWORD
*)data
->dataport
;
59 DDATA(bug("WIN %p %p %d\n", addr
, address
, count
));
64 static void ata_insl(struct pio_data
*data
, APTR address
, ULONG count
)
66 volatile ULONG
*addr
= (ULONG
*)data
->dataport
;
69 DDATA(bug("LIN %p %p %d\n", addr
, address
, count
));
75 const APTR bus_FuncTable
[] =
82 const APTR pio_FuncTable
[] =