[K32W] Add Gn/Ninja for the ELock Demo App (#3192)

* [K32W] Refactor E-Lock Demo App

Move platform code to examples/platform/k32w.

Signed-off-by: Doru Gucea <doru-cristian.gucea@nxp.com>

* [K32W] Add GN/Ninja build

WIP

Signed-off-by: Doru Gucea <doru-cristian.gucea@nxp.com>

* [K32W] Hack for building external mbedtls both for OT and CHIP

Signed-off-by: Doru Gucea <doru-cristian.gucea@nxp.com>

* [K32W] Fix Usage Fault

Interrupt handlers for Radio were not installed.

Signed-off-by: Doru Gucea <doru-cristian.gucea@nxp.com>

* [K32W] Coding style fixes

Signed-off-by: Doru Gucea <doru-cristian.gucea@nxp.com>

* [K32W] Remove hack around external mbedtls build

Signed-off-by: Doru Gucea <doru-cristian.gucea@nxp.com>

* [K32W] Fixes for GN Build

* README update
* fix linker error due to missing mbedtls define

Signed-off-by: Doru Gucea <doru-cristian.gucea@nxp.com>

* Restyled by gn

* Restyled by prettier-markdown

Signed-off-by: Doru Gucea <doru-cristian.gucea@nxp.com>

* [K32W] Add missing mbedtls.gni file

Signed-off-by: Doru Gucea <doru-cristian.gucea@nxp.com>

* Restyled by gn

Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/gn_build.sh b/gn_build.sh
index 4551532..0566fe5 100755
--- a/gn_build.sh
+++ b/gn_build.sh
@@ -114,6 +114,23 @@
     echo "Hint: Set \$EFR32_SDK_ROOT to enable building for EFR32"
 fi
 
+# K32W SDK setup
+k32w_sdk_args=""
+
+if [[ -d "$K32W061_SDK_ROOT" ]]; then
+    k32w_sdk_args+="k32w_sdk_root=\"$K32W061_SDK_ROOT\""
+    extra_args+=" $k32w_sdk_args enable_k32w_builds=true"
+fi
+
+echo
+if [[ ! -d "$K32W061_SDK_ROOT" ]]; then
+    echo "Hint: Set \$K32W061_SDK_ROOT to enable building for K32W061"
+else
+    echo 'To build the K32W lock sample as a standalone project':
+    echo "(cd $CHIP_ROOT/examples/lock-app/k32w; gn gen out/debug --args='$k32w_sdk_args'; ninja -C out/debug)"
+fi
+echo
+
 echo
 
 _chip_banner "Build: GN configure"