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