doc: fix .rst files canonical heading order

The headings on some .rst files were not following the expected
heading order of using # for h1, * for h2, = for h3, and - for h4
This patch fixes that, and the doc/templates/*.tmpl files created
for folks to use as templates for creating board and sample docs.

Change-Id: I0263b005648558d5ea41a681ceaa4798c9594dd9
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
diff --git a/boards/arm/qemu_cortex_m3/doc/board.rst b/boards/arm/qemu_cortex_m3/doc/board.rst
index 30dcc82..8d53dcf 100644
--- a/boards/arm/qemu_cortex_m3/doc/board.rst
+++ b/boards/arm/qemu_cortex_m3/doc/board.rst
@@ -4,7 +4,7 @@
 ##############################
 
 Overview
-========
+********
 
 The Zephyr kernel uses the qemu_cortex_m3 board configuration to emulate the TI
 LM3S6965 platform running on QEMU. It provides support for an ARM Cortex-M3 CPU
@@ -19,9 +19,9 @@
    with an actual ti_lm3s6965 hardware system, or any other hardware system.
 
 Hardware
-========
+********
 Supported Features
-------------------
+==================
 
 The qemu_cortex_m3 board configuration supports the following hardware features:
 
@@ -40,20 +40,20 @@
 The kernel currently does not support other hardware features on this platform.
 
 Devices
---------
+========
 System Clock
-~~~~~~~~~~~~
+------------
 
 The qemu_cortex_m3 board configuration uses a system clock frequency of 12 MHz.
 
 Serial Port
-~~~~~~~~~~~
+-----------
 
 The qemu_cortex_m3 board configuration uses a single serial communication
 channel with the CPU's UART0.
 
 Known Problems or Limitations
-------------------------------
+==============================
 
 The following platform features are unsupported:
 
@@ -63,7 +63,7 @@
 * Writing to the hardware's flash memory
 
 References
-==========
+**********
 
 1. The Definitive Guide to the ARM Cortex-M3, Second Edition by Joseph Yiu (ISBN
    978-0-12-382090-7)
diff --git a/boards/arm/v2m_beetle/doc/v2m_beetle.rst b/boards/arm/v2m_beetle/doc/v2m_beetle.rst
index 54f90da..6f9d539 100644
--- a/boards/arm/v2m_beetle/doc/v2m_beetle.rst
+++ b/boards/arm/v2m_beetle/doc/v2m_beetle.rst
@@ -4,7 +4,7 @@
 ##############
 
 Overview
-========
+********
 
 The v2m_beetle board configuration is used by Zephyr applications that run on
 the V2M Beetle board. It provides support for the Beetle ARM Cortex-M3 CPU and
@@ -24,7 +24,7 @@
 More information about the board can be found at the `V2M Beetle Website`_.
 
 Hardware
-========
+********
 
 ARM V2M BEETLE provides the following hardware components:
 
@@ -49,7 +49,7 @@
 
 
 Supported Features
--------------------
+===================
 
 The v2m_beetle board configuration supports the following hardware features:
 
@@ -83,7 +83,7 @@
    boards/arm/v2m_beetle/v2m_beetle_defconfig
 
 Interrupt Controller
---------------------
+====================
 
 Beetle is a Cortex-M3 based SoC and has 15 fixed exceptions and 45 IRQs.
 
@@ -124,7 +124,7 @@
 +------+------------+----------------+--------------------------+
 
 Pin Mapping
------------
+===========
 
 The ARM V2M Beetle Board has 4 GPIO controllers. These controllers are responsible for pin muxing, input/output, pull-up, etc.
 
@@ -190,27 +190,27 @@
 For mode details please refer to `Beetle Technical Reference Manual (TRM)`_.
 
 System Clock
-------------
+============
 
 V2M Beetle has one external and two on-chip oscillators. The slow clock is
 32.768 kHz, and the main clock is 24 MHz. The processor can set up PLL to drive
 the master clock.
 
 Serial Port
------------
+===========
 
 The ARM Beetle processor has two UARTs. Both the UARTs have only two wires for
 RX/TX and no flow control (CTS/RTS) or FIFO. The Zephyr console output, by
 default, is utilizing UART1.
 
 Programming and Debugging
-=========================
+*************************
 
 Flashing
---------
+========
 
 CMSIS DAP
-^^^^^^^^^
+---------
 
 V2M Beetle provides:
 
@@ -223,7 +223,7 @@
 to `CMSIS-DAP Website`_.
 
 Flashing an application to V2M Beetle
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-------------------------------------
 
 The sample application hello_world is being used in this tutorial:
 
diff --git a/boards/boards.rst b/boards/boards.rst
index 626bb26..08d683f 100644
--- a/boards/boards.rst
+++ b/boards/boards.rst
@@ -5,7 +5,7 @@
 
 
 X86 Boards
-==========
+**********
 
 .. toctree::
    :maxdepth: 1
@@ -14,7 +14,7 @@
    x86/**/*
 
 ARM Boards
-==========
+**********
 
 .. toctree::
    :maxdepth: 1
@@ -23,7 +23,7 @@
    arm/**/*
 
 ARC Boards
-==========
+**********
 
 .. toctree::
    :maxdepth: 1
diff --git a/boards/x86/qemu_x86/doc/board.rst b/boards/x86/qemu_x86/doc/board.rst
index 5cafffc..a49727e 100644
--- a/boards/x86/qemu_x86/doc/board.rst
+++ b/boards/x86/qemu_x86/doc/board.rst
@@ -4,7 +4,7 @@
 ####################
 
 Overview
-========
+********
 
 The Zephyr Kernel uses the qemu_x86 board configuration to emulate pentium-class
 systems running on QEMU.
@@ -17,10 +17,10 @@
 
 
 Hardware
-========
+********
 
 Supported Features
-------------------
+==================
 
 The qemu_x86 board configuration supports the following hardware features:
 
@@ -36,15 +36,15 @@
 +--------------+------------+-----------------------+
 
 Devices
--------
+=======
 
 HPET System Clock Support
-~~~~~~~~~~~~~~~~~~~~~~~~~
+-------------------------
 
 The qemu_x86 board configuration uses an HPET clock frequency of 25 MHz.
 
 Serial Port
-~~~~~~~~~~~
+-----------
 
 The qemu_x86 board configuration uses a single serial communication channel that
 uses the NS16550 serial driver operating in polling mode. To override, enable
@@ -52,7 +52,7 @@
 interrupt-driven.
 
 Known Problems or Limitations
------------------------------
+=============================
 
 The following platform features are unsupported:
 
diff --git a/boards/x86/quark_d2000_crb/doc/quark_d2000_crb.rst b/boards/x86/quark_d2000_crb/doc/quark_d2000_crb.rst
index cacf735..9eaefae 100644
--- a/boards/x86/quark_d2000_crb/doc/quark_d2000_crb.rst
+++ b/boards/x86/quark_d2000_crb/doc/quark_d2000_crb.rst
@@ -4,7 +4,7 @@
 #############################
 
 Overview
-========
+********
 
 The Intel® Quark ™ microcontroller D2000 package is shipped as a 40-pin QFN
 component.
@@ -33,7 +33,7 @@
   - EEMBC power input header
 
 Hardware
-========
+********
 
 General information for the board can be found at the `Intel Website`_,
 which includes both `schematics`_ and BRD files.
@@ -45,7 +45,7 @@
 
 
 Supported Features
--------------------
+===================
 
 +-----------+------------+-----------------------+
 | Interface | Controller | Driver/Component      |
@@ -66,7 +66,7 @@
 
 
 Programming and Debugging
-=========================
+*************************
 
 The D2000 board configuration details are found in the project's tree at
 :file:`boards/x86/quark_d2000_crb`.
@@ -78,7 +78,7 @@
    $ make BOARD=quark_d2000_crb <make target>
 
 Flashing
---------
+========
 
 #. Since the board has a built-in JTAG; it is possible to flash the device
    through the USB only.  Set the following jumpers to enable the built-in JTAG:
@@ -106,7 +106,7 @@
       $ make BOARD=quark_d2000_crb flash
 
 Debugging
----------
+=========
 
 To debug an application on the Quark D2000 board, follow these steps.  As an
 example, we are using the hello_world application.
diff --git a/doc/application/application.rst b/doc/application/application.rst
index 28013fc..abc8a31 100644
--- a/doc/application/application.rst
+++ b/doc/application/application.rst
@@ -5,7 +5,7 @@
 
 
 Overview
-========
+********
 The Zephyr Kernel's build system is based on the Kbuild system used in the
 Linux kernel.
 
@@ -54,7 +54,7 @@
 
 
 Application Structure
-=====================
+*********************
 
 
 Create one directory for your application and a sub-directory for the
@@ -94,7 +94,7 @@
 
 
 Application Definition
-======================
+**********************
 
 An application is integrated into the build system by including the Makefile.inc
 file provided.
@@ -133,10 +133,10 @@
 
 
 Makefiles
-=========
+*********
 
 Overview
---------
+========
 
 The build system defines a set of conventions for the correct use of Makefiles
 in the kernel source directories. The correct use of Makefiles is driven by the
@@ -151,7 +151,7 @@
 .. _makefile_conventions:
 
 Makefile Conventions
---------------------
+====================
 
 The following conventions restrict how to add modules and Makefiles to the
 build system. These conventions ensure the correct implementation of the
@@ -174,7 +174,7 @@
   recursion model.
 
 Adding Source Files
--------------------
+===================
 
 The Makefile must refer the source build indirectly, specifying the object file
 that results from the source file using the :literal:`obj-y` variable. For
@@ -199,7 +199,7 @@
    obj-$(CONFIG_VAR) += <file>.o
 
 Adding Directories
-------------------
+==================
 
 Add a subdirectory to the build system by editing the Makefile in its
 directory.  The subdirectory is added using the :literal:`obj-y` variable. The
@@ -228,7 +228,7 @@
 
 
 Application Makefile
-====================
+********************
 
 Create an application Makefile to define basic information, such as the board
 configuration used by the application. The build system uses the Makefile to
@@ -277,7 +277,7 @@
    include ${ZEPHYR_BASE}/Makefile.inc
 
 Application Configuration
-=========================
+*************************
 
 The application's kernel is configured using a set of configuration options
 that can be customized for application-specific purposes.
@@ -300,7 +300,7 @@
 inter-dependencies between options, see the :ref:`configuration`.
 
 Default Board Configuration
----------------------------
+===========================
 
 An application's :file:`.conf` file defines its default kernel configuration.
 The settings in this file override or augment the board configuration settings.
@@ -348,7 +348,7 @@
 .. _override_kernel_conf:
 
 Overriding Default Configuration
---------------------------------
+================================
 
 Override the default board and kernel configuration to temporarily alter the
 application's configuration, perhaps to test the effect of a change.
@@ -486,7 +486,7 @@
    command line.
 
 Application-Specific Code
-=========================
+*************************
 
 Application-specific source code files are normally added to the application's
 :file:`src` directory. If the application adds a large number of files the
@@ -558,7 +558,7 @@
 
 
 Build an Application
-====================
+********************
 
 The Zephyr build system compiles and links all components of an application
 into a single application image that can be run on simulated hardware or real
@@ -596,7 +596,7 @@
    when building the application.
 
 Rebuilding an Application
-=========================
+*************************
 
 Application development is usually fastest when changes are continually tested.
 Frequently rebuilding your application makes debugging less painful
@@ -640,7 +640,7 @@
 
 
 Run an Application
-==================
+******************
 
 An application image can be run on real or emulated hardware. The kernel has
 built-in emulator support for QEMU. It allows you to run and test an application
@@ -668,7 +668,7 @@
    redisplays.
 
 Application Debugging
-=====================
+*********************
 
 This section is a quick hands-on reference to start debugging your
 application with QEMU. Most content in this section is already covered on
diff --git a/doc/porting/application.rst b/doc/porting/application.rst
index f61ba37..5eb53f1 100644
--- a/doc/porting/application.rst
+++ b/doc/porting/application.rst
@@ -17,7 +17,7 @@
 
 
 API Changes
-===========
+***********
 
 As described in the section :ref:`kernel_api_changes` the kernel now has one
 unified and consistent API with new naming.
@@ -28,7 +28,7 @@
 application to the new kernel.
 
 Same Arguments
---------------
+==============
 
 In many cases, a simple search and replace is enough to move from the legacy to
 the new APIs, for example:
@@ -37,7 +37,7 @@
 * :cpp:func:`task_sem_count_get()` -> :cpp:func:`k_sem_count_get()`
 
 Additional Arguments
---------------------
+====================
 The number of arguments to some APIs have changed,
 
 * :cpp:func:`nano_sem_init()` -> :cpp:func:`k_sem_init()`
@@ -61,7 +61,7 @@
      k_sem_init(sem, 0, UINT_MAX);
 
 Return Codes
-------------
+============
 
 Many kernel APIs now return 0 to indicate success and a non-zero error code
 to indicate the reason for failure. You should pay special attention to this
@@ -72,7 +72,7 @@
 
 
 Application Porting
-===================
+*******************
 
 The existing :ref:`synchronization_sample` from the Zephyr tree will be used to
 guide you with porting a legacy application to the new kernel.
@@ -85,7 +85,7 @@
    :lines: 9-
 
 Porting a Nanokernel Application
----------------------------------
+=================================
 
 Below is the code for the application using the legacy kernel:
 
@@ -95,7 +95,7 @@
    :lines: 9-
 
 Porting a Microkernel Application
----------------------------------
+=================================
 
 The MDEF feature of the legacy kernel has been eliminated. Consequently, all
 kernel objects are now defined directly in code.
diff --git a/doc/subsystems/bluetooth/bluetooth.rst b/doc/subsystems/bluetooth/bluetooth.rst
index 2429310..55770e7 100644
--- a/doc/subsystems/bluetooth/bluetooth.rst
+++ b/doc/subsystems/bluetooth/bluetooth.rst
@@ -46,7 +46,7 @@
   * Features, buffer sizes/counts, stack sizes, etc.
 
 Source tree layout
-==================
+******************
 
 The stack is split up as follows in the source tree:
 
@@ -81,7 +81,7 @@
   Extra documentation, such as PICS documents.
 
 Further reading
-===============
+***************
 
 More information on the stack and its usage can be found in the
 `wiki <http://wiki.zephyrproject.org/view/Arduino_101#Bluetooth_firmware_for_the_Arduino_101>`_ and the following subsections:
diff --git a/doc/subsystems/bluetooth/gap-pics.rst b/doc/subsystems/bluetooth/gap-pics.rst
index 7b0e66b..bb2f7ed 100644
--- a/doc/subsystems/bluetooth/gap-pics.rst
+++ b/doc/subsystems/bluetooth/gap-pics.rst
@@ -13,7 +13,7 @@
 
 
 Device Configuration
-====================
+********************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -25,7 +25,7 @@
 
 
 Version Configuration
-=====================
+*********************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -38,7 +38,7 @@
 
 
 Modes
-=====
+*****
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -56,7 +56,7 @@
 
 
 Security Aspects
-================
+****************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -76,7 +76,7 @@
 
 
 Idle Mode Procedures
-====================
+********************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -91,7 +91,7 @@
 
 
 Establishment Procedures
-========================
+************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -110,7 +110,7 @@
 
 
 LE Roles
-========
+********
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -123,7 +123,7 @@
 
 
 Broadcaster Physical Layer
-==========================
+**************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -134,7 +134,7 @@
 
 
 Broadcaster Link Layer States
-=============================
+*****************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -145,7 +145,7 @@
 
 
 Broadcaster Link Layer Advertising Event Types
-==============================================
+**********************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -156,7 +156,7 @@
 
 
 Broadcaster Link Layer Advertising Data Types
-=============================================
+*********************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -183,7 +183,7 @@
 
 
 Broadcaster Connection Modes and Procedures
-===========================================
+*******************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -193,7 +193,7 @@
 
 
 Broadcaster Broadcasting and Observing Features
-===============================================
+***********************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -203,7 +203,7 @@
 
 
 Broadcaster Privacy Feature
-===========================
+***************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -219,7 +219,7 @@
 
 
 Observer Physical Layer
-=======================
+***********************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -230,7 +230,7 @@
 
 
 Observer Link Layer States
-==========================
+**************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -241,7 +241,7 @@
 
 
 Observer Link Layer Scanning Types
-==================================
+**********************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -252,7 +252,7 @@
 
 
 Observer Connection Modes and Procedures
-========================================
+****************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -262,7 +262,7 @@
 
 
 Observer Broadcasting and Observing Features
-============================================
+********************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -272,7 +272,7 @@
 
 
 Observer Privacy Feature
-========================
+************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -290,7 +290,7 @@
 
 
 Peripheral Physical Layer
-=========================
+*************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -301,7 +301,7 @@
 
 
 Peripheral Link Layer States
-============================
+****************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -313,7 +313,7 @@
 
 
 Peripheral Link Layer Advertising Event Types
-=============================================
+*********************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -326,7 +326,7 @@
 
 
 Peripheral Link Layer Advertising Data Types
-============================================
+********************************************
 
 ===============	=============	=======================================
 Parameter Name   Selected	Description
@@ -353,7 +353,7 @@
 
 
 Peripheral Link Layer Control Procedures
-========================================
+****************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -372,7 +372,7 @@
 
 
 Peripheral Discovery Modes and Procedures
-=========================================
+*****************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -385,7 +385,7 @@
 
 
 Peripheral Connection Modes and Procedures
-==========================================
+******************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -399,7 +399,7 @@
 
 
 Peripheral Bonding Modes and Procedures
-=======================================
+***************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -412,7 +412,7 @@
 
 
 Peripheral Security Aspects Features
-====================================
+************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -433,7 +433,7 @@
 
 
 Peripheral Privacy Feature
-==========================
+**************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -451,7 +451,7 @@
 
 
 Peripheral GAP Characteristics
-==============================
+******************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -469,7 +469,7 @@
 
 
 Central Physical Layer
-======================
+**********************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -480,7 +480,7 @@
 
 
 Central Link Layer States
-=========================
+*************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -493,7 +493,7 @@
 
 
 Central Link Layer Scanning Types
-=================================
+*********************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -504,7 +504,7 @@
 
 
 Central Link Layer Control Procedures
-=====================================
+*************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -523,7 +523,7 @@
 
 
 Central Discovery Modes and Procedures
-======================================
+**************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -535,7 +535,7 @@
 
 
 Central Connection Modes and Procedures
-=======================================
+***************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -551,7 +551,7 @@
 
 
 Central Bonding Modes and Procedures
-====================================
+************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -563,7 +563,7 @@
 
 
 Central Security Features
-=========================
+*************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -584,7 +584,7 @@
 
 
 Central Privacy Feature
-=======================
+***********************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -604,7 +604,7 @@
 
 
 Central GAP Characteristics
-===========================
+***************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -616,7 +616,7 @@
 
 
 BR/EDR/LE Roles
-===============
+***************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -629,7 +629,7 @@
 
 
 Central BR/EDR/LE Modes
-=======================
+***********************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -644,7 +644,7 @@
 
 
 Central BR/EDR/LE Idle Mode Procedures
-======================================
+**************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -658,7 +658,7 @@
 
 
 Central BR/EDR/LE Security Aspects
-==================================
+**********************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -669,7 +669,7 @@
 
 
 Peripheral BR/EDR/LE Modes
-==========================
+**************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -684,7 +684,7 @@
 
 
 Peripheral BR/EDR/LE Security Aspects
-=====================================
+*************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -695,7 +695,7 @@
 
 
 Central Simultaneous BR/EDR and LE Transports
-=============================================
+*********************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
@@ -708,7 +708,7 @@
 
 
 Peripheral Simultaneous BR/EDR and LE Transports
-================================================
+************************************************
 
 ==============	==============	=======================================
 Parameter Name	Selected	Description
diff --git a/doc/subsystems/bluetooth/gatt-pics.rst b/doc/subsystems/bluetooth/gatt-pics.rst
index 2e1bb75..292fdb3 100644
--- a/doc/subsystems/bluetooth/gatt-pics.rst
+++ b/doc/subsystems/bluetooth/gatt-pics.rst
@@ -13,7 +13,7 @@
 
 
 Generic Attribute Profile Role
-==============================
+******************************
 
 ==============	===========	============================================
 Parameter Name	Selected	Description
@@ -26,7 +26,7 @@
 
 
 ATT Bearer Transport
-====================
+********************
 
 ==============	===========	============================================
 Parameter Name	Selected	Description
@@ -38,7 +38,7 @@
 
 
 Generic Attribute Profile Support
-=================================
+*********************************
 
 ==============	===========	============================================
 Parameter Name	Selected	Description
@@ -77,7 +77,7 @@
 
 
 Profile Attribute Types and Formats, by client
-==============================================
+**********************************************
 
 ===============	===========	============================================
 Parameter Name	Selected	Description
@@ -128,7 +128,7 @@
 
 
 Attribute Profile Support, by Server
-====================================
+************************************
 
 ==============	===========	============================================
 Parameter Name	Selected	Description
@@ -167,7 +167,7 @@
 
 
 Profile Attribute Types and Characteristic Formats
-==================================================
+**************************************************
 
 ===============	===========	============================================
 Parameter Name	Selected	Description
@@ -218,7 +218,7 @@
 
 
 Generic Attribute Profile Service - SDP Inteoperability
-=======================================================
+*******************************************************
 
 ==============	===========	============================================
 Parameter Name	Selected	Description
@@ -231,7 +231,7 @@
 
 
 Attribute Protocol Transport Security
-=====================================
+*************************************
 
 ==============	===========	============================================
 Parameter Name	Selected	Description
@@ -247,7 +247,7 @@
 
 
 Attribute Protocol Client Messages
-==================================
+**********************************
 
 ==============	===========	============================================
 Parameter Name	Selected	Description
@@ -273,7 +273,7 @@
 
 
 Attribute Protocol Server Messages
-==================================
+**********************************
 
 ==============	===========	============================================
 Parameter Name	Selected	Description
@@ -300,7 +300,7 @@
 
 
 Attribute Protocol Transport
-============================
+****************************
 
 ==============	===========	============================================
 Parameter Name	Selected	Description
@@ -312,7 +312,7 @@
 
 
 Device Configuration
-====================
+********************
 
 ==============	===========	============================================
 Parameter Name	Selected	Description
diff --git a/doc/subsystems/bluetooth/l2cap-pics.rst b/doc/subsystems/bluetooth/l2cap-pics.rst
index adea418..2c859f6 100644
--- a/doc/subsystems/bluetooth/l2cap-pics.rst
+++ b/doc/subsystems/bluetooth/l2cap-pics.rst
@@ -6,7 +6,7 @@
 * - different than PTS defaults
 
 Device Configuration
-====================
+********************
 
 ===============	===========	=======================================
 Parameter Name	Selected	Description
@@ -18,7 +18,7 @@
 
 
 Roles
-=====
+*****
 
 ===============	===========	=======================================
 Parameter Name	Selected	Description
@@ -33,7 +33,7 @@
 
 
 General Operation
-=================
+*****************
 
 ===============	===========	=======================================
 Parameter Name	Selected	Description
@@ -96,7 +96,7 @@
 
 
 Configurable Parameters
-=======================
+***********************
 
 ===============	===========	=======================================
 Parameter Name  Selected	Description
diff --git a/doc/subsystems/bluetooth/sm-pics.rst b/doc/subsystems/bluetooth/sm-pics.rst
index 13a948d..03820a1 100644
--- a/doc/subsystems/bluetooth/sm-pics.rst
+++ b/doc/subsystems/bluetooth/sm-pics.rst
@@ -13,7 +13,7 @@
 
 
 Connection Roles
-================
+****************
 
 ===============	===========	=======================================
 Parameter Name	Selected	Description
@@ -24,7 +24,7 @@
 
 
 Security Properties
-===================
+*******************
 
 ===============	===========	=======================================
 Parameter Name	Selected	Description
@@ -38,7 +38,7 @@
 
 
 Encryption Key Size
-===================
+*******************
 
 ===============	===========	=======================================
 Parameter Name	Selected	Description
@@ -48,7 +48,7 @@
 
 
 Pairing Method
-==============
+**************
 
 ===============	===========	=======================================
 Parameter Name	Selected	Description
@@ -60,7 +60,7 @@
 
 
 Security Initiation
-===================
+*******************
 
 ===============	===========	=======================================
 Parameter Name	Selected	Description
@@ -73,7 +73,7 @@
 
 
 Signing Algorithm
-=================
+*****************
 
 ===============	===========	=======================================
 Parameter Name	Selected	Description
@@ -84,7 +84,7 @@
 
 
 Key Distribution
-================
+****************
 
 ===============	===========	=======================================
 Parameter Name	Selected	Description
diff --git a/doc/subsystems/networking/buffers.rst b/doc/subsystems/networking/buffers.rst
index 1ad8901..e88dd0b 100644
--- a/doc/subsystems/networking/buffers.rst
+++ b/doc/subsystems/networking/buffers.rst
@@ -6,7 +6,7 @@
 defined in ``include/net/buf.h``.
 
 Creating buffers
-================
+****************
 
 Network buffers are created by first defining a pool of them:
 
@@ -48,7 +48,7 @@
 FIFOs. These APIs ensure that the buffer chains stay intact.
 
 Common Operations
-=================
+*****************
 
 The network buffer API provides some useful helpers for encoding and
 decoding data in the buffers. To fully understand these helpers it's
@@ -92,7 +92,7 @@
 whereas Pull is used when decoding data from a buffer.
 
 Reference Counting
-==================
+******************
 
 Each network buffer is reference counted. The buffer is initially
 acquired from a free buffers pool by calling :c:func:`net_buf_alloc()`,
diff --git a/doc/subsystems/networking/networking.rst b/doc/subsystems/networking/networking.rst
index 86aa4e2..9763e21 100644
--- a/doc/subsystems/networking/networking.rst
+++ b/doc/subsystems/networking/networking.rst
@@ -39,7 +39,7 @@
 * SLIP (for testing with Qemu)
 
 Source tree layout
-==================
+******************
 
 The IP stack source code tree is organized as follows:
 
diff --git a/doc/subsystems/test/ztest.rst b/doc/subsystems/test/ztest.rst
index 2f21751..196392d 100644
--- a/doc/subsystems/test/ztest.rst
+++ b/doc/subsystems/test/ztest.rst
@@ -99,14 +99,14 @@
 *************
 
 Running tests
--------------
+=============
 
 .. doxygengroup:: ztest_test
    :project: Zephyr
    :content-only:
 
 Assertions
-----------
+==========
 
 These macros will instantly fail the test if the related assertion fails.
 When an assertion fails, it will print the current file, line and function,
@@ -127,7 +127,7 @@
    :content-only:
 
 Mocking
--------
+=======
 
 These functions allow abstracting callbacks and related functions and
 controlling them from specific tests. You can enable the mocking framework by
diff --git a/doc/templates/board.tmpl b/doc/templates/board.tmpl
index 12adad5..1faf29a 100644
--- a/doc/templates/board.tmpl
+++ b/doc/templates/board.tmpl
@@ -1,39 +1,41 @@
+.. _boardname_linkname:
+
 [Board Name]
 #############
 
 Overview
-========
+********
 [A short description about the board, its main features and availability]
 
 Hardware
-=========
+********
 [General Hardware information]
 
 Supported Features
-------------------
+==================
 [List of supported features and level of support in Zephyr]
 
 Connections and IOs
---------------------
+===================
 
 [Tables describing the board PINs and how they are configured and can be used
 to connect external components]
 
 Programming and Debugging
-=========================
+*************************
 
 Flashing
---------
+========
 [How to use this board with Zephyr and how to flash a Zephyr binary on this
 device]
 
 
 Debugging
----------
+=========
 [ How to debug this board]
 
 
 References
-==========
+**********
 [ Links to external references such as datasheets or additional documentation]
 
diff --git a/doc/templates/sample.tmpl b/doc/templates/sample.tmpl
index d63a4c6..f27fb78 100644
--- a/doc/templates/sample.tmpl
+++ b/doc/templates/sample.tmpl
@@ -1,29 +1,31 @@
+.. _descriptive_title_link_name:
+
 [A Descriptive Title]
 #####################
 
 Overview
-========
+********
 [A short description about the sample and what it does]
 
 Requirements
-============
+************
 [List of required software and hardware components. Provide pointers to
 hardware components such as sensors and shields]
 
 Wiring
-======
+******
 [For simple projects, a description of how to wire the board for the demo. For
 complex projects, provide a graphic with more details, preferably using
 Fritzing or some other visualisation tools]
 
 Building and Running
-====================
+********************
 [ How to build the sample and how to run it. Pointers to where to find the
 sample in the source tree and how to configure it and run it for a specific
 target platform]
 
 References
-==========
+**********
 [ Links to external references such as datasheets or additional documentation]
 
 
diff --git a/samples/basic/blink_led/README.rst b/samples/basic/blink_led/README.rst
index fdf8b79..46344fd 100644
--- a/samples/basic/blink_led/README.rst
+++ b/samples/basic/blink_led/README.rst
@@ -2,7 +2,7 @@
 ##############
 
 Overview
-========
+********
 
 This is a sample app which blinks a LED using PWM.
 
@@ -14,23 +14,23 @@
 for ever.
 
 Wiring
-======
+******
 
 Arduino 101 and Quark D2000 CRB
--------------------------------
+===============================
 You will need to connect the LED to ground and PWM0 via the shield.
 You may need a current limiting resistor. See your LED datasheet.
 
 Nucleo_F401RE and Nucleo_L476RG
--------------------------------
+===============================
 Connect PWM2(PA0) to LED
 
 Nucleo_F103RB
--------------
+=============
 Connect PWM1(PA8) to LED
 
 Building and Running
-====================
+********************
 
 This sample can be built for multiple boards, in this example we will build it
 for the arduino_101 board:
diff --git a/samples/basic/blinky/README.rst b/samples/basic/blinky/README.rst
index 9e25b66..49acde0 100644
--- a/samples/basic/blinky/README.rst
+++ b/samples/basic/blinky/README.rst
@@ -2,14 +2,14 @@
 ##################
 
 Overview
-========
+********
 
 The Blinky example shows how to configure GPIO pins as outputs which can also be
 used to drive LEDs on the hardware usually delivered as "User LEDs" on many of
 the supported boards in Zephyr.
 
 Requirements
-============
+************
 
 The demo assumes that an LED is connected to one of GPIO lines. The
 sample code is configured to work on boards with user defined buttons and that
@@ -22,7 +22,7 @@
 
 
 Building and Running
-====================
+********************
 
 This samples does not output anything to the console.  It can be built and
 flashed to a board as follows:
diff --git a/samples/basic/button/README.rst b/samples/basic/button/README.rst
index 0c75e63..bcf9790 100644
--- a/samples/basic/button/README.rst
+++ b/samples/basic/button/README.rst
@@ -2,12 +2,12 @@
 ###########
 
 Overview
-========
+********
 
 A simple button demo showcasing the use of GPIO input with interrupts.
 
 Requirements
-============
+************
 
 The demo assumes that a push button is connected to one of GPIO lines. The
 sample code is configured to work on boards with user defined buttons and that
@@ -34,7 +34,7 @@
 
 
 Building and Running
-====================
+********************
 
 This sample can be built for multiple boards, in this example we will build it
 for the nucleo_f103rb board:
diff --git a/samples/basic/disco/README.rst b/samples/basic/disco/README.rst
index c74087e..228f483 100644
--- a/samples/basic/disco/README.rst
+++ b/samples/basic/disco/README.rst
@@ -2,20 +2,20 @@
 ##########
 
 Overview
-========
+********
 
 A simple 'disco' demo. The demo assumes that 2 LEDs are connected to
 GPIO outputs of the MCU/board.
 
 
 Wiring
-======
+******
 
 The code may need some work before running on another board: set PORT,
 LED1 and LED2 according to the board's GPIO configuration.
 
 Nucleo-64 F103RB/F401RE boards
-------------------------------
+==============================
 
 Connect two LEDs to PB5 and PB8 pins. PB5 is mapped to the
 Arduino's D4 pin and PB8 to Arduino's D15. For more details about
@@ -25,7 +25,7 @@
 - https://developer.mbed.org/platforms/ST-Nucleo-F401RE/
 
 Arduino 101 (x86)
------------------
+=================
 
 Connect two LEDs to D4 (IO4) and D7 (IO7) pins. The schematics for the Arduino
 101 board is available at:
@@ -45,7 +45,7 @@
    #define LED2	20
 
 Building and Running
-=====================
+*********************
 
 After startup, the program looks up a predefined GPIO device defined by 'PORT',
 and configures pins 'LED1' and 'LED2' in output mode.  During each iteration of
@@ -59,21 +59,21 @@
 The sample can be found here: :file:`samples/basic/disco`.
 
 Nucleo F103RB
--------------
+=============
 
 .. code-block:: console
 
    $ make BOARD=nucleo_f103rb
 
 Nucleo F401RE
--------------
+=============
 
 .. code-block:: console
 
    $ make BOARD=nucleo_f401re
 
 Arduino 101
-------------
+============
 
 .. code-block:: console
 
diff --git a/samples/basic/fade_led/README.rst b/samples/basic/fade_led/README.rst
index 2d7b64c..23aa8bf 100644
--- a/samples/basic/fade_led/README.rst
+++ b/samples/basic/fade_led/README.rst
@@ -2,7 +2,7 @@
 #############
 
 Overview
-========
+********
 
 This is a sample app which fades a LED using PWM.
 
@@ -13,24 +13,24 @@
 repeat this cycle for ever.
 
 Wiring
-======
+******
 
 Arduino 101 and Quark D2000 CRB
--------------------------------
+===============================
 You will need to connect the LED to ground and PWM0 via
 the shield. You may need a current limiting resistor. See
 your LED datasheet.
 
 Nucleo_F401RE and Nucleo_L476RG
--------------------------------
+===============================
 Connect PWM2(PA0) to LED
 
 Nucleo_F103RB
--------------
+=============
 Connect PWM1(PA8) to LED
 
 Building and Running
-====================
+********************
 
 This sample can be built for multiple boards, in this example we will build it
 for the arduino_101 board:
diff --git a/samples/basic/rgb_led/README.rst b/samples/basic/rgb_led/README.rst
index 6c5d5b5..052e3ff 100644
--- a/samples/basic/rgb_led/README.rst
+++ b/samples/basic/rgb_led/README.rst
@@ -2,7 +2,7 @@
 ############
 
 Overview
-========
+********
 
 This is a sample app which drives a RGB LED using PWM.
 
@@ -16,10 +16,10 @@
 ever.
 
 Wiring
-======
+******
 
 Arduino 101
------------
+===========
 
 You will need to connect the LED pins to PWM0, PWM1 and PWM2
 on arduino 101 via the shield. Depending on what kind of RGB
@@ -31,7 +31,7 @@
 on Quark D2000 platform.
 
 Building and Running
-====================
+********************
 
 This samples does not output anything to the console.  It can be built and
 flashed to a board as follows:
diff --git a/samples/basic/servo_motor/README.rst b/samples/basic/servo_motor/README.rst
index e943a03..a6d9a8d 100644
--- a/samples/basic/servo_motor/README.rst
+++ b/samples/basic/servo_motor/README.rst
@@ -2,7 +2,7 @@
 ################
 
 Overview
-========
+********
 
 This is a sample app which drives a servo motor using
 PWM.
@@ -19,17 +19,17 @@
 the app if you are using a different servo motor.
 
 Wiring
-======
+******
 
 Arduino 101 and Quark D2000 CRB
--------------------------------
+===============================
 
 You will need to connect the motor's red wire to 5v,
 the black wire to ground and the white wire to PWM 0 via
 the shield.
 
 Building and Running
-====================
+********************
 
 This sample can be built for multiple boards, in this example we will build it
 for the arduino_101 board:
diff --git a/samples/environmental_sensing/README.rst b/samples/environmental_sensing/README.rst
index 60521f3..88e012f 100644
--- a/samples/environmental_sensing/README.rst
+++ b/samples/environmental_sensing/README.rst
@@ -2,7 +2,7 @@
 ############################
 
 Overview
-========
+********
 
 This sample implementes a simple environmental sensing service using the Arduino
 101 board.
@@ -16,7 +16,7 @@
 Environmental Sensing Service.
 
 Requirements
-============
+************
 
 To use this sample, the following hardware is required:
 
@@ -28,10 +28,10 @@
 
 
 Wiring
-======
+******
 
 External Wiring
----------------
+===============
 
 The sample uses the HDC1008 sensor for temperature and humidity measurement, and
 the BMP280 sensor for pressure measurement. This section describes how to wire
@@ -60,7 +60,7 @@
     :alt: Wiring with Arduino 101
 
 Using board sensors
--------------------
+===================
 
 If you do not want to use any external sensors, you can use the Arduino 101's
 internal BMI160 sensor to do just temperature readings. To do this, you need to
@@ -74,7 +74,7 @@
 on the LCD, as humidity and pressure values will not be available.
 
 Grove LCD
----------
+=========
 
 Using the Grove LCD is optional and it can be disabled by removing the Grove
 configuration options from the arc/proj.conf file.
@@ -91,10 +91,10 @@
 backlight).
 
 Building and Running
-====================
+********************
 
 Building
---------
+========
 
 This sample builds two applications for both the sensor subsystem (arc) and the
 application processor (x86). The resulting images need to be flashed to the
@@ -119,7 +119,7 @@
    $ make flash # for flashing with JTAG
 
 Running
---------
+========
 The ARC (Sensor Subsystem) program collects temperature, humidity and pressure
 data using the sensors API and sends it to the x86 core through an outbound
 IPM. The collected data is also displayed on a Grove LCD.
diff --git a/samples/grove/lcd/README.rst b/samples/grove/lcd/README.rst
index c31356c..139d737 100644
--- a/samples/grove/lcd/README.rst
+++ b/samples/grove/lcd/README.rst
@@ -2,13 +2,13 @@
 #########
 
 Overview
-========
+********
 
 This sample displays an incrementing counter through the Grove LCD, with
 changing backlight.
 
 Requirements
-============
+************
 
 To use this sample, the following hardware is required:
 
@@ -17,7 +17,7 @@
 * `Grove Base Shield`_ [Optional]
 
 Wiring
-======
+******
 
 You will need to connect the Grove LCD via the Grove shield onto a board that
 supports Arduino shields.
@@ -37,7 +37,7 @@
 
 
 Building and Running
-====================
+********************
 
 This sample should work on any board that has I2C enabled and has an Arduino
 shield interface. For example, it can be run on the Quark D2000 DevBoard as
diff --git a/samples/hello_world/README.rst b/samples/hello_world/README.rst
index 96311eb..52a25d7 100644
--- a/samples/hello_world/README.rst
+++ b/samples/hello_world/README.rst
@@ -4,7 +4,7 @@
 ###########
 
 Overview
-========
+********
 A simple Hello World example that can be used with any supported board and
 prints 'Hello World' to the console. This application can be built into modes:
 
@@ -12,7 +12,7 @@
 * multi threading
 
 Building and Running
-====================
+********************
 
 This project outputs 'Hello World' to the console.  It can be built and executed
 on QEMU as follows:
@@ -31,7 +31,7 @@
    $ make CONF_FILE=prj_single.conf run
 
 Sample Output
--------------
+=============
 
 .. code-block:: console
 
diff --git a/samples/net/dns_client/README.rst b/samples/net/dns_client/README.rst
index 8bf0182..369cbe7 100644
--- a/samples/net/dns_client/README.rst
+++ b/samples/net/dns_client/README.rst
@@ -2,7 +2,7 @@
 ######################
 
 Overview
-========
+********
 
 The DNS resolver or DNS client sample application implements a basic
 DNS resolver according to RFC 1035. Supported DNS answers are:
@@ -30,7 +30,7 @@
 A return code of 0 must be interpreted as success.
 
 Requirements
-============
+************
 
 - net_tools:
 
@@ -48,7 +48,7 @@
     Dnsmasq version 2.76  Copyright (c) 2000-2016 Simon Kelley
 
 Wiring
-======
+******
 
 The ENC28J60 module is an Ethernet device with SPI interface.
 The following pins must be connected from the ENC28J60 device to the
@@ -68,14 +68,14 @@
 
 
 Building and Running
-====================
+********************
 
 Read the :file:`samples/net/dns_client/src/config.h` file.
 Change the IP addresses and DNS server port according to the
 LAN environment.
 
 Network Configuration
----------------------
+=====================
 
 For example, if your LAN is 192.168.0.0/16, the IPv4 addresses must be
 similar to:
@@ -96,7 +96,7 @@
 assumes that the DNS server is listening at UDP port 5353.
 
 DNS server
-----------
+==========
 
 The dnsmasq tool may be used for testing purposes. Open a terminal
 window and type:
@@ -123,7 +123,7 @@
 
 
 QEMU x86
---------
+========
 
 Open a terminal window and type:
 
@@ -149,7 +149,7 @@
     $ make run
 
 FRDM K64F
----------
+=========
 
 Open a terminal window and type:
 
@@ -181,7 +181,7 @@
 Once the binary is loaded into the FRDM board, press the RESET button.
 
 Arduino 101
------------
+===========
 
 Open a terminal window and type:
 
@@ -206,7 +206,7 @@
 Once the binary is loaded into the Arduino 101 board, press the RESET button.
 
 Sample Output
--------------
+=============
 
 IPv4 (CONFIG_NET_IPV6=n, CONFIG_NET_IPV4=y)
 
@@ -221,7 +221,7 @@
 Note: IPv6 addresses obtained via dnsmasq and :file:`/etc/hosts`.
 
 Known Issues
-------------
+============
 
 - The above sample contains a rc: -22 (-EINVAL). This is the expected behavior
   for that domain name.
diff --git a/samples/net/mbedtls_dtlsclient/README.rst b/samples/net/mbedtls_dtlsclient/README.rst
index 880a593..779900b 100644
--- a/samples/net/mbedtls_dtlsclient/README.rst
+++ b/samples/net/mbedtls_dtlsclient/README.rst
@@ -2,14 +2,14 @@
 ####################
 
 Overview
-========
+********
 This sample code shows a simple DTLS client using mbed TLS on top of Zephyr
 
 Requirements
-============
+************
 
 Building and running
-====================
+********************
 
 Follow the steps for testing :ref:`networking with Qemu <networking_with_qemu>`.
 
@@ -102,7 +102,7 @@
 Reset the board.
 
 References
-==========
+**********
 
 - https://wiki.zephyrproject.org/view/Networking-with-Qemu
 - https://tls.mbed.org/
diff --git a/samples/net/mbedtls_dtlsserver/README.rst b/samples/net/mbedtls_dtlsserver/README.rst
index d47c3b6..a52d028 100644
--- a/samples/net/mbedtls_dtlsserver/README.rst
+++ b/samples/net/mbedtls_dtlsserver/README.rst
@@ -2,11 +2,11 @@
 ############################
 
 Overview
-========
+********
 This sample code shows a simple DTLS server using mbedTLS on top of Zephyr.
 
 Building and Running
-====================
+********************
 
 Follow the steps for testing :ref:`networking with Qemu <networking_with_qemu>`.
 
@@ -103,7 +103,7 @@
 the client again.
 
 References
-==========
+**********
 
 * https://wiki.zephyrproject.org/view/Networking-with-Qemu
 * https://tls.mbed.org/
diff --git a/samples/net/zperf/README.rst b/samples/net/zperf/README.rst
index d966157..4ec060b 100644
--- a/samples/net/zperf/README.rst
+++ b/samples/net/zperf/README.rst
@@ -2,20 +2,20 @@
 ################################
 
 Description
-===========
+***********
 
 zperf is a network traffic generator for Zephyr that may be used to
 evaluate network bandwidth.
 
 Features
-=========
+*********
 
 - Compatible with iPerf_2.0.5.
 - Client or server mode allowed without need to modify the source code.
 - Working with task profiler (PROFILER=1 to be set when building zperf)
 
 Supported Boards
-================
+****************
 
 zperf is board-agnostic. However, to run the zperf sample application,
 the target platform must provide a network interface supported by Zephyr.
@@ -27,7 +27,7 @@
 - QEMU x86
 
 Requirements
-============
+************
 
 - iPerf 2.0.5 installed on the host machine
 - Supported board
@@ -36,7 +36,7 @@
 to setup the network environment.
 
 Usage
-=====
+*****
 
 If Zephyr acts as a client, iPerf must be executed in server mode.
 For example, the following command line must be used for UDP testing:
diff --git a/samples/philosophers/README.rst b/samples/philosophers/README.rst
index 7536472..c398bb6 100644
--- a/samples/philosophers/README.rst
+++ b/samples/philosophers/README.rst
@@ -2,7 +2,7 @@
 ###################
 
 Overview
-========
+********
 
 An implementation of a solution to the Dining Philosophers problem (a classic
 multi-thread synchronization problem).  This particular implementation
@@ -36,7 +36,7 @@
 (preempt-only) and -7 to -2 (coop-only).
 
 Building and Running
-====================
+********************
 
 This project outputs to the console.  It can be built and executed
 on QEMU as follows:
@@ -47,7 +47,7 @@
    $ make run
 
 Sample Output
--------------
+=============
 
 .. code-block:: console
 
diff --git a/samples/sensor/apds9960/README.rst b/samples/sensor/apds9960/README.rst
index 597e4c7..089fa02 100644
--- a/samples/sensor/apds9960/README.rst
+++ b/samples/sensor/apds9960/README.rst
@@ -2,7 +2,7 @@
 ######################
 
 Overview
-========
+********
 
 This sample utilizes APDS-9960 Sensor and reads RGB values from the sensor
 then displays the color through the APA102C LED.
@@ -12,7 +12,7 @@
    This sample does not use the Zephyr sensor APIs
 
 Wiring
-======
+******
 
 The SparkFun RGB and Gesture Sensor was being used:
 
@@ -36,7 +36,7 @@
    and do not look directly into those LEDs.
 
 Building and Running
-====================
+********************
 
 This sample can be built for multiple boards, in this example we will build it
 for the Arduino 101 board:
diff --git a/samples/sensor/magn_polling/README.rst b/samples/sensor/magn_polling/README.rst
index 4fbbd00..8f8bc90 100644
--- a/samples/sensor/magn_polling/README.rst
+++ b/samples/sensor/magn_polling/README.rst
@@ -2,7 +2,7 @@
 ##########################
 
 Overview
---------
+********
 
 Sample application that periodically reads magnetometer (X, Y, Z) data from
 the first available device that implements SENSOR_CHAN_MAGN_* (predefined array
diff --git a/samples/sensor/mcp9808/README.rst b/samples/sensor/mcp9808/README.rst
index aac1cc8..41df2a1 100644
--- a/samples/sensor/mcp9808/README.rst
+++ b/samples/sensor/mcp9808/README.rst
@@ -2,13 +2,13 @@
 ##########################
 
 Overview
-========
+********
 
 Sample application that periodically reads temperature from the MCP9808 sensor.
 
 
 Requirements
-============
+************
 
 The MCP9808 digital temperature sensor converts temperatures between -20°C and
 +100°C to a digital word with ±0.5°C (max.) accuracy. It is I2C compatible and
@@ -23,7 +23,7 @@
 This sample uses the sensor APIs and the provided driver for the MCP9808 sensor.
 
 Wiring
-=======
+*******
 
 The MCP9808 requires 2 wires for the I2C bus plus power and ground. The power
 can be either 5V or 3.3V.
@@ -36,7 +36,7 @@
 
 
 References
-===========
+***********
 
 - http://www.microchip.com/wwwproducts/en/en556182
 
diff --git a/samples/sensor/th02/README.rst b/samples/sensor/th02/README.rst
index d4230ee..f162b4e 100644
--- a/samples/sensor/th02/README.rst
+++ b/samples/sensor/th02/README.rst
@@ -2,14 +2,14 @@
 ######################################
 
 Overview
-========
+********
 This sample periodically reads temperature and humidity from the Grove
 Temperature & Humidity Sensor (TH02) and display the results on the Grove LCD
 display.
 
 
 Requirements
-============
+************
 
 This sample uses the TH02 sensor and the grove LCD display. Both devices are
 controlled using the I2C interface.
@@ -20,7 +20,7 @@
 - `Grove LCD Module`_
 
 Wiring
-======
+******
 
 The easiest way to get this wired is to use the Grove shield and connect both
 devices to I2C. No additional wiring is required. Depending on the board you are
@@ -30,7 +30,7 @@
 
 
 References
-==========
+**********
 
  - TH02: http://www.datasheetspdf.com/mobile/748107/TH02.html
 
diff --git a/samples/synchronization/README.rst b/samples/synchronization/README.rst
index 6eae787..14052a1 100644
--- a/samples/synchronization/README.rst
+++ b/samples/synchronization/README.rst
@@ -4,7 +4,7 @@
 ######################
 
 Overview
-========
+********
 
 A simple application that demonstates basic sanity of the kernel.
 Two threads (A and B) take turns printing a greeting message to the console,
@@ -13,7 +13,7 @@
 and timing are operating correctly.
 
 Building and Running
-====================
+********************
 
 This project outputs to the console.  It can be built and executed
 on QEMU as follows:
@@ -24,7 +24,7 @@
    $ make run
 
 Sample Output
--------------
+=============
 
 .. code-block:: console