APUv2/v3 board support v4

From: Enrico Weigelt, metux IT consult
Date: Fri Feb 22 2019 - 04:54:37 EST

Hi folks,

this is version 4 of my APUv2/APUv3 series.

changes in v4:

* fixed spinlocks (using own field instead of gc.bgpio_lock)
* dropped superflous dependency on GPIO_GENERIC
* initialize gc.base = -1
* added Reviewed-By tags

changes in v3:

* gpio driver
* drop unncessary gpio id checks
* cleanup amd_fch_gpio_set()
* move iores outside probe()
* shorter NULL checks and correct error in probe()
* apu board driver
* drop unneeded init.h
* drop unnecessary comments
* clean up logging
* dont need to depend on KEYBOARD_GPIO