[arswitch] begin tidying up the learning and ATU management, introduce ATU APIs.
- Refactor the initial learning configuration (port learning, address expiry, handling address moving between ports, etc, etc) into a separate HAL routine
- and ensure that it's consistent between switch chips - the AR8216,8316,724x,9331 SoCs all share the same switch code.
- .. the AR8327 needs doing - the defaults seem OK for now
- .. the AR9340 is different but it's also programmed now.
- Add support for flushing a single port worth of ATU entries
- Add support for fetching the ATU table from AR8216 and derived chips
Tested:
- AR9344, Carambola 2
TODO:
- Further testing on other chips
- Add AR9340 support
- Add AR8327 support