protocol: Introduce protocol_reset()

protocol_reset() encapsulates the actions necessary to return the LPC
state to what's required to boot the host. This is backend dependent;
for the mtd backend we can simply point the bridge at the host flash
AHB mapping, and for the virtual pnor we want to rearrange the content
of the LPC reserved memory (leaving the bridge pointed there). In either
case the state of the FWH address space is distured, so inform the host
as necessary.

Change-Id: Ie8efd1f703a3616c33f76f4e735c1efea039146c
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
diff --git a/protocol.h b/protocol.h
index 2c1e725..5a678c6 100644
--- a/protocol.h
+++ b/protocol.h
@@ -121,6 +121,12 @@
 
 int protocol_negotiate_version(struct mbox_context *context, uint8_t requested);
 
+/* Sneaky reset: Don't tell the host */
+int __protocol_reset(struct mbox_context *context);
+
+/* Noisy reset: Tell the host */
+int protocol_reset(struct mbox_context *context);
+
 int protocol_events_put(struct mbox_context *context,
 			const struct transport_ops *ops);
 int protocol_events_set(struct mbox_context *context, uint8_t bmc_event);