Add 'updateable' association to software path

Added an 'updateable' association to software root path which will
be used for identifying programmable firmware components in system.

Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
Change-Id: I6ad15c253e4e63284226d3175c7d0e6c30a2f4e9
diff --git a/code-update/code-update.md b/code-update/code-update.md
index d5d2789..a6c981b 100644
--- a/code-update/code-update.md
+++ b/code-update/code-update.md
@@ -218,8 +218,26 @@
 }
 ```
 
-An additional association is located at `/xyz/openbmc_project/software/<id>/inventory`
-for "associating" a software image with an inventory item.
+3. An "updateable" association to the programmable components
+
+This is used for identifying firmware components which are programmable via BMC
+OOB interfaces like Redfish/IPMI. All updateable firmware components must
+expose the updateable association so that upper applications like
+Redfish/IPMI will know about updateable firmwares.
+
+To know the updateable software components:
+```
+# busctl call xyz.openbmc_project.ObjectMapper \
+  /xyz/openbmc_project/software/updatable org.freedesktop.DBus.Properties \
+  Get ss xyz.openbmc_project.Association endpoints
+v as 1 "/xyz/openbmc_project/software/1201fc36"
+```
+
+Redfish interface uses 'updateable' association in SoftwareInventory schema.
+
+4. An additional association is located at
+`/xyz/openbmc_project/software/<id>/inventory` for "associating" a software
+image with an inventory item.
 
 ```
 curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET \