boards: arm: bt510: add support for pyocd

The programming hardware for this board is not JLINK based

Signed-off-by: Jamie McCrae <jamie.mccrae@lairdconnect.com>
diff --git a/boards/arm/bt510/board.cmake b/boards/arm/bt510/board.cmake
index d99bc79..1425690 100644
--- a/boards/arm/bt510/board.cmake
+++ b/boards/arm/bt510/board.cmake
@@ -1,6 +1,8 @@
 # SPDX-License-Identifier: Apache-2.0
 
+board_runner_args(pyocd "--target=nrf52840" "--frequency=4000000")
 board_runner_args(nrfjprog "--softreset")
 board_runner_args(jlink "--device=nrf52" "--speed=4000")
+include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
 include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
 include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
diff --git a/boards/arm/bt510/doc/bt510.rst b/boards/arm/bt510/doc/bt510.rst
index 0ce832a..48e2d95 100644
--- a/boards/arm/bt510/doc/bt510.rst
+++ b/boards/arm/bt510/doc/bt510.rst
@@ -164,18 +164,31 @@
 Connectivity to the programmer/debugger must be modified to match
 the pinout shown above.
 
-Laird Connectivity provide the USB-SWD programming board that supports
+Laird Connectivity provide the USB-SWD programming board (750-03239) that supports
 this connector layout, refer to the `USB SWD Programmer product page`_
 .
 
 Flashing
 ========
 
-Follow the instructions in the :ref:`nordic_segger` page to install
-and configure all the necessary software. Further information can be
-found in :ref:`nordic_segger_flashing`. Then build and flash
-applications as usual (see :ref:`build_an_application` and
-:ref:`application_run` for more details).
+To connect the BT510 board for programming or debugging using the USB-SWD programming
+board, on the programming board set SW6 to the supply out position and SW5 to the 3V3
+position, ensure there is a jumper on J35 and that SW1 is in the debug position, then
+connect the BT510 to the board using the Tag-Connect cable via J3:
+
+.. figure:: img/bt510_prog.png
+     :width: 630px
+     :align: center
+     :alt: Sentrius BT510 Sensor connected to programming board
+
+     Sentrius BT510 Sensor connected to programming board
+
+Then build and flash applications as usual (see :ref:`build_an_application` and
+:ref:`application_run` for more details). For example, to flash:
+
+.. code-block:: console
+
+   $ ninja flash
 
 Here is an example for the :ref:`hello_world` application.
 
@@ -183,13 +196,16 @@
 
 NOTE: On the BT510, the UART lines are at TTL levels and must be passed through
 an appropriate line driver circuit for translation to RS232 levels. Refer to the `MAX3232 datasheet`_
-for a suitable driver IC.
+for a suitable driver IC. The USB-SWD programming board has an in-built UART connected
+to the BT510 acting as a USB CDC port, on Linux and Windows 10 this driver should be
+installed automatically, for Windows 7, the MBED driver is required to use the serial
+port - see the `MBED Serial Driver`_ link for details and how to install the driver.
 
 .. code-block:: console
 
    $ minicom -D <tty_device> -b 115200
 
-Replace :code:`<tty_device>` with the port where the bt510 can be found. For example, under Linux, :code:`/dev/ttyUSB0`.
+Replace :code:`<tty_device>` with the port where the bt510 can be found. For example, under Linux, :code:`/dev/ttyACM0`.
 
 Then build and flash the application in the usual way.
 
@@ -206,7 +222,9 @@
 The ``bt510`` board does not have an on-board J-Link debug IC
 as some nRF5x development boards, however, instructions from the
 :ref:`nordic_segger` page also apply to this board, with the additional step
-of connecting an external debugger.
+of connecting an external debugger. The USB-SWD programmer board has a CMSIS debugger
+compatible interface and debugging can be performed using pyocd, openocd or any other
+applications that support the CMSIS interface.
 
 Testing Bluetooth on the BT510
 ***********************************
@@ -244,3 +262,4 @@
 .. _Silabs 7055 datasheet: https://www.silabs.com/documents/public/data-sheets/Si7050-1-3-4-5-A20.pdf
 .. _ST Microelectronics LIS2DH datasheet: https://www.st.com/resource/en/datasheet/lis2dh.pdf
 .. _Honeywell SM351LT datasheet: https://sensing.honeywell.com/honeywell-sensing-nanopower-series-datasheet-50095501-c-en.pdf
+.. _MBED Serial Driver: https://os.mbed.com/docs/mbed-os/v6.8/program-setup/windows-serial-driver.html
diff --git a/boards/arm/bt510/doc/img/bt510_prog.png b/boards/arm/bt510/doc/img/bt510_prog.png
new file mode 100644
index 0000000..1a9d407
--- /dev/null
+++ b/boards/arm/bt510/doc/img/bt510_prog.png
Binary files differ