replace USB with GPIO driver

I did not remove the old error_main() function because it helps during
development. I will remove it later.
swddude.cpp: set static CLK and DIO GPIO

I will add options to program the GPIO pins

Signed-off-by: Federico Vaga <federicov@linino.org>
DAP: abort before any other operation

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: add GPIO driver

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: add code to reset SW-DP

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: implement read operation

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: add write operation

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: emulate freedom board

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: init clock to low

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: store data if pointer available

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: DIO low on turnaround

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: add debug message in write

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: invert address bits

The bitorder of the address field is inverted (ADIv5)

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: show parity bit

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: invert write data

Signed-off-by: Federico Vaga <federicov@linino.org>
SWDDriver: public function line_reset

Signed-off-by: Federico Vaga <federicov@linino.org>
DAP: wait powerup on reset

Signed-off-by: Federico Vaga <federicov@linino.org>
mdm-ap: add MDM-AP specific target

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: use GPIOConfig

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio: improve debugging output

Signed-off-by: Federico Vaga <federicov@linino.org>