Add common master API to adapt voltage

We start by setting the voltage in prepare_flash_access() and, if we
were told to probe for a specific chip, before the probing. For now,
we leave the programmer driver's default voltage during the probing,
otherwise.

Once the probing is more bus centric, we can implement a more elabo-
rate scheme. For instance, we can probe at the lowest voltage first
and only increase it if there was no response at all.

Change-Id: I6689813f83abe654ba7a18f2e0537314047bf15f
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.sourcearcade.org/c/flashprog/+/414
diff --git a/include/flash.h b/include/flash.h
index b3ad235..a67e64c 100644
--- a/include/flash.h
+++ b/include/flash.h
@@ -445,6 +445,7 @@
 	uintptr_t physical_registers;
 	chipaddr virtual_registers;
 	union {
+		struct master_common *common;
 		struct par_master *par;
 		struct spi_master *spi;
 		struct opaque_master *opaque;