hdaa: update pin patch configurations
A number of structural changes:
- Use decimal nid numbers instead of hex
- updated the branch to incoorporate the suggestions made in the ALC280 pull request github thread
- Convert magic pin values into strings.
- Also update hdaa_patches to use clearer enums..
- made pin patch type enum clearer, add macro for 'string' type patches
- Added pin_patch structures to separate data from logic.
- Integrated Realtek patches into new structure.
These incorporate fixes for ALC255, ALC256, ALC260, ALC262, ALC268,
ALC269, ALC280, ALC282, ALC283, ALC286, ALC290, ALC293, ALC296, ALC2880
And have definitions for a number of Dell and HP laptops.
Much of this data has been mined fromt he tables in the Linux driver.
imp squashed these into one commit because the changes from the github
pull requests no longer cleanly apply individually and made light style
changes after feedback from jhb.
Pull Request: https://github.com/freebsd/freebsd-src/pull/139
Pull Request: https://github.com/freebsd/freebsd-src/pull/140
Pull Request: https://github.com/freebsd/freebsd-src/pull/141
Pull Request: https://github.com/freebsd/freebsd-src/pull/142
Pull Request: https://github.com/freebsd/freebsd-src/pull/143
Pull Request: https://github.com/freebsd/freebsd-src/pull/144
Pull Request: https://github.com/freebsd/freebsd-src/pull/145
Pull Request: https://github.com/freebsd/freebsd-src/pull/146
Pull Request: https://github.com/freebsd/freebsd-src/pull/147
Pull Request: https://github.com/freebsd/freebsd-src/pull/148
Pull Request: https://github.com/freebsd/freebsd-src/pull/149
Pull Request: https://github.com/freebsd/freebsd-src/pull/150
Differential Revision: https://reviews.freebsd.org/D30619
(cherry picked from commit ef790cc7407e827db9563d08a52a71ab36436986)
(cherry picked from commit 29b4fa787621cbfb070323ecf2ea2da4d372bd94)
(cherry picked from commit a10c85e0f90c8739863f670d490b35d38a37648f)
(cherry picked from commit 86d69de88d1c7e8c7ed906590652008fc6f44d05)