AHCI_P_OFFSET
#define SUNXI_SATA_DMACR(port) (0x170 + AHCI_P_OFFSET(port))
#define AHCI_P_CLB(p) (0x100 + AHCI_P_OFFSET(p)) /* command list addr */
#define AHCI_P_CLBU(p) (0x104 + AHCI_P_OFFSET(p)) /* command list addr */
#define AHCI_P_FB(p) (0x108 + AHCI_P_OFFSET(p)) /* FIS addr */
#define AHCI_P_FBU(p) (0x10c + AHCI_P_OFFSET(p)) /* FIS addr */
#define AHCI_P_IS(p) (0x110 + AHCI_P_OFFSET(p)) /* Interrupt status */
#define AHCI_P_IE(p) (0x114 + AHCI_P_OFFSET(p)) /* Interrupt enable */
#define AHCI_P_CMD(p) (0x118 + AHCI_P_OFFSET(p)) /* Port command/status */
#define AHCI_P_TFD(p) (0x120 + AHCI_P_OFFSET(p)) /* Port task file data */
#define AHCI_P_SIG(p) (0x124 + AHCI_P_OFFSET(p)) /* device signature */
#define AHCI_P_SSTS(p) (0x128 + AHCI_P_OFFSET(p)) /* Serial ATA status */
#define AHCI_P_SCTL(p) (0x12c + AHCI_P_OFFSET(p)) /* Serial ATA control */
#define AHCI_P_SERR(p) (0x130 + AHCI_P_OFFSET(p)) /* Serial ATA error */
#define AHCI_P_SACT(p) (0x134 + AHCI_P_OFFSET(p)) /* Serial ATA active */
#define AHCI_P_CI(p) (0x138 + AHCI_P_OFFSET(p)) /* Command issued */
#define AHCI_P_FNTF(p) (0x13c + AHCI_P_OFFSET(p)) /* SNotification */
#define AHCI_P_FBS(p) (0x140 + AHCI_P_OFFSET(p)) /* Port task file data */