From c16f1c45fe521210fcac32f467bb6aabece67564 Mon Sep 17 00:00:00 2001
From: ARUL DEVARAJAN <arulkumaran.devarajan@huawei.com>
Date: Tue, 23 Feb 2021 06:31:36 +0000
Subject: [PATCH] Supported board: Index Toc Tree Update

* Index.rst is updated to include seco-intel-b68 and seco-imx8mm-c61 in Toctree.
---
 .../source/supported-boards/96b-Avenger.rst   | 211 ++++++++----------
 .../source/supported-boards/96b-nitrogen.rst  |  49 ++--
 .../source/supported-boards/Readme.rst        |   4 +-
 .../supported-boards/seco-intel-b68.rst       | 200 +++++++++++++++++
 4 files changed, 318 insertions(+), 146 deletions(-)
 create mode 100644 documentation/source/supported-boards/seco-intel-b68.rst

diff --git a/documentation/source/supported-boards/96b-Avenger.rst b/documentation/source/supported-boards/96b-Avenger.rst
index 1e4bc37..3d321eb 100644
--- a/documentation/source/supported-boards/96b-Avenger.rst
+++ b/documentation/source/supported-boards/96b-Avenger.rst
@@ -5,117 +5,90 @@
 96Boards Avenger96
 ##################
 
+
+.. contents:: 
+   :depth: 3
+
 Overview
 ********
 
-Avenger96 is a STM32MP157xx (Cortex-A7 + Cortex-M4) development board
-designed by the 96Boards initiative. Due to presence of the application
-processors and the microcontroller, Avenger96 can simultaneously run
-Linux and Zephyr kernels. The application processor is responsible for
-powering up and programming the microcontroller with the appropriate
-image. Linux provides interfaces to communicate with the program running
-on the microcontroller.
+Avenger96 is a STM32MP157xx (Cortex-A7 + Cortex-M4) development board designed by the 96Boards initiative. Due to presence of the application
+processors and the microcontroller, Avenger96 can simultaneously run Linux and Zephyr kernels. The application processor is responsible for
+powering up and programming the microcontroller with the appropriate image. Linux provides interfaces to communicate with the program running on the microcontroller.
 
 Hardware
 ========
 
-Detailed specification can be found on the `Avenger96 product page on
-the 96Boards website <https://www.96boards.org/product/avenger96/>`__.
-
-Hardware user manual can be found in the `96Boards GitHub documentation
-repository <https://github.com/96boards/documentation/blob/master/consumer/avenger96/hardware-docs/files/avenger96-hardware-user-manual.pdf>`__.
-
-Hardware schematics can be found in the `96Boards GitHub documentation
-repository <https://github.com/96boards/documentation/blob/master/consumer/avenger96/hardware-docs/files/avenger96-schematics.pdf>`__.
-
-+-----------------------+-----------------------------------------------+
-| Component             | Description                                   |
-+=======================+===============================================+
-| SoC                   | STM32MP157AAC: 2x Cortex-A7 @ 650 MHZ + 2x    |
-|                       | Cortex-M4 @ 200 MHz                           |
-+-----------------------+-----------------------------------------------+
-| GPU                   | Vivante @ 533 MHz, OpenGL ES 2.0              |
-+-----------------------+-----------------------------------------------+
-| RAM                   | 1024 MB @ 533 MHz                             |
-+-----------------------+-----------------------------------------------+
-| Storage               | 8 GB eMMC, QSPI flash 2 MB, EEPROM 128 B,     |
-|                       | microSD socket UHS-1                          |
-+-----------------------+-----------------------------------------------+
-| Ethernet              | 10/100/1000 Mbit/s IEEE 802.3 Compliant       |
-+-----------------------+-----------------------------------------------+
-| Radio                 | Murata 1MW 802.11a/b/g/n/ac 2.4GHz + 5GHz +   |
-|                       | Bluetooth v4.2 BR/EDR/BLE                     |
-+-----------------------+-----------------------------------------------+
-
-See more on the `Avenger96 product page <https://www.96boards.org/product/avenger96/>`__.
+* For detailed specification, see `Avenger96 product page on the 96Boards website <https://www.96boards.org/product/avenger96/>`__.
+
+* For hardware user manual, see `96Boards GitHub documentation repository <https://github.com/96boards/documentation/blob/master/consumer/avenger96/hardware-docs/files/avenger96-hardware-user-manual.pdf>`__.
+
+* For hardware schematics, see `96Boards GitHub documentation repository <https://github.com/96boards/documentation/blob/master/consumer/avenger96/hardware-docs/files/avenger96-schematics.pdf>`__.
+
+For more details on Avenger96 board, see `Avenger96 product page <https://www.96boards.org/product/avenger96/>`__.
 
 Working with the board
 **********************
 
+Supported images
+================
+
+* openharmony-image-base
+* openharmony-image-extra
+
 Building OHOS image
 ===================
 
-Clone the source code following the `general instruction <https://git.ostc-eu.org/OSTC/OHOS/meta-ohos#getting-started>`__.
+To clone the source code, perform the procedure in `Getting started <https://git.ostc-eu.org/OSTC/OHOS/docs/developer-guide/-/blob/master/documentation/source/quick-start/build-open-harmony.rst>`__.
 
 Linux image
 -----------
 
-1. Source the environment with proper template settings: flavour being
-   ``linux`` and target machine being ``stm32mp1-av96``. Pay attention
-   to how relative paths are constructed. The value of ``TEMPLATECONF``
-   is relative to the location of the build directory
-   ``./build-linux-stm32mp1-av96``, that is going to be created after
+1. Source the environment with proper template settings, flavour being *linux* and target machine being *stm32mp1-av96*. Pay attention
+   to how relative paths are constructed. The value of *TEMPLATECONF* is relative to the location of the build directory *./build-linux-stm32mp1-av96*, that is going to be created after
    this step:
-
-::
+   
+.. code-block:: console
 
    $ TEMPLATECONF=../sources/meta-ohos/flavours/linux . ./sources/poky/oe-init-build-env build-ohos-linux-stm32mp1-av96
 
-2. You will find yourself in the newly created build directory. Call
-   ``bitbake`` to build the image. The only supported image for now is
-   ``core-image-base``.
+2. You will find yourself in the newly created build directory. Call *bitbake* to build the image. For example, if you are using *openharmony-image-base* run the following command:
 
-::
+.. code-block:: console
 
-   $ MACHINE=stm32mp1-av96 bitbake core-image-base
+   $ MACHINE=stm32mp1-av96 bitbake openharmony-image-base
 
-Images for eMMC on SD card need to be generated in one more step. Please
-refer to the flashing section below.
+To generate images for eMMC on SD card, refer to the following flashing procedure.
 
 Zephyr image
 ------------
 
-1. Source the environment with proper template settings: flavour being
-   ``zephyr`` and target machine being ``96b-avenger96``:
+1. Source the environment with proper template settings, flavour being *zephyr* and target machine being *96b-avenger96*:	
 
-::
+.. code-block:: console
 
    $ TEMPLATECONF=../sources/meta-ohos/flavours/zephyr . ./sources/poky/oe-init-build-env build-ohos-zephyr-96b-avenger96
 
-2. You will find yourself in the newly created build directory. Call
-   ``bitbake`` to build the image. The image name is the name of the
-   Zephyr application.
+2. You will find yourself in the newly created build directory. Call *bitbake* to build the image. The image name is the name of the Zephyr application.
 
-::
+.. code-block:: console
 
    $ MACHINE=96b-avenger96 bitbake zephyr-philosophers
 
-3. The output file will be located in the build directory, in
-   ``./tmp-newlib/deploy/images/96b-avenger96/``.
+3. The output file will be located in the build directory *./tmp-newlib/deploy/images/96b-avenger96/*.
 
 
 Flashing OHOS image
 *******************
 
-For Linux, STM meta-layer provide a convenient shell script that helps
-you to create a SD card image. You can also use the `STM32 Cube
+For Linux, STM meta-layer provide a convenient shell script that helps you to create a SD card image. You can also use the `STM32 Cube
 Programmer <https://wiki.dh-electronics.com/index.php/Avenger96_Image_Programming>`__.
 
-For Zephyr, there is no automation as for now. You need to copy the
-image manually to the filesystem using a method of your choice: include
-it in the image before flashing the card/eMMC, copy the file manually to
-the card or just ``scp`` it to the board after you set up networking.
-The goal is to have the ELF file in the filesystem.
+For Zephyr, there is no automation as for now. To have the ELF file in the filesystem:
+
+* Copy the image manually to the filesystem using a method of your choice
+* Include it in the image before flashing the card/eMMC
+* Copy the file manually to the card or just *scp* it to the board after you set up networking.
 
 .. _linux-image-1:
 
@@ -125,25 +98,29 @@ Linux image
 SD card
 -------
 
-1. After the image is build, run the following script with flash layout
-   TSV file provided as an argument. From the build directory created
-   during the environment source:
+The Avenger96 board supports multiple boot options which are selected by the DIP-switch S3. Make sure the boot switch is set to boot from the SD-Card.
 
-::
+To set the boot option from the SD card using DIP-switch S3, set the BOOT 0 (Switch 1) and BOOT 2 (Switch 3) to 1 and set BOOT 1 (Switch 2) to 0 on the circuit board.
+
+For more information on Avenger96 boot options, see `Getting Started with the Avenger96 <https://www.96boards.org/documentation/consumer/avenger96/getting-started/#starting-the-board-for-the-first-time>`__.
+
+1. After the image is build, run the following script with flash layout TSV file provided as an argument. From the build directory created
+   during the environment source. For example, if you are using openharmony-image-base run the following command:
+
+.. code-block:: console
 
    $ cd tmp/deploy/images/stm32mp1-av96
-   $ ./scripts/create_sdcard_from_flashlayout.sh ./flashlayout_core-image-base/extensible/FlashLayout_sdcard_stm32mp157a-av96-extensible.tsv
+   $ ./scripts/create_sdcard_from_flashlayout.sh ./flashlayout_openharmony-image-base/extensible/FlashLayout_sdcard_stm32mp157a-av96-extensible.tsv
 
-2. You will see the following output, providing commands ready to copy
-   and paste in the terminal for the image to be flashed to the card:
+2. The following output is displayed. For the image to be flashed to the card, copy and paste the commands to the terminal to flash the image onto the card.
 
 ::
 
    [WARNING]: A previous raw image are present on this directory
-   [WARNING]:    ./flashlayout_core-image-base/extensible/../../FlashLayout_sdcard_stm32mp157a-av96-extensible.raw
+   [WARNING]:    ./flashlayout_openharmony-image-base/extensible/../../FlashLayout_sdcard_stm32mp157a-av96-extensible.raw
    [WARNING]: would you like to erase it: [Y/n]
 
-   Create Raw empty image: ./flashlayout_core-image-base/extensible/../../FlashLayout_sdcard_stm32mp157a-av96-extensible.raw of 2368MB
+   Create Raw empty image: ./flashlayout_openharmony-image-base/extensible/../../FlashLayout_sdcard_stm32mp157a-av96-extensible.raw of 2368MB
    Create partition table:
    [CREATED] part 1:    fsbl1 [partition size 256.0 KiB]
    [CREATED] part 2:    fsbl2 [partition size 256.0 KiB]
@@ -152,7 +129,7 @@ SD card
    [CREATED] part 5: vendorfs [partition size 16.0 MiB]
    [CREATED] part 6:   rootfs [partition size 2.2 GiB]
 
-   Partition table from ./flashlayout_core-image-base/extensible/../../FlashLayout_sdcard_stm32mp157a-av96-extensible.raw
+   Partition table from ./flashlayout_openharmony-image-base/extensible/../../FlashLayout_sdcard_stm32mp157a-av96-extensible.raw
 
    Populate raw image with image content:
    [ FILLED ] part 1:    fsbl1, image: arm-trusted-firmware/tf-a-stm32mp157a-av96-trusted.stm32
@@ -160,19 +137,19 @@ SD card
    [ FILLED ] part 3:     ssbl, image: bootloader/u-boot-stm32mp157a-av96-trusted.stm32
    [ FILLED ] part 4:     boot, image: st-image-bootfs-poky-stm32mp1-av96.ext4
    [ FILLED ] part 5: vendorfs, image: st-image-vendorfs-poky-stm32mp1-av96.ext4
-   [ FILLED ] part 6:   rootfs, image: core-image-base-stm32mp1-av96.ext4
+   [ FILLED ] part 6:   rootfs, image: openharmony-image-base-stm32mp1-av96.ext4
 
    ###########################################################################
    ###########################################################################
 
-   RAW IMAGE generated: ./flashlayout_core-image-base/extensible/../../FlashLayout_sdcard_stm32mp157a-av96-extensible.raw
+   RAW IMAGE generated: ./flashlayout_openharmony-image-base/extensible/../../FlashLayout_sdcard_stm32mp157a-av96-extensible.raw
 
    WARNING: before to use the command dd, please umount all the partitions
            associated to SDCARD.
        sudo umount `lsblk --list | grep mmcblk0 | grep part | gawk '{ print $7 }' | tr '\n' ' '`
 
    To put this raw image on sdcard:
-       sudo dd if=./flashlayout_core-image-base/extensible/../../FlashLayout_sdcard_stm32mp157a-av96-extensible.raw of=/dev/mmcblk0 bs=8M conv=fdatasync status=progress
+       sudo dd if=./flashlayout_openharmony-image-base/extensible/../../FlashLayout_sdcard_stm32mp157a-av96-extensible.raw of=/dev/mmcblk0 bs=8M conv=fdatasync status=progress
 
    (mmcblk0 can be replaced by:
         sdX if it's a device dedicated to receive the raw image
@@ -181,38 +158,36 @@ SD card
    ###########################################################################
    ###########################################################################
 
-1. Call the ``umount`` command printed by the
-   ``create_sdcard_from_flashlayout.sh`` script, to unmount the card.
-2. Call the ``dd`` command printed by the
-   ``create_sdcard_from_flashlayout.sh`` script, to flash the image
-   card.
-3. Put the card to the board and turn it on. Happy hacking!
+3. To unmount the card, call the ``umount`` command printed by the ``create_sdcard_from_flashlayout.sh`` script.
+
+4. To flash the image card, call the ``dd`` command printed by the ``create_sdcard_from_flashlayout.sh`` script.
+
+5. Put the card to the board and turn it on.
 
 STM32 Cube Programmer
 ---------------------
 
-After you build the image just `follow the
-instructions <https://wiki.dh-electronics.com/index.php/Avenger96_Image_Programming>`__,
-pointing the program to the
-``./tmp/deploy/images/stm32mp1-av96/flashlayout_core-image-base/trusted/FlashLayout_emmc_stm32mp157a-av96-trusted.tsv``
-flash layout file.
+After you build the image, follow the instructions in `Avenger96 Image Programming <https://wiki.dh-electronics.com/index.php/Avenger96_Image_Programming>`__,
+pointing the program to the *./tmp/deploy/images/stm32mp1-av96/flashlayout_openharmony-image-base/trusted/FlashLayout_emmc_stm32mp157a-av96-trusted.tsv* flash layout file.
 
 .. _zephyr-image-1:
 
 Zephyr image
 ============
 
-Prerequisites: - have Linux running on the board - make sure Linux is
-built with ``remoteproc`` support:
+**Prerequisites**
 
-::
+* Linux is running on the board.
+* Make sure that Linux is built with *remoteproc* support. To check status of remoteproc do:	
+
+.. code-block:: console
 
    root@stm32mp1-av96:~# dmesg | grep remoteproc
    [    2.336231] remoteproc remoteproc0: m4 is available
 
 1. Copy the Zephyr image to the board using a method of your choice.
-2. Check what the ``remoteproc`` framework knows about the name and
-   location of the firmware file. The default values are presented at
+
+2. Check what the ``remoteproc`` framework knows about the name and location of the firmware file. The default values are presented as
    follows. Empty path defaults to ``/lib/firmware``:
 
 ::
@@ -223,8 +198,8 @@ built with ``remoteproc`` support:
    root@stm32mp1-av96:~# cat /sys/class/remoteproc/remoteproc0/firmware
    rproc-m4-fw
 
-3. Configure the name and the location to suite your needs. E.g. for the
-   firmware located in ``/root/zephyr.elf``:
+3. Configure the name and the location to suit your needs. For example, the
+   firmware is located in ``/root/zephyr.elf``:
 
 ::
 
@@ -259,8 +234,7 @@ built with ``remoteproc`` support:
    Philosopher 2 [P: 1]  THINKING [  725 ms ]
    Philosopher 1 [P: 2]   EATING  [  225 ms ]
 
-There is no fully-featured console available in Linux yet, so typing
-commands to Zephyr application is not possible.
+There is no fully-featured console available in Linux yet, so typing commands to the Zephyr application is not possible.
 
 Testing the board
 *****************
@@ -268,25 +242,23 @@ Testing the board
 Serial port
 ===========
 
-See the `hardware user
-manual <https://github.com/96boards/documentation/blob/master/consumer/avenger96/hardware-docs/files/avenger96-hardware-user-manual.pdf>`__
-to see how to connect the serial port to USB converter to the low speed
-connector. Please note that the connector is 1.8V tolerant, therefore
-the the converter needs to be 1.8V tolerant as well. Specifically,
-please don’t connect 5V or 3.3V tolerant devices to avoid SoC damage.
+To connect the USB converter serial port to the low-speed connector, see `Hardware User Manual <https://github.com/96boards/documentation/blob/master/consumer/avenger96/hardware-docs/files/avenger96-hardware-user-manual.pdf>`__.
+
+.. warning::
+
+   * The low speed connector is 1.8V tolerant, therefore the converter must be 1.8V tolerant.
+   * Do not connect 5V or 3.3V tolerant devices to the connector to avoid SoC damage.
 
 Ethernet
 ========
 
-Wired connection works out of the box. You can use standard tools like
-``ip``, ``ifconfig`` to configure the connection. The connection seems
+Wired connection works out of the box. You can use standard tools like ``ip``, ``ifconfig`` to configure the connection. The connection seems
 to have stable 1Gb/s bandwidth.
 
 USB Host
 ========
 
-Just plug something to the USB port. The board seems to work fine with
-an external 500GB USB 3.0 HDD.
+Just plug something to the USB port. The board seems to work fine with an external 500GB USB 3.0 HDD.
 
 ::
 
@@ -306,15 +278,13 @@ an external 500GB USB 3.0 HDD.
 USB OTG
 =======
 
-The board supports that feature. For now it only works in DFU mode with
-STM32 Cube Programmer. Using the board as USB Gadget is currently under
+The board supports that feature. For now it only works in DFU mode with STM32 Cube Programmer. Using the board as USB Gadget is currently under
 development.
 
 eMMC
 ====
 
-It can be used to store the firmware with STM32 Cube Programmer. It can
-also be mounted under Linux booted from another medium:
+It can be used to store the firmware with STM32 Cube Programmer. It can also be mounted under Linux booted from another medium:
 
 ::
 
@@ -348,8 +318,9 @@ Radio relies on proprietary BRCM firmware. It is already included in the image.
 WiFi
 ----
 
-WiFi WiFi can be controlled with ``wpa_supplicant``, which is a standard Linux tool. Please refer to the tool manual for the
-details. Example ``wpa_suppliant`` configs look like below. Assuming the config is saved in a file named ``wpa.conf`` and the interface is named
+WiFi can be controlled with ``wpa_supplicant``, which is a standard Linux tool. Please refer to the tool manual for the details. 
+
+Example ``wpa_suppliant`` configs look like below. Assuming the config is saved in a file named ``wpa.conf`` and the interface is named
 ``wlan0``, WiFi can be brought up with ``wpa_supplicant -i wlan0 -c ./wpa.conf``:
 
 ::
@@ -380,9 +351,7 @@ details. Example ``wpa_suppliant`` configs look like below. Assuming the config
 Bluetooth
 ---------
 
-Bluetooth is currently not stable. It can be controlled with
-``bluetoothctl``, which is a standard Linux tool. Please refer to the
-tool manual for the details. Devices scanning can be enabled as follows:
+Bluetooth is currently not stable. It can be controlled with ``bluetoothctl``, which is a standard Linux tool. Please refer to the tool manual for the details. Devices scanning can be enabled as follows:
 
 ::
 
@@ -403,9 +372,7 @@ tool manual for the details. Devices scanning can be enabled as follows:
    [NEW] Device E4:04:39:65:9C:2A TomTom GPS Watch
    [NEW] Device C0:28:8D:49:67:7E C0-28-8D-49-67-7E
 
-Pairing and establishing connection is possible with ``pair`` and
-``connect`` commands, but the connection is dropped instantly. This
-issue is under investigation.
+Pairing and establishing connection is possible with ``pair`` and ``connect`` commands, but the connection is dropped instantly. This issue is under investigation.
 
 HDMI
 ====
diff --git a/documentation/source/supported-boards/96b-nitrogen.rst b/documentation/source/supported-boards/96b-nitrogen.rst
index 27e2b70..eb66951 100644
--- a/documentation/source/supported-boards/96b-nitrogen.rst
+++ b/documentation/source/supported-boards/96b-nitrogen.rst
@@ -5,6 +5,9 @@
 96Boards Nitrogen
 #################
 
+.. contents:: 
+   :depth: 3
+
 Nitrogen, a compliant IoT Edition board provides economical and compact BLE solutions for various IoT projects. This board includes the below features:
 
 * Nordic nRF52832 microcontroller
@@ -13,49 +16,51 @@ Nitrogen, a compliant IoT Edition board provides economical and compact BLE solu
 
 Nitrogen hardware supports the Nordic Semiconductor nRF52832 ARM Cortex-M4F CPU. 
 
-See more on the `Nitrogen product page <https://www.96boards.org/product/nitrogen/>`_.
 
 Hardware
 ********
 
-Detailed specification can be found on the `Nitrogen product page on the 96Boards website <https://www.96boards.org/product/nitrogen/>`_.
+* For detailed specifications, see `Nitrogen product page on the 96Boards website <https://www.96boards.org/product/nitrogen/>`_.
 
-Hardware user manual can be found in the `Seeed wiki <https://wiki.seeedstudio.com/BLE_Nitrogen/>`_.
+* For hardware user manual, see `Seeed wiki <https://wiki.seeedstudio.com/BLE_Nitrogen/>`_.
 
-Hardware schematics can be found in the `Seeed Document <https://github.com/SeeedDocument/BLE-Nitrogen/tree/master/res>`_.
+* For hardware schematics, see `Seeed Document <https://github.com/SeeedDocument/BLE-Nitrogen/tree/master/res>`_.
 
+For more details on 96Boards Nitrogen, see `Nitrogen product page <https://www.96boards.org/product/nitrogen/>`_.
 
 Working with the board
 **********************
 
-Building an Application
+Supported image
+===============
+
+* zephyr-philosophers
+
+Building an application
 =======================
 
 Open HarmonyOS Zephyr flavour is based on Zephyr kernel.
 
-* Source the environment with proper template settings: flavour being zephyr and target machine being 96b-nitrogen:
+* Source the environment with proper template settings, flavour being zephyr and target machine being 96b-nitrogen:
 
 .. code-block:: console
 
    $ TEMPLATECONF=../sources/meta-ohos/flavour/zephyr. ./sources/poky/oe-init-build-env build-zephyr-96b-nitrogen
 
-* You will find yourself in the newly created build directory. Call *bitbake* to build the image. The image name is the name of the Zephyr application.
+* You will find yourself in the newly created build directory. Call bitbake to build the image. The supported image name is zephyr-philosophers.
 
 .. code-block:: console
 
    $ MACHINE=96b-nitrogen bitbake zephyr-philosophers
 
-* MACHINE variable can be set up in conf/local.conf file under build directory or via command line.
+MACHINE variable can be set up in conf/local.conf file under build directory or via command line.
 
 
-Flashing an Application
+Flashing an application
 =======================
 
-Prerequisites
--------------
-
 Installing pyOCD
-^^^^^^^^^^^^^^^^
+----------------
 
 pyOCD is an open source Python package for programming and debugging Arm Cortex-M microcontrollers using multiple supported types of USB debug probes. It is fully cross-platform, with support for Linux.
 
@@ -65,36 +70,34 @@ pyOCD is an open source Python package for programming and debugging Arm Cortex-
 
    $ pip install --pre -U pyOCD
 
-* To install the latest prerelease version from the HEAD of the master branch, do the following:
+* To install the latest pre-release version from the HEAD of the master branch, do the following:
 
 .. code-block:: console
 
    $ pip install --pre -U git+https://github.com/mbedmicro/pyOCD.git
 
-* You can also install directly from the source by cloning the git repository and running:
+* To install directly from the source by cloning the git repository, do the following:
 
 .. code-block:: console
 
    $ python setup.py install
 
-* You can then verify that your board is detected by pyOCD by running:
+* Verify that the board is detected by pyOCD by executing the command:
 
 .. code-block:: console
 
    $ pyOCD-flashtool -l
 
 .. note::
-   Lack of permission gets reported as *ValueError: The device has no langid*, perform the instructions as suggested in 
-   https://github.com/pyocd/pyOCD/tree/master/udev.
+
+   When *ValueError: The device has no langid* error is displayed due to lack of permission, perform the instructions as suggested in https://github.com/pyocd/pyOCD/tree/master/udev.
 
 How to flash
-^^^^^^^^^^^^
+------------
 
-* To flash the image, call the command used to build the image with -c flash_usb appended. 
+* To flash the image, execute the command used to build the image with -c flash_usb appended. 
   For example, to flash the already built zephyr-philosophers image, do:
 
 .. code-block:: console
 
-   $ MACHINE=96b-nitrogen bitbake zephyr-philosophers -c flash_usb
-
-
+   $ MACHINE=96b-nitrogen bitbake zephyr-philosophers -c flash_usb
\ No newline at end of file
diff --git a/documentation/source/supported-boards/Readme.rst b/documentation/source/supported-boards/Readme.rst
index 8a10592..75bf101 100644
--- a/documentation/source/supported-boards/Readme.rst
+++ b/documentation/source/supported-boards/Readme.rst
@@ -12,7 +12,9 @@ Harmony OS supports the following boards:
    
    96b-Avenger
    96b-nitrogen
+   seco-intel-b68
+   seco-imx8mm-c61
       
-For more information on supported boards and instructions to use them, see https://git.ostc-eu.org/OSTC/OHOS/docs/supported-boards.
+For more information on supported boards and instructions to use them, see https://git.ostc-eu.org/OSTC/OHOS/docs/developer-guide/-/tree/master/documentation/source/supported-boards.
    
    
diff --git a/documentation/source/supported-boards/seco-intel-b68.rst b/documentation/source/supported-boards/seco-intel-b68.rst
new file mode 100644
index 0000000..6959a0d
--- /dev/null
+++ b/documentation/source/supported-boards/seco-intel-b68.rst
@@ -0,0 +1,200 @@
+.. include:: ../definitions.rst
+
+SBC-B68-eNUC SECO
+#################
+
+
+.. contents:: 
+   :depth: 3
+   
+
+Overview
+********
+
+The SBC-B68-eNUC is a flexible and expandable full industrial x86 embedded NUC™ SBC with the Intel® Atom X Series, Intel® Celeron® J / N
+Series and Intel® Pentium® N Series (formerly code name Apollo Lake) Processors. Also available in industrial temperature version, the board
+offers wide range of connectivity options through WLAN and WWAN M.2 slots as well as wide input voltage range. Featuring Quad Channel
+soldered down LPDDR4-2400 memory, up to 8GB, thanks to its versatile expansion capabilities it is particularly suitable for embedded
+applications like HMI, multimedia devices, industrial IoT and industrial automation.
+
+Hardware
+********
+
+For more detailed specifications of SBC-B68-eNUC SECO board, see `SBC-B68-eNUC Specification <https://www.seco.com/en/products/sbc-b68-enuc>`__.
+
+
+Working with the board
+**********************
+
+Supported images
+================
+
+* openharmony-image-base
+* openharmony-image-extra
+
+Building OHOS image
+===================
+
+To clone the source code, perform the procedure in `Getting started <https://git.ostc-eu.org/OSTC/OHOS/docs/developer-guide/-/blob/master/documentation/source/quick-start/build-open-harmony.rst>`__.
+
+Linux image
+-----------
+
+1. Source the environment with proper template settings, flavour being *linux* and target machine being *seco-intel-b68*.
+
+.. code-block:: console
+
+   $ TEMPLATECONF=../sources/meta-ohos/flavours/linux . ./sources/poky/oe-init-build-env build-linux-seco-intel-b68
+
+2. You will find yourself in the newly created build directory. Call *bitbake* to build the image. For example, if you are using *openharmony-image-base* run the following command:
+
+.. code-block:: console
+
+   $ MACHINE=seco-intel-b68 bitbake openharmony-image-base
+
+To generate images for SSD Disk, refer to the following flashing OHOS image section.
+
+Flashing OHOS image
+*******************
+
+.. _linux-image-1:
+
+Linux image
+===========
+
+USB Storage
+-----------
+
+**Prerequisites**
+
+* Mini DisplayPort to HDMI converter cable 
+* HDMI Monitor
+* USB Storage
+* Linux Host
+
+To flash OHOS using USB storage, perform the following steps:
+
+**Prepare OHOS bootable USB**
+
+#. Connect USB storage to your host PC.
+
+#. Run the following command in your local host:
+
+.. code-block:: console
+
+   $ dd if=tmp/deploy/images/seco-intel-b68/openharmony-image-base-seco-intel-b68.wic of=/dev/sdbX
+
+**Run OHOS** 
+
+#. Connect bootable USB to target 
+
+#. Connect mini DP++ to HDMI adapter to HDMI monitor 
+
+#. Power on B68 and press **Esc** to enter **BIOS** mode.
+
+#. Go to Save and Exit submenu
+
+#. Select the bootable USB device under **Boot Override** and press Enter.
+
+
+Testing the board
+*****************
+
+Ethernet
+========
+
+Wired connection works out of the box. You can use standard tools like ``ip``, ``ifconfig`` to configure the connection.
+
+USB Host
+========
+
+::
+
+   root@seco-intel-b68:~# lsusb
+   /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 5000M
+   /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 480M
+
+eMMC
+====
+
+::
+
+   root@seco-intel-b68:~# fdisk -l /dev/mmcblk1
+   Disk /dev/mmcblk1: 29 GB, 31268536320 bytes, 61071360 sectors
+   954240 cylinders, 4 heads, 16 sectors/track
+   Units: sectors of 1 * 512 = 512 bytes
+
+PCI buses
+=========
+
+::
+
+   root@seco-intel-b68:~# lspci
+   00:00.0 Host bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Host Bridge (rev 0b)
+   00:02.0 VGA compatible controller: Intel Corporation HD Graphics 500 (rev 0b)
+   00:0e.0 Audio device: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster (rev 0b)
+   00:0f.0 Communication controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Trusted Execution Engine (rev 0b)
+   00:12.0 SATA controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SATA AHCI Controller (rev 0b)
+   00:13.0 PCI bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #3 (rev fb)
+   00:13.3 PCI bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #4 (rev fb)
+   00:15.0 USB controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series USB xHCI (rev 0b)
+   00:16.0 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #1 (rev 0b)
+   00:16.3 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #4 (rev 0b)
+   00:17.0 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #5 (rev 0b)
+   00:17.1 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #6 (rev 0b)
+   00:18.0 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #1 (rev 0b)
+   00:18.2 Signal processing controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #3 (rev 0b)
+   00:1b.0 SD Host controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SDXC/MMC Host Controller (rev 0b)
+   00:1c.0 SD Host controller: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series eMMC Controller (rev 0b)
+   00:1f.0 ISA bridge: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Low Pin Count Interface (rev 0b)
+   00:1f.1 SMBus: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series SMBus Controller (rev 0b)
+   01:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
+   02:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
+
+Loaded Modules
+==============
+
+::
+
+   root@seco-intel-b68:~# lsmod
+   Module                  Size  Used by
+   nfc                    73728  0
+   bnep                   20480  2
+   uio                    20480  0
+   snd_hda_codec_hdmi     53248  1
+   iwlwifi               299008  0
+   cfg80211              688128  1 iwlwifi
+   snd_hda_codec_cirrus    20480  1
+   snd_hda_codec_generic    65536  1 snd_hda_codec_cirrus
+   ledtrig_audio          16384  1 snd_hda_codec_generic
+   intel_rapl_msr         16384  0
+   snd_soc_skl           114688  0
+   snd_soc_sst_ipc        16384  1 snd_soc_skl
+   snd_soc_sst_dsp        24576  1 snd_soc_skl
+   snd_hda_ext_core       20480  1 snd_soc_skl
+   snd_soc_acpi_intel_match    36864  1 snd_soc_skl
+   snd_soc_acpi           16384  2 snd_soc_acpi_intel_match,snd_soc_skl
+   snd_soc_core          200704  1 snd_soc_skl
+   intel_rapl_common      20480  1 intel_rapl_msr
+   snd_compress           20480  1 snd_soc_core
+   ac97_bus               16384  1 snd_soc_core
+   intel_pmc_bxt          16384  0
+   intel_telemetry_pltdrv    20480  0
+   intel_telemetry_core    16384  1 intel_telemetry_pltdrv
+   snd_hda_intel          32768  0
+   x86_pkg_temp_thermal    16384  0
+   snd_intel_dspcfg       16384  2 snd_hda_intel,snd_soc_skl
+   snd_hda_codec          98304  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_cirrus
+   coretemp               16384  0
+   snd_hda_core           65536  7 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_cirrus,snd_soc_skl
+   snd_pcm                86016  7 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_compress,snd_soc_core,snd_soc_skl,snd_hda_core
+   snd_timer              32768  1 snd_pcm
+   i915                 1888256  5
+   mei_me                 32768  0
+   video                  40960  1 i915
+   mei                    81920  1 mei_me
+
+Video
+=====
+
+Output video tested with *DP++* to *HDMI* adapter.
-- 
GitLab