Software: Settings: add setting to Software interface

Added the xyz.openbmc_project.Software.Settings interface to provide
the user with some control over the Software it manages.

Currently, it only has `WriteProtected` that indicate if the software is
writeable or not.

The settings are enforced by the service that manage the property.

Change-Id: I726c247428b4e1c8b1fe9cf66554ef272bbcd231
Signed-off-by: Willy Tu <wltu@google.com>
diff --git a/yaml/xyz/openbmc_project/Software/Settings.interface.yaml b/yaml/xyz/openbmc_project/Software/Settings.interface.yaml
new file mode 100644
index 0000000..52771df
--- /dev/null
+++ b/yaml/xyz/openbmc_project/Software/Settings.interface.yaml
@@ -0,0 +1,11 @@
+description: >
+  Implement to provide software settings management.
+
+properties:
+  - name: WriteProtected
+    type: boolean
+    default: false
+    description: >
+      This property shall indicate whether the software image can be
+      overwritten, where a value `true` shall indicate that the software cannot
+      be altered or overwritten.