This patch adds a HAL for GPIOs so that users of the API can specify board-level IO pin numbers rather than CPU-level pin numbers.