pw_sync_baremetal: Add simple mutex implementation

Adds a dummy mutex implementation for baremetal configurations.

The provided implementation makes a single attempt to acquire the
lock and asserts if it is unavailable. It does not perform interrupt
masking or disable global interrupts, so this implementation does
not support simultaneous multi-threaded environments including IRQs,
and is only meant to prevent data corruption.

Change-Id: Id122f890a37822c3b752b810e0e687f19f8c9dbd
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/45721
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
diff --git a/pw_sync_baremetal/docs.rst b/pw_sync_baremetal/docs.rst
index 1fbd99e..5984332 100644
--- a/pw_sync_baremetal/docs.rst
+++ b/pw_sync_baremetal/docs.rst
@@ -4,8 +4,25 @@
 pw_sync_baremetal
 -----------------
 This is a set of backends for pw_sync that works on baremetal targets. It is not
-ready for use, and is under construction. The provided implementation makes a
-single attempt to acquire the lock and asserts if it is unavailable. It does not
-perform interrupt masking or disable global interrupts, so this implementation
-does not support simultaneous multi-threaded environments including IRQs, and is
-only meant to prevent data corruption.
+ready for use, and is under construction.
+
+.. note::
+  All constructs in this baremetal backend do not support hardware multi-threading
+  (SMP, SMT, etc).
+
+.. warning::
+  It does not perform interrupt masking or disable global interrupts. This is not
+  safe to use yet!
+
+-------------------------------------
+pw_sync_baremetal's InterruptSpinLock
+-------------------------------------
+The interrupt spin-lock implementation makes a single attempt to acquire the lock
+and asserts if it is unavailable. It does not perform interrupt masking or disable global
+interrupts.
+
+-------------------------
+pw_sync_baremetal's Mutex
+-------------------------
+The mutex implementation makes a single attempt to acquire the lock and asserts if
+it is unavailable.