AR9003 and later support requires some driver changes as well as a new HAL. This page will cover the needed steps.
Steps
HAL
New HAL code
Extend HAL API with new methods (the AR9003 and later descriptors contain data/len pointers for up to four fragments; it also supports descriptor 'checksum' support; there are likely other things needed.)
Driver
PAPRD calibration support (double-check?)
MSI support (message-signaled interrupts, for PCIe)
Changes to TX/RX descriptor sizes - make it configurable at run-time? Or just compile-time?
Rate control changes to support 3-stream and up to MCS31
TX/RX DMA changes (“EDMA”) to support the new ring-based TX/RX FIFO
RX 'high' and 'low' priority changes
Net80211
Verify that 3-stream support (up to MCS31) is correctly functioning