code-update: Create document for diagrams

Flow diagrams are useful to understand how processes work and to
document requirements and dependencies.
Create a file to host code update diagrams, starting with a very
high level overview.

Change-Id: Ic744d29f6c143e7704cb6c7de5c59a8e7fc1cdf8
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/code-update/code-update-diagrams.md b/code-update/code-update-diagrams.md
new file mode 100644
index 0000000..8788348
--- /dev/null
+++ b/code-update/code-update-diagrams.md
@@ -0,0 +1,63 @@
+# Code Update Diagrams
+
+1. [High-Level Overview](#High-Level Overview)
+
+## High-Level Overview
+
+```
+┌──────────────┐            ┌─────────────┐       ┌────────────┐
+│User Interface│            │Image Manager│       │Item Updater│
+└──────┬───────┘            └──────┬──────┘       └──────┬─────┘
+       │          Upload           │                     │
+       │         Firmware          │                     │
+       │       Image to BMC        │                     │
+       ├──────────────────────────▶│                     │
+       │                           │                     │
+       │                           │  Extract            │
+       │                           │   image             │
+       │                           │ contents            │
+       │                           │     │               │
+       │                           ├─────┘               │
+       │                           ▼                     │
+       │                           │                     │
+       │                           │    Create           │
+       │                           │Software D-Bus       │
+       │                           │  object[1]          │
+       │                           │       │             │
+       │                           ├───────┘             │
+       │                           ▼                     │
+       │                           │                     │
+       │         Request to        ●                     │
+       │          Activate                               │
+       │          Software                               │
+       │        D-Bus Object                             │
+       ├────────────────────────────────────────────────▶│
+       │                                                 │   Verify
+       │                                                 │  digital
+       │                                                 │ signatures
+       │                                                 │      │
+       │                                                 ├──────┘
+       │                                                 ▼
+       │                                                 │
+       │                                                 │   Write
+       │                                                 │ image to
+       │                                                 │  flash[*]
+       │                                                 │     │
+       │                                                 ├─────┘
+       │                                                 ▼
+       │                                                 │
+       │                                     Success     │
+       │◀────────────────────────────────────────────────┤
+       │                                                 │
+       │                                                 ●
+       ▼
+   BMC Reboot is
+ required to boot
+ from the updated
+       image
+
+```
+- [1] [Software D-Bus Object](https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/xyz/openbmc_project/Software)
+- [*] In a static layout configuration, the images are stored in RAM and the
+      content is written to flash during BMC reboot. Reference the update and
+      shutdown scripts provided by [initrdscripts](https://github.com/openbmc/openbmc/tree/master/meta-phosphor/recipes-phosphor/initrdscripts)