- add gpio HAL as draft