add generic platform and baseboard revision detection
requested to merge generic_platform_and_baseboard_revision_detection into guf_imx_v2020.04-trizeps8plus_2021_12_07
This MR implements generic platform and baseboard revision detection for SBC and SOM systems. It currently supports PFID based baseboard detection.
- baseboard.h: common interface to query baseboard type and revision. It defines the board types, detects whether PFIDs are used or some other system and forwards the calls to the proper implementation.
- baseboard_pfids.h: type and revision detection using PFIDs
- baseboard_util.h: utility functions for reading GPIO values
The detected information is provided in the environment. Additionally some refactoring was done, the output at boot time was improved and boot setup was improved to enable device tree overlays.
For the version info a 16 bit number was introduced which maps the MSB to the major and the LSB to the minor version. Both module and baseboard revision specifiers are mapped to this 16 bit version number and passed to the U-boot environment.
Test status:
- pConXS + Trizeps mini
- pConXS + Trizeps plus
- Tanaro
- PBB + Trizeps plus
TODO/Fixme:
- baseboard revision on pConXS returns unknown
BCS 746-001316