From fc55b07d6618be23f8a9e4d6faa7b0e9480ed422 Mon Sep 17 00:00:00 2001
From: Kai Yamada <gpioblink@gmail.com>
Date: Thu, 11 Aug 2022 01:36:24 +0900
Subject: [PATCH 01/83] add relay introduction

---
 capes/overlays/basics.rst | 25 ++++++++++++++++
 capes/overlays/index.rst  | 12 ++++++++
 capes/overlays/relay.rst  | 61 +++++++++++++++++++++++++++++++++++++++
 index.rst                 |  4 +++
 4 files changed, 102 insertions(+)
 create mode 100644 capes/overlays/basics.rst
 create mode 100644 capes/overlays/index.rst
 create mode 100644 capes/overlays/relay.rst

diff --git a/capes/overlays/basics.rst b/capes/overlays/basics.rst
new file mode 100644
index 00000000..a9ae5d04
--- /dev/null
+++ b/capes/overlays/basics.rst
@@ -0,0 +1,25 @@
+.. _bone-cape-basics:
+
+Basics
+#######
+
+BeagleBone has sold a module called Cape, which connects to the BeagleBoard and the PocketBeagle. 
+
+Using Cape, you can easily add sensors, communication peripherals, etc. with ease.
+
+Please see below for Cape available to date.
+
+`BeagleBoard.org - Cape <https://beagleboard.org/capes>`_
+
+Features
+=============
+
+For example, BeagleBoard has various variants such as Black, Green, and AI.
+The device tree overlay feature allows BeagleBone capes 
+to be identical across these different pieces of hardware.
+
+Each hardware has different internal pin assignments 
+and the number of peripherals in the SoC, but the device tree overlay absorbs these differences.
+
+The user of Cape are essentially able to use it 
+across the corresponding Boards without changing any code at all.
\ No newline at end of file
diff --git a/capes/overlays/index.rst b/capes/overlays/index.rst
new file mode 100644
index 00000000..9b01043a
--- /dev/null
+++ b/capes/overlays/index.rst
@@ -0,0 +1,12 @@
+.. _beagleboard-cape:
+
+Capes Overlays
+###############
+
+.. note:: This section is under developmement right now.
+
+.. toctree::
+   :maxdepth: 1
+
+   basics.rst
+   relay.rst
diff --git a/capes/overlays/relay.rst b/capes/overlays/relay.rst
new file mode 100644
index 00000000..7f133a44
--- /dev/null
+++ b/capes/overlays/relay.rst
@@ -0,0 +1,61 @@
+.. _bone-cape-relay:
+
+BeagleBoard.org BeagleBone Relay Cape
+#########
+
+Relay Cape, as the name suggests, is a simple Cape with a relay on it.
+It contains four relays, each of which can be operated independently from the BeagleBone.
+
+`Schematic <https://github.com/beagleboard/capes/tree/master/beaglebone/Relay>`_
+
+.. note:: 
+    The following describes how to use the device tree overlay under development.
+    The description may not be suitable for those using older firmware.
+
+How to Use
+---------------
+
+Installation
+******
+
+No special configuration is required. When you plug Cape into your BeagleBoard, 
+it is automatically recognized by the Cape Universal function.
+
+You can check to see if Relay Cape is recognized with the following command.
+
+.. code-block::
+
+    ls /proc/device-tree/chosen/overlay
+
+A list of currently loaded device tree overlays is displayed here. 
+If you see `BBORG_RELAY-00A2.kernel` in this list, it has been loaded correctly.
+
+If it is not loaded correctly, you can also load it directly 
+by adding the following to the U-Boot options 
+(which can be reflected by changing /boot/uEnv.txt).
+
+.. code-block::
+
+    uboot_overlay_addr0=/boot/dtbs/X.XX.XXX-ti-rXX/overlays/BBORG_RELAY-00A2.dtbo
+
+Enter the kernel version specified by uname in the `X.XX.XXX-ti-rXX` part.
+
+Usage
+******
+
+.. code-block::
+
+    ls /sys/class/leds
+
+The directory "relay*" exists in the following directory.
+The LEDs can be controlled by modifying the files in this directory.
+
+.. code-block::
+
+    echo 1 > relay1/brightness
+
+This allows you to adjust the brightness; 
+entering 1 for brightness turns it ON, and entering 0 for OFF.
+
+The four relays can be changed individually 
+by changing the number after "relay.
\ No newline at end of file
diff --git a/index.rst b/index.rst
index 9b7f6f0b..112da649 100644
--- a/index.rst
+++ b/index.rst
@@ -34,7 +34,11 @@ Sections
    :caption: Projects
 
    simppru/index.rst
+.. toctree::
+   :maxdepth: 1
+   :caption: Capes
 
+   cape/overlays/index.rst
 .. toctree::
    :maxdepth: 1
    :caption: Books
-- 
GitLab


From 009bbc0027f40da3c041eeddefdd5f7a13fc9612 Mon Sep 17 00:00:00 2001
From: Deepak Khatri <lorforlinux@beagleboard.org>
Date: Mon, 29 Aug 2022 09:12:30 +0530
Subject: [PATCH 02/83] Add sphinx git versioning

---
 _templates/versions.html |  3 ++-
 conf.py                  | 31 +++++++++++++++++++------------
 2 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/_templates/versions.html b/_templates/versions.html
index cc0dc9cf..8cee4f7a 100644
--- a/_templates/versions.html
+++ b/_templates/versions.html
@@ -14,7 +14,8 @@
       </dl>
       <dl>
         <dt>{{ _('Downloads') }}</dt>
-        <dd><a href="{{ url }}/beagleboard-docs.pdf">PDF</a></dd>
+        {% set prefix = current_version if is_release else "latest" %}
+        <dd><a href="/{{ prefix }}/beagleboard-docs.pdf">PDF</a></dd>
       </dl>
       <dl>
         <dt>{{ _('BeagleBoard.org Links') }}</dt>
diff --git a/conf.py b/conf.py
index 7a531675..ecc2552d 100644
--- a/conf.py
+++ b/conf.py
@@ -10,7 +10,7 @@ from pathlib import Path
 import re
 # sys.path.insert(0, os.path.abspath('.'))
 # sys.path.append('.')
-
+from sphinx.cmd.build import get_parser
 import sphinx_rtd_theme
 
 BBDOCS_BASE = Path(__file__).resolve().parents[0]
@@ -25,7 +25,8 @@ author = 'BeagleBoard.org Foundation'
 # -- General configuration ---------------------------------------------------
 
 extensions = [
-    "sphinxcontrib.rsvgconverter", "sphinx_design"
+    "sphinxcontrib.rsvgconverter",
+    "sphinx_design"
 ]
 
 templates_path = ['_templates']
@@ -39,9 +40,6 @@ navigation_with_keys = True
 # This pattern also affects html_static_path and html_extra_path.
 exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
 
-
-# -- Options for HTML output -------------------------------------------------
-
 html_theme = 'sphinx_rtd_theme'
 html_show_sphinx = False
 html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
@@ -56,8 +54,7 @@ html_static_path = [str(BBDOCS_BASE / "_static")]
 html_last_updated_fmt = "%b %d, %Y"
 html_domain_indices = False
 html_split_index = True
-html_show_sourcelink = True
-html_baseurl = 'https://docs.beagleboard.io/'
+html_show_sourcelink = False
 
 # parse version from 'VERSION' file
 with open(BBDOCS_BASE  / "VERSION") as f:
@@ -84,15 +81,21 @@ with open(BBDOCS_BASE  / "VERSION") as f:
 
 release = version
 
+is_release = tags.has("release")  # pylint: disable=undefined-variable
+reference_prefix = ""
+if tags.has("publish"):  # pylint: disable=undefined-variable
+    reference_prefix = f"/{version}" if is_release else "/latest"
+docs_title = "Docs / {}".format(version if is_release else "Latest")
+
 html_context = {
     "display_gitlab": True,
-    "gitlab_host": "git.beagleboard.org",
-    "gitlab_user": "docs",
-    "gitlab_repo": "docs.beagleboard.io",
-    "gitlab_version": "main",
-    "conf_py_path": "/",
+    "show_license": True,
+    "docs_title": docs_title,
+    "is_release": is_release,
+    "current_version": version,
     "versions": (
         ("latest", "/"),
+        ("0.0.7", "/0.0.7/"),
     )
 }
 
@@ -119,6 +122,10 @@ latex_documents = [
     ("index-tex", "beagleboard-docs.tex", "BeagleBoard Docs", author, "manual"),
 ]
 
+vcs_link_version = f"v{version}" if is_release else "main"
+vcs_link_base_url = f"https://git.beagleboard.org/docs/docs.beagleboard.io/blob/{vcs_link_version}"
+
+
 def setup(app):
     # theme customizations
     app.add_css_file("css/custom.css")
-- 
GitLab


From 2dd2449367d719dd3448b36e195f6f9f37525333 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 10:41:09 -0400
Subject: [PATCH 03/83] Try a huge reorganization

---
 beagleconnect/ch02.rst                        |   5 -
 boards/beagleboard/index.rst                  |  12 ++
 .../beaglebone/ai-64}/ch01.rst                |   0
 .../beaglebone/ai-64}/ch02.rst                |   0
 .../beaglebone/ai-64}/ch03.rst                |   0
 .../beaglebone/ai-64}/ch04.rst                |   0
 .../beaglebone/ai-64}/ch05.rst                |   0
 .../beaglebone/ai-64}/ch06.rst                |   0
 .../beaglebone/ai-64}/ch07.rst                |   0
 .../beaglebone/ai-64}/ch08.rst                |   0
 .../beaglebone/ai-64}/ch09.rst                |   0
 .../beaglebone/ai-64}/ch10.rst                |   0
 .../beaglebone/ai-64}/ch11.rst                |   0
 .../edge_ai_apps/configuration_file.rst       |   0
 .../ai-64}/edge_ai_apps/data_flows.rst        |   0
 .../ai-64}/edge_ai_apps/datasheet.rst         |   0
 .../edge_ai_apps/docker_environment.rst       |   0
 .../ai-64}/edge_ai_apps/getting_started.rst   |   0
 .../edge_ai_apps/images/TDA4VM-SK-SD-Boot.png | Bin
 .../edge_ai_apps/images/balena_etcher.png     | Bin
 .../images/board_connections_bbai_64.jpg      | Bin
 .../images/board_connections_tda4vm_evm.jpg   | Bin
 .../images/board_connections_tda4vm_sk.jpg    | Bin
 .../edge_ai_apps/images/boot_wallpaper.jpg    | Bin
 .../images/csi_camera_connection.png          | Bin
 .../edge_ai_apps/images/edge_ai_demos.drawio  |   0
 .../edge_ai_demos_CPP_Demo_Data_Flow.png      | Bin
 .../edge_ai_demos_Python_Demo_Data_Flow.png   | Bin
 .../images/edgeai-image-classify.jpg          | Bin
 .../images/edgeai-multi-input-multi-infer.jpg | Bin
 .../images/edgeai-object-detect.jpg           | Bin
 .../images/edgeai-overview-image1.jpg         | Bin
 .../images/edgeai-overview-image2.jpg         | Bin
 .../images/edgeai-overview-image3.jpg         | Bin
 .../images/edgeai-sdk-components.png          | Bin
 .../images/edgeai-sdk-feature.png             | Bin
 .../images/edgeai-sdk-overview.png            | Bin
 .../images/edgeai-sdk-programming-env.png     | Bin
 .../images/edgeai-sdk-roadmap.png             | Bin
 .../edgeai-single-input-multi-infer.jpg       | Bin
 .../edge_ai_apps/images/edgeai_human_pose.png | Bin
 .../images/edgeai_image_classification.png    | Bin
 .../images/edgeai_imx390_camera_source.png    | Bin
 .../images/edgeai_object_detection.png        | Bin
 .../images/edgeai_ov5640_camera_source.png    | Bin
 .../images/edgeai_rpi_camera_source.png       | Bin
 .../images/edgeai_rtsp_source.png             | Bin
 .../images/edgeai_semantic_segmentation.png   | Bin
 .../images/edgeai_video_output.png            | Bin
 .../images/edgeai_video_source.png            | Bin
 .../ai-64}/edge_ai_apps/images/favicon.ico    | Bin
 .../ai-64}/edge_ai_apps/images/j721esk-ap.png | Bin
 .../edge_ai_apps/images/model_downloader.png  | Bin
 .../images/open-src-components.png            | Bin
 .../ai-64}/edge_ai_apps/images/perf_plots.png | Bin
 .../images/rpi_camera_connection.png          | Bin
 .../ai-64}/edge_ai_apps/images/vs_code.png    | Bin
 .../images/wifi-oob-iw-command.png            | Bin
 .../beaglebone/ai-64}/edge_ai_apps/index.rst  |   0
 .../ai-64}/edge_ai_apps/inference_models.rst  |   0
 .../edge_ai_apps/performance_visualizer.rst   |   0
 .../edge_ai_apps/running_advance_demos.rst    |   0
 .../edge_ai_apps/running_simple_demos.rst     |   0
 .../ai-64}/edge_ai_apps/sdk_components.rst    |   0
 .../edge_ai_apps/static/theme_overrides.css   |   0
 .../ai-64}/edge_ai_apps/test_report.rst       |   0
 .../themes/sphinx_rtd_theme_ti/__init__.py    |   0
 .../sphinx_rtd_theme_ti/breadcrumbs.html      |   0
 .../themes/sphinx_rtd_theme_ti/footer.html    |   0
 .../themes/sphinx_rtd_theme_ti/layout.html    |   0
 .../sphinx_rtd_theme_ti/layout_old.html       |   0
 .../themes/sphinx_rtd_theme_ti/search.html    |   0
 .../themes/sphinx_rtd_theme_ti/searchbox.html |   0
 .../static/css/badge_only.css                 |   0
 .../sphinx_rtd_theme_ti/static/css/theme.css  |   0
 .../static/fonts/FontAwesome.otf              | Bin
 .../static/fonts/Inconsolata-Bold.ttf         | Bin
 .../static/fonts/Inconsolata-Regular.ttf      | Bin
 .../static/fonts/Lato-Bold.ttf                | Bin
 .../static/fonts/Lato-Regular.ttf             | Bin
 .../static/fonts/RobotoSlab-Bold.ttf          | Bin
 .../static/fonts/RobotoSlab-Regular.ttf       | Bin
 .../static/fonts/fontawesome-webfont.eot      | Bin
 .../static/fonts/fontawesome-webfont.svg      |   0
 .../static/fonts/fontawesome-webfont.ttf      | Bin
 .../static/fonts/fontawesome-webfont.woff     | Bin
 .../static/img/ti_logo.png                    | Bin
 .../static/js/modernizr.min.js                |   0
 .../sphinx_rtd_theme_ti/static/js/theme.js    |   0
 .../themes/sphinx_rtd_theme_ti/theme.conf     |   0
 .../themes/sphinx_rtd_theme_ti/versions.html  |   0
 .../ai-64}/images/45-back-heatsink.png        | Bin
 .../beaglebone/ai-64}/images/45-back.png      | Bin
 .../beaglebone/ai-64}/images/45-front.png     | Bin
 .../ai-64}/images/Desktop-Configuration.png   | Bin
 .../beaglebone/ai-64}/images/LED-Pattern.png  | Bin
 .../ai-64/images/OSHW_mark_US002120.png       | Bin 0 -> 10781 bytes
 .../ai-64/images/OSHW_mark_US002120.svg       |   1 +
 .../beaglebone/ai-64}/images/Power-LED.png    | Bin
 .../ai-64}/images/USB-Connection.png          | Bin
 .../ai-64}/images/USB-Tethering.png           | Bin
 .../ai-64}/images/back-heatsink.png           | Bin
 .../beaglebone/ai-64}/images/back.png         | Bin
 .../beaglebone/ai-64}/images/by-sa.png        | Bin
 .../images/ch03/BBAI-64-to-monitor-cable.png  | Bin
 .../ai-64}/images/ch03/XFCE-Desktop.png       | Bin
 .../ai-64}/images/ch03/barrel-jack.jpg        | Bin
 .../ai-64}/images/ch03/barrel-jack.png        | Bin
 .../ai-64}/images/ch03/bbai64-in-box.jpg      | Bin
 .../images/ch03/desktop-configuration.jpg     | Bin
 .../ai-64}/images/ch03/display-adaptors.jpg   | Bin
 .../ai-64}/images/ch03/display-adaptors.png   | Bin
 .../ai-64}/images/ch03/ethernet-cable.jpg     | Bin
 .../ai-64}/images/ch03/ethernet-cable.png     | Bin
 .../ai-64}/images/ch03/led-pattern.jpg        | Bin
 .../beaglebone/ai-64}/images/ch03/leds.jpg    | Bin
 .../ai-64}/images/ch03/miniDP-connector.jpg   | Bin
 .../ai-64}/images/ch03/miniDP-connector.png   | Bin
 .../ai-64}/images/ch03/monitor-cable.jpg      | Bin
 .../ai-64}/images/ch03/mouse-keyboard.jpg     | Bin
 .../ai-64}/images/ch03/mouse-keyboard.png     | Bin
 .../beaglebone/ai-64}/images/ch03/ports.jpg   | Bin
 .../ai-64}/images/ch03/power-led.jpg          | Bin
 .../ai-64}/images/ch03/usb-a-connection.jpg   | Bin
 .../ai-64}/images/ch03/usb-c-connection.jpg   | Bin
 .../ai-64}/images/ch03/usb-tethering.jpg      | Bin
 .../ai-64}/images/ch03/xfce-desktop.jpg       | Bin
 .../ai-64}/images/ch04/components.png         | Bin
 .../ai-64}/images/ch04/components.svg         |   0
 .../images/ch05/board-block-diagram.svg       |   0
 .../ai-64}/images/ch05/soc-block-diagram.svg  |   0
 .../ai-64}/images/ch06/TPS6594-Q1.svg         |   0
 .../beaglebone/ai-64}/images/ch06/pmic-a.svg  |   0
 .../beaglebone/ai-64}/images/ch06/pmic-b.svg  |   0
 .../beaglebone/ai-64}/images/ch06/power.svg   |   0
 .../images/ch08/berg-stip-insertion.jpg       | Bin
 .../ai-64}/images/ch08/can-cape.jpg           | Bin
 .../ai-64}/images/ch08/cape-dimension.jpg     | Bin
 .../ai-64}/images/ch08/cape-placement.jpg     | Bin
 .../images/ch08/eeprom-write-protect.png      | Bin
 .../beaglebone/ai-64}/images/ch08/eeprom.png  | Bin
 .../images/ch08/expansion-connector.jpg       | Bin
 .../beaglebone/ai-64}/images/ch08/proto.jpg   | Bin
 .../ch08/single-expansion-connector.jpg       | Bin
 .../ch08/stealing-expansion-connector.jpg     | Bin
 .../ai-64}/images/ch09/board-dimensions.jpg   | Bin
 .../ai-64}/images/ch09/bottom-silkscreen.png  | Bin
 .../ai-64}/images/ch09/top-silkscreen.png     | Bin
 .../ai-64}/images/ch10/45-back-heatsink.jpg   | Bin
 .../beaglebone/ai-64}/images/ch10/45-back.jpg | Bin
 .../ai-64}/images/ch10/45-front-hires.jpg     | Bin
 .../ai-64}/images/ch10/45-front.jpg           | Bin
 .../ai-64}/images/ch10/back-heatsink.jpg      | Bin
 .../beaglebone/ai-64}/images/ch10/back.jpg    | Bin
 .../beaglebone/ai-64}/images/ch10/feature.jpg | Bin
 .../beaglebone/ai-64}/images/ch10/front.jpg   | Bin
 .../beaglebone/ai-64}/images/feature.png      | Bin
 .../beaglebone/ai-64}/images/front.png        | Bin
 .../beaglebone/ai-64}/index.rst               |   0
 .../black}/System-Reference-Manual.asciidoc   |   0
 .../beaglebone/black}/ch01.rst                |   0
 .../beaglebone/black}/ch02.rst                |   0
 .../beaglebone/black}/ch03.rst                |   0
 .../beaglebone/black}/ch04.rst                |   0
 .../beaglebone/black}/ch05.rst                |   0
 .../beaglebone/black}/ch06.rst                |   0
 .../beaglebone/black}/ch07.rst                |   0
 .../beaglebone/black}/ch08.rst                |   0
 .../beaglebone/black}/ch09.rst                |   0
 .../beaglebone/black}/ch10.rst                |   0
 .../beaglebone/black}/ch11.rst                |   0
 .../beaglebone/black}/images/BBvsBBB.jpg      | Bin
 .../beaglebone/black}/images/COMP_A5A.jpg     | Bin
 .../beaglebone/black}/images/CONN_REVA5A.jpg  | Bin
 .../beaglebone/black}/images/Features.jpg     | Bin
 .../black/images/OSHW_mark_US000236.png       | Bin 0 -> 22845 bytes
 .../beaglebone/black}/images/REV_A5A.jpg      | Bin
 .../beaglebone/black}/index.rst               |   0
 .../beaglebone/black}/media/image1.jpg        | Bin
 .../beaglebone/black}/media/image10.jpg       | Bin
 .../beaglebone/black}/media/image11.jpg       | Bin
 .../beaglebone/black}/media/image12.jpg       | Bin
 .../beaglebone/black}/media/image13.jpg       | Bin
 .../beaglebone/black}/media/image14.jpg       | Bin
 .../beaglebone/black}/media/image16.jpg       | Bin
 .../beaglebone/black}/media/image17.jpg       | Bin
 .../beaglebone/black}/media/image18.jpg       | Bin
 .../beaglebone/black}/media/image2.jpg        | Bin
 .../beaglebone/black}/media/image24.jpg       | Bin
 .../beaglebone/black}/media/image25.jpg       | Bin
 .../beaglebone/black}/media/image26.jpg       | Bin
 .../beaglebone/black}/media/image27.jpg       | Bin
 .../beaglebone/black}/media/image28.jpg       | Bin
 .../beaglebone/black}/media/image29.jpg       | Bin
 .../beaglebone/black}/media/image30.jpg       | Bin
 .../beaglebone/black}/media/image31.png       | Bin
 .../beaglebone/black}/media/image37.png       | Bin
 .../beaglebone/black}/media/image38.png       | Bin
 .../beaglebone/black}/media/image39.jpg       | Bin
 .../beaglebone/black}/media/image40.png       | Bin
 .../beaglebone/black}/media/image41.png       | Bin
 .../beaglebone/black}/media/image42.jpg       | Bin
 .../beaglebone/black}/media/image43.png       | Bin
 .../beaglebone/black}/media/image44.png       | Bin
 .../beaglebone/black}/media/image45.png       | Bin
 .../beaglebone/black}/media/image46.png       | Bin
 .../beaglebone/black}/media/image47.jpg       | Bin
 .../beaglebone/black}/media/image48.png       | Bin
 .../beaglebone/black}/media/image49.png       | Bin
 .../beaglebone/black}/media/image50.png       | Bin
 .../beaglebone/black}/media/image51.png       | Bin
 .../beaglebone/black}/media/image52.png       | Bin
 .../beaglebone/black}/media/image53.png       | Bin
 .../beaglebone/black}/media/image54.jpg       | Bin
 .../beaglebone/black}/media/image55.png       | Bin
 .../beaglebone/black}/media/image56.png       | Bin
 .../beaglebone/black}/media/image57.png       | Bin
 .../beaglebone/black}/media/image58.png       | Bin
 .../beaglebone/black}/media/image59.png       | Bin
 .../beaglebone/black}/media/image60.png       | Bin
 .../beaglebone/black}/media/image64.png       | Bin
 .../beaglebone/black}/media/image65.png       | Bin
 .../beaglebone/black}/media/image66.png       | Bin
 .../beaglebone/black}/media/image67.png       | Bin
 .../beaglebone/black}/media/image68.jpg       | Bin
 .../beaglebone/black}/media/image69.jpg       | Bin
 .../beaglebone/black}/media/image7.jpg        | Bin
 .../beaglebone/black}/media/image71.jpg       | Bin
 .../beaglebone/black}/media/image73.jpg       | Bin
 .../beaglebone/black}/media/image75.jpg       | Bin
 .../beaglebone/black}/media/image77.jpg       | Bin
 .../beaglebone/black}/media/image78.png       | Bin
 .../beaglebone/black}/media/image79.png       | Bin
 .../beaglebone/black}/media/image8.jpg        | Bin
 .../beaglebone/black}/media/image80.png       | Bin
 .../beaglebone/black}/media/image81.jpg       | Bin
 .../beaglebone/black}/media/image82.jpg       | Bin
 .../beaglebone/black}/media/image83.jpg       | Bin
 .../beaglebone/black}/media/image84.jpg       | Bin
 .../beaglebone/black}/media/image85.jpg       | Bin
 .../beaglebone/black}/media/image86.jpg       | Bin
 .../beaglebone/black}/media/image87.jpg       | Bin
 .../beaglebone/black}/media/image88.jpg       | Bin
 .../beaglebone/black}/media/image89.jpg       | Bin
 .../beaglebone/black}/media/image9.jpg        | Bin
 .../beaglebone/black}/media/image90.jpg       | Bin
 .../beaglebone/black}/media/image91.jpg       | Bin
 .../beaglebone/black}/media/image92.jpg       | Bin
 .../beaglebone/black}/media/image93.jpg       | Bin
 .../beaglebone/black}/media/image94.jpg       | Bin
 .../beaglebone/black}/media/image95.jpg       | Bin
 .../beaglebone/black}/media/image96.png       | Bin
 .../beaglebone/black}/media/image97.png       | Bin
 .../beaglebone/blue}/accessories.rst          |   0
 .../beaglebone/blue}/code.rst                 |   0
 .../beaglebone/blue}/faq.rst                  |   0
 .../beaglebone/blue}/flashing-firmware.rst    |   0
 .../beaglebone/blue}/index.rst                |   0
 .../beaglebone/blue}/ip-settings.rst          |   0
 .../blue}/media/BeagleBone_Blue_pinouts.png   | Bin
 .../blue/media/OSHW_mark_US000064.png         | Bin 0 -> 30025 bytes
 .../beaglebone/blue}/media/pinout.jpg         | Bin
 .../beaglebone/blue}/pinouts.rst              |   0
 .../beaglebone/blue}/rev-c-priorities.rst     |   0
 .../beaglebone/blue}/ssh.rst                  |   0
 .../beaglebone/blue}/tests.rst                |   0
 .../beaglebone/blue}/wifi.rst                 |   0
 boards/beaglebone/index.rst                   |  32 ++++++
 .../beagleconnect/freedom/index.rst           |  91 +--------------
 .../freedom}/media/bcf-c5-boards.jpg          | Bin
 .../beagleconnect/freedom/usage.rst           |   0
 .../beagleconnect/freedom/zephyr.rst          |   0
 boards/beagleconnect/index.rst                | 105 ++++++++++++++++++
 .../beagleconnect}/media/ProvStep1.jpg        | Bin
 .../beagleconnect}/media/ProvStep2.jpg        | Bin
 .../beagleconnect}/media/ProvStep3.jpg        | Bin
 .../beagleconnect}/media/SoftwareProp.jpg     | Bin
 .../media/bcf_block_diagram.svg               |   0
 .../beagleconnect}/media/image1.jpg           | Bin
 .../beagleconnect/overview.rst                |   0
 .../beagleconnect/story.rst                   |   3 +-
 .../capes}/cape-interface-spec.rst            |   0
 .../tables/BeagleBone cape interface spec.ods | Bin
 .../BeagleBone-Cape-header-definition.csv     |   0
 .../capes}/tables/Bone-LEDs-Overlays.csv      |   0
 .../capes}/tables/Bone-LEDs.csv               |   0
 boards/index.rst                              |  28 +++++
 .../System-Reference-Manual.wiki              |   0
 .../pocketbeagle}/ch01.rst                    |   0
 .../pocketbeagle}/ch02.rst                    |   0
 .../pocketbeagle}/ch03.rst                    |   0
 .../pocketbeagle}/ch04.rst                    |   0
 .../pocketbeagle}/ch05.rst                    |   0
 .../pocketbeagle}/ch06.rst                    |   0
 .../pocketbeagle}/ch07.rst                    |   0
 .../pocketbeagle}/ch08.rst                    |   0
 .../pocketbeagle}/ch09.rst                    |   0
 .../pocketbeagle}/ch10.rst                    |   0
 .../pocketbeagle}/ch11.rst                    |   0
 .../images/10fig-PB-SDcardinsert1.jpg         | Bin
 .../images/10fig-PB-SDcardinsert2.jpg         | Bin
 .../images/11fig-PB-microUSBattach1.jpg       | Bin
 .../images/12fig-PB-USBtoPC1.jpg              | Bin
 .../images/13fig-PB-PowerLED1.png             | Bin
 .../images/14fig-PB-UserLEDs1.png             | Bin
 .../images/15fig-PB-starthtmpage.png          | Bin
 .../images/16fig-PB-enablenetwork.png         | Bin
 .../pocketbeagle}/images/17fig-PB-cloud9.png  | Bin
 .../images/18fig-PB-cloud9exs.png             | Bin
 .../images/19fig-PB-cloud9blink.png           | Bin
 .../pocketbeagle}/images/1fig-PB-homepage.png | Bin
 .../images/20fig-PB-powerbutton.png           | Bin
 .../images/21fig-PB-walkaround.png            | Bin
 .../images/22fig-PB-blockdiagram.png          | Bin
 .../images/24fig-PB-Headerphoto.png           | Bin
 .../pocketbeagle}/images/25fig-PB-SDcard.png  | Bin
 .../pocketbeagle}/images/26fig-PB-USB.png     | Bin
 .../images/27fig-PB-JTAGpads.png              | Bin
 .../images/28fig-PB-serialdebug.png           | Bin
 .../images/40fig-PB-PRU-block.png             | Bin
 .../images/41fig-PB-Headerback.png            | Bin
 .../pocketbeagle}/images/46fig-PB-Mikro.png   | Bin
 .../images/5fig-PB-GetStarted.png             | Bin
 .../images/6fig-PB-DownloadSW.png             | Bin
 .../images/7fig-PB-Etcherdownload.png         | Bin
 .../images/8fig-PB-Etcherselectimage.png      | Bin
 .../images/9fig-PB-Etcherfinish.png           | Bin
 .../pocketbeagle}/images/Bonescript-ex.png    | Bin
 .../pocketbeagle}/images/Header-P1-sch.png    | Bin
 .../pocketbeagle}/images/Header-P2-sch.png    | Bin
 .../pocketbeagle}/images/Header-both-sch.png  | Bin
 .../pocketbeagle}/images/JTAG-pads-sch.png    | Bin
 .../images/OSD335x-color-block.jpg            | Bin
 .../images/OSHW_mark_US000083.png             | Bin 0 -> 30833 bytes
 .../pocketbeagle}/images/PB-USB-photo.png     | Bin
 .../pocketbeagle}/images/PB-block-diag2.jpg   | Bin
 .../pocketbeagle}/images/PB-block-diag3.png   | Bin
 .../pocketbeagle}/images/PB-block-diagram.png | Bin
 .../pocketbeagle}/images/PB-card-back-1.jpg   | Bin
 .../pocketbeagle}/images/PB-card-back.jpg     | Bin
 .../pocketbeagle}/images/PB-card-front-1.jpg  | Bin
 .../pocketbeagle}/images/PB-card-front.jpg    | Bin
 .../pocketbeagle}/images/PB-header-photo.png  | Bin
 .../images/PB-microSDphoto-small.jpg          | Bin
 .../pocketbeagle}/images/PB-microSDphoto.jpg  | Bin
 .../images/PB-powerLED-photo.png              | Bin
 .../pocketbeagle}/images/PB-powerbutton.png   | Bin
 .../pocketbeagle}/images/PB-tethered.png      | Bin
 .../pocketbeagle}/images/PB-tutorials.png     | Bin
 .../pocketbeagle}/images/PB-userLED-photo.png | Bin
 .../pocketbeagle}/images/PB-walkaround-2.jpg  | Bin
 .../pocketbeagle}/images/PB-walkaround-2.png  | Bin
 .../pocketbeagle}/images/PB-walkaround-3.jpg  | Bin
 .../pocketbeagle}/images/PB-walkaround.png    | Bin
 .../pocketbeagle}/images/PB1-fullPC-3.jpg     | Bin
 .../PocketBeagle-size-compare-small.jpg       | Bin
 .../images/PocketBeagle_Back_BW.jpg           | Bin
 .../images/PocketBeagle_Expansion_Headers.ods | Bin
 .../images/PocketBeagle_Front_BW-small.jpg    | Bin 0 -> 195217 bytes
 .../images/PocketBeagle_Front_BW.jpg          | Bin
 .../images/PocketBeagle_microUSB_bb.png       | Bin
 .../images/PocketBeagle_microUSB_bb.svg       |   0
 .../images/PocketBeagle_microUSB_bb1.png      | Bin
 .../images/PocketBeagle_pinout.pdf            | Bin
 .../images/PocketBeagle_pinout.png            | Bin
 .../pocketbeagle}/images/Power-button-sch.png | Bin
 .../images/SRM1_cloud9blinkPB.png             | Bin
 .../images/SRM2_cloud9blinkPB.png             | Bin
 .../images/SRM3_cloud9blinkPB.png             | Bin
 .../images/SRM4_cloud9blinkPB.png             | Bin
 .../pocketbeagle}/images/SiP-A-sch.png        | Bin
 .../pocketbeagle}/images/SiP-B-sch.png        | Bin
 .../pocketbeagle}/images/SiP-C-sch.png        | Bin
 .../pocketbeagle}/images/SiP-D-sch.png        | Bin
 .../pocketbeagle}/images/SiP-E-sch.png        | Bin
 .../pocketbeagle}/images/SiP-F-sch.png        | Bin
 .../pocketbeagle}/images/USB-sch.png          | Bin
 .../pocketbeagle}/images/User-LEDs-sch.png    | Bin
 .../images/fig-PB-Headerphoto.png             | Bin
 .../pocketbeagle}/images/green_check.png      | Bin
 .../images/mikrobus-socket-pinout.jpg         | Bin
 .../pocketbeagle_package_small_size.jpg       | Bin
 .../pocketbeagle}/images/usdconnector-sch.png | Bin
 .../pocketbeagle}/images/warning_tri.png      | Bin
 .../pocketbeagle}/index.rst                   |   0
 .../beaglebone-cookbook}/01basics/basics.rst  |   0
 .../01basics/figures/01GettingStarted.png     | Bin
 .../01basics/figures/02GettingStarted.png     | Bin
 .../01basics/figures/03GettingStarted.png     | Bin
 .../01basics/figures/04GettingStarted.png     | Bin
 .../01basics/figures/05GettingStarted.png     | Bin
 .../figures/05GettingStartedVScode.png        | Bin
 .../figures/BeagleBoard_described.jpg         | Bin
 .../01basics/figures/BeagleBoard_xM.JPG       | Bin
 .../01basics/figures/Beagle_Board_big.jpg     | Bin
 .../01basics/figures/BeaglexM_details.jpg     | Bin
 .../01basics/figures/X15_Beta_Front.jpg       | Bin
 .../01basics/figures/beaglebone-white.jpg     | Bin
 .../01basics/figures/bone-black-details.jpg   | Bin
 .../01basics/figures/bone-black.jpg           | Bin
 .../01basics/figures/bone-white.jpg           | Bin
 .../01basics/figures/cloud9.png               | Bin
 .../01basics/figures/cloud9Debugger.png       | Bin
 .../01basics/figures/cloud9withBash.png       | Bin
 .../01basics/figures/deb1.png                 | Bin
 .../01basics/figures/deb2.png                 | Bin
 .../01basics/figures/deb3.png                 | Bin
 .../01basics/figures/forkMe.png               | Bin
 .../01basics/figures/pluggingIn.jpg           | Bin
 .../01basics/figures/template.fzz             | Bin
 .../01basics/figures/template_bb.png          | Bin
 .../01basics/figures/vscBash.png              | Bin
 .../02sensors/code/GPS.js                     |   0
 .../02sensors/code/analogIn.js                |   0
 .../02sensors/code/analogIn.py                |   0
 .../02sensors/code/audio.asoundrc             |   0
 .../02sensors/code/audio.js                   |   0
 .../02sensors/code/bone_eqep2b.dts            |   0
 .../02sensors/code/encoder.js                 |   0
 .../02sensors/code/gpiod/.gitignore           |   0
 .../02sensors/code/gpiod/Makefile             |   0
 .../02sensors/code/gpiod/ReadMe.md            |   0
 .../02sensors/code/gpiod/aggregatorSetup.sh   |   0
 .../02sensors/code/gpiod/bulk_blink.py        |   0
 .../02sensors/code/gpiod/get.c                |   0
 .../02sensors/code/gpiod/get.py               |   0
 .../02sensors/code/gpiod/get.sh               |   0
 .../02sensors/code/gpiod/getset.c             |   0
 .../02sensors/code/gpiod/getset.py            |   0
 .../02sensors/code/gpiod/getsetEvent.c        |   0
 .../02sensors/code/gpiod/getsetEvent.py       |   0
 .../02sensors/code/gpiod/toggle1.c            |   0
 .../02sensors/code/gpiod/toggle1.py           |   0
 .../02sensors/code/gpiod/toggle1.sh           |   0
 .../02sensors/code/gpiod/toggle2.c            |   0
 .../02sensors/code/gpiod/toggle2.py           |   0
 .../02sensors/code/gpiod/toggleLED.c          |   0
 .../02sensors/code/gpiod/toggleLED.py         |   0
 .../02sensors/code/hc-sr04-ultraSonic.js      |   0
 .../02sensors/code/i2c-scan.js                |   0
 .../02sensors/code/i2c-test.js                |   0
 .../02sensors/code/i2cTemp.js                 |   0
 .../02sensors/code/i2cTemp.py                 |   0
 .../02sensors/code/i2ctmp101.py               |   0
 .../02sensors/code/pushbutton.js              |   0
 .../02sensors/code/pushbutton.py              |   0
 .../02sensors/code/pushbutton2.js             |   0
 .../02sensors/code/pushbuttonPullup.js        |   0
 .../02sensors/code/pushbutton_digitalRead.js  |   0
 .../02sensors/code/rotaryEncoder.js           |   0
 .../02sensors/code/rotaryEncoder.py           |   0
 .../02sensors/code/sensorTag.js               |   0
 .../02sensors/code/stop.js                    |   0
 .../02sensors/code/testHC-SR04.js             |   0
 .../02sensors/code/ultrasonicRange.js         |   0
 .../02sensors/code/ultrasonicRange.py         |   0
 .../beaglebone-cookbook}/02sensors/code/w1.js |   0
 .../beaglebone-cookbook}/02sensors/code/w1.py |   0
 .../figures/Adafruit Xbee Adapter v1.1.fzpz   | Bin
 .../figures/Adafruit Xbee Adapter v1.1.txt    |   0
 .../02sensors/figures/GPS.fzz                 | Bin
 .../02sensors/figures/GPS_bb.png              | Bin
 .../02sensors/figures/P8P9.fzz                | Bin
 .../02sensors/figures/P8P9_bb.png             | Bin
 .../02sensors/figures/analogIn.fzz            | Bin
 .../02sensors/figures/analogIn_bb.png         | Bin
 .../02sensors/figures/audioDongle.jpg         | Bin
 .../02sensors/figures/audioDongle.txt         |   0
 .../figures/black_hardware_details.png        | Bin
 .../02sensors/figures/cape-headers-analog.png | Bin
 .../02sensors/figures/cape-headers-i2c.png    | Bin
 .../02sensors/figures/cape-headers-serial.png | Bin
 .../02sensors/figures/cape-headers.png        | Bin
 .../02sensors/figures/flexResistor.fzz        | Bin
 .../02sensors/figures/flexResistor_bb.png     | Bin
 .../02sensors/figures/hc-sr04-ultraSonic.fzz  | Bin
 .../figures/hc-sr04-ultraSonic_bb.png         | Bin
 .../02sensors/figures/hc-sr04.jpg             | Bin
 .../02sensors/figures/i2cTemp.fzz             | Bin
 .../02sensors/figures/i2cTemp.js.old          |   0
 .../02sensors/figures/i2cTemp_bb.png          | Bin
 .../02sensors/figures/onewire.fzz             | Bin
 .../02sensors/figures/onewire_bb.png          | Bin
 .../02sensors/figures/onewire_setup.sh        |   0
 .../02sensors/figures/pot.fzz                 | Bin
 .../02sensors/figures/pot_schem.png           | Bin
 .../02sensors/figures/pushbutton.fzz          | Bin
 .../02sensors/figures/pushbuttonPullup.fzz    | Bin
 .../02sensors/figures/pushbuttonPullup_bb.png | Bin
 .../02sensors/figures/pushbutton_bb.png       | Bin
 .../02sensors/figures/rotaryEncoder.fzz       | Bin
 .../02sensors/figures/rotaryEncoder.js.orig   |   0
 .../02sensors/figures/rotaryEncoder_bb.png    | Bin
 .../02sensors/figures/sensorTag.jpg           | Bin
 .../figures/testSerial-2014-04-11.zip         | Bin
 .../02sensors/figures/ultrasonicRange.fzz     | Bin
 .../02sensors/figures/ultrasonicRange_bb.png  | Bin
 .../02sensors/figures/vsc-bash-tab.png        | Bin
 .../02sensors/sensors.rst                     |   0
 .../03displays/code/externLED.js              |   0
 .../03displays/code/externLED.py              |   0
 .../03displays/code/fadeLED.js                |   0
 .../03displays/code/fadeLED.py                |   0
 .../03displays/code/internLED.js              |   0
 .../03displays/code/internLED.py              |   0
 .../03displays/code/matrixLEDi2c.js           |   0
 .../03displays/code/matrixLEDi2c.py           |   0
 .../03displays/code/neoPixel.sh               |   0
 .../03displays/code/nokia5110.js              |   0
 .../03displays/code/nokia5110Test.js          |   0
 .../03displays/code/pwmTest.sh                |   0
 .../03displays/code/speak.js                  |   0
 .../03displays/displays.rst                   |   0
 .../03displays/figures/LEDstring.fzz          | Bin
 .../03displays/figures/LEDstring_bb.png       | Bin
 .../03displays/figures/P8P9.fzz               | Bin
 .../03displays/figures/P8P9_bb.png            | Bin
 .../03displays/figures/cape-headers-pwm.png   | Bin
 .../03displays/figures/externLED.fzz          | Bin
 .../03displays/figures/externLED_bb.png       | Bin
 .../03displays/figures/i2cMatrix.fzz          | Bin
 .../figures/i2cMatrixLevelTrans.fzz           | Bin
 .../figures/i2cMatrixLevelTrans_bb.png        | Bin
 .../03displays/figures/i2cMatrixOLD.fzz       | Bin
 .../03displays/figures/i2cMatrix_bb.png       | Bin
 .../03displays/figures/internLED.png          | Bin
 .../03displays/figures/matrix16x24.fzz        | Bin
 .../03displays/figures/matrix16x24_bb.png     | Bin
 .../03displays/figures/neo.fzz                | Bin
 .../03displays/figures/neoPixel.fzz           | Bin
 .../03displays/figures/neoPixelMatrix.fzz     | Bin
 .../03displays/figures/neoPixelMatrix_bb.png  | Bin
 .../03displays/figures/neoPixel_bb.png        | Bin
 .../03displays/figures/neo_bb.png             | Bin
 .../03displays/figures/nokia5110.fzz          | Bin
 .../03displays/figures/nokia5110_bb.png       | Bin
 .../03displays/figures/old/USERLEDs.png       | Bin
 .../03displays/figures/old/externalLED.png    | Bin
 .../03displays/figures/old/p8p9headers.png    | Bin
 .../03displays/figures/powerSwitch.fzz        | Bin
 .../03displays/figures/powerSwitch_bb.png     | Bin
 .../03displays/figures/ws2801.fzz             | Bin
 .../03displays/figures/ws2801_bb.png          | Bin
 .../04motors/code/bipolarStepperMotor.py      |   0
 .../04motors/code/dcMotor.js                  |   0
 .../04motors/code/dcMotor.py                  |   0
 .../04motors/code/h-bridgeMotor.js            |   0
 .../04motors/code/ring.js                     |   0
 .../04motors/code/servoBird.js                |   0
 .../04motors/code/servoEncoder.py             |   0
 .../04motors/code/servoMotor.js               |   0
 .../04motors/code/servoMotor.py               |   0
 .../04motors/code/servoSense.js               |   0
 .../04motors/code/stop.js                     |   0
 .../04motors/code/unipolarStepperMotor.js     |   0
 .../code/unipolarStepperMotor.js.diff         |   0
 .../04motors/code/unipolarStepperMotor.py     |   0
 .../code/unipolarStepperMotor.py.diff         |   0
 .../04motors/figures/H-bridge.ms13            | Bin
 .../04motors/figures/H-bridge.png             | Bin
 .../04motors/figures/bipolarStepperMotor.fzz  | Bin
 .../figures/bipolarStepperMotor_bb.png        | Bin
 .../04motors/figures/dcMotor.fzz              | Bin
 .../04motors/figures/dcMotor_bb.png           | Bin
 .../04motors/figures/h-bridgeMotor.fzz        | Bin
 .../04motors/figures/h-bridgeMotor5V.fzz      | Bin
 .../04motors/figures/h-bridgeMotor5V_bb.png   | Bin
 .../figures/h-bridgeMotorExternal.fzz         | Bin
 .../figures/h-bridgeMotorExternal_bb.png      | Bin
 .../04motors/figures/h-bridgeMotorOLD.fzz     | Bin
 .../04motors/figures/h-bridgeMotor_bb.png     | Bin
 .../04motors/figures/servoMotor.fzz           | Bin
 .../04motors/figures/servoMotor5V.fzz         | Bin
 .../04motors/figures/servoMotor5V_bb.png      | Bin
 .../04motors/figures/servoMotor_bb.png        | Bin
 .../04motors/figures/stepExternalSupply.fzz   | Bin
 .../figures/stepExternalSupply_bb.png         | Bin
 .../04motors/figures/unipolarStepperMotor.fzz | Bin
 .../figures/unipolarStepperMotor_bb.png       | Bin
 .../beaglebone-cookbook}/04motors/motors.rst  |   0
 .../05tips/code/blinkLED.c                    |   0
 .../05tips/code/blinkLED.py                   |   0
 .../05tips/code/ipMasquerade.sh               |   0
 .../05tips/code/setDNS.sh                     |   0
 .../05tips/figures/FTDIPins.png               | Bin
 .../05tips/figures/FTDIcable.jpg              | Bin
 .../05tips/figures/FTDIconnector.jpg          | Bin
 .../05tips/figures/cape-headers-digital.png   | Bin
 .../05tips/figures/gedit.png                  | Bin
 .../05tips/figures/hdmiConverter.jpg          | Bin
 .../05tips/figures/internLED.png              | Bin
 .../05tips/figures/latest-images.png          | Bin
 .../05tips/figures/leafpad.png                | Bin
 .../05tips/figures/nano.png                   | Bin
 .../05tips/figures/network.png                | Bin
 .../05tips/figures/npm.png                    | Bin
 .../05tips/figures/vi.png                     | Bin
 .../05tips/figures/vnc1.png                   | Bin
 .../05tips/figures/vnc2.png                   | Bin
 .../05tips/figures/vnc3.png                   | Bin
 .../05tips/figures/wicd.png                   | Bin
 .../05tips/figures/wicdConfig.png             | Bin
 .../05tips/figures/wicdConnected.png          | Bin
 .../05tips/figures/wicdPassword.png           | Bin
 .../05tips/figures/wicdPrefs.png              | Bin
 .../05tips/figures/wicdSecure.png             | Bin
 .../beaglebone-cookbook}/05tips/tips.rst      |   0
 .../06iot/code/GPIOserver.js                  |   0
 .../06iot/code/analogInContinuous.py          |   0
 .../06iot/code/emailTest.py                   |   0
 .../06iot/code/flask/app1.py                  |   0
 .../06iot/code/flask/app2.py                  |   0
 .../06iot/code/flask/app3.py                  |   0
 .../06iot/code/flask/app4.py                  |   0
 .../06iot/code/flask/app5.py                  |   0
 .../06iot/code/flask/flask.service            |   0
 .../06iot/code/flask/helloWorld.py            |   0
 .../06iot/code/flask/install.sh               |   0
 .../06iot/code/flask/ngrok.yml                |   0
 .../06iot/code/flask/setup.sh                 |   0
 .../06iot/code/flask/static/favicon.ico       | Bin
 .../06iot/code/flask/static/style.css         |   0
 .../06iot/code/flask/templates/index1.html    |   0
 .../06iot/code/flask/templates/index2.html    |   0
 .../06iot/code/flask/templates/index3.html    |   0
 .../06iot/code/flask/templates/index4.html    |   0
 .../06iot/code/flask/templates/index5.html    |   0
 .../06iot/code/flotDemo.html                  |   0
 .../06iot/code/flotDemo.js                    |   0
 .../06iot/code/jQueryDemo.js                  |   0
 .../06iot/code/jQueryInstall.sh               |   0
 .../06iot/code/launchPad.js                   |   0
 .../06iot/code/launchPad/launchPad.ino        |   0
 .../06iot/code/nodemailer-install.sh          |   0
 .../06iot/code/nodemailer-test.js             |   0
 .../06iot/code/noderedExample.json            |   0
 .../06iot/code/processingDemo.js              |   0
 .../beaglebone-cookbook}/06iot/code/server.js |   0
 .../beaglebone-cookbook}/06iot/code/test.html |   0
 .../06iot/code/twilio-test.js                 |   0
 .../06iot/code/twilioSetup.sh                 |   0
 .../06iot/code/twilioTest.py                  |   0
 .../06iot/code/twitterInstall.sh              |   0
 .../06iot/code/twitterKeys.sh                 |   0
 .../06iot/code/twitterPushbutton.js           |   0
 .../06iot/code/twitterSearch.js               |   0
 .../06iot/code/twitterStream.js               |   0
 .../06iot/code/twitterTimeLine.js             |   0
 .../06iot/code/twitterUpload.js               |   0
 .../06iot/code/twitter_create_tweet.py        |   0
 .../06iot/code/twitter_delete_tweet.py        |   0
 .../06iot/code/twitter_recent_search.py       |   0
 .../06iot/code/twitter_user_tweets.py         |   0
 .../06iot/code/weather.py                     |   0
 .../06iot/code/weatherSetup.sh                |   0
 .../beaglebone-cookbook}/06iot/code/xbee.js   |   0
 .../06iot/figures/GPIOWebPage.png             | Bin
 .../06iot/figures/Sine1k.png                  | Bin
 .../06iot/figures/Tri10k.png                  | Bin
 .../06iot/figures/apacheIndex.png             | Bin
 .../06iot/figures/apacheNoFiles.png           | Bin
 .../06iot/figures/apacheTest.png              | Bin
 .../06iot/figures/bone-usr3-led.png           | Bin
 .../06iot/figures/cape-headers-serial.png     | Bin
 .../06iot/figures/flaskServer.png             | Bin
 .../06iot/figures/flaskapp1.png               | Bin
 .../06iot/figures/flaskapp2.png               | Bin
 .../06iot/figures/flaskapp3.png               | Bin
 .../06iot/figures/flotDemo.png                | Bin
 .../06iot/figures/jQueryDemo.html             |   0
 .../06iot/figures/jQueryFiddle.png            | Bin
 .../06iot/figures/jsfiddleFrameworks.png      | Bin
 .../06iot/figures/launchPad.fzz               | Bin
 .../06iot/figures/launchPad_bb.png            | Bin
 .../06iot/figures/nginxTest.png               | Bin
 .../06iot/figures/node-disc-out-setup.png     | Bin
 .../06iot/figures/node-disc-out.png           | Bin
 .../06iot/figures/node-red.png                | Bin
 .../06iot/figures/node-twitter-auth.png       | Bin
 .../06iot/figures/node-twitter-auth2.png      | Bin
 .../06iot/figures/node-twitter-auth3.png      | Bin
 .../06iot/figures/node-twitter-beagle.png     | Bin
 .../06iot/figures/node-twitter-debug.png      | Bin
 .../06iot/figures/node-twitter.png            | Bin
 .../06iot/figures/nodeServer.png              | Bin
 .../06iot/figures/nodeTest.png                | Bin
 .../06iot/figures/processingDemo.html         |   0
 .../06iot/figures/xbee.fzz                    | Bin
 .../06iot/figures/xbee_bb.png                 | Bin
 .../beaglebone-cookbook}/06iot/iot.rst        |   0
 .../07kernel/code/Makefile                    |   0
 .../07kernel/code/Makefile.display            |   0
 .../07kernel/code/hello.c                     |   0
 .../07kernel/code/hello.patch                 |   0
 .../07kernel/code/helloWorld.c                |   0
 .../07kernel/figures/KernelConfig3.16.png     | Bin
 .../figures/cape-headers-digitalGPIO7.png     | Bin
 .../beaglebone-cookbook}/07kernel/kernel.rst  |   0
 .../08realtime/code/pushLED.c                 |   0
 .../08realtime/code/pushLED.js                |   0
 .../08realtime/code/pushLED.py                |   0
 .../08realtime/code/pushLEDmmap.c             |   0
 .../08realtime/code/pushLEDmmap.h             |   0
 .../08realtime/code/rt/cyclictest.png         | Bin
 .../08realtime/code/rt/hist.gen               |   0
 .../08realtime/code/rt/hist.plt               |   0
 .../08realtime/code/rt/install.sh             |   0
 .../08realtime/code/rt/setup.sh               |   0
 .../08realtime/figures/kernel_update.png      | Bin
 .../08realtime/figures/pushLED.fzz            | Bin
 .../08realtime/figures/pushLED_bb.png         | Bin
 .../08realtime/figures/pushLEDmmap.fzz        | Bin
 .../08realtime/figures/pushLEDmmap_bb.png     | Bin
 .../08realtime/figures/pushLEDpru.fzz         | Bin
 .../08realtime/figures/pushLEDpru_bb.png      | Bin
 .../08realtime/old/pruSpeak.py                |   0
 .../08realtime/old/thumb.patch                |   0
 .../08realtime/old/xenomaiConfig.png          | Bin
 .../08realtime/realtime.rst                   |   0
 .../beaglebone-cookbook}/09capes/capes.rst    |   0
 .../09capes/code/quickBot_motor_test.js       |   0
 .../09capes/figures/BBB_GPS_Cape.fzz          | Bin
 ..._pcb__cc4cbffa099dd2076377e89426324f3b.svg |   0
 .../09capes/figures/Boris128.jpg              | Bin
 .../09capes/figures/EagleLicense.png          | Bin
 .../09capes/figures/Fritzing_Inspector.png    | Bin
 .../09capes/figures/Fritzing_layers.png       | Bin
 .../figures/Google ChromeScreenSnapz160.png   | Bin
 .../figures/Google ChromeScreenSnapz161.png   | Bin
 .../figures/Google ChromeScreenSnapz162.png   | Bin
 .../figures/Google ChromeScreenSnapz163.png   | Bin
 .../figures/Google ChromeScreenSnapz164.png   | Bin
 .../figures/Google ChromeScreenSnapz166.png   | Bin
 .../figures/Google ChromeScreenSnapz167.png   | Bin
 .../figures/Google ChromeScreenSnapz168.png   | Bin
 .../figures/Google ChromeScreenSnapz169.png   | Bin
 .../figures/Google ChromeScreenSnapz170.png   | Bin
 .../figures/Google ChromeScreenSnapz171.png   | Bin
 .../figures/Google ChromeScreenSnapz172.png   | Bin
 .../figures/Google ChromeScreenSnapz173.png   | Bin
 .../figures/Google ChromeScreenSnapz174.png   | Bin
 .../figures/Google ChromeScreenSnapz175.png   | Bin
 .../beaglebone-cookbook}/09capes/figures/LCD  | Bin
 .../09capes/figures/LCD.png                   | Bin
 .../09capes/figures/LCD7Desktop.png           | Bin
 .../09capes/figures/LCD7back.png              | Bin
 .../09capes/figures/MiniDisplay-A1.jpg        | Bin
 .../09capes/figures/audioCape.png             | Bin
 .../figures/beaglebone_cape_boardoutline.png  | Bin
 .../figures/beaglebone_cape_boardoutline.svg  |   0
 .../09capes/figures/boneOutline.xml           |   0
 .../09capes/figures/breadboard.png            | Bin
 .../figures/circuithub_part_matching.png      | Bin
 .../09capes/figures/circuithub_quote.png      | Bin
 .../figures/convert-fritzing-to-eagle.sh      |   0
 .../figures/convert-fritzing-to-kicad.sh      |   0
 .../09capes/figures/eagle3.png                | Bin
 .../09capes/figures/eagle7.png                | Bin
 .../09capes/figures/fritzing1.png             | Bin
 .../09capes/figures/fritzing2.png             | Bin
 .../09capes/figures/fritzing3.png             | Bin
 .../09capes/figures/fritzing4.png             | Bin
 .../09capes/figures/miniDisplay_Boris.png     | Bin
 .../09capes/figures/miniDisplay_Cape_pcb.png  | Bin
 .../figures/miniDisplay_Cape_schem.png        | Bin
 .../09capes/figures/quickBot-cache-cache.lib  |   0
 .../09capes/figures/quickBot-eagle.sch        | Bin
 .../09capes/figures/quickBot-eaglexml.sch     |   0
 .../09capes/figures/quickBot-schematic.json   |   0
 .../09capes/figures/quickBot-upverter.PNG     | Bin
 .../09capes/figures/quickBot.fzz              | Bin
 .../09capes/figures/quickBot.upv              |   0
 .../09capes/figures/quickBot5IR.fzz           | Bin
 .../09capes/figures/quickBot_bb.png           | Bin
 .../09capes/figures/quickBot_eaglexml.png     | Bin
 .../figures/quickBot_fritzing_export.png      | Bin
 .../09capes/figures/quickBot_gerbers.zip      | Bin
 .../quickBot_gerbers/quickBot_contour.gm1     |   0
 .../quickBot_copperBottom.gbl                 |   0
 .../quickBot_gerbers/quickBot_copperTop.gtl   |   0
 .../quickBot_gerbers/quickBot_drill.txt       |   0
 .../quickBot_etch_copper_bottom.pdf           | Bin
 .../quickBot_etch_copper_bottom_mirror.pdf    | Bin
 .../quickBot_etch_copper_top.pdf              | Bin
 .../quickBot_etch_copper_top_mirror.pdf       | Bin
 .../quickBot_etch_mask_bottom.pdf             | Bin
 .../quickBot_etch_mask_bottom_mirror.pdf      | Bin
 .../quickBot_etch_mask_top.pdf                | Bin
 .../quickBot_etch_mask_top_mirror.pdf         | Bin
 .../quickBot_etch_paste_mask_bottom.pdf       | Bin
 ...quickBot_etch_paste_mask_bottom_mirror.pdf | Bin
 .../quickBot_etch_paste_mask_top.pdf          | Bin
 .../quickBot_etch_paste_mask_top_mirror.pdf   | Bin
 .../quickBot_etch_silk_bottom.pdf             | Bin
 .../quickBot_etch_silk_bottom_mirror.pdf      | Bin
 .../quickBot_etch_silk_top.pdf                | Bin
 .../quickBot_etch_silk_top_mirror.pdf         | Bin
 .../quickBot_gerbers/quickBot_maskBottom.gbs  |   0
 .../quickBot_gerbers/quickBot_maskTop.gts     |   0
 .../figures/quickBot_gerbers/quickBot_pnp.txt |   0
 .../quickBot_gerbers/quickBot_silkBottom.gbo  |   0
 .../quickBot_gerbers/quickBot_silkTop.gto     |   0
 .../09capes/figures/quickBot_kicad.sch        |   0
 .../figures/quickBot_motor_kickback.JPG       | Bin
 .../figures/quickBot_motor_test_cloud9.png    | Bin
 .../figures/quickBot_motor_test_scope.JPG     | Bin
 .../09capes/figures/quickBot_motors.jpg       | Bin
 .../09capes/figures/quickBot_on_OSHPark.png   | Bin
 .../figures/quickBot_oshpark_share.png        | Bin
 .../09capes/figures/quickBot_pcb.JPG          | Bin
 .../09capes/figures/quickBot_pcb.png          | Bin
 .../09capes/figures/quickBot_play.fzz         | Bin
 .../09capes/figures/quickBot_schem.png        | Bin
 .../09capes/figures/quickBot_schemRaw.png     | Bin
 .../09capes/figures/quickBot_schemZoom.png    | Bin
 .../09capes/figures/roboCape.fzz              | Bin
 .../09capes/figures/srm_cape_dimensions.png   | Bin
 .../09capes/figures/stacking_headers.JPG      | Bin
 .../09capes/figures/urls.txt                  |   0
 .../beaglebone-cookbook}/10parts/parts.rst    |   0
 .../beaglebone-cookbook}/index.rst            |   0
 books/index.rst                               |  22 ++++
 .../pru-cookbook}/01case/case.rst             |   0
 .../pru-cookbook}/01case/code/blink.sim       |   0
 .../pru-cookbook}/01case/code/circle.py       |   0
 .../pru-cookbook}/01case/code/e1.31-test.py   |   0
 .../01case/code/encoder_setup.sh              |   0
 .../pru-cookbook}/01case/code/fire.fseq       | Bin
 .../01case/code/logic_install.sh              |   0
 .../pru-cookbook}/01case/code/main_pru1.c     |   0
 .../pru-cookbook}/01case/code/my-config.json  |   0
 .../pru-cookbook}/01case/code/opc.py          |   0
 .../pru-cookbook}/01case/code/pru1-servo.asm  |   0
 .../pru-cookbook}/01case/code/servo-test.c    |   0
 .../pru-cookbook}/01case/code/servos_setup.sh |   0
 .../pru-cookbook}/01case/figures/LEDblink.png | Bin
 .../01case/figures/beaglelogic_capture.png    | Bin
 .../pru-cookbook}/01case/figures/blue.png     | Bin
 .../01case/figures/fpp_channel_inputs.png     | Bin
 .../01case/figures/fpp_channel_outputs.png    | Bin
 .../figures/fpp_channel_outputs_menu.png      | Bin
 .../figures/fpp_channel_outputs_strings.png   | Bin
 .../01case/figures/fpp_display_testing.png    | Bin
 .../01case/figures/fpp_display_testing2.png   | Bin
 .../figures/fpp_display_testing_menu.png      | Bin
 .../figures/fpp_display_testing_menu2.png     | Bin
 .../01case/figures/fpp_file_manager.png       | Bin
 .../01case/figures/fpp_inputs_setup.png       | Bin
 .../01case/figures/fpp_inputs_setup2.png      | Bin
 .../01case/figures/fpp_mode_bridge.png        | Bin
 .../01case/figures/fpp_playlist.png           | Bin
 .../01case/figures/fpp_playlist_status.png    | Bin
 .../01case/figures/fpp_program_control.png    | Bin
 .../01case/figures/fpp_status.png             | Bin
 .../01case/figures/ledmatrix.jpg              | Bin
 .../01case/figures/pocketscroller.jpg         | Bin
 .../01case/figures/xlights_layout.png         | Bin
 .../01case/figures/xlights_layout_details.png | Bin
 .../01case/figures/xlights_seq_drag.png       | Bin
 .../01case/figures/xlights_seq_new.png        | Bin
 .../01case/figures/xlights_setup.png          | Bin
 .../01case/figures/xlights_setup_done.png     | Bin
 .../01case/figures/xlights_setup_e1_31.png    | Bin
 .../figures/xlights_setup_e1_31.png.orig      | Bin
 .../01case/figures/xlights_test.png           | Bin
 .../01case/figures/xlights_twinkle.jpg        | Bin
 .../pru-cookbook}/02start/code/Makefile       |   0
 .../pru-cookbook}/02start/code/ai.notes       |   0
 .../pru-cookbook}/02start/code/hello.pru0.c   |   0
 .../pru-cookbook}/02start/code/hello.pru1_1.c |   0
 .../pru-cookbook}/02start/code/hello2.pru0.c  |   0
 .../pru-cookbook}/02start/code/hello2.pru1.c  |   0
 .../02start/code/hello2.pru1_0.c              |   0
 .../02start/code/hello2.pru1_1.c              |   0
 .../02start/code/hello2.pru2_0.c              |   0
 .../02start/code/hello2.pru2_1.c              |   0
 .../pru-cookbook}/02start/code/setup.sh       |   0
 .../pru-cookbook}/02start/code/setup2.sh      |   0
 .../figures/BB_AI_BeautyAngle_800px.jpg       | Bin
 .../PocketBeagle-size-compare-small.jpg       | Bin
 .../02start/figures/beagle-blue.png           | Bin
 .../pru-cookbook}/02start/figures/c9.png      | Bin
 .../02start/figures/c9ShowHome.png            | Bin
 .../pru-cookbook}/02start/figures/edumip.png  | Bin
 .../pru-cookbook}/02start/figures/etcher.png  | Bin
 .../02start/figures/latest-images.png         | Bin
 .../figures/product_detail_black_sm.jpg       | Bin
 .../pru-cookbook}/02start/start.rst           |   0
 .../pru-cookbook}/03details/code/Makefile     |   0
 .../03details/code/encoder_setup.sh           |   0
 .../03details/code/gpio_setup.sh              |   0
 .../03details/code/servos_setup.sh            |   0
 .../pru-cookbook}/03details/details.rst       |   0
 .../pru-cookbook}/04debug/code/Makefile       |   0
 .../pru-cookbook}/04debug/code/copyright.c    |   0
 .../04debug/code/resource_table_empty.h       |   0
 .../pru-cookbook}/04debug/code/uart1.pru0.c   |   0
 .../pru-cookbook}/04debug/code/uart1.pru1_0.c |   0
 .../pru-cookbook}/04debug/code/uart2.pru0.c   |   0
 .../pru-cookbook}/04debug/code/uart2.pru1_0.c |   0
 .../pru-cookbook}/04debug/code/uart_setup.sh  |   0
 .../pru-cookbook}/04debug/debug.rst           |   0
 .../04debug/figures/FTDIcable.jpg             | Bin
 .../04debug/figures/FTDIconnector.jpg         | Bin
 .../04debug/figures/FTDIhookup.fzz            | Bin
 .../04debug/figures/FTDIhookup_bb.png         | Bin
 .../pru-cookbook}/04debug/figures/LED.fzz     | Bin
 .../pru-cookbook}/04debug/figures/LED_bb.png  | Bin
 .../04debug/figures/uart1.pru0.png            | Bin
 .../04debug/figures/uart2.pru0.png            | Bin
 .../pru-cookbook}/05blocks/blocks.rst         |   0
 .../pru-cookbook}/05blocks/code/Makefile      |   0
 .../pru-cookbook}/05blocks/code/copyright.c   |   0
 .../pru-cookbook}/05blocks/code/input.pru0.c  |   0
 .../05blocks/code/input_setup.sh              |   0
 .../05blocks/code/module/.gitignore           |   0
 .../05blocks/code/module/Makefile             |   0
 .../05blocks/code/module/install.sh           |   0
 .../code/module/rpmsg_client_sample.c         |   0
 .../05blocks/code/module/rpmsg_pru.c          |   0
 .../05blocks/code/module/setup.sh             |   0
 .../pru-cookbook}/05blocks/code/neo-colors.py |   0
 .../05blocks/code/neo-rainbow.py              |   0
 .../pru-cookbook}/05blocks/code/neo1.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/neo1.pru1_1.c |   0
 .../pru-cookbook}/05blocks/code/neo2.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/neo2.pru1_1.c |   0
 .../pru-cookbook}/05blocks/code/neo3.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/neo3.pru1_1.c |   0
 .../pru-cookbook}/05blocks/code/neo4.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/neo4.pru1_1.c |   0
 .../pru-cookbook}/05blocks/code/neo_setup.sh  |   0
 .../pru-cookbook}/05blocks/code/pwm-test.c    |   0
 .../pru-cookbook}/05blocks/code/pwm1.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/pwm1.pru1_1.c |   0
 .../pru-cookbook}/05blocks/code/pwm2.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/pwm3.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/pwm4.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/pwm5.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/pwm6.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/pwm7-test.c   |   0
 .../pru-cookbook}/05blocks/code/pwm7.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/pwm7.pru1.c   |   0
 .../pru-cookbook}/05blocks/code/pwm7_setup.sh |   0
 .../pru-cookbook}/05blocks/code/pwm8.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/pwm8.pru1.c   |   0
 .../pru-cookbook}/05blocks/code/pwm_setup.sh  |   0
 .../05blocks/code/resource_table_empty.h      |   0
 .../pru-cookbook}/05blocks/code/rgb1.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/rgb2.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/rgb3.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/rgb4.pru0.c   |   0
 .../pru-cookbook}/05blocks/code/rgb_black.h   |   0
 .../pru-cookbook}/05blocks/code/rgb_pocket.h  |   0
 .../pru-cookbook}/05blocks/code/rgb_python.py |   0
 .../05blocks/code/rgb_python_setup.sh         |   0
 .../pru-cookbook}/05blocks/code/rgb_setup.sh  |   0
 .../05blocks/code/rgb_white.pru0.c            |   0
 .../pru-cookbook}/05blocks/code/shared.pru0.c |   0
 .../05blocks/code/shared_setup.sh             |   0
 .../pru-cookbook}/05blocks/code/sine.map      |   0
 .../pru-cookbook}/05blocks/code/sine.pru0.c   |   0
 .../05blocks/code/write_init_pins.sh          |   0
 .../05blocks/figures/blockDiagram.png         | Bin
 .../05blocks/figures/blocks_plots.asv         |   0
 .../05blocks/figures/blocks_plots.m           |   0
 .../pru-cookbook}/05blocks/figures/filter.fzz | Bin
 .../05blocks/figures/filter_bb.png            | Bin
 .../05blocks/figures/matrix_j1.jpg            | Bin
 .../pru-cookbook}/05blocks/figures/neo.fzz    | Bin
 .../pru-cookbook}/05blocks/figures/neo_bb.png | Bin
 .../05blocks/figures/neo_data_seq.png         | Bin
 .../05blocks/figures/neo_scope.png            | Bin
 .../05blocks/figures/neo_sequence.png         | Bin
 .../pru-cookbook}/05blocks/figures/pwm1.png   | Bin
 .../pru-cookbook}/05blocks/figures/pwm2.png   | Bin
 .../pru-cookbook}/05blocks/figures/pwm3.png   | Bin
 .../pru-cookbook}/05blocks/figures/pwm4.png   | Bin
 .../05blocks/figures/pwm5_no_loop.png         | Bin
 .../05blocks/figures/pwm5_zoomed.png          | Bin
 .../05blocks/figures/pwm6_synced.png          | Bin
 .../figures/pwm7_two_prus_running.png         | Bin
 .../figures/pwm7_two_prus_stopped.png         | Bin
 .../05blocks/figures/pwm8_prus_sycned.png     | Bin
 .../05blocks/figures/rgb_fpp.png              | Bin
 .../05blocks/figures/rgb_pru.jpg              | Bin
 .../05blocks/figures/rgb_python.jpg           | Bin
 .../05blocks/figures/rgb_waveforms.png        | Bin
 .../05blocks/figures/ring_around.mp4          | Bin
 .../05blocks/figures/sawhighercutoff.png      | Bin
 .../05blocks/figures/sawlowercutoff.png       | Bin
 .../05blocks/figures/sawscope.png             | Bin
 .../05blocks/figures/sawtoothsampled.png      | Bin
 .../05blocks/figures/sawtoothsmooth.png       | Bin
 .../05blocks/figures/sawunfiltered.png        | Bin
 .../pru-cookbook}/05blocks/figures/sine.png   | Bin
 .../05blocks/figures/triangle.png             | Bin
 .../pru-cookbook}/06io/code/Makefile          |   0
 .../pru-cookbook}/06io/code/gpio.pru0.c       |   0
 .../pru-cookbook}/06io/code/setup.sh          |   0
 .../pru-cookbook}/06io/figures/gpio0delay.png | Bin
 .../pru-cookbook}/06io/figures/jitter.png     | Bin
 .../06io/figures/pruIntegration.png           | Bin
 .../pru-cookbook}/06io/io.html                |   0
 .../pru-cookbook}/06io/io.rst                 |   0
 .../pru-cookbook}/07more/code/Makefile        |   0
 .../pru-cookbook}/07more/code/copyright.c     |   0
 .../pru-cookbook}/07more/code/cycle.pru0.c    |   0
 .../pru-cookbook}/07more/code/cycle.pru0.lst  |   0
 .../07more/code/delay-test.pru0.c             |   0
 .../07more/code/delay-test2.pru0.c            |   0
 .../pru-cookbook}/07more/code/delay.pru0.asm  |   0
 .../pru-cookbook}/07more/code/delay2.pru0.asm |   0
 .../pru-cookbook}/07more/code/logic.c         |   0
 .../pru-cookbook}/07more/code/logic_setup.sh  |   0
 .../07more/code/resource_table_pru0.h         |   0
 .../pru-cookbook}/07more/code/setup.sh        |   0
 .../pru-cookbook}/07more/code/xin.pru1.c      |   0
 .../07more/code/xout-cycle.pru0.c             |   0
 .../pru-cookbook}/07more/code/xout.pru0.c     |   0
 .../pru-cookbook}/07more/code/xout_run.sh     |   0
 .../07more/figures/my_delay_cycles.png        | Bin
 .../pru-cookbook}/07more/more.rst             |   0
 .../pru-cookbook}/08ai/ai.rst                 |   0
 .../pru-cookbook}/08ai/code/Makefile          |   0
 .../pru-cookbook}/08ai/code/pwm1.pru2_1.c     |   0
 .../pru-cookbook}/common/Makefile             |   0
 .../pru-cookbook}/common/README.md            |   0
 .../pru-cookbook}/common/config-pin.sh        |   0
 .../pru-cookbook}/common/init_pins_empty.h    |   0
 .../pru-cookbook}/common/prugpio.h            |   0
 .../pru-cookbook}/common/resource_table_0.h   |   0
 .../pru-cookbook}/common/resource_table_1.h   |   0
 .../common/resource_table_empty.h             |   0
 .../pru-cookbook}/common/write_init_pins.sh   |   0
 .../pru-cookbook}/index.rst                   |   0
 .../pru-cookbook}/projects.rst                |   0
 index-tex.rst                                 |  14 +--
 index.rst                                     |  13 +--
 .../contribution}/contribute.rst              |   0
 .../contribution}/git-usage.rst               |   0
 .../contribution}/index.rst                   |   0
 .../support}/getting-started.rst              |   0
 {support => intro/support}/images/88x31.png   | Bin
 .../support}/images/bad-to-the-bone.jpg       | Bin
 .../support}/images/beagle_logo_326x60.png    | Bin
 .../support}/images/beaglebone-cookbook.jpg   | Bin
 {support => intro/support}/images/bone101.png | Bin
 .../support}/images/btn_step1.gif             | Bin
 .../support}/images/btn_step2.gif             | Bin
 .../support}/images/btn_step3.gif             | Bin
 .../support}/images/download-etcher.png       | Bin
 .../support}/images/download-latestimage.png  | Bin
 .../support}/images/embedded-linux-primer.jpg | Bin
 .../support}/images/exploring-beaglebone.jpg  | Bin
 .../support}/images/icon_facebook.png         | Bin
 .../support}/images/icon_linkedin.png         | Bin
 .../support}/images/icon_twitter.png          | Bin
 .../support}/images/install-etcher.png        | Bin
 .../support}/images/write-latestimage.png     | Bin
 .../support}/images/youTube-icon.png          | Bin
 .../overview.rst => intro/support/index.rst   |  35 ++++--
 projects/index.rst                            |  10 ++
 {simppru => projects/simppru}/basics.rst      |   0
 {simppru => projects/simppru}/build.rst       |   0
 .../simppru}/examples/button_click_rpmsg.rst  |   0
 .../simppru}/examples/delay.rst               |   0
 .../simppru}/examples/digital_read.rst        |   0
 .../simppru}/examples/digital_write.rst       |   0
 .../examples/hcsr04_example_rpmsg.rst         |   0
 .../simppru}/examples/hcsr04_sensor.rst       |   0
 .../images/hcsr04_beagle_bone_black.png       | Bin
 .../examples/images/hcsr04_pocket_beagle.png  | Bin
 .../examples/images/led_beagle_bone_black.png | Bin
 .../images/led_button_beagle_bone_black.png   | Bin
 .../images/led_button_pocket_beagle.png       | Bin
 .../examples/images/led_pocket_beagle.png     | Bin
 .../simppru}/examples/images/simpPRU.png      | Bin
 .../simppru}/examples/index.rst               |   0
 .../simppru}/examples/led_blink.rst           |   0
 .../simppru}/examples/led_blink_button.rst    |   0
 .../simppru}/examples/led_blink_counter.rst   |   0
 .../simppru}/examples/led_blink_for.rst       |   0
 .../simppru}/examples/led_blink_while.rst     |   0
 .../simppru}/examples/read_counter.rst        |   0
 .../simppru}/examples/rpmsg_example.rst       |   0
 .../examples/rpmsg_pru_calculator.rst         |   0
 .../simppru}/images/main_screen.png           | Bin
 .../simppru}/images/receive_counter.png       | Bin
 .../simppru}/images/receive_counter_2.png     | Bin
 .../simppru}/images/receive_screen.png        | Bin
 .../simppru}/images/receive_screen_2.png      | Bin
 .../simppru}/images/select_pru_id_screen.png  | Bin
 .../simppru}/images/send_screen.png           | Bin
 .../simppru}/images/simpPRU.png               | Bin
 .../simppru}/images/stop_screen.png           | Bin
 {simppru => projects/simppru}/index.rst       |   0
 {simppru => projects/simppru}/install.rst     |   0
 {simppru => projects/simppru}/io.rst          |   0
 {simppru => projects/simppru}/language.rst    |   0
 .../simppru}/usage-simppru-console.rst        |   0
 .../simppru}/usage-simppru.rst                |   0
 support/index.rst                             |  13 ---
 1103 files changed, 247 insertions(+), 137 deletions(-)
 delete mode 100644 beagleconnect/ch02.rst
 create mode 100644 boards/beagleboard/index.rst
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch01.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch02.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch03.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch04.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch05.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch06.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch07.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch08.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch09.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch10.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/ch11.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/configuration_file.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/data_flows.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/datasheet.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/docker_environment.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/getting_started.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/TDA4VM-SK-SD-Boot.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/balena_etcher.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/board_connections_bbai_64.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/board_connections_tda4vm_evm.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/board_connections_tda4vm_sk.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/boot_wallpaper.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/csi_camera_connection.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edge_ai_demos.drawio (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edge_ai_demos_CPP_Demo_Data_Flow.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edge_ai_demos_Python_Demo_Data_Flow.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-image-classify.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-multi-input-multi-infer.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-object-detect.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-overview-image1.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-overview-image2.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-overview-image3.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-sdk-components.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-sdk-feature.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-sdk-overview.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-sdk-programming-env.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-sdk-roadmap.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai-single-input-multi-infer.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai_human_pose.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai_image_classification.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai_imx390_camera_source.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai_object_detection.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai_ov5640_camera_source.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai_rpi_camera_source.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai_rtsp_source.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai_semantic_segmentation.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai_video_output.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/edgeai_video_source.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/favicon.ico (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/j721esk-ap.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/model_downloader.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/open-src-components.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/perf_plots.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/rpi_camera_connection.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/vs_code.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/images/wifi-oob-iw-command.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/index.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/inference_models.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/performance_visualizer.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/running_advance_demos.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/running_simple_demos.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/sdk_components.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/static/theme_overrides.css (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/test_report.rst (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/__init__.py (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/breadcrumbs.html (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/footer.html (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/layout.html (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/layout_old.html (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/search.html (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/searchbox.html (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/css/badge_only.css (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/css/theme.css (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/FontAwesome.otf (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Inconsolata-Bold.ttf (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Inconsolata-Regular.ttf (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Lato-Bold.ttf (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Lato-Regular.ttf (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/RobotoSlab-Bold.ttf (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/RobotoSlab-Regular.ttf (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.eot (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.svg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.ttf (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.woff (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/img/ti_logo.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/js/modernizr.min.js (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/js/theme.js (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/theme.conf (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/edge_ai_apps/themes/sphinx_rtd_theme_ti/versions.html (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/45-back-heatsink.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/45-back.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/45-front.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/Desktop-Configuration.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/LED-Pattern.png (100%)
 create mode 100644 boards/beaglebone/ai-64/images/OSHW_mark_US002120.png
 create mode 100644 boards/beaglebone/ai-64/images/OSHW_mark_US002120.svg
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/Power-LED.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/USB-Connection.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/USB-Tethering.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/back-heatsink.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/back.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/by-sa.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/BBAI-64-to-monitor-cable.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/XFCE-Desktop.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/barrel-jack.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/barrel-jack.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/bbai64-in-box.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/desktop-configuration.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/display-adaptors.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/display-adaptors.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/ethernet-cable.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/ethernet-cable.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/led-pattern.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/leds.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/miniDP-connector.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/miniDP-connector.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/monitor-cable.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/mouse-keyboard.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/mouse-keyboard.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/ports.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/power-led.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/usb-a-connection.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/usb-c-connection.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/usb-tethering.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch03/xfce-desktop.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch04/components.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch04/components.svg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch05/board-block-diagram.svg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch05/soc-block-diagram.svg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch06/TPS6594-Q1.svg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch06/pmic-a.svg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch06/pmic-b.svg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch06/power.svg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch08/berg-stip-insertion.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch08/can-cape.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch08/cape-dimension.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch08/cape-placement.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch08/eeprom-write-protect.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch08/eeprom.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch08/expansion-connector.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch08/proto.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch08/single-expansion-connector.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch08/stealing-expansion-connector.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch09/board-dimensions.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch09/bottom-silkscreen.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch09/top-silkscreen.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch10/45-back-heatsink.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch10/45-back.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch10/45-front-hires.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch10/45-front.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch10/back-heatsink.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch10/back.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch10/feature.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/ch10/front.jpg (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/feature.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/images/front.png (100%)
 rename {beaglebone-ai-64 => boards/beaglebone/ai-64}/index.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/System-Reference-Manual.asciidoc (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch01.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch02.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch03.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch04.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch05.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch06.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch07.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch08.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch09.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch10.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/ch11.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/images/BBvsBBB.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/images/COMP_A5A.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/images/CONN_REVA5A.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/images/Features.jpg (100%)
 create mode 100644 boards/beaglebone/black/images/OSHW_mark_US000236.png
 rename {beaglebone-black => boards/beaglebone/black}/images/REV_A5A.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/index.rst (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image1.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image10.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image11.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image12.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image13.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image14.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image16.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image17.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image18.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image2.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image24.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image25.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image26.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image27.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image28.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image29.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image30.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image31.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image37.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image38.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image39.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image40.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image41.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image42.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image43.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image44.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image45.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image46.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image47.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image48.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image49.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image50.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image51.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image52.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image53.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image54.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image55.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image56.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image57.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image58.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image59.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image60.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image64.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image65.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image66.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image67.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image68.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image69.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image7.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image71.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image73.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image75.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image77.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image78.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image79.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image8.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image80.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image81.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image82.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image83.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image84.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image85.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image86.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image87.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image88.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image89.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image9.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image90.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image91.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image92.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image93.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image94.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image95.jpg (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image96.png (100%)
 rename {beaglebone-black => boards/beaglebone/black}/media/image97.png (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/accessories.rst (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/code.rst (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/faq.rst (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/flashing-firmware.rst (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/index.rst (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/ip-settings.rst (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/media/BeagleBone_Blue_pinouts.png (100%)
 create mode 100644 boards/beaglebone/blue/media/OSHW_mark_US000064.png
 rename {beaglebone-blue => boards/beaglebone/blue}/media/pinout.jpg (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/pinouts.rst (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/rev-c-priorities.rst (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/ssh.rst (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/tests.rst (100%)
 rename {beaglebone-blue => boards/beaglebone/blue}/wifi.rst (100%)
 create mode 100644 boards/beaglebone/index.rst
 rename beagleconnect/ch01.rst => boards/beagleconnect/freedom/index.rst (66%)
 rename {beagleconnect => boards/beagleconnect/freedom}/media/bcf-c5-boards.jpg (100%)
 rename beagleconnect/ch03.rst => boards/beagleconnect/freedom/usage.rst (100%)
 rename beagleconnect/ch04.rst => boards/beagleconnect/freedom/zephyr.rst (100%)
 create mode 100644 boards/beagleconnect/index.rst
 rename {beagleconnect => boards/beagleconnect}/media/ProvStep1.jpg (100%)
 rename {beagleconnect => boards/beagleconnect}/media/ProvStep2.jpg (100%)
 rename {beagleconnect => boards/beagleconnect}/media/ProvStep3.jpg (100%)
 rename {beagleconnect => boards/beagleconnect}/media/SoftwareProp.jpg (100%)
 rename {beagleconnect => boards/beagleconnect}/media/bcf_block_diagram.svg (100%)
 rename {beagleconnect => boards/beagleconnect}/media/image1.jpg (100%)
 rename beagleconnect/ch05.rst => boards/beagleconnect/overview.rst (100%)
 rename beagleconnect/index.rst => boards/beagleconnect/story.rst (98%)
 rename {support => boards/capes}/cape-interface-spec.rst (100%)
 rename {support => boards/capes}/tables/BeagleBone cape interface spec.ods (100%)
 rename {support => boards/capes}/tables/BeagleBone-Cape-header-definition.csv (100%)
 rename {support => boards/capes}/tables/Bone-LEDs-Overlays.csv (100%)
 rename {support => boards/capes}/tables/Bone-LEDs.csv (100%)
 create mode 100644 boards/index.rst
 rename {pocketbeagle => boards/pocketbeagle}/System-Reference-Manual.wiki (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch01.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch02.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch03.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch04.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch05.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch06.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch07.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch08.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch09.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch10.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/ch11.rst (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/10fig-PB-SDcardinsert1.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/10fig-PB-SDcardinsert2.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/11fig-PB-microUSBattach1.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/12fig-PB-USBtoPC1.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/13fig-PB-PowerLED1.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/14fig-PB-UserLEDs1.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/15fig-PB-starthtmpage.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/16fig-PB-enablenetwork.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/17fig-PB-cloud9.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/18fig-PB-cloud9exs.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/19fig-PB-cloud9blink.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/1fig-PB-homepage.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/20fig-PB-powerbutton.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/21fig-PB-walkaround.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/22fig-PB-blockdiagram.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/24fig-PB-Headerphoto.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/25fig-PB-SDcard.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/26fig-PB-USB.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/27fig-PB-JTAGpads.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/28fig-PB-serialdebug.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/40fig-PB-PRU-block.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/41fig-PB-Headerback.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/46fig-PB-Mikro.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/5fig-PB-GetStarted.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/6fig-PB-DownloadSW.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/7fig-PB-Etcherdownload.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/8fig-PB-Etcherselectimage.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/9fig-PB-Etcherfinish.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/Bonescript-ex.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/Header-P1-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/Header-P2-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/Header-both-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/JTAG-pads-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/OSD335x-color-block.jpg (100%)
 create mode 100644 boards/pocketbeagle/images/OSHW_mark_US000083.png
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-USB-photo.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-block-diag2.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-block-diag3.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-block-diagram.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-card-back-1.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-card-back.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-card-front-1.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-card-front.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-header-photo.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-microSDphoto-small.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-microSDphoto.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-powerLED-photo.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-powerbutton.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-tethered.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-tutorials.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-userLED-photo.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-walkaround-2.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-walkaround-2.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-walkaround-3.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB-walkaround.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PB1-fullPC-3.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PocketBeagle-size-compare-small.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PocketBeagle_Back_BW.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PocketBeagle_Expansion_Headers.ods (100%)
 create mode 100644 boards/pocketbeagle/images/PocketBeagle_Front_BW-small.jpg
 rename {pocketbeagle => boards/pocketbeagle}/images/PocketBeagle_Front_BW.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PocketBeagle_microUSB_bb.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PocketBeagle_microUSB_bb.svg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PocketBeagle_microUSB_bb1.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PocketBeagle_pinout.pdf (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/PocketBeagle_pinout.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/Power-button-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/SRM1_cloud9blinkPB.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/SRM2_cloud9blinkPB.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/SRM3_cloud9blinkPB.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/SRM4_cloud9blinkPB.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/SiP-A-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/SiP-B-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/SiP-C-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/SiP-D-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/SiP-E-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/SiP-F-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/USB-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/User-LEDs-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/fig-PB-Headerphoto.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/green_check.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/mikrobus-socket-pinout.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/pocketbeagle_package_small_size.jpg (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/usdconnector-sch.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/images/warning_tri.png (100%)
 rename {pocketbeagle => boards/pocketbeagle}/index.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/basics.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/01GettingStarted.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/02GettingStarted.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/03GettingStarted.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/04GettingStarted.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/05GettingStarted.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/05GettingStartedVScode.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/BeagleBoard_described.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/BeagleBoard_xM.JPG (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/Beagle_Board_big.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/BeaglexM_details.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/X15_Beta_Front.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/beaglebone-white.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/bone-black-details.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/bone-black.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/bone-white.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/cloud9.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/cloud9Debugger.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/cloud9withBash.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/deb1.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/deb2.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/deb3.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/forkMe.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/pluggingIn.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/template.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/template_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/01basics/figures/vscBash.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/GPS.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/analogIn.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/analogIn.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/audio.asoundrc (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/audio.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/bone_eqep2b.dts (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/encoder.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/.gitignore (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/Makefile (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/ReadMe.md (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/aggregatorSetup.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/bulk_blink.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/get.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/get.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/get.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/getset.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/getset.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/getsetEvent.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/getsetEvent.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/toggle1.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/toggle1.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/toggle1.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/toggle2.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/toggle2.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/toggleLED.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/gpiod/toggleLED.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/hc-sr04-ultraSonic.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/i2c-scan.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/i2c-test.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/i2cTemp.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/i2cTemp.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/i2ctmp101.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/pushbutton.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/pushbutton.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/pushbutton2.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/pushbuttonPullup.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/pushbutton_digitalRead.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/rotaryEncoder.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/rotaryEncoder.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/sensorTag.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/stop.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/testHC-SR04.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/ultrasonicRange.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/ultrasonicRange.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/w1.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/code/w1.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/Adafruit Xbee Adapter v1.1.fzpz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/Adafruit Xbee Adapter v1.1.txt (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/GPS.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/GPS_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/P8P9.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/P8P9_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/analogIn.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/analogIn_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/audioDongle.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/audioDongle.txt (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/black_hardware_details.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/cape-headers-analog.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/cape-headers-i2c.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/cape-headers-serial.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/cape-headers.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/flexResistor.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/flexResistor_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/hc-sr04-ultraSonic.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/hc-sr04-ultraSonic_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/hc-sr04.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/i2cTemp.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/i2cTemp.js.old (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/i2cTemp_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/onewire.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/onewire_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/onewire_setup.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/pot.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/pot_schem.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/pushbutton.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/pushbuttonPullup.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/pushbuttonPullup_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/pushbutton_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/rotaryEncoder.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/rotaryEncoder.js.orig (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/rotaryEncoder_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/sensorTag.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/testSerial-2014-04-11.zip (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/ultrasonicRange.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/ultrasonicRange_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/figures/vsc-bash-tab.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/02sensors/sensors.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/externLED.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/externLED.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/fadeLED.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/fadeLED.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/internLED.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/internLED.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/matrixLEDi2c.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/matrixLEDi2c.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/neoPixel.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/nokia5110.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/nokia5110Test.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/pwmTest.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/code/speak.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/displays.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/LEDstring.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/LEDstring_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/P8P9.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/P8P9_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/cape-headers-pwm.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/externLED.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/externLED_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/i2cMatrix.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/i2cMatrixLevelTrans.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/i2cMatrixLevelTrans_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/i2cMatrixOLD.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/i2cMatrix_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/internLED.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/matrix16x24.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/matrix16x24_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/neo.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/neoPixel.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/neoPixelMatrix.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/neoPixelMatrix_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/neoPixel_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/neo_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/nokia5110.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/nokia5110_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/old/USERLEDs.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/old/externalLED.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/old/p8p9headers.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/powerSwitch.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/powerSwitch_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/ws2801.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/03displays/figures/ws2801_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/bipolarStepperMotor.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/dcMotor.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/dcMotor.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/h-bridgeMotor.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/ring.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/servoBird.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/servoEncoder.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/servoMotor.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/servoMotor.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/servoSense.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/stop.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/unipolarStepperMotor.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/unipolarStepperMotor.js.diff (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/unipolarStepperMotor.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/code/unipolarStepperMotor.py.diff (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/H-bridge.ms13 (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/H-bridge.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/bipolarStepperMotor.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/bipolarStepperMotor_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/dcMotor.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/dcMotor_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/h-bridgeMotor.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/h-bridgeMotor5V.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/h-bridgeMotor5V_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/h-bridgeMotorExternal.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/h-bridgeMotorExternal_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/h-bridgeMotorOLD.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/h-bridgeMotor_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/servoMotor.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/servoMotor5V.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/servoMotor5V_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/servoMotor_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/stepExternalSupply.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/stepExternalSupply_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/unipolarStepperMotor.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/figures/unipolarStepperMotor_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/04motors/motors.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/code/blinkLED.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/code/blinkLED.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/code/ipMasquerade.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/code/setDNS.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/FTDIPins.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/FTDIcable.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/FTDIconnector.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/cape-headers-digital.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/gedit.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/hdmiConverter.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/internLED.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/latest-images.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/leafpad.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/nano.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/network.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/npm.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/vi.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/vnc1.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/vnc2.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/vnc3.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/wicd.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/wicdConfig.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/wicdConnected.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/wicdPassword.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/wicdPrefs.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/figures/wicdSecure.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/05tips/tips.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/GPIOserver.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/analogInContinuous.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/emailTest.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/app1.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/app2.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/app3.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/app4.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/app5.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/flask.service (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/helloWorld.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/install.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/ngrok.yml (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/setup.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/static/favicon.ico (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/static/style.css (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/templates/index1.html (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/templates/index2.html (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/templates/index3.html (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/templates/index4.html (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flask/templates/index5.html (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flotDemo.html (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/flotDemo.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/jQueryDemo.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/jQueryInstall.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/launchPad.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/launchPad/launchPad.ino (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/nodemailer-install.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/nodemailer-test.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/noderedExample.json (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/processingDemo.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/server.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/test.html (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twilio-test.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twilioSetup.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twilioTest.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitterInstall.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitterKeys.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitterPushbutton.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitterSearch.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitterStream.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitterTimeLine.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitterUpload.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitter_create_tweet.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitter_delete_tweet.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitter_recent_search.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/twitter_user_tweets.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/weather.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/weatherSetup.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/code/xbee.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/GPIOWebPage.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/Sine1k.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/Tri10k.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/apacheIndex.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/apacheNoFiles.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/apacheTest.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/bone-usr3-led.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/cape-headers-serial.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/flaskServer.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/flaskapp1.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/flaskapp2.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/flaskapp3.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/flotDemo.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/jQueryDemo.html (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/jQueryFiddle.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/jsfiddleFrameworks.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/launchPad.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/launchPad_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/nginxTest.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/node-disc-out-setup.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/node-disc-out.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/node-red.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/node-twitter-auth.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/node-twitter-auth2.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/node-twitter-auth3.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/node-twitter-beagle.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/node-twitter-debug.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/node-twitter.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/nodeServer.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/nodeTest.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/processingDemo.html (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/xbee.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/figures/xbee_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/06iot/iot.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/07kernel/code/Makefile (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/07kernel/code/Makefile.display (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/07kernel/code/hello.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/07kernel/code/hello.patch (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/07kernel/code/helloWorld.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/07kernel/figures/KernelConfig3.16.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/07kernel/figures/cape-headers-digitalGPIO7.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/07kernel/kernel.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/code/pushLED.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/code/pushLED.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/code/pushLED.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/code/pushLEDmmap.c (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/code/pushLEDmmap.h (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/code/rt/cyclictest.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/code/rt/hist.gen (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/code/rt/hist.plt (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/code/rt/install.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/code/rt/setup.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/figures/kernel_update.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/figures/pushLED.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/figures/pushLED_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/figures/pushLEDmmap.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/figures/pushLEDmmap_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/figures/pushLEDpru.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/figures/pushLEDpru_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/old/pruSpeak.py (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/old/thumb.patch (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/old/xenomaiConfig.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/08realtime/realtime.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/capes.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/code/quickBot_motor_test.js (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/BBB_GPS_Cape.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/BeagleBone_Black_Cape__7fab878f3c590bbf730a21__pcb__cc4cbffa099dd2076377e89426324f3b.svg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Boris128.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/EagleLicense.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Fritzing_Inspector.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Fritzing_layers.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz160.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz161.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz162.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz163.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz164.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz166.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz167.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz168.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz169.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz170.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz171.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz172.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz173.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz174.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/Google ChromeScreenSnapz175.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/LCD (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/LCD.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/LCD7Desktop.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/LCD7back.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/MiniDisplay-A1.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/audioCape.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/beaglebone_cape_boardoutline.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/beaglebone_cape_boardoutline.svg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/boneOutline.xml (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/breadboard.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/circuithub_part_matching.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/circuithub_quote.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/convert-fritzing-to-eagle.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/convert-fritzing-to-kicad.sh (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/eagle3.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/eagle7.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/fritzing1.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/fritzing2.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/fritzing3.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/fritzing4.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/miniDisplay_Boris.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/miniDisplay_Cape_pcb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/miniDisplay_Cape_schem.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot-cache-cache.lib (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot-eagle.sch (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot-eaglexml.sch (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot-schematic.json (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot-upverter.PNG (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot.upv (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot5IR.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_bb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_eaglexml.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_fritzing_export.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers.zip (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_contour.gm1 (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_copperBottom.gbl (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_copperTop.gtl (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_drill.txt (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_copper_bottom.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_copper_bottom_mirror.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_copper_top.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_copper_top_mirror.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_mask_bottom.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_mask_bottom_mirror.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_mask_top.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_mask_top_mirror.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_bottom.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_bottom_mirror.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_top.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_top_mirror.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_silk_bottom.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_silk_bottom_mirror.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_silk_top.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_etch_silk_top_mirror.pdf (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_maskBottom.gbs (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_maskTop.gts (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_pnp.txt (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_silkBottom.gbo (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_gerbers/quickBot_silkTop.gto (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_kicad.sch (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_motor_kickback.JPG (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_motor_test_cloud9.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_motor_test_scope.JPG (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_motors.jpg (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_on_OSHPark.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_oshpark_share.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_pcb.JPG (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_pcb.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_play.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_schem.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_schemRaw.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/quickBot_schemZoom.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/roboCape.fzz (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/srm_cape_dimensions.png (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/stacking_headers.JPG (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/09capes/figures/urls.txt (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/10parts/parts.rst (100%)
 rename {beaglebone-cookbook => books/beaglebone-cookbook}/index.rst (100%)
 create mode 100644 books/index.rst
 rename {pru-cookbook => books/pru-cookbook}/01case/case.rst (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/blink.sim (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/circle.py (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/e1.31-test.py (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/encoder_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/fire.fseq (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/logic_install.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/main_pru1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/my-config.json (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/opc.py (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/pru1-servo.asm (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/servo-test.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/code/servos_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/LEDblink.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/beaglelogic_capture.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/blue.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_channel_inputs.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_channel_outputs.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_channel_outputs_menu.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_channel_outputs_strings.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_display_testing.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_display_testing2.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_display_testing_menu.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_display_testing_menu2.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_file_manager.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_inputs_setup.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_inputs_setup2.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_mode_bridge.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_playlist.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_playlist_status.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_program_control.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/fpp_status.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/ledmatrix.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/pocketscroller.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/xlights_layout.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/xlights_layout_details.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/xlights_seq_drag.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/xlights_seq_new.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/xlights_setup.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/xlights_setup_done.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/xlights_setup_e1_31.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/xlights_setup_e1_31.png.orig (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/xlights_test.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/01case/figures/xlights_twinkle.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/Makefile (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/ai.notes (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/hello.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/hello.pru1_1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/hello2.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/hello2.pru1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/hello2.pru1_0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/hello2.pru1_1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/hello2.pru2_0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/hello2.pru2_1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/code/setup2.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/figures/BB_AI_BeautyAngle_800px.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/figures/PocketBeagle-size-compare-small.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/figures/beagle-blue.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/figures/c9.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/figures/c9ShowHome.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/figures/edumip.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/figures/etcher.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/figures/latest-images.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/figures/product_detail_black_sm.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/02start/start.rst (100%)
 rename {pru-cookbook => books/pru-cookbook}/03details/code/Makefile (100%)
 rename {pru-cookbook => books/pru-cookbook}/03details/code/encoder_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/03details/code/gpio_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/03details/code/servos_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/03details/details.rst (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/code/Makefile (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/code/copyright.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/code/resource_table_empty.h (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/code/uart1.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/code/uart1.pru1_0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/code/uart2.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/code/uart2.pru1_0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/code/uart_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/debug.rst (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/figures/FTDIcable.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/figures/FTDIconnector.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/figures/FTDIhookup.fzz (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/figures/FTDIhookup_bb.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/figures/LED.fzz (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/figures/LED_bb.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/figures/uart1.pru0.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/04debug/figures/uart2.pru0.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/blocks.rst (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/Makefile (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/copyright.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/input.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/input_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/module/.gitignore (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/module/Makefile (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/module/install.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/module/rpmsg_client_sample.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/module/rpmsg_pru.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/module/setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo-colors.py (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo-rainbow.py (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo1.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo1.pru1_1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo2.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo2.pru1_1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo3.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo3.pru1_1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo4.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo4.pru1_1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/neo_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm-test.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm1.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm1.pru1_1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm2.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm3.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm4.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm5.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm6.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm7-test.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm7.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm7.pru1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm7_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm8.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm8.pru1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/pwm_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/resource_table_empty.h (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/rgb1.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/rgb2.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/rgb3.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/rgb4.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/rgb_black.h (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/rgb_pocket.h (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/rgb_python.py (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/rgb_python_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/rgb_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/rgb_white.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/shared.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/shared_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/sine.map (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/sine.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/code/write_init_pins.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/blockDiagram.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/blocks_plots.asv (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/blocks_plots.m (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/filter.fzz (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/filter_bb.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/matrix_j1.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/neo.fzz (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/neo_bb.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/neo_data_seq.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/neo_scope.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/neo_sequence.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/pwm1.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/pwm2.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/pwm3.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/pwm4.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/pwm5_no_loop.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/pwm5_zoomed.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/pwm6_synced.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/pwm7_two_prus_running.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/pwm7_two_prus_stopped.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/pwm8_prus_sycned.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/rgb_fpp.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/rgb_pru.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/rgb_python.jpg (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/rgb_waveforms.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/ring_around.mp4 (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/sawhighercutoff.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/sawlowercutoff.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/sawscope.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/sawtoothsampled.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/sawtoothsmooth.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/sawunfiltered.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/sine.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/05blocks/figures/triangle.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/06io/code/Makefile (100%)
 rename {pru-cookbook => books/pru-cookbook}/06io/code/gpio.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/06io/code/setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/06io/figures/gpio0delay.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/06io/figures/jitter.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/06io/figures/pruIntegration.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/06io/io.html (100%)
 rename {pru-cookbook => books/pru-cookbook}/06io/io.rst (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/Makefile (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/copyright.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/cycle.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/cycle.pru0.lst (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/delay-test.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/delay-test2.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/delay.pru0.asm (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/delay2.pru0.asm (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/logic.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/logic_setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/resource_table_pru0.h (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/setup.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/xin.pru1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/xout-cycle.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/xout.pru0.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/code/xout_run.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/figures/my_delay_cycles.png (100%)
 rename {pru-cookbook => books/pru-cookbook}/07more/more.rst (100%)
 rename {pru-cookbook => books/pru-cookbook}/08ai/ai.rst (100%)
 rename {pru-cookbook => books/pru-cookbook}/08ai/code/Makefile (100%)
 rename {pru-cookbook => books/pru-cookbook}/08ai/code/pwm1.pru2_1.c (100%)
 rename {pru-cookbook => books/pru-cookbook}/common/Makefile (100%)
 rename {pru-cookbook => books/pru-cookbook}/common/README.md (100%)
 rename {pru-cookbook => books/pru-cookbook}/common/config-pin.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/common/init_pins_empty.h (100%)
 rename {pru-cookbook => books/pru-cookbook}/common/prugpio.h (100%)
 rename {pru-cookbook => books/pru-cookbook}/common/resource_table_0.h (100%)
 rename {pru-cookbook => books/pru-cookbook}/common/resource_table_1.h (100%)
 rename {pru-cookbook => books/pru-cookbook}/common/resource_table_empty.h (100%)
 rename {pru-cookbook => books/pru-cookbook}/common/write_init_pins.sh (100%)
 rename {pru-cookbook => books/pru-cookbook}/index.rst (100%)
 rename {pru-cookbook => books/pru-cookbook}/projects.rst (100%)
 rename {contribution => intro/contribution}/contribute.rst (100%)
 rename {contribution => intro/contribution}/git-usage.rst (100%)
 rename {contribution => intro/contribution}/index.rst (100%)
 rename {support => intro/support}/getting-started.rst (100%)
 rename {support => intro/support}/images/88x31.png (100%)
 rename {support => intro/support}/images/bad-to-the-bone.jpg (100%)
 rename {support => intro/support}/images/beagle_logo_326x60.png (100%)
 rename {support => intro/support}/images/beaglebone-cookbook.jpg (100%)
 rename {support => intro/support}/images/bone101.png (100%)
 rename {support => intro/support}/images/btn_step1.gif (100%)
 rename {support => intro/support}/images/btn_step2.gif (100%)
 rename {support => intro/support}/images/btn_step3.gif (100%)
 rename {support => intro/support}/images/download-etcher.png (100%)
 rename {support => intro/support}/images/download-latestimage.png (100%)
 rename {support => intro/support}/images/embedded-linux-primer.jpg (100%)
 rename {support => intro/support}/images/exploring-beaglebone.jpg (100%)
 rename {support => intro/support}/images/icon_facebook.png (100%)
 rename {support => intro/support}/images/icon_linkedin.png (100%)
 rename {support => intro/support}/images/icon_twitter.png (100%)
 rename {support => intro/support}/images/install-etcher.png (100%)
 rename {support => intro/support}/images/write-latestimage.png (100%)
 rename {support => intro/support}/images/youTube-icon.png (100%)
 rename support/overview.rst => intro/support/index.rst (83%)
 create mode 100644 projects/index.rst
 rename {simppru => projects/simppru}/basics.rst (100%)
 rename {simppru => projects/simppru}/build.rst (100%)
 rename {simppru => projects/simppru}/examples/button_click_rpmsg.rst (100%)
 rename {simppru => projects/simppru}/examples/delay.rst (100%)
 rename {simppru => projects/simppru}/examples/digital_read.rst (100%)
 rename {simppru => projects/simppru}/examples/digital_write.rst (100%)
 rename {simppru => projects/simppru}/examples/hcsr04_example_rpmsg.rst (100%)
 rename {simppru => projects/simppru}/examples/hcsr04_sensor.rst (100%)
 rename {simppru => projects/simppru}/examples/images/hcsr04_beagle_bone_black.png (100%)
 rename {simppru => projects/simppru}/examples/images/hcsr04_pocket_beagle.png (100%)
 rename {simppru => projects/simppru}/examples/images/led_beagle_bone_black.png (100%)
 rename {simppru => projects/simppru}/examples/images/led_button_beagle_bone_black.png (100%)
 rename {simppru => projects/simppru}/examples/images/led_button_pocket_beagle.png (100%)
 rename {simppru => projects/simppru}/examples/images/led_pocket_beagle.png (100%)
 rename {simppru => projects/simppru}/examples/images/simpPRU.png (100%)
 rename {simppru => projects/simppru}/examples/index.rst (100%)
 rename {simppru => projects/simppru}/examples/led_blink.rst (100%)
 rename {simppru => projects/simppru}/examples/led_blink_button.rst (100%)
 rename {simppru => projects/simppru}/examples/led_blink_counter.rst (100%)
 rename {simppru => projects/simppru}/examples/led_blink_for.rst (100%)
 rename {simppru => projects/simppru}/examples/led_blink_while.rst (100%)
 rename {simppru => projects/simppru}/examples/read_counter.rst (100%)
 rename {simppru => projects/simppru}/examples/rpmsg_example.rst (100%)
 rename {simppru => projects/simppru}/examples/rpmsg_pru_calculator.rst (100%)
 rename {simppru => projects/simppru}/images/main_screen.png (100%)
 rename {simppru => projects/simppru}/images/receive_counter.png (100%)
 rename {simppru => projects/simppru}/images/receive_counter_2.png (100%)
 rename {simppru => projects/simppru}/images/receive_screen.png (100%)
 rename {simppru => projects/simppru}/images/receive_screen_2.png (100%)
 rename {simppru => projects/simppru}/images/select_pru_id_screen.png (100%)
 rename {simppru => projects/simppru}/images/send_screen.png (100%)
 rename {simppru => projects/simppru}/images/simpPRU.png (100%)
 rename {simppru => projects/simppru}/images/stop_screen.png (100%)
 rename {simppru => projects/simppru}/index.rst (100%)
 rename {simppru => projects/simppru}/install.rst (100%)
 rename {simppru => projects/simppru}/io.rst (100%)
 rename {simppru => projects/simppru}/language.rst (100%)
 rename {simppru => projects/simppru}/usage-simppru-console.rst (100%)
 rename {simppru => projects/simppru}/usage-simppru.rst (100%)
 delete mode 100644 support/index.rst

diff --git a/beagleconnect/ch02.rst b/beagleconnect/ch02.rst
deleted file mode 100644
index 0c6aa20a..00000000
--- a/beagleconnect/ch02.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-.. _beagleconnect-Change-History:
-
-**************
-Change History
-**************
diff --git a/boards/beagleboard/index.rst b/boards/beagleboard/index.rst
new file mode 100644
index 00000000..f17a613c
--- /dev/null
+++ b/boards/beagleboard/index.rst
@@ -0,0 +1,12 @@
+BeagleBoard
+###################
+
+BeagleBoard boards are low-cost, ARM-based development boards suitable for rapid prototyping and 
+open-hardware to enable professionals to develop production systems.
+
+The latest PDF-formatted System Reference Manual for each BeagleBoard board is linked below.
+
+* `BeagleBoard <https://git.beagleboard.org/beagleboard/beagleboard/-/blob/master/BeagleBoard_revC5_SRM.pdf>`_
+* `BeagleBoard-xM <https://git.beagleboard.org/beagleboard/beagleboard-xm/-/blob/master/BeagleBoard-xM_SRM.pdf>`_
+* `BeagleBoard-X15 <https://git.beagleboard.org/beagleboard/beagleboard-x15/-/blob/master/BeagleBoard-X15_SRM.pdf>`_
+
diff --git a/beaglebone-ai-64/ch01.rst b/boards/beaglebone/ai-64/ch01.rst
similarity index 100%
rename from beaglebone-ai-64/ch01.rst
rename to boards/beaglebone/ai-64/ch01.rst
diff --git a/beaglebone-ai-64/ch02.rst b/boards/beaglebone/ai-64/ch02.rst
similarity index 100%
rename from beaglebone-ai-64/ch02.rst
rename to boards/beaglebone/ai-64/ch02.rst
diff --git a/beaglebone-ai-64/ch03.rst b/boards/beaglebone/ai-64/ch03.rst
similarity index 100%
rename from beaglebone-ai-64/ch03.rst
rename to boards/beaglebone/ai-64/ch03.rst
diff --git a/beaglebone-ai-64/ch04.rst b/boards/beaglebone/ai-64/ch04.rst
similarity index 100%
rename from beaglebone-ai-64/ch04.rst
rename to boards/beaglebone/ai-64/ch04.rst
diff --git a/beaglebone-ai-64/ch05.rst b/boards/beaglebone/ai-64/ch05.rst
similarity index 100%
rename from beaglebone-ai-64/ch05.rst
rename to boards/beaglebone/ai-64/ch05.rst
diff --git a/beaglebone-ai-64/ch06.rst b/boards/beaglebone/ai-64/ch06.rst
similarity index 100%
rename from beaglebone-ai-64/ch06.rst
rename to boards/beaglebone/ai-64/ch06.rst
diff --git a/beaglebone-ai-64/ch07.rst b/boards/beaglebone/ai-64/ch07.rst
similarity index 100%
rename from beaglebone-ai-64/ch07.rst
rename to boards/beaglebone/ai-64/ch07.rst
diff --git a/beaglebone-ai-64/ch08.rst b/boards/beaglebone/ai-64/ch08.rst
similarity index 100%
rename from beaglebone-ai-64/ch08.rst
rename to boards/beaglebone/ai-64/ch08.rst
diff --git a/beaglebone-ai-64/ch09.rst b/boards/beaglebone/ai-64/ch09.rst
similarity index 100%
rename from beaglebone-ai-64/ch09.rst
rename to boards/beaglebone/ai-64/ch09.rst
diff --git a/beaglebone-ai-64/ch10.rst b/boards/beaglebone/ai-64/ch10.rst
similarity index 100%
rename from beaglebone-ai-64/ch10.rst
rename to boards/beaglebone/ai-64/ch10.rst
diff --git a/beaglebone-ai-64/ch11.rst b/boards/beaglebone/ai-64/ch11.rst
similarity index 100%
rename from beaglebone-ai-64/ch11.rst
rename to boards/beaglebone/ai-64/ch11.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/configuration_file.rst b/boards/beaglebone/ai-64/edge_ai_apps/configuration_file.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/configuration_file.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/configuration_file.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/data_flows.rst b/boards/beaglebone/ai-64/edge_ai_apps/data_flows.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/data_flows.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/data_flows.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/datasheet.rst b/boards/beaglebone/ai-64/edge_ai_apps/datasheet.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/datasheet.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/datasheet.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/docker_environment.rst b/boards/beaglebone/ai-64/edge_ai_apps/docker_environment.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/docker_environment.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/docker_environment.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/getting_started.rst b/boards/beaglebone/ai-64/edge_ai_apps/getting_started.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/getting_started.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/getting_started.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/images/TDA4VM-SK-SD-Boot.png b/boards/beaglebone/ai-64/edge_ai_apps/images/TDA4VM-SK-SD-Boot.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/TDA4VM-SK-SD-Boot.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/TDA4VM-SK-SD-Boot.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/balena_etcher.png b/boards/beaglebone/ai-64/edge_ai_apps/images/balena_etcher.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/balena_etcher.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/balena_etcher.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/board_connections_bbai_64.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/board_connections_bbai_64.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/board_connections_bbai_64.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/board_connections_bbai_64.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/board_connections_tda4vm_evm.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/board_connections_tda4vm_evm.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/board_connections_tda4vm_evm.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/board_connections_tda4vm_evm.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/board_connections_tda4vm_sk.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/board_connections_tda4vm_sk.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/board_connections_tda4vm_sk.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/board_connections_tda4vm_sk.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/boot_wallpaper.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/boot_wallpaper.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/boot_wallpaper.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/boot_wallpaper.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/csi_camera_connection.png b/boards/beaglebone/ai-64/edge_ai_apps/images/csi_camera_connection.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/csi_camera_connection.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/csi_camera_connection.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edge_ai_demos.drawio b/boards/beaglebone/ai-64/edge_ai_apps/images/edge_ai_demos.drawio
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edge_ai_demos.drawio
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edge_ai_demos.drawio
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edge_ai_demos_CPP_Demo_Data_Flow.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edge_ai_demos_CPP_Demo_Data_Flow.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edge_ai_demos_CPP_Demo_Data_Flow.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edge_ai_demos_CPP_Demo_Data_Flow.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edge_ai_demos_Python_Demo_Data_Flow.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edge_ai_demos_Python_Demo_Data_Flow.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edge_ai_demos_Python_Demo_Data_Flow.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edge_ai_demos_Python_Demo_Data_Flow.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-image-classify.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-image-classify.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-image-classify.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-image-classify.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-multi-input-multi-infer.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-multi-input-multi-infer.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-multi-input-multi-infer.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-multi-input-multi-infer.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-object-detect.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-object-detect.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-object-detect.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-object-detect.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-overview-image1.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-overview-image1.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-overview-image1.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-overview-image1.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-overview-image2.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-overview-image2.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-overview-image2.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-overview-image2.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-overview-image3.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-overview-image3.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-overview-image3.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-overview-image3.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-sdk-components.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-sdk-components.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-sdk-components.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-sdk-components.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-sdk-feature.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-sdk-feature.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-sdk-feature.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-sdk-feature.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-sdk-overview.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-sdk-overview.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-sdk-overview.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-sdk-overview.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-sdk-programming-env.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-sdk-programming-env.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-sdk-programming-env.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-sdk-programming-env.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-sdk-roadmap.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-sdk-roadmap.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-sdk-roadmap.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-sdk-roadmap.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai-single-input-multi-infer.jpg b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-single-input-multi-infer.jpg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai-single-input-multi-infer.jpg
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai-single-input-multi-infer.jpg
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai_human_pose.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_human_pose.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai_human_pose.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_human_pose.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai_image_classification.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_image_classification.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai_image_classification.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_image_classification.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai_imx390_camera_source.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_imx390_camera_source.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai_imx390_camera_source.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_imx390_camera_source.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai_object_detection.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_object_detection.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai_object_detection.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_object_detection.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai_ov5640_camera_source.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_ov5640_camera_source.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai_ov5640_camera_source.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_ov5640_camera_source.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai_rpi_camera_source.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_rpi_camera_source.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai_rpi_camera_source.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_rpi_camera_source.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai_rtsp_source.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_rtsp_source.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai_rtsp_source.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_rtsp_source.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai_semantic_segmentation.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_semantic_segmentation.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai_semantic_segmentation.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_semantic_segmentation.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai_video_output.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_video_output.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai_video_output.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_video_output.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/edgeai_video_source.png b/boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_video_source.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/edgeai_video_source.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/edgeai_video_source.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/favicon.ico b/boards/beaglebone/ai-64/edge_ai_apps/images/favicon.ico
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/favicon.ico
rename to boards/beaglebone/ai-64/edge_ai_apps/images/favicon.ico
diff --git a/beaglebone-ai-64/edge_ai_apps/images/j721esk-ap.png b/boards/beaglebone/ai-64/edge_ai_apps/images/j721esk-ap.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/j721esk-ap.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/j721esk-ap.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/model_downloader.png b/boards/beaglebone/ai-64/edge_ai_apps/images/model_downloader.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/model_downloader.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/model_downloader.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/open-src-components.png b/boards/beaglebone/ai-64/edge_ai_apps/images/open-src-components.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/open-src-components.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/open-src-components.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/perf_plots.png b/boards/beaglebone/ai-64/edge_ai_apps/images/perf_plots.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/perf_plots.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/perf_plots.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/rpi_camera_connection.png b/boards/beaglebone/ai-64/edge_ai_apps/images/rpi_camera_connection.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/rpi_camera_connection.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/rpi_camera_connection.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/vs_code.png b/boards/beaglebone/ai-64/edge_ai_apps/images/vs_code.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/vs_code.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/vs_code.png
diff --git a/beaglebone-ai-64/edge_ai_apps/images/wifi-oob-iw-command.png b/boards/beaglebone/ai-64/edge_ai_apps/images/wifi-oob-iw-command.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/images/wifi-oob-iw-command.png
rename to boards/beaglebone/ai-64/edge_ai_apps/images/wifi-oob-iw-command.png
diff --git a/beaglebone-ai-64/edge_ai_apps/index.rst b/boards/beaglebone/ai-64/edge_ai_apps/index.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/index.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/index.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/inference_models.rst b/boards/beaglebone/ai-64/edge_ai_apps/inference_models.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/inference_models.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/inference_models.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/performance_visualizer.rst b/boards/beaglebone/ai-64/edge_ai_apps/performance_visualizer.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/performance_visualizer.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/performance_visualizer.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/running_advance_demos.rst b/boards/beaglebone/ai-64/edge_ai_apps/running_advance_demos.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/running_advance_demos.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/running_advance_demos.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/running_simple_demos.rst b/boards/beaglebone/ai-64/edge_ai_apps/running_simple_demos.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/running_simple_demos.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/running_simple_demos.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/sdk_components.rst b/boards/beaglebone/ai-64/edge_ai_apps/sdk_components.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/sdk_components.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/sdk_components.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/static/theme_overrides.css b/boards/beaglebone/ai-64/edge_ai_apps/static/theme_overrides.css
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/static/theme_overrides.css
rename to boards/beaglebone/ai-64/edge_ai_apps/static/theme_overrides.css
diff --git a/beaglebone-ai-64/edge_ai_apps/test_report.rst b/boards/beaglebone/ai-64/edge_ai_apps/test_report.rst
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/test_report.rst
rename to boards/beaglebone/ai-64/edge_ai_apps/test_report.rst
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/__init__.py b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/__init__.py
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/__init__.py
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/__init__.py
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/breadcrumbs.html b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/breadcrumbs.html
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/breadcrumbs.html
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/breadcrumbs.html
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/footer.html b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/footer.html
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/footer.html
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/footer.html
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/layout.html b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/layout.html
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/layout.html
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/layout.html
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/layout_old.html b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/layout_old.html
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/layout_old.html
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/layout_old.html
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/search.html b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/search.html
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/search.html
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/search.html
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/searchbox.html b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/searchbox.html
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/searchbox.html
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/searchbox.html
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/css/badge_only.css b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/css/badge_only.css
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/css/badge_only.css
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/css/badge_only.css
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/css/theme.css b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/css/theme.css
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/css/theme.css
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/css/theme.css
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/FontAwesome.otf b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/FontAwesome.otf
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/FontAwesome.otf
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/FontAwesome.otf
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Inconsolata-Bold.ttf b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Inconsolata-Bold.ttf
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Inconsolata-Bold.ttf
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Inconsolata-Bold.ttf
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Inconsolata-Regular.ttf b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Inconsolata-Regular.ttf
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Inconsolata-Regular.ttf
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Inconsolata-Regular.ttf
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Lato-Bold.ttf b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Lato-Bold.ttf
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Lato-Bold.ttf
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Lato-Bold.ttf
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Lato-Regular.ttf b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Lato-Regular.ttf
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Lato-Regular.ttf
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/Lato-Regular.ttf
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/RobotoSlab-Bold.ttf b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/RobotoSlab-Bold.ttf
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/RobotoSlab-Bold.ttf
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/RobotoSlab-Bold.ttf
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/RobotoSlab-Regular.ttf b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/RobotoSlab-Regular.ttf
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/RobotoSlab-Regular.ttf
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/RobotoSlab-Regular.ttf
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.eot b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.eot
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.eot
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.eot
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.svg b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.svg
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.svg
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.svg
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.ttf b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.ttf
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.ttf
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.woff b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.woff
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.woff
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/fonts/fontawesome-webfont.woff
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/img/ti_logo.png b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/img/ti_logo.png
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/img/ti_logo.png
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/img/ti_logo.png
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/js/modernizr.min.js b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/js/modernizr.min.js
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/js/modernizr.min.js
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/js/modernizr.min.js
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/js/theme.js b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/js/theme.js
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/js/theme.js
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/static/js/theme.js
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/theme.conf b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/theme.conf
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/theme.conf
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/theme.conf
diff --git a/beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/versions.html b/boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/versions.html
similarity index 100%
rename from beaglebone-ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/versions.html
rename to boards/beaglebone/ai-64/edge_ai_apps/themes/sphinx_rtd_theme_ti/versions.html
diff --git a/beaglebone-ai-64/images/45-back-heatsink.png b/boards/beaglebone/ai-64/images/45-back-heatsink.png
similarity index 100%
rename from beaglebone-ai-64/images/45-back-heatsink.png
rename to boards/beaglebone/ai-64/images/45-back-heatsink.png
diff --git a/beaglebone-ai-64/images/45-back.png b/boards/beaglebone/ai-64/images/45-back.png
similarity index 100%
rename from beaglebone-ai-64/images/45-back.png
rename to boards/beaglebone/ai-64/images/45-back.png
diff --git a/beaglebone-ai-64/images/45-front.png b/boards/beaglebone/ai-64/images/45-front.png
similarity index 100%
rename from beaglebone-ai-64/images/45-front.png
rename to boards/beaglebone/ai-64/images/45-front.png
diff --git a/beaglebone-ai-64/images/Desktop-Configuration.png b/boards/beaglebone/ai-64/images/Desktop-Configuration.png
similarity index 100%
rename from beaglebone-ai-64/images/Desktop-Configuration.png
rename to boards/beaglebone/ai-64/images/Desktop-Configuration.png
diff --git a/beaglebone-ai-64/images/LED-Pattern.png b/boards/beaglebone/ai-64/images/LED-Pattern.png
similarity index 100%
rename from beaglebone-ai-64/images/LED-Pattern.png
rename to boards/beaglebone/ai-64/images/LED-Pattern.png
diff --git a/boards/beaglebone/ai-64/images/OSHW_mark_US002120.png b/boards/beaglebone/ai-64/images/OSHW_mark_US002120.png
new file mode 100644
index 0000000000000000000000000000000000000000..13945a6b86c02cf86bd66555ab47c4713d70e480
GIT binary patch
literal 10781
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
OaMj2H-gwzP>Hh#IYm0XP

literal 0
HcmV?d00001

diff --git a/boards/beaglebone/ai-64/images/OSHW_mark_US002120.svg b/boards/beaglebone/ai-64/images/OSHW_mark_US002120.svg
new file mode 100644
index 00000000..69170c58
--- /dev/null
+++ b/boards/beaglebone/ai-64/images/OSHW_mark_US002120.svg
@@ -0,0 +1 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns='http://www.w3.org/2000/svg' height='200' width='200' version='1.1' xmlns:cc='http://creativecommons.org/ns#' xmlns:dc='http://purl.org/dc/elements/1.1/'><g transform='translate(-614.09 -142.78)'><g fill='#333'><path style='color:#000000;text-indent:0;block-progression:tb;text-decoration-line:none;text-transform:none' d='m713.09 278.5v3 62.062 3h3 141.56 3v-3-65.062h-5.8712l-0.12879 62.062h-135.56v-56.062h115.34v-6h-118.34z' transform='translate(-72.786 -85.361)'/><path d='m747.71 313.26c-0.00002-5.1406-0.53127-8.8125-1.5938-11.016-1.0469-2.2031-2.7735-3.3047-5.1797-3.3047-2.3906 0.00003-4.1172 1.1016-5.1797 3.3047-1.0469 2.2032-1.5703 5.875-1.5703 11.016-0.00001 5.125 0.52343 8.7891 1.5703 10.992 1.0625 2.2031 2.789 3.3047 5.1797 3.3047 2.4062 0 4.1328-1.0938 5.1797-3.2812 1.0625-2.2031 1.5937-5.875 1.5938-11.016m4.9453 0c-0.00003 6.0938-0.96878 10.641-2.9062 13.641-1.9219 3-4.8594 4.5-8.8125 4.5s-6.8906-1.4922-8.8125-4.4766-2.8828-7.539-2.8828-13.664c0-6.1094 0.96093-10.664 2.8828-13.664 1.9375-3 4.875-4.5 8.8125-4.5 3.9531 0.00004 6.8906 1.5 8.8125 4.5 1.9375 3 2.9062 7.5547 2.9062 13.664' transform='translate(-72.786 -85.361)'/><path d='m779.1 296.93v4.8047c-1.4375-0.92184-2.8828-1.6172-4.3359-2.0859-1.4375-0.46871-2.8906-0.70309-4.3594-0.70312-2.2344 0.00003-4 0.52347-5.2969 1.5703-1.2969 1.0313-1.9453 2.4297-1.9453 4.1953-0.00001 1.5469 0.42187 2.7266 1.2656 3.5391 0.85936 0.81252 2.4531 1.4922 4.7812 2.0391l2.4844 0.5625c3.2812 0.76564 5.6718 1.9688 7.1719 3.6094 1.5 1.6406 2.25 3.875 2.25 6.7031-0.00003 3.3281-1.0313 5.8672-3.0938 7.6172s-5.0625 2.625-9 2.625c-1.6406 0-3.2891-0.17969-4.9453-0.53907-1.6562-0.34375-3.3203-0.86718-4.9922-1.5703v-5.0391c1.7969 1.1406 3.4922 1.9766 5.0859 2.5078 1.6094 0.53126 3.2266 0.79688 4.8516 0.79688 2.3906 0 4.25-0.53125 5.5781-1.5938 1.3281-1.0781 1.9922-2.5781 1.9922-4.5-0.00002-1.75-0.46096-3.0859-1.3828-4.0078-0.90627-0.92186-2.4922-1.6328-4.7578-2.1328l-2.5312-0.58594c-3.25-0.73435-5.6094-1.8437-7.0781-3.3281-1.4688-1.4844-2.2031-3.4765-2.2031-5.9766 0-3.125 1.0469-5.625 3.1406-7.5 2.1094-1.8906 4.9062-2.8359 8.3906-2.8359 1.3437 0.00004 2.7578 0.15629 4.2422 0.46875 1.4844 0.29691 3.0468 0.75003 4.6875 1.3594' transform='translate(-72.786 -85.361)'/><path d='m787.46 295.73h4.7578v14.344h12.961v-14.344h4.7578v34.992h-4.7578v-16.664h-12.961v16.664h-4.7578v-34.992' transform='translate(-72.786 -85.361)'/></g><path d='m813.13 295.73h4.6172l3.3516 28.406 3.9844-18.797h4.9453l4.0312 18.844 11.352-54.453h4.6172l-13.227 60.992h-4.4766l-4.7578-20.789-4.7344 20.789h-4.4766l-5.2266-34.992' transform='translate(-72.786 -85.361)' fill='#f44'/><text xml:space='preserve' fill='#333333' font-size='33.75px' y='300.14502' x='642.95532' font-family='DejaVu Sans Mono,Andale Mono,monospace'>US002120</text></g></svg>
\ No newline at end of file
diff --git a/beaglebone-ai-64/images/Power-LED.png b/boards/beaglebone/ai-64/images/Power-LED.png
similarity index 100%
rename from beaglebone-ai-64/images/Power-LED.png
rename to boards/beaglebone/ai-64/images/Power-LED.png
diff --git a/beaglebone-ai-64/images/USB-Connection.png b/boards/beaglebone/ai-64/images/USB-Connection.png
similarity index 100%
rename from beaglebone-ai-64/images/USB-Connection.png
rename to boards/beaglebone/ai-64/images/USB-Connection.png
diff --git a/beaglebone-ai-64/images/USB-Tethering.png b/boards/beaglebone/ai-64/images/USB-Tethering.png
similarity index 100%
rename from beaglebone-ai-64/images/USB-Tethering.png
rename to boards/beaglebone/ai-64/images/USB-Tethering.png
diff --git a/beaglebone-ai-64/images/back-heatsink.png b/boards/beaglebone/ai-64/images/back-heatsink.png
similarity index 100%
rename from beaglebone-ai-64/images/back-heatsink.png
rename to boards/beaglebone/ai-64/images/back-heatsink.png
diff --git a/beaglebone-ai-64/images/back.png b/boards/beaglebone/ai-64/images/back.png
similarity index 100%
rename from beaglebone-ai-64/images/back.png
rename to boards/beaglebone/ai-64/images/back.png
diff --git a/beaglebone-ai-64/images/by-sa.png b/boards/beaglebone/ai-64/images/by-sa.png
similarity index 100%
rename from beaglebone-ai-64/images/by-sa.png
rename to boards/beaglebone/ai-64/images/by-sa.png
diff --git a/beaglebone-ai-64/images/ch03/BBAI-64-to-monitor-cable.png b/boards/beaglebone/ai-64/images/ch03/BBAI-64-to-monitor-cable.png
similarity index 100%
rename from beaglebone-ai-64/images/ch03/BBAI-64-to-monitor-cable.png
rename to boards/beaglebone/ai-64/images/ch03/BBAI-64-to-monitor-cable.png
diff --git a/beaglebone-ai-64/images/ch03/XFCE-Desktop.png b/boards/beaglebone/ai-64/images/ch03/XFCE-Desktop.png
similarity index 100%
rename from beaglebone-ai-64/images/ch03/XFCE-Desktop.png
rename to boards/beaglebone/ai-64/images/ch03/XFCE-Desktop.png
diff --git a/beaglebone-ai-64/images/ch03/barrel-jack.jpg b/boards/beaglebone/ai-64/images/ch03/barrel-jack.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/barrel-jack.jpg
rename to boards/beaglebone/ai-64/images/ch03/barrel-jack.jpg
diff --git a/beaglebone-ai-64/images/ch03/barrel-jack.png b/boards/beaglebone/ai-64/images/ch03/barrel-jack.png
similarity index 100%
rename from beaglebone-ai-64/images/ch03/barrel-jack.png
rename to boards/beaglebone/ai-64/images/ch03/barrel-jack.png
diff --git a/beaglebone-ai-64/images/ch03/bbai64-in-box.jpg b/boards/beaglebone/ai-64/images/ch03/bbai64-in-box.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/bbai64-in-box.jpg
rename to boards/beaglebone/ai-64/images/ch03/bbai64-in-box.jpg
diff --git a/beaglebone-ai-64/images/ch03/desktop-configuration.jpg b/boards/beaglebone/ai-64/images/ch03/desktop-configuration.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/desktop-configuration.jpg
rename to boards/beaglebone/ai-64/images/ch03/desktop-configuration.jpg
diff --git a/beaglebone-ai-64/images/ch03/display-adaptors.jpg b/boards/beaglebone/ai-64/images/ch03/display-adaptors.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/display-adaptors.jpg
rename to boards/beaglebone/ai-64/images/ch03/display-adaptors.jpg
diff --git a/beaglebone-ai-64/images/ch03/display-adaptors.png b/boards/beaglebone/ai-64/images/ch03/display-adaptors.png
similarity index 100%
rename from beaglebone-ai-64/images/ch03/display-adaptors.png
rename to boards/beaglebone/ai-64/images/ch03/display-adaptors.png
diff --git a/beaglebone-ai-64/images/ch03/ethernet-cable.jpg b/boards/beaglebone/ai-64/images/ch03/ethernet-cable.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/ethernet-cable.jpg
rename to boards/beaglebone/ai-64/images/ch03/ethernet-cable.jpg
diff --git a/beaglebone-ai-64/images/ch03/ethernet-cable.png b/boards/beaglebone/ai-64/images/ch03/ethernet-cable.png
similarity index 100%
rename from beaglebone-ai-64/images/ch03/ethernet-cable.png
rename to boards/beaglebone/ai-64/images/ch03/ethernet-cable.png
diff --git a/beaglebone-ai-64/images/ch03/led-pattern.jpg b/boards/beaglebone/ai-64/images/ch03/led-pattern.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/led-pattern.jpg
rename to boards/beaglebone/ai-64/images/ch03/led-pattern.jpg
diff --git a/beaglebone-ai-64/images/ch03/leds.jpg b/boards/beaglebone/ai-64/images/ch03/leds.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/leds.jpg
rename to boards/beaglebone/ai-64/images/ch03/leds.jpg
diff --git a/beaglebone-ai-64/images/ch03/miniDP-connector.jpg b/boards/beaglebone/ai-64/images/ch03/miniDP-connector.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/miniDP-connector.jpg
rename to boards/beaglebone/ai-64/images/ch03/miniDP-connector.jpg
diff --git a/beaglebone-ai-64/images/ch03/miniDP-connector.png b/boards/beaglebone/ai-64/images/ch03/miniDP-connector.png
similarity index 100%
rename from beaglebone-ai-64/images/ch03/miniDP-connector.png
rename to boards/beaglebone/ai-64/images/ch03/miniDP-connector.png
diff --git a/beaglebone-ai-64/images/ch03/monitor-cable.jpg b/boards/beaglebone/ai-64/images/ch03/monitor-cable.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/monitor-cable.jpg
rename to boards/beaglebone/ai-64/images/ch03/monitor-cable.jpg
diff --git a/beaglebone-ai-64/images/ch03/mouse-keyboard.jpg b/boards/beaglebone/ai-64/images/ch03/mouse-keyboard.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/mouse-keyboard.jpg
rename to boards/beaglebone/ai-64/images/ch03/mouse-keyboard.jpg
diff --git a/beaglebone-ai-64/images/ch03/mouse-keyboard.png b/boards/beaglebone/ai-64/images/ch03/mouse-keyboard.png
similarity index 100%
rename from beaglebone-ai-64/images/ch03/mouse-keyboard.png
rename to boards/beaglebone/ai-64/images/ch03/mouse-keyboard.png
diff --git a/beaglebone-ai-64/images/ch03/ports.jpg b/boards/beaglebone/ai-64/images/ch03/ports.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/ports.jpg
rename to boards/beaglebone/ai-64/images/ch03/ports.jpg
diff --git a/beaglebone-ai-64/images/ch03/power-led.jpg b/boards/beaglebone/ai-64/images/ch03/power-led.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/power-led.jpg
rename to boards/beaglebone/ai-64/images/ch03/power-led.jpg
diff --git a/beaglebone-ai-64/images/ch03/usb-a-connection.jpg b/boards/beaglebone/ai-64/images/ch03/usb-a-connection.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/usb-a-connection.jpg
rename to boards/beaglebone/ai-64/images/ch03/usb-a-connection.jpg
diff --git a/beaglebone-ai-64/images/ch03/usb-c-connection.jpg b/boards/beaglebone/ai-64/images/ch03/usb-c-connection.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/usb-c-connection.jpg
rename to boards/beaglebone/ai-64/images/ch03/usb-c-connection.jpg
diff --git a/beaglebone-ai-64/images/ch03/usb-tethering.jpg b/boards/beaglebone/ai-64/images/ch03/usb-tethering.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/usb-tethering.jpg
rename to boards/beaglebone/ai-64/images/ch03/usb-tethering.jpg
diff --git a/beaglebone-ai-64/images/ch03/xfce-desktop.jpg b/boards/beaglebone/ai-64/images/ch03/xfce-desktop.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch03/xfce-desktop.jpg
rename to boards/beaglebone/ai-64/images/ch03/xfce-desktop.jpg
diff --git a/beaglebone-ai-64/images/ch04/components.png b/boards/beaglebone/ai-64/images/ch04/components.png
similarity index 100%
rename from beaglebone-ai-64/images/ch04/components.png
rename to boards/beaglebone/ai-64/images/ch04/components.png
diff --git a/beaglebone-ai-64/images/ch04/components.svg b/boards/beaglebone/ai-64/images/ch04/components.svg
similarity index 100%
rename from beaglebone-ai-64/images/ch04/components.svg
rename to boards/beaglebone/ai-64/images/ch04/components.svg
diff --git a/beaglebone-ai-64/images/ch05/board-block-diagram.svg b/boards/beaglebone/ai-64/images/ch05/board-block-diagram.svg
similarity index 100%
rename from beaglebone-ai-64/images/ch05/board-block-diagram.svg
rename to boards/beaglebone/ai-64/images/ch05/board-block-diagram.svg
diff --git a/beaglebone-ai-64/images/ch05/soc-block-diagram.svg b/boards/beaglebone/ai-64/images/ch05/soc-block-diagram.svg
similarity index 100%
rename from beaglebone-ai-64/images/ch05/soc-block-diagram.svg
rename to boards/beaglebone/ai-64/images/ch05/soc-block-diagram.svg
diff --git a/beaglebone-ai-64/images/ch06/TPS6594-Q1.svg b/boards/beaglebone/ai-64/images/ch06/TPS6594-Q1.svg
similarity index 100%
rename from beaglebone-ai-64/images/ch06/TPS6594-Q1.svg
rename to boards/beaglebone/ai-64/images/ch06/TPS6594-Q1.svg
diff --git a/beaglebone-ai-64/images/ch06/pmic-a.svg b/boards/beaglebone/ai-64/images/ch06/pmic-a.svg
similarity index 100%
rename from beaglebone-ai-64/images/ch06/pmic-a.svg
rename to boards/beaglebone/ai-64/images/ch06/pmic-a.svg
diff --git a/beaglebone-ai-64/images/ch06/pmic-b.svg b/boards/beaglebone/ai-64/images/ch06/pmic-b.svg
similarity index 100%
rename from beaglebone-ai-64/images/ch06/pmic-b.svg
rename to boards/beaglebone/ai-64/images/ch06/pmic-b.svg
diff --git a/beaglebone-ai-64/images/ch06/power.svg b/boards/beaglebone/ai-64/images/ch06/power.svg
similarity index 100%
rename from beaglebone-ai-64/images/ch06/power.svg
rename to boards/beaglebone/ai-64/images/ch06/power.svg
diff --git a/beaglebone-ai-64/images/ch08/berg-stip-insertion.jpg b/boards/beaglebone/ai-64/images/ch08/berg-stip-insertion.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch08/berg-stip-insertion.jpg
rename to boards/beaglebone/ai-64/images/ch08/berg-stip-insertion.jpg
diff --git a/beaglebone-ai-64/images/ch08/can-cape.jpg b/boards/beaglebone/ai-64/images/ch08/can-cape.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch08/can-cape.jpg
rename to boards/beaglebone/ai-64/images/ch08/can-cape.jpg
diff --git a/beaglebone-ai-64/images/ch08/cape-dimension.jpg b/boards/beaglebone/ai-64/images/ch08/cape-dimension.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch08/cape-dimension.jpg
rename to boards/beaglebone/ai-64/images/ch08/cape-dimension.jpg
diff --git a/beaglebone-ai-64/images/ch08/cape-placement.jpg b/boards/beaglebone/ai-64/images/ch08/cape-placement.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch08/cape-placement.jpg
rename to boards/beaglebone/ai-64/images/ch08/cape-placement.jpg
diff --git a/beaglebone-ai-64/images/ch08/eeprom-write-protect.png b/boards/beaglebone/ai-64/images/ch08/eeprom-write-protect.png
similarity index 100%
rename from beaglebone-ai-64/images/ch08/eeprom-write-protect.png
rename to boards/beaglebone/ai-64/images/ch08/eeprom-write-protect.png
diff --git a/beaglebone-ai-64/images/ch08/eeprom.png b/boards/beaglebone/ai-64/images/ch08/eeprom.png
similarity index 100%
rename from beaglebone-ai-64/images/ch08/eeprom.png
rename to boards/beaglebone/ai-64/images/ch08/eeprom.png
diff --git a/beaglebone-ai-64/images/ch08/expansion-connector.jpg b/boards/beaglebone/ai-64/images/ch08/expansion-connector.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch08/expansion-connector.jpg
rename to boards/beaglebone/ai-64/images/ch08/expansion-connector.jpg
diff --git a/beaglebone-ai-64/images/ch08/proto.jpg b/boards/beaglebone/ai-64/images/ch08/proto.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch08/proto.jpg
rename to boards/beaglebone/ai-64/images/ch08/proto.jpg
diff --git a/beaglebone-ai-64/images/ch08/single-expansion-connector.jpg b/boards/beaglebone/ai-64/images/ch08/single-expansion-connector.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch08/single-expansion-connector.jpg
rename to boards/beaglebone/ai-64/images/ch08/single-expansion-connector.jpg
diff --git a/beaglebone-ai-64/images/ch08/stealing-expansion-connector.jpg b/boards/beaglebone/ai-64/images/ch08/stealing-expansion-connector.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch08/stealing-expansion-connector.jpg
rename to boards/beaglebone/ai-64/images/ch08/stealing-expansion-connector.jpg
diff --git a/beaglebone-ai-64/images/ch09/board-dimensions.jpg b/boards/beaglebone/ai-64/images/ch09/board-dimensions.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch09/board-dimensions.jpg
rename to boards/beaglebone/ai-64/images/ch09/board-dimensions.jpg
diff --git a/beaglebone-ai-64/images/ch09/bottom-silkscreen.png b/boards/beaglebone/ai-64/images/ch09/bottom-silkscreen.png
similarity index 100%
rename from beaglebone-ai-64/images/ch09/bottom-silkscreen.png
rename to boards/beaglebone/ai-64/images/ch09/bottom-silkscreen.png
diff --git a/beaglebone-ai-64/images/ch09/top-silkscreen.png b/boards/beaglebone/ai-64/images/ch09/top-silkscreen.png
similarity index 100%
rename from beaglebone-ai-64/images/ch09/top-silkscreen.png
rename to boards/beaglebone/ai-64/images/ch09/top-silkscreen.png
diff --git a/beaglebone-ai-64/images/ch10/45-back-heatsink.jpg b/boards/beaglebone/ai-64/images/ch10/45-back-heatsink.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch10/45-back-heatsink.jpg
rename to boards/beaglebone/ai-64/images/ch10/45-back-heatsink.jpg
diff --git a/beaglebone-ai-64/images/ch10/45-back.jpg b/boards/beaglebone/ai-64/images/ch10/45-back.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch10/45-back.jpg
rename to boards/beaglebone/ai-64/images/ch10/45-back.jpg
diff --git a/beaglebone-ai-64/images/ch10/45-front-hires.jpg b/boards/beaglebone/ai-64/images/ch10/45-front-hires.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch10/45-front-hires.jpg
rename to boards/beaglebone/ai-64/images/ch10/45-front-hires.jpg
diff --git a/beaglebone-ai-64/images/ch10/45-front.jpg b/boards/beaglebone/ai-64/images/ch10/45-front.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch10/45-front.jpg
rename to boards/beaglebone/ai-64/images/ch10/45-front.jpg
diff --git a/beaglebone-ai-64/images/ch10/back-heatsink.jpg b/boards/beaglebone/ai-64/images/ch10/back-heatsink.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch10/back-heatsink.jpg
rename to boards/beaglebone/ai-64/images/ch10/back-heatsink.jpg
diff --git a/beaglebone-ai-64/images/ch10/back.jpg b/boards/beaglebone/ai-64/images/ch10/back.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch10/back.jpg
rename to boards/beaglebone/ai-64/images/ch10/back.jpg
diff --git a/beaglebone-ai-64/images/ch10/feature.jpg b/boards/beaglebone/ai-64/images/ch10/feature.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch10/feature.jpg
rename to boards/beaglebone/ai-64/images/ch10/feature.jpg
diff --git a/beaglebone-ai-64/images/ch10/front.jpg b/boards/beaglebone/ai-64/images/ch10/front.jpg
similarity index 100%
rename from beaglebone-ai-64/images/ch10/front.jpg
rename to boards/beaglebone/ai-64/images/ch10/front.jpg
diff --git a/beaglebone-ai-64/images/feature.png b/boards/beaglebone/ai-64/images/feature.png
similarity index 100%
rename from beaglebone-ai-64/images/feature.png
rename to boards/beaglebone/ai-64/images/feature.png
diff --git a/beaglebone-ai-64/images/front.png b/boards/beaglebone/ai-64/images/front.png
similarity index 100%
rename from beaglebone-ai-64/images/front.png
rename to boards/beaglebone/ai-64/images/front.png
diff --git a/beaglebone-ai-64/index.rst b/boards/beaglebone/ai-64/index.rst
similarity index 100%
rename from beaglebone-ai-64/index.rst
rename to boards/beaglebone/ai-64/index.rst
diff --git a/beaglebone-black/System-Reference-Manual.asciidoc b/boards/beaglebone/black/System-Reference-Manual.asciidoc
similarity index 100%
rename from beaglebone-black/System-Reference-Manual.asciidoc
rename to boards/beaglebone/black/System-Reference-Manual.asciidoc
diff --git a/beaglebone-black/ch01.rst b/boards/beaglebone/black/ch01.rst
similarity index 100%
rename from beaglebone-black/ch01.rst
rename to boards/beaglebone/black/ch01.rst
diff --git a/beaglebone-black/ch02.rst b/boards/beaglebone/black/ch02.rst
similarity index 100%
rename from beaglebone-black/ch02.rst
rename to boards/beaglebone/black/ch02.rst
diff --git a/beaglebone-black/ch03.rst b/boards/beaglebone/black/ch03.rst
similarity index 100%
rename from beaglebone-black/ch03.rst
rename to boards/beaglebone/black/ch03.rst
diff --git a/beaglebone-black/ch04.rst b/boards/beaglebone/black/ch04.rst
similarity index 100%
rename from beaglebone-black/ch04.rst
rename to boards/beaglebone/black/ch04.rst
diff --git a/beaglebone-black/ch05.rst b/boards/beaglebone/black/ch05.rst
similarity index 100%
rename from beaglebone-black/ch05.rst
rename to boards/beaglebone/black/ch05.rst
diff --git a/beaglebone-black/ch06.rst b/boards/beaglebone/black/ch06.rst
similarity index 100%
rename from beaglebone-black/ch06.rst
rename to boards/beaglebone/black/ch06.rst
diff --git a/beaglebone-black/ch07.rst b/boards/beaglebone/black/ch07.rst
similarity index 100%
rename from beaglebone-black/ch07.rst
rename to boards/beaglebone/black/ch07.rst
diff --git a/beaglebone-black/ch08.rst b/boards/beaglebone/black/ch08.rst
similarity index 100%
rename from beaglebone-black/ch08.rst
rename to boards/beaglebone/black/ch08.rst
diff --git a/beaglebone-black/ch09.rst b/boards/beaglebone/black/ch09.rst
similarity index 100%
rename from beaglebone-black/ch09.rst
rename to boards/beaglebone/black/ch09.rst
diff --git a/beaglebone-black/ch10.rst b/boards/beaglebone/black/ch10.rst
similarity index 100%
rename from beaglebone-black/ch10.rst
rename to boards/beaglebone/black/ch10.rst
diff --git a/beaglebone-black/ch11.rst b/boards/beaglebone/black/ch11.rst
similarity index 100%
rename from beaglebone-black/ch11.rst
rename to boards/beaglebone/black/ch11.rst
diff --git a/beaglebone-black/images/BBvsBBB.jpg b/boards/beaglebone/black/images/BBvsBBB.jpg
similarity index 100%
rename from beaglebone-black/images/BBvsBBB.jpg
rename to boards/beaglebone/black/images/BBvsBBB.jpg
diff --git a/beaglebone-black/images/COMP_A5A.jpg b/boards/beaglebone/black/images/COMP_A5A.jpg
similarity index 100%
rename from beaglebone-black/images/COMP_A5A.jpg
rename to boards/beaglebone/black/images/COMP_A5A.jpg
diff --git a/beaglebone-black/images/CONN_REVA5A.jpg b/boards/beaglebone/black/images/CONN_REVA5A.jpg
similarity index 100%
rename from beaglebone-black/images/CONN_REVA5A.jpg
rename to boards/beaglebone/black/images/CONN_REVA5A.jpg
diff --git a/beaglebone-black/images/Features.jpg b/boards/beaglebone/black/images/Features.jpg
similarity index 100%
rename from beaglebone-black/images/Features.jpg
rename to boards/beaglebone/black/images/Features.jpg
diff --git a/boards/beaglebone/black/images/OSHW_mark_US000236.png b/boards/beaglebone/black/images/OSHW_mark_US000236.png
new file mode 100644
index 0000000000000000000000000000000000000000..1876074fcc68cb322f6a6948ea15062e61c8bc26
GIT binary patch
literal 22845
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
YYp!@pBXsBZzaL&1-8Q>Lgu6uiAF#A{@&Et;

literal 0
HcmV?d00001

diff --git a/beaglebone-black/images/REV_A5A.jpg b/boards/beaglebone/black/images/REV_A5A.jpg
similarity index 100%
rename from beaglebone-black/images/REV_A5A.jpg
rename to boards/beaglebone/black/images/REV_A5A.jpg
diff --git a/beaglebone-black/index.rst b/boards/beaglebone/black/index.rst
similarity index 100%
rename from beaglebone-black/index.rst
rename to boards/beaglebone/black/index.rst
diff --git a/beaglebone-black/media/image1.jpg b/boards/beaglebone/black/media/image1.jpg
similarity index 100%
rename from beaglebone-black/media/image1.jpg
rename to boards/beaglebone/black/media/image1.jpg
diff --git a/beaglebone-black/media/image10.jpg b/boards/beaglebone/black/media/image10.jpg
similarity index 100%
rename from beaglebone-black/media/image10.jpg
rename to boards/beaglebone/black/media/image10.jpg
diff --git a/beaglebone-black/media/image11.jpg b/boards/beaglebone/black/media/image11.jpg
similarity index 100%
rename from beaglebone-black/media/image11.jpg
rename to boards/beaglebone/black/media/image11.jpg
diff --git a/beaglebone-black/media/image12.jpg b/boards/beaglebone/black/media/image12.jpg
similarity index 100%
rename from beaglebone-black/media/image12.jpg
rename to boards/beaglebone/black/media/image12.jpg
diff --git a/beaglebone-black/media/image13.jpg b/boards/beaglebone/black/media/image13.jpg
similarity index 100%
rename from beaglebone-black/media/image13.jpg
rename to boards/beaglebone/black/media/image13.jpg
diff --git a/beaglebone-black/media/image14.jpg b/boards/beaglebone/black/media/image14.jpg
similarity index 100%
rename from beaglebone-black/media/image14.jpg
rename to boards/beaglebone/black/media/image14.jpg
diff --git a/beaglebone-black/media/image16.jpg b/boards/beaglebone/black/media/image16.jpg
similarity index 100%
rename from beaglebone-black/media/image16.jpg
rename to boards/beaglebone/black/media/image16.jpg
diff --git a/beaglebone-black/media/image17.jpg b/boards/beaglebone/black/media/image17.jpg
similarity index 100%
rename from beaglebone-black/media/image17.jpg
rename to boards/beaglebone/black/media/image17.jpg
diff --git a/beaglebone-black/media/image18.jpg b/boards/beaglebone/black/media/image18.jpg
similarity index 100%
rename from beaglebone-black/media/image18.jpg
rename to boards/beaglebone/black/media/image18.jpg
diff --git a/beaglebone-black/media/image2.jpg b/boards/beaglebone/black/media/image2.jpg
similarity index 100%
rename from beaglebone-black/media/image2.jpg
rename to boards/beaglebone/black/media/image2.jpg
diff --git a/beaglebone-black/media/image24.jpg b/boards/beaglebone/black/media/image24.jpg
similarity index 100%
rename from beaglebone-black/media/image24.jpg
rename to boards/beaglebone/black/media/image24.jpg
diff --git a/beaglebone-black/media/image25.jpg b/boards/beaglebone/black/media/image25.jpg
similarity index 100%
rename from beaglebone-black/media/image25.jpg
rename to boards/beaglebone/black/media/image25.jpg
diff --git a/beaglebone-black/media/image26.jpg b/boards/beaglebone/black/media/image26.jpg
similarity index 100%
rename from beaglebone-black/media/image26.jpg
rename to boards/beaglebone/black/media/image26.jpg
diff --git a/beaglebone-black/media/image27.jpg b/boards/beaglebone/black/media/image27.jpg
similarity index 100%
rename from beaglebone-black/media/image27.jpg
rename to boards/beaglebone/black/media/image27.jpg
diff --git a/beaglebone-black/media/image28.jpg b/boards/beaglebone/black/media/image28.jpg
similarity index 100%
rename from beaglebone-black/media/image28.jpg
rename to boards/beaglebone/black/media/image28.jpg
diff --git a/beaglebone-black/media/image29.jpg b/boards/beaglebone/black/media/image29.jpg
similarity index 100%
rename from beaglebone-black/media/image29.jpg
rename to boards/beaglebone/black/media/image29.jpg
diff --git a/beaglebone-black/media/image30.jpg b/boards/beaglebone/black/media/image30.jpg
similarity index 100%
rename from beaglebone-black/media/image30.jpg
rename to boards/beaglebone/black/media/image30.jpg
diff --git a/beaglebone-black/media/image31.png b/boards/beaglebone/black/media/image31.png
similarity index 100%
rename from beaglebone-black/media/image31.png
rename to boards/beaglebone/black/media/image31.png
diff --git a/beaglebone-black/media/image37.png b/boards/beaglebone/black/media/image37.png
similarity index 100%
rename from beaglebone-black/media/image37.png
rename to boards/beaglebone/black/media/image37.png
diff --git a/beaglebone-black/media/image38.png b/boards/beaglebone/black/media/image38.png
similarity index 100%
rename from beaglebone-black/media/image38.png
rename to boards/beaglebone/black/media/image38.png
diff --git a/beaglebone-black/media/image39.jpg b/boards/beaglebone/black/media/image39.jpg
similarity index 100%
rename from beaglebone-black/media/image39.jpg
rename to boards/beaglebone/black/media/image39.jpg
diff --git a/beaglebone-black/media/image40.png b/boards/beaglebone/black/media/image40.png
similarity index 100%
rename from beaglebone-black/media/image40.png
rename to boards/beaglebone/black/media/image40.png
diff --git a/beaglebone-black/media/image41.png b/boards/beaglebone/black/media/image41.png
similarity index 100%
rename from beaglebone-black/media/image41.png
rename to boards/beaglebone/black/media/image41.png
diff --git a/beaglebone-black/media/image42.jpg b/boards/beaglebone/black/media/image42.jpg
similarity index 100%
rename from beaglebone-black/media/image42.jpg
rename to boards/beaglebone/black/media/image42.jpg
diff --git a/beaglebone-black/media/image43.png b/boards/beaglebone/black/media/image43.png
similarity index 100%
rename from beaglebone-black/media/image43.png
rename to boards/beaglebone/black/media/image43.png
diff --git a/beaglebone-black/media/image44.png b/boards/beaglebone/black/media/image44.png
similarity index 100%
rename from beaglebone-black/media/image44.png
rename to boards/beaglebone/black/media/image44.png
diff --git a/beaglebone-black/media/image45.png b/boards/beaglebone/black/media/image45.png
similarity index 100%
rename from beaglebone-black/media/image45.png
rename to boards/beaglebone/black/media/image45.png
diff --git a/beaglebone-black/media/image46.png b/boards/beaglebone/black/media/image46.png
similarity index 100%
rename from beaglebone-black/media/image46.png
rename to boards/beaglebone/black/media/image46.png
diff --git a/beaglebone-black/media/image47.jpg b/boards/beaglebone/black/media/image47.jpg
similarity index 100%
rename from beaglebone-black/media/image47.jpg
rename to boards/beaglebone/black/media/image47.jpg
diff --git a/beaglebone-black/media/image48.png b/boards/beaglebone/black/media/image48.png
similarity index 100%
rename from beaglebone-black/media/image48.png
rename to boards/beaglebone/black/media/image48.png
diff --git a/beaglebone-black/media/image49.png b/boards/beaglebone/black/media/image49.png
similarity index 100%
rename from beaglebone-black/media/image49.png
rename to boards/beaglebone/black/media/image49.png
diff --git a/beaglebone-black/media/image50.png b/boards/beaglebone/black/media/image50.png
similarity index 100%
rename from beaglebone-black/media/image50.png
rename to boards/beaglebone/black/media/image50.png
diff --git a/beaglebone-black/media/image51.png b/boards/beaglebone/black/media/image51.png
similarity index 100%
rename from beaglebone-black/media/image51.png
rename to boards/beaglebone/black/media/image51.png
diff --git a/beaglebone-black/media/image52.png b/boards/beaglebone/black/media/image52.png
similarity index 100%
rename from beaglebone-black/media/image52.png
rename to boards/beaglebone/black/media/image52.png
diff --git a/beaglebone-black/media/image53.png b/boards/beaglebone/black/media/image53.png
similarity index 100%
rename from beaglebone-black/media/image53.png
rename to boards/beaglebone/black/media/image53.png
diff --git a/beaglebone-black/media/image54.jpg b/boards/beaglebone/black/media/image54.jpg
similarity index 100%
rename from beaglebone-black/media/image54.jpg
rename to boards/beaglebone/black/media/image54.jpg
diff --git a/beaglebone-black/media/image55.png b/boards/beaglebone/black/media/image55.png
similarity index 100%
rename from beaglebone-black/media/image55.png
rename to boards/beaglebone/black/media/image55.png
diff --git a/beaglebone-black/media/image56.png b/boards/beaglebone/black/media/image56.png
similarity index 100%
rename from beaglebone-black/media/image56.png
rename to boards/beaglebone/black/media/image56.png
diff --git a/beaglebone-black/media/image57.png b/boards/beaglebone/black/media/image57.png
similarity index 100%
rename from beaglebone-black/media/image57.png
rename to boards/beaglebone/black/media/image57.png
diff --git a/beaglebone-black/media/image58.png b/boards/beaglebone/black/media/image58.png
similarity index 100%
rename from beaglebone-black/media/image58.png
rename to boards/beaglebone/black/media/image58.png
diff --git a/beaglebone-black/media/image59.png b/boards/beaglebone/black/media/image59.png
similarity index 100%
rename from beaglebone-black/media/image59.png
rename to boards/beaglebone/black/media/image59.png
diff --git a/beaglebone-black/media/image60.png b/boards/beaglebone/black/media/image60.png
similarity index 100%
rename from beaglebone-black/media/image60.png
rename to boards/beaglebone/black/media/image60.png
diff --git a/beaglebone-black/media/image64.png b/boards/beaglebone/black/media/image64.png
similarity index 100%
rename from beaglebone-black/media/image64.png
rename to boards/beaglebone/black/media/image64.png
diff --git a/beaglebone-black/media/image65.png b/boards/beaglebone/black/media/image65.png
similarity index 100%
rename from beaglebone-black/media/image65.png
rename to boards/beaglebone/black/media/image65.png
diff --git a/beaglebone-black/media/image66.png b/boards/beaglebone/black/media/image66.png
similarity index 100%
rename from beaglebone-black/media/image66.png
rename to boards/beaglebone/black/media/image66.png
diff --git a/beaglebone-black/media/image67.png b/boards/beaglebone/black/media/image67.png
similarity index 100%
rename from beaglebone-black/media/image67.png
rename to boards/beaglebone/black/media/image67.png
diff --git a/beaglebone-black/media/image68.jpg b/boards/beaglebone/black/media/image68.jpg
similarity index 100%
rename from beaglebone-black/media/image68.jpg
rename to boards/beaglebone/black/media/image68.jpg
diff --git a/beaglebone-black/media/image69.jpg b/boards/beaglebone/black/media/image69.jpg
similarity index 100%
rename from beaglebone-black/media/image69.jpg
rename to boards/beaglebone/black/media/image69.jpg
diff --git a/beaglebone-black/media/image7.jpg b/boards/beaglebone/black/media/image7.jpg
similarity index 100%
rename from beaglebone-black/media/image7.jpg
rename to boards/beaglebone/black/media/image7.jpg
diff --git a/beaglebone-black/media/image71.jpg b/boards/beaglebone/black/media/image71.jpg
similarity index 100%
rename from beaglebone-black/media/image71.jpg
rename to boards/beaglebone/black/media/image71.jpg
diff --git a/beaglebone-black/media/image73.jpg b/boards/beaglebone/black/media/image73.jpg
similarity index 100%
rename from beaglebone-black/media/image73.jpg
rename to boards/beaglebone/black/media/image73.jpg
diff --git a/beaglebone-black/media/image75.jpg b/boards/beaglebone/black/media/image75.jpg
similarity index 100%
rename from beaglebone-black/media/image75.jpg
rename to boards/beaglebone/black/media/image75.jpg
diff --git a/beaglebone-black/media/image77.jpg b/boards/beaglebone/black/media/image77.jpg
similarity index 100%
rename from beaglebone-black/media/image77.jpg
rename to boards/beaglebone/black/media/image77.jpg
diff --git a/beaglebone-black/media/image78.png b/boards/beaglebone/black/media/image78.png
similarity index 100%
rename from beaglebone-black/media/image78.png
rename to boards/beaglebone/black/media/image78.png
diff --git a/beaglebone-black/media/image79.png b/boards/beaglebone/black/media/image79.png
similarity index 100%
rename from beaglebone-black/media/image79.png
rename to boards/beaglebone/black/media/image79.png
diff --git a/beaglebone-black/media/image8.jpg b/boards/beaglebone/black/media/image8.jpg
similarity index 100%
rename from beaglebone-black/media/image8.jpg
rename to boards/beaglebone/black/media/image8.jpg
diff --git a/beaglebone-black/media/image80.png b/boards/beaglebone/black/media/image80.png
similarity index 100%
rename from beaglebone-black/media/image80.png
rename to boards/beaglebone/black/media/image80.png
diff --git a/beaglebone-black/media/image81.jpg b/boards/beaglebone/black/media/image81.jpg
similarity index 100%
rename from beaglebone-black/media/image81.jpg
rename to boards/beaglebone/black/media/image81.jpg
diff --git a/beaglebone-black/media/image82.jpg b/boards/beaglebone/black/media/image82.jpg
similarity index 100%
rename from beaglebone-black/media/image82.jpg
rename to boards/beaglebone/black/media/image82.jpg
diff --git a/beaglebone-black/media/image83.jpg b/boards/beaglebone/black/media/image83.jpg
similarity index 100%
rename from beaglebone-black/media/image83.jpg
rename to boards/beaglebone/black/media/image83.jpg
diff --git a/beaglebone-black/media/image84.jpg b/boards/beaglebone/black/media/image84.jpg
similarity index 100%
rename from beaglebone-black/media/image84.jpg
rename to boards/beaglebone/black/media/image84.jpg
diff --git a/beaglebone-black/media/image85.jpg b/boards/beaglebone/black/media/image85.jpg
similarity index 100%
rename from beaglebone-black/media/image85.jpg
rename to boards/beaglebone/black/media/image85.jpg
diff --git a/beaglebone-black/media/image86.jpg b/boards/beaglebone/black/media/image86.jpg
similarity index 100%
rename from beaglebone-black/media/image86.jpg
rename to boards/beaglebone/black/media/image86.jpg
diff --git a/beaglebone-black/media/image87.jpg b/boards/beaglebone/black/media/image87.jpg
similarity index 100%
rename from beaglebone-black/media/image87.jpg
rename to boards/beaglebone/black/media/image87.jpg
diff --git a/beaglebone-black/media/image88.jpg b/boards/beaglebone/black/media/image88.jpg
similarity index 100%
rename from beaglebone-black/media/image88.jpg
rename to boards/beaglebone/black/media/image88.jpg
diff --git a/beaglebone-black/media/image89.jpg b/boards/beaglebone/black/media/image89.jpg
similarity index 100%
rename from beaglebone-black/media/image89.jpg
rename to boards/beaglebone/black/media/image89.jpg
diff --git a/beaglebone-black/media/image9.jpg b/boards/beaglebone/black/media/image9.jpg
similarity index 100%
rename from beaglebone-black/media/image9.jpg
rename to boards/beaglebone/black/media/image9.jpg
diff --git a/beaglebone-black/media/image90.jpg b/boards/beaglebone/black/media/image90.jpg
similarity index 100%
rename from beaglebone-black/media/image90.jpg
rename to boards/beaglebone/black/media/image90.jpg
diff --git a/beaglebone-black/media/image91.jpg b/boards/beaglebone/black/media/image91.jpg
similarity index 100%
rename from beaglebone-black/media/image91.jpg
rename to boards/beaglebone/black/media/image91.jpg
diff --git a/beaglebone-black/media/image92.jpg b/boards/beaglebone/black/media/image92.jpg
similarity index 100%
rename from beaglebone-black/media/image92.jpg
rename to boards/beaglebone/black/media/image92.jpg
diff --git a/beaglebone-black/media/image93.jpg b/boards/beaglebone/black/media/image93.jpg
similarity index 100%
rename from beaglebone-black/media/image93.jpg
rename to boards/beaglebone/black/media/image93.jpg
diff --git a/beaglebone-black/media/image94.jpg b/boards/beaglebone/black/media/image94.jpg
similarity index 100%
rename from beaglebone-black/media/image94.jpg
rename to boards/beaglebone/black/media/image94.jpg
diff --git a/beaglebone-black/media/image95.jpg b/boards/beaglebone/black/media/image95.jpg
similarity index 100%
rename from beaglebone-black/media/image95.jpg
rename to boards/beaglebone/black/media/image95.jpg
diff --git a/beaglebone-black/media/image96.png b/boards/beaglebone/black/media/image96.png
similarity index 100%
rename from beaglebone-black/media/image96.png
rename to boards/beaglebone/black/media/image96.png
diff --git a/beaglebone-black/media/image97.png b/boards/beaglebone/black/media/image97.png
similarity index 100%
rename from beaglebone-black/media/image97.png
rename to boards/beaglebone/black/media/image97.png
diff --git a/beaglebone-blue/accessories.rst b/boards/beaglebone/blue/accessories.rst
similarity index 100%
rename from beaglebone-blue/accessories.rst
rename to boards/beaglebone/blue/accessories.rst
diff --git a/beaglebone-blue/code.rst b/boards/beaglebone/blue/code.rst
similarity index 100%
rename from beaglebone-blue/code.rst
rename to boards/beaglebone/blue/code.rst
diff --git a/beaglebone-blue/faq.rst b/boards/beaglebone/blue/faq.rst
similarity index 100%
rename from beaglebone-blue/faq.rst
rename to boards/beaglebone/blue/faq.rst
diff --git a/beaglebone-blue/flashing-firmware.rst b/boards/beaglebone/blue/flashing-firmware.rst
similarity index 100%
rename from beaglebone-blue/flashing-firmware.rst
rename to boards/beaglebone/blue/flashing-firmware.rst
diff --git a/beaglebone-blue/index.rst b/boards/beaglebone/blue/index.rst
similarity index 100%
rename from beaglebone-blue/index.rst
rename to boards/beaglebone/blue/index.rst
diff --git a/beaglebone-blue/ip-settings.rst b/boards/beaglebone/blue/ip-settings.rst
similarity index 100%
rename from beaglebone-blue/ip-settings.rst
rename to boards/beaglebone/blue/ip-settings.rst
diff --git a/beaglebone-blue/media/BeagleBone_Blue_pinouts.png b/boards/beaglebone/blue/media/BeagleBone_Blue_pinouts.png
similarity index 100%
rename from beaglebone-blue/media/BeagleBone_Blue_pinouts.png
rename to boards/beaglebone/blue/media/BeagleBone_Blue_pinouts.png
diff --git a/boards/beaglebone/blue/media/OSHW_mark_US000064.png b/boards/beaglebone/blue/media/OSHW_mark_US000064.png
new file mode 100644
index 0000000000000000000000000000000000000000..235654af9ae1d059e59c04f010497dec1cb80570
GIT binary patch
literal 30025
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

literal 0
HcmV?d00001

diff --git a/beaglebone-blue/media/pinout.jpg b/boards/beaglebone/blue/media/pinout.jpg
similarity index 100%
rename from beaglebone-blue/media/pinout.jpg
rename to boards/beaglebone/blue/media/pinout.jpg
diff --git a/beaglebone-blue/pinouts.rst b/boards/beaglebone/blue/pinouts.rst
similarity index 100%
rename from beaglebone-blue/pinouts.rst
rename to boards/beaglebone/blue/pinouts.rst
diff --git a/beaglebone-blue/rev-c-priorities.rst b/boards/beaglebone/blue/rev-c-priorities.rst
similarity index 100%
rename from beaglebone-blue/rev-c-priorities.rst
rename to boards/beaglebone/blue/rev-c-priorities.rst
diff --git a/beaglebone-blue/ssh.rst b/boards/beaglebone/blue/ssh.rst
similarity index 100%
rename from beaglebone-blue/ssh.rst
rename to boards/beaglebone/blue/ssh.rst
diff --git a/beaglebone-blue/tests.rst b/boards/beaglebone/blue/tests.rst
similarity index 100%
rename from beaglebone-blue/tests.rst
rename to boards/beaglebone/blue/tests.rst
diff --git a/beaglebone-blue/wifi.rst b/boards/beaglebone/blue/wifi.rst
similarity index 100%
rename from beaglebone-blue/wifi.rst
rename to boards/beaglebone/blue/wifi.rst
diff --git a/boards/beaglebone/index.rst b/boards/beaglebone/index.rst
new file mode 100644
index 00000000..4ab89c9f
--- /dev/null
+++ b/boards/beaglebone/index.rst
@@ -0,0 +1,32 @@
+BeagleBone
+###################
+
+BeagleBone boards are intended to be bare-bones, with a balance of features to enable
+rapid prototyping and provide a solid reference for building end products.
+
+The most popular design is BeagleBone Black, a staple reference for an open hardware
+embedded Linux single board computer.
+
+BeagleBone AI-64 is our most powerful design with tremendous machine learning inference
+performance and 
+
+For simplicity of developing small, mobile robotics, check out BeagleBone Blue, a highly
+integrated board with motor drivers, battery support, altimeter, gyroscope, accelerometer,
+and much more to get started developing quickly.
+
+The System Reference Manual for each BeagleBone board is below. Older boards are supported
+with links to their latest PDF-formatted System Reference Manual and the latest boards are
+included both here and in the downloadable beagleboard-docs.pdf linked on the bottom-left
+of your screen.
+
+* `BeagleBone (original) <https://git.beagleboard.org/beagleboard/beaglebone/-/blob/master/BeagleBone_SRM_A6_0_1.pdf>`_
+
+
+.. toctree::
+   :maxdepth: 1
+   :caption: Boards
+
+   black/index.rst
+   ai-64/index.rst
+   blue/index.rst
+
diff --git a/beagleconnect/ch01.rst b/boards/beagleconnect/freedom/index.rst
similarity index 66%
rename from beagleconnect/ch01.rst
rename to boards/beagleconnect/freedom/index.rst
index c3f20dba..f42ded22 100644
--- a/beagleconnect/ch01.rst
+++ b/boards/beagleconnect/freedom/index.rst
@@ -1,94 +1,5 @@
-***************************
-BeagleConnectâ„¢ Introduction
-***************************
-
-
-
-BeagleConnectâ„¢ is a revolutionary technology virtually eliminating low-level 
-software development for `IoT <https://en.wikipedia.org/wiki/Internet_of_things>`_ 
-and `IIoT <https://en.wikipedia.org/wiki/Industrial_internet_of_things>`_ 
-applications, such as building automation, factory automation, home automation,
-and scientific data acquisition. While numerous IoT and IIoT solutions 
-available today provide massive software libraries for microcontrollers 
-supporting a limited body of `sensors <https://en.wikipedia.org/wiki/Sensor>`_,
-`actuators <https://en.wikipedia.org/wiki/Actuator>`_ and `indicators <https://en.wikipedia.org/wiki/Indicator_(distance_amplifying_instrument)>`_ 
-as well as libraries for communicating over various networks, BeagleConnect 
-simply eliminates the need for these libraries by shifting the burden into the 
-most massive and collaborative software project of all time, the `Linux kernel <https://en.wikipedia.org/wiki/Linux_kernel>`_.
-
-.. image:: media/bcf-c5-boards.jpg
-   :width: 600
-   :align: center
-   :height: 400
-   :alt: BeagleConnect Freedom C5 Boards
-
-These are the tools used to automate things in 
-`scientific data collection <https://en.wikipedia.org/wiki/Data_collection_system>`_, 
-`data science <https://en.wikipedia.org/wiki/Data_science>`_, 
-`mechatronics <https://en.wikipedia.org/wiki/Mechatronics>`_, 
-and `IoT <https://en.wikipedia.org/wiki/Internet_of_things>`_.
-
-BeagleConnectâ„¢ technology solves:
-
-* The need to write software to add a large set of diverse devices to your 
-  system,
-* The need to maintain the software with security updates,
-* The need to rapidly prototype using off-the-shelf software and hardware 
-  without wiring,
-* The need to connect to devices using long-range, low-power wireless, and
-* The need to produce high-volume custom hardware cost-optimized for your 
-  requirements.
-
-BeagleConnectâ„¢ Experience
-#########################
-
-BeagleConnectâ„¢ provides a scalable experience for interacting with the physical
-world.
-
-Note: The term BeagleConnectâ„¢ refers to a technology comprising of a family of 
-boards, a collection of Linux kernel drivers, microcontroller firmware, a 
-communication protocol, and system-level integration to automation software 
-tools. More specific terms will be applied in the architecture details. The 
-term is also used here to represent the experience introduced to users through 
-the initial BeagleConnectâ„¢ Freedom product consisting of a board and case which
-ships programmed and ready to be used. 
-
-
-
-For scientists, we are integrating `Jupyter Notebook <https://jupyter.org/>`_ 
-with the data streams from any of hundreds of sensor options, including 
-`vibration <https://www.mikroe.com/click/sensors/force>`_, 
-`gas detection <https://www.mikroe.com/click/sensors/gas>`_, 
-`biometrics <https://www.mikroe.com/click/sensors/biometrics>`_ and 
-`more <https://www.mikroe.com/click/sensors>`_. These data streams can be 
-stored in simple `data files <https://en.wikipedia.org/wiki/Comma-separated_values>` 
-or processed and visualized.
-
-#TODO: provide images demonstrating Jupyter Notebook visualization
-
-For embedded systems developers, data is easily extracted using the standard IIO
-interface provided by the Linux kernel running on the gateway using any of 
-hundreds of programming languages and environments, without writing a line of 
-microcontroller firmware. The Linux environment provides opportunities for 
-high-level remote management using tools like Balena with applications deployed
-in Docker containers.
-
-#TODO: provide image illustrating remote management
-
-The hardware and software are fully open source, providing for scalability and 
-a lack of vendor lock-in.
-
-For DevOps…
-
-For home automaters, integration into WebThings…
-
-#TODO: think a bit more about this section with some feedback from Cathy.
-
-BeagleConnectâ„¢ hardware
-#######################
-
 BeagleConnectâ„¢ Freedom
-**********************
+######################
 
 .. image:: media/image1.jpg
    :width: 600
diff --git a/beagleconnect/media/bcf-c5-boards.jpg b/boards/beagleconnect/freedom/media/bcf-c5-boards.jpg
similarity index 100%
rename from beagleconnect/media/bcf-c5-boards.jpg
rename to boards/beagleconnect/freedom/media/bcf-c5-boards.jpg
diff --git a/beagleconnect/ch03.rst b/boards/beagleconnect/freedom/usage.rst
similarity index 100%
rename from beagleconnect/ch03.rst
rename to boards/beagleconnect/freedom/usage.rst
diff --git a/beagleconnect/ch04.rst b/boards/beagleconnect/freedom/zephyr.rst
similarity index 100%
rename from beagleconnect/ch04.rst
rename to boards/beagleconnect/freedom/zephyr.rst
diff --git a/boards/beagleconnect/index.rst b/boards/beagleconnect/index.rst
new file mode 100644
index 00000000..e4565c52
--- /dev/null
+++ b/boards/beagleconnect/index.rst
@@ -0,0 +1,105 @@
+.. _beagleconnect-home:
+
+**************
+BeagleConnectâ„¢
+**************
+
+BeagleConnectâ„¢ is a revolutionary technology virtually eliminating low-level 
+software development for `IoT <https://en.wikipedia.org/wiki/Internet_of_things>`_ 
+and `IIoT <https://en.wikipedia.org/wiki/Industrial_internet_of_things>`_ 
+applications, such as building automation, factory automation, home automation,
+and scientific data acquisition. While numerous IoT and IIoT solutions 
+available today provide massive software libraries for microcontrollers 
+supporting a limited body of `sensors <https://en.wikipedia.org/wiki/Sensor>`_,
+`actuators <https://en.wikipedia.org/wiki/Actuator>`_ and `indicators <https://en.wikipedia.org/wiki/Indicator_(distance_amplifying_instrument)>`_ 
+as well as libraries for communicating over various networks, BeagleConnect 
+simply eliminates the need for these libraries by shifting the burden into the 
+most massive and collaborative software project of all time, the `Linux kernel <https://en.wikipedia.org/wiki/Linux_kernel>`_.
+
+.. image:: freedom/media/bcf-c5-boards.jpg
+   :width: 600
+   :align: center
+   :height: 400
+   :alt: BeagleConnect Freedom C5 Boards
+
+These are the tools used to automate things in 
+`scientific data collection <https://en.wikipedia.org/wiki/Data_collection_system>`_, 
+`data science <https://en.wikipedia.org/wiki/Data_science>`_, 
+`mechatronics <https://en.wikipedia.org/wiki/Mechatronics>`_, 
+and `IoT <https://en.wikipedia.org/wiki/Internet_of_things>`_.
+
+BeagleConnectâ„¢ technology solves:
+
+* The need to write software to add a large set of diverse devices to your 
+  system,
+* The need to maintain the software with security updates,
+* The need to rapidly prototype using off-the-shelf software and hardware 
+  without wiring,
+* The need to connect to devices using long-range, low-power wireless, and
+* The need to produce high-volume custom hardware cost-optimized for your 
+  requirements.
+
+BeagleConnectâ„¢ Experience
+#########################
+
+BeagleConnectâ„¢ provides a scalable experience for interacting with the physical
+world.
+
+Note: The term BeagleConnectâ„¢ refers to a technology comprising of a family of 
+boards, a collection of Linux kernel drivers, microcontroller firmware, a 
+communication protocol, and system-level integration to automation software 
+tools. More specific terms will be applied in the architecture details. The 
+term is also used here to represent the experience introduced to users through 
+the initial BeagleConnectâ„¢ Freedom product consisting of a board and case which
+ships programmed and ready to be used. 
+
+For scientists, we are integrating `Jupyter Notebook <https://jupyter.org/>`_ 
+with the data streams from any of hundreds of sensor options, including 
+`vibration <https://www.mikroe.com/click/sensors/force>`_, 
+`gas detection <https://www.mikroe.com/click/sensors/gas>`_, 
+`biometrics <https://www.mikroe.com/click/sensors/biometrics>`_ and 
+`more <https://www.mikroe.com/click/sensors>`_. These data streams can be 
+stored in simple `data files <https://en.wikipedia.org/wiki/Comma-separated_values>` 
+or processed and visualized.
+
+#TODO: provide images demonstrating Jupyter Notebook visualization
+
+For embedded systems developers, data is easily extracted using the standard IIO
+interface provided by the Linux kernel running on the gateway using any of 
+hundreds of programming languages and environments, without writing a line of 
+microcontroller firmware. The Linux environment provides opportunities for 
+high-level remote management using tools like Balena with applications deployed
+in Docker containers.
+
+#TODO: provide image illustrating remote management
+
+The hardware and software are fully open source, providing for scalability and 
+a lack of vendor lock-in.
+
+For DevOps…
+
+For home automaters, integration into WebThings…
+
+#TODO: think a bit more about this section with some feedback from Cathy.
+
+.. image:: media/image1.jpg
+   :width: 598
+   :align: center
+   :height: 400
+   :alt: BeagleConnect
+
+.. _beagleconnect-Change-History:
+
+**************
+Change History
+**************
+
+.. toctree::
+   :maxdepth: 1
+
+   story.rst
+   overview.rst
+   freedom/index.rst
+   freedom/usage.rst
+   freedom/zephyr.rst
+
diff --git a/beagleconnect/media/ProvStep1.jpg b/boards/beagleconnect/media/ProvStep1.jpg
similarity index 100%
rename from beagleconnect/media/ProvStep1.jpg
rename to boards/beagleconnect/media/ProvStep1.jpg
diff --git a/beagleconnect/media/ProvStep2.jpg b/boards/beagleconnect/media/ProvStep2.jpg
similarity index 100%
rename from beagleconnect/media/ProvStep2.jpg
rename to boards/beagleconnect/media/ProvStep2.jpg
diff --git a/beagleconnect/media/ProvStep3.jpg b/boards/beagleconnect/media/ProvStep3.jpg
similarity index 100%
rename from beagleconnect/media/ProvStep3.jpg
rename to boards/beagleconnect/media/ProvStep3.jpg
diff --git a/beagleconnect/media/SoftwareProp.jpg b/boards/beagleconnect/media/SoftwareProp.jpg
similarity index 100%
rename from beagleconnect/media/SoftwareProp.jpg
rename to boards/beagleconnect/media/SoftwareProp.jpg
diff --git a/beagleconnect/media/bcf_block_diagram.svg b/boards/beagleconnect/media/bcf_block_diagram.svg
similarity index 100%
rename from beagleconnect/media/bcf_block_diagram.svg
rename to boards/beagleconnect/media/bcf_block_diagram.svg
diff --git a/beagleconnect/media/image1.jpg b/boards/beagleconnect/media/image1.jpg
similarity index 100%
rename from beagleconnect/media/image1.jpg
rename to boards/beagleconnect/media/image1.jpg
diff --git a/beagleconnect/ch05.rst b/boards/beagleconnect/overview.rst
similarity index 100%
rename from beagleconnect/ch05.rst
rename to boards/beagleconnect/overview.rst
diff --git a/beagleconnect/index.rst b/boards/beagleconnect/story.rst
similarity index 98%
rename from beagleconnect/index.rst
rename to boards/beagleconnect/story.rst
index 298b65d7..99d700ea 100644
--- a/beagleconnect/index.rst
+++ b/boards/beagleconnect/story.rst
@@ -41,7 +41,7 @@ computer users without any thoughtful provisions for what already worked?
 .. toctree::
    :maxdepth: 1
 
-   ch01.rst
+   intro.rst
    ch02.rst
    ch03.rst
    ch04.rst
@@ -52,4 +52,5 @@ computer users without any thoughtful provisions for what already worked?
    ch09.rst
    ch10.rst
    ch11.rst
+   freedom/index.rst
 
diff --git a/support/cape-interface-spec.rst b/boards/capes/cape-interface-spec.rst
similarity index 100%
rename from support/cape-interface-spec.rst
rename to boards/capes/cape-interface-spec.rst
diff --git a/support/tables/BeagleBone cape interface spec.ods b/boards/capes/tables/BeagleBone cape interface spec.ods
similarity index 100%
rename from support/tables/BeagleBone cape interface spec.ods
rename to boards/capes/tables/BeagleBone cape interface spec.ods
diff --git a/support/tables/BeagleBone-Cape-header-definition.csv b/boards/capes/tables/BeagleBone-Cape-header-definition.csv
similarity index 100%
rename from support/tables/BeagleBone-Cape-header-definition.csv
rename to boards/capes/tables/BeagleBone-Cape-header-definition.csv
diff --git a/support/tables/Bone-LEDs-Overlays.csv b/boards/capes/tables/Bone-LEDs-Overlays.csv
similarity index 100%
rename from support/tables/Bone-LEDs-Overlays.csv
rename to boards/capes/tables/Bone-LEDs-Overlays.csv
diff --git a/support/tables/Bone-LEDs.csv b/boards/capes/tables/Bone-LEDs.csv
similarity index 100%
rename from support/tables/Bone-LEDs.csv
rename to boards/capes/tables/Bone-LEDs.csv
diff --git a/boards/index.rst b/boards/index.rst
new file mode 100644
index 00000000..10382195
--- /dev/null
+++ b/boards/index.rst
@@ -0,0 +1,28 @@
+Boards
+#########
+
+`BeagleBone <beaglebone>`__ is a family of ARM-based, Linux-capable boards intended to be
+bare-bones, with a balance of features to enable rapid prototyping and provide a solid
+reference for building end products.
+
+`PocketBeagle <pocketbeagle>`__ boards are ultra-tiny ARM-based, Linux-capable boards intended to be
+very low cost, with minimal features suitable for beginners and attractive to professionals
+looking for a more minimal starting point.
+
+`BeagleBone and PocketBeagle Capes <capes>`__ are add-on boards for BeagleBone and PocketBeagle boards.
+
+`BeagleConnect <beagleconnect>`__ boards are ARM microcontroller-based, Zephyr-capable boards meant
+to act as ultra low cost smart peripherals to their Linux-capable counterparts, with connectivity
+options that enable almost endless sensing and actuation expansion.
+
+`BeagleBoard <beagleboard>`__ is a family of ARM-based, Linux-capable boards where this project
+started.
+
+.. toctree::
+   :maxdepth: 1
+   beaglebone/index.rst
+   capes/index.rst
+   pocketbeagle/index.rst
+   beagleconnect/index.rst
+   beagleboard/index.rst
+
diff --git a/pocketbeagle/System-Reference-Manual.wiki b/boards/pocketbeagle/System-Reference-Manual.wiki
similarity index 100%
rename from pocketbeagle/System-Reference-Manual.wiki
rename to boards/pocketbeagle/System-Reference-Manual.wiki
diff --git a/pocketbeagle/ch01.rst b/boards/pocketbeagle/ch01.rst
similarity index 100%
rename from pocketbeagle/ch01.rst
rename to boards/pocketbeagle/ch01.rst
diff --git a/pocketbeagle/ch02.rst b/boards/pocketbeagle/ch02.rst
similarity index 100%
rename from pocketbeagle/ch02.rst
rename to boards/pocketbeagle/ch02.rst
diff --git a/pocketbeagle/ch03.rst b/boards/pocketbeagle/ch03.rst
similarity index 100%
rename from pocketbeagle/ch03.rst
rename to boards/pocketbeagle/ch03.rst
diff --git a/pocketbeagle/ch04.rst b/boards/pocketbeagle/ch04.rst
similarity index 100%
rename from pocketbeagle/ch04.rst
rename to boards/pocketbeagle/ch04.rst
diff --git a/pocketbeagle/ch05.rst b/boards/pocketbeagle/ch05.rst
similarity index 100%
rename from pocketbeagle/ch05.rst
rename to boards/pocketbeagle/ch05.rst
diff --git a/pocketbeagle/ch06.rst b/boards/pocketbeagle/ch06.rst
similarity index 100%
rename from pocketbeagle/ch06.rst
rename to boards/pocketbeagle/ch06.rst
diff --git a/pocketbeagle/ch07.rst b/boards/pocketbeagle/ch07.rst
similarity index 100%
rename from pocketbeagle/ch07.rst
rename to boards/pocketbeagle/ch07.rst
diff --git a/pocketbeagle/ch08.rst b/boards/pocketbeagle/ch08.rst
similarity index 100%
rename from pocketbeagle/ch08.rst
rename to boards/pocketbeagle/ch08.rst
diff --git a/pocketbeagle/ch09.rst b/boards/pocketbeagle/ch09.rst
similarity index 100%
rename from pocketbeagle/ch09.rst
rename to boards/pocketbeagle/ch09.rst
diff --git a/pocketbeagle/ch10.rst b/boards/pocketbeagle/ch10.rst
similarity index 100%
rename from pocketbeagle/ch10.rst
rename to boards/pocketbeagle/ch10.rst
diff --git a/pocketbeagle/ch11.rst b/boards/pocketbeagle/ch11.rst
similarity index 100%
rename from pocketbeagle/ch11.rst
rename to boards/pocketbeagle/ch11.rst
diff --git a/pocketbeagle/images/10fig-PB-SDcardinsert1.jpg b/boards/pocketbeagle/images/10fig-PB-SDcardinsert1.jpg
similarity index 100%
rename from pocketbeagle/images/10fig-PB-SDcardinsert1.jpg
rename to boards/pocketbeagle/images/10fig-PB-SDcardinsert1.jpg
diff --git a/pocketbeagle/images/10fig-PB-SDcardinsert2.jpg b/boards/pocketbeagle/images/10fig-PB-SDcardinsert2.jpg
similarity index 100%
rename from pocketbeagle/images/10fig-PB-SDcardinsert2.jpg
rename to boards/pocketbeagle/images/10fig-PB-SDcardinsert2.jpg
diff --git a/pocketbeagle/images/11fig-PB-microUSBattach1.jpg b/boards/pocketbeagle/images/11fig-PB-microUSBattach1.jpg
similarity index 100%
rename from pocketbeagle/images/11fig-PB-microUSBattach1.jpg
rename to boards/pocketbeagle/images/11fig-PB-microUSBattach1.jpg
diff --git a/pocketbeagle/images/12fig-PB-USBtoPC1.jpg b/boards/pocketbeagle/images/12fig-PB-USBtoPC1.jpg
similarity index 100%
rename from pocketbeagle/images/12fig-PB-USBtoPC1.jpg
rename to boards/pocketbeagle/images/12fig-PB-USBtoPC1.jpg
diff --git a/pocketbeagle/images/13fig-PB-PowerLED1.png b/boards/pocketbeagle/images/13fig-PB-PowerLED1.png
similarity index 100%
rename from pocketbeagle/images/13fig-PB-PowerLED1.png
rename to boards/pocketbeagle/images/13fig-PB-PowerLED1.png
diff --git a/pocketbeagle/images/14fig-PB-UserLEDs1.png b/boards/pocketbeagle/images/14fig-PB-UserLEDs1.png
similarity index 100%
rename from pocketbeagle/images/14fig-PB-UserLEDs1.png
rename to boards/pocketbeagle/images/14fig-PB-UserLEDs1.png
diff --git a/pocketbeagle/images/15fig-PB-starthtmpage.png b/boards/pocketbeagle/images/15fig-PB-starthtmpage.png
similarity index 100%
rename from pocketbeagle/images/15fig-PB-starthtmpage.png
rename to boards/pocketbeagle/images/15fig-PB-starthtmpage.png
diff --git a/pocketbeagle/images/16fig-PB-enablenetwork.png b/boards/pocketbeagle/images/16fig-PB-enablenetwork.png
similarity index 100%
rename from pocketbeagle/images/16fig-PB-enablenetwork.png
rename to boards/pocketbeagle/images/16fig-PB-enablenetwork.png
diff --git a/pocketbeagle/images/17fig-PB-cloud9.png b/boards/pocketbeagle/images/17fig-PB-cloud9.png
similarity index 100%
rename from pocketbeagle/images/17fig-PB-cloud9.png
rename to boards/pocketbeagle/images/17fig-PB-cloud9.png
diff --git a/pocketbeagle/images/18fig-PB-cloud9exs.png b/boards/pocketbeagle/images/18fig-PB-cloud9exs.png
similarity index 100%
rename from pocketbeagle/images/18fig-PB-cloud9exs.png
rename to boards/pocketbeagle/images/18fig-PB-cloud9exs.png
diff --git a/pocketbeagle/images/19fig-PB-cloud9blink.png b/boards/pocketbeagle/images/19fig-PB-cloud9blink.png
similarity index 100%
rename from pocketbeagle/images/19fig-PB-cloud9blink.png
rename to boards/pocketbeagle/images/19fig-PB-cloud9blink.png
diff --git a/pocketbeagle/images/1fig-PB-homepage.png b/boards/pocketbeagle/images/1fig-PB-homepage.png
similarity index 100%
rename from pocketbeagle/images/1fig-PB-homepage.png
rename to boards/pocketbeagle/images/1fig-PB-homepage.png
diff --git a/pocketbeagle/images/20fig-PB-powerbutton.png b/boards/pocketbeagle/images/20fig-PB-powerbutton.png
similarity index 100%
rename from pocketbeagle/images/20fig-PB-powerbutton.png
rename to boards/pocketbeagle/images/20fig-PB-powerbutton.png
diff --git a/pocketbeagle/images/21fig-PB-walkaround.png b/boards/pocketbeagle/images/21fig-PB-walkaround.png
similarity index 100%
rename from pocketbeagle/images/21fig-PB-walkaround.png
rename to boards/pocketbeagle/images/21fig-PB-walkaround.png
diff --git a/pocketbeagle/images/22fig-PB-blockdiagram.png b/boards/pocketbeagle/images/22fig-PB-blockdiagram.png
similarity index 100%
rename from pocketbeagle/images/22fig-PB-blockdiagram.png
rename to boards/pocketbeagle/images/22fig-PB-blockdiagram.png
diff --git a/pocketbeagle/images/24fig-PB-Headerphoto.png b/boards/pocketbeagle/images/24fig-PB-Headerphoto.png
similarity index 100%
rename from pocketbeagle/images/24fig-PB-Headerphoto.png
rename to boards/pocketbeagle/images/24fig-PB-Headerphoto.png
diff --git a/pocketbeagle/images/25fig-PB-SDcard.png b/boards/pocketbeagle/images/25fig-PB-SDcard.png
similarity index 100%
rename from pocketbeagle/images/25fig-PB-SDcard.png
rename to boards/pocketbeagle/images/25fig-PB-SDcard.png
diff --git a/pocketbeagle/images/26fig-PB-USB.png b/boards/pocketbeagle/images/26fig-PB-USB.png
similarity index 100%
rename from pocketbeagle/images/26fig-PB-USB.png
rename to boards/pocketbeagle/images/26fig-PB-USB.png
diff --git a/pocketbeagle/images/27fig-PB-JTAGpads.png b/boards/pocketbeagle/images/27fig-PB-JTAGpads.png
similarity index 100%
rename from pocketbeagle/images/27fig-PB-JTAGpads.png
rename to boards/pocketbeagle/images/27fig-PB-JTAGpads.png
diff --git a/pocketbeagle/images/28fig-PB-serialdebug.png b/boards/pocketbeagle/images/28fig-PB-serialdebug.png
similarity index 100%
rename from pocketbeagle/images/28fig-PB-serialdebug.png
rename to boards/pocketbeagle/images/28fig-PB-serialdebug.png
diff --git a/pocketbeagle/images/40fig-PB-PRU-block.png b/boards/pocketbeagle/images/40fig-PB-PRU-block.png
similarity index 100%
rename from pocketbeagle/images/40fig-PB-PRU-block.png
rename to boards/pocketbeagle/images/40fig-PB-PRU-block.png
diff --git a/pocketbeagle/images/41fig-PB-Headerback.png b/boards/pocketbeagle/images/41fig-PB-Headerback.png
similarity index 100%
rename from pocketbeagle/images/41fig-PB-Headerback.png
rename to boards/pocketbeagle/images/41fig-PB-Headerback.png
diff --git a/pocketbeagle/images/46fig-PB-Mikro.png b/boards/pocketbeagle/images/46fig-PB-Mikro.png
similarity index 100%
rename from pocketbeagle/images/46fig-PB-Mikro.png
rename to boards/pocketbeagle/images/46fig-PB-Mikro.png
diff --git a/pocketbeagle/images/5fig-PB-GetStarted.png b/boards/pocketbeagle/images/5fig-PB-GetStarted.png
similarity index 100%
rename from pocketbeagle/images/5fig-PB-GetStarted.png
rename to boards/pocketbeagle/images/5fig-PB-GetStarted.png
diff --git a/pocketbeagle/images/6fig-PB-DownloadSW.png b/boards/pocketbeagle/images/6fig-PB-DownloadSW.png
similarity index 100%
rename from pocketbeagle/images/6fig-PB-DownloadSW.png
rename to boards/pocketbeagle/images/6fig-PB-DownloadSW.png
diff --git a/pocketbeagle/images/7fig-PB-Etcherdownload.png b/boards/pocketbeagle/images/7fig-PB-Etcherdownload.png
similarity index 100%
rename from pocketbeagle/images/7fig-PB-Etcherdownload.png
rename to boards/pocketbeagle/images/7fig-PB-Etcherdownload.png
diff --git a/pocketbeagle/images/8fig-PB-Etcherselectimage.png b/boards/pocketbeagle/images/8fig-PB-Etcherselectimage.png
similarity index 100%
rename from pocketbeagle/images/8fig-PB-Etcherselectimage.png
rename to boards/pocketbeagle/images/8fig-PB-Etcherselectimage.png
diff --git a/pocketbeagle/images/9fig-PB-Etcherfinish.png b/boards/pocketbeagle/images/9fig-PB-Etcherfinish.png
similarity index 100%
rename from pocketbeagle/images/9fig-PB-Etcherfinish.png
rename to boards/pocketbeagle/images/9fig-PB-Etcherfinish.png
diff --git a/pocketbeagle/images/Bonescript-ex.png b/boards/pocketbeagle/images/Bonescript-ex.png
similarity index 100%
rename from pocketbeagle/images/Bonescript-ex.png
rename to boards/pocketbeagle/images/Bonescript-ex.png
diff --git a/pocketbeagle/images/Header-P1-sch.png b/boards/pocketbeagle/images/Header-P1-sch.png
similarity index 100%
rename from pocketbeagle/images/Header-P1-sch.png
rename to boards/pocketbeagle/images/Header-P1-sch.png
diff --git a/pocketbeagle/images/Header-P2-sch.png b/boards/pocketbeagle/images/Header-P2-sch.png
similarity index 100%
rename from pocketbeagle/images/Header-P2-sch.png
rename to boards/pocketbeagle/images/Header-P2-sch.png
diff --git a/pocketbeagle/images/Header-both-sch.png b/boards/pocketbeagle/images/Header-both-sch.png
similarity index 100%
rename from pocketbeagle/images/Header-both-sch.png
rename to boards/pocketbeagle/images/Header-both-sch.png
diff --git a/pocketbeagle/images/JTAG-pads-sch.png b/boards/pocketbeagle/images/JTAG-pads-sch.png
similarity index 100%
rename from pocketbeagle/images/JTAG-pads-sch.png
rename to boards/pocketbeagle/images/JTAG-pads-sch.png
diff --git a/pocketbeagle/images/OSD335x-color-block.jpg b/boards/pocketbeagle/images/OSD335x-color-block.jpg
similarity index 100%
rename from pocketbeagle/images/OSD335x-color-block.jpg
rename to boards/pocketbeagle/images/OSD335x-color-block.jpg
diff --git a/boards/pocketbeagle/images/OSHW_mark_US000083.png b/boards/pocketbeagle/images/OSHW_mark_US000083.png
new file mode 100644
index 0000000000000000000000000000000000000000..879c30c39df97bee6c752feddbadf04fb70331df
GIT binary patch
literal 30833
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

literal 0
HcmV?d00001

diff --git a/pocketbeagle/images/PB-USB-photo.png b/boards/pocketbeagle/images/PB-USB-photo.png
similarity index 100%
rename from pocketbeagle/images/PB-USB-photo.png
rename to boards/pocketbeagle/images/PB-USB-photo.png
diff --git a/pocketbeagle/images/PB-block-diag2.jpg b/boards/pocketbeagle/images/PB-block-diag2.jpg
similarity index 100%
rename from pocketbeagle/images/PB-block-diag2.jpg
rename to boards/pocketbeagle/images/PB-block-diag2.jpg
diff --git a/pocketbeagle/images/PB-block-diag3.png b/boards/pocketbeagle/images/PB-block-diag3.png
similarity index 100%
rename from pocketbeagle/images/PB-block-diag3.png
rename to boards/pocketbeagle/images/PB-block-diag3.png
diff --git a/pocketbeagle/images/PB-block-diagram.png b/boards/pocketbeagle/images/PB-block-diagram.png
similarity index 100%
rename from pocketbeagle/images/PB-block-diagram.png
rename to boards/pocketbeagle/images/PB-block-diagram.png
diff --git a/pocketbeagle/images/PB-card-back-1.jpg b/boards/pocketbeagle/images/PB-card-back-1.jpg
similarity index 100%
rename from pocketbeagle/images/PB-card-back-1.jpg
rename to boards/pocketbeagle/images/PB-card-back-1.jpg
diff --git a/pocketbeagle/images/PB-card-back.jpg b/boards/pocketbeagle/images/PB-card-back.jpg
similarity index 100%
rename from pocketbeagle/images/PB-card-back.jpg
rename to boards/pocketbeagle/images/PB-card-back.jpg
diff --git a/pocketbeagle/images/PB-card-front-1.jpg b/boards/pocketbeagle/images/PB-card-front-1.jpg
similarity index 100%
rename from pocketbeagle/images/PB-card-front-1.jpg
rename to boards/pocketbeagle/images/PB-card-front-1.jpg
diff --git a/pocketbeagle/images/PB-card-front.jpg b/boards/pocketbeagle/images/PB-card-front.jpg
similarity index 100%
rename from pocketbeagle/images/PB-card-front.jpg
rename to boards/pocketbeagle/images/PB-card-front.jpg
diff --git a/pocketbeagle/images/PB-header-photo.png b/boards/pocketbeagle/images/PB-header-photo.png
similarity index 100%
rename from pocketbeagle/images/PB-header-photo.png
rename to boards/pocketbeagle/images/PB-header-photo.png
diff --git a/pocketbeagle/images/PB-microSDphoto-small.jpg b/boards/pocketbeagle/images/PB-microSDphoto-small.jpg
similarity index 100%
rename from pocketbeagle/images/PB-microSDphoto-small.jpg
rename to boards/pocketbeagle/images/PB-microSDphoto-small.jpg
diff --git a/pocketbeagle/images/PB-microSDphoto.jpg b/boards/pocketbeagle/images/PB-microSDphoto.jpg
similarity index 100%
rename from pocketbeagle/images/PB-microSDphoto.jpg
rename to boards/pocketbeagle/images/PB-microSDphoto.jpg
diff --git a/pocketbeagle/images/PB-powerLED-photo.png b/boards/pocketbeagle/images/PB-powerLED-photo.png
similarity index 100%
rename from pocketbeagle/images/PB-powerLED-photo.png
rename to boards/pocketbeagle/images/PB-powerLED-photo.png
diff --git a/pocketbeagle/images/PB-powerbutton.png b/boards/pocketbeagle/images/PB-powerbutton.png
similarity index 100%
rename from pocketbeagle/images/PB-powerbutton.png
rename to boards/pocketbeagle/images/PB-powerbutton.png
diff --git a/pocketbeagle/images/PB-tethered.png b/boards/pocketbeagle/images/PB-tethered.png
similarity index 100%
rename from pocketbeagle/images/PB-tethered.png
rename to boards/pocketbeagle/images/PB-tethered.png
diff --git a/pocketbeagle/images/PB-tutorials.png b/boards/pocketbeagle/images/PB-tutorials.png
similarity index 100%
rename from pocketbeagle/images/PB-tutorials.png
rename to boards/pocketbeagle/images/PB-tutorials.png
diff --git a/pocketbeagle/images/PB-userLED-photo.png b/boards/pocketbeagle/images/PB-userLED-photo.png
similarity index 100%
rename from pocketbeagle/images/PB-userLED-photo.png
rename to boards/pocketbeagle/images/PB-userLED-photo.png
diff --git a/pocketbeagle/images/PB-walkaround-2.jpg b/boards/pocketbeagle/images/PB-walkaround-2.jpg
similarity index 100%
rename from pocketbeagle/images/PB-walkaround-2.jpg
rename to boards/pocketbeagle/images/PB-walkaround-2.jpg
diff --git a/pocketbeagle/images/PB-walkaround-2.png b/boards/pocketbeagle/images/PB-walkaround-2.png
similarity index 100%
rename from pocketbeagle/images/PB-walkaround-2.png
rename to boards/pocketbeagle/images/PB-walkaround-2.png
diff --git a/pocketbeagle/images/PB-walkaround-3.jpg b/boards/pocketbeagle/images/PB-walkaround-3.jpg
similarity index 100%
rename from pocketbeagle/images/PB-walkaround-3.jpg
rename to boards/pocketbeagle/images/PB-walkaround-3.jpg
diff --git a/pocketbeagle/images/PB-walkaround.png b/boards/pocketbeagle/images/PB-walkaround.png
similarity index 100%
rename from pocketbeagle/images/PB-walkaround.png
rename to boards/pocketbeagle/images/PB-walkaround.png
diff --git a/pocketbeagle/images/PB1-fullPC-3.jpg b/boards/pocketbeagle/images/PB1-fullPC-3.jpg
similarity index 100%
rename from pocketbeagle/images/PB1-fullPC-3.jpg
rename to boards/pocketbeagle/images/PB1-fullPC-3.jpg
diff --git a/pocketbeagle/images/PocketBeagle-size-compare-small.jpg b/boards/pocketbeagle/images/PocketBeagle-size-compare-small.jpg
similarity index 100%
rename from pocketbeagle/images/PocketBeagle-size-compare-small.jpg
rename to boards/pocketbeagle/images/PocketBeagle-size-compare-small.jpg
diff --git a/pocketbeagle/images/PocketBeagle_Back_BW.jpg b/boards/pocketbeagle/images/PocketBeagle_Back_BW.jpg
similarity index 100%
rename from pocketbeagle/images/PocketBeagle_Back_BW.jpg
rename to boards/pocketbeagle/images/PocketBeagle_Back_BW.jpg
diff --git a/pocketbeagle/images/PocketBeagle_Expansion_Headers.ods b/boards/pocketbeagle/images/PocketBeagle_Expansion_Headers.ods
similarity index 100%
rename from pocketbeagle/images/PocketBeagle_Expansion_Headers.ods
rename to boards/pocketbeagle/images/PocketBeagle_Expansion_Headers.ods
diff --git a/boards/pocketbeagle/images/PocketBeagle_Front_BW-small.jpg b/boards/pocketbeagle/images/PocketBeagle_Front_BW-small.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d6ac2aa4e6c520833d68727631a40c0df7b43e26
GIT binary patch
literal 195217
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

literal 0
HcmV?d00001

diff --git a/pocketbeagle/images/PocketBeagle_Front_BW.jpg b/boards/pocketbeagle/images/PocketBeagle_Front_BW.jpg
similarity index 100%
rename from pocketbeagle/images/PocketBeagle_Front_BW.jpg
rename to boards/pocketbeagle/images/PocketBeagle_Front_BW.jpg
diff --git a/pocketbeagle/images/PocketBeagle_microUSB_bb.png b/boards/pocketbeagle/images/PocketBeagle_microUSB_bb.png
similarity index 100%
rename from pocketbeagle/images/PocketBeagle_microUSB_bb.png
rename to boards/pocketbeagle/images/PocketBeagle_microUSB_bb.png
diff --git a/pocketbeagle/images/PocketBeagle_microUSB_bb.svg b/boards/pocketbeagle/images/PocketBeagle_microUSB_bb.svg
similarity index 100%
rename from pocketbeagle/images/PocketBeagle_microUSB_bb.svg
rename to boards/pocketbeagle/images/PocketBeagle_microUSB_bb.svg
diff --git a/pocketbeagle/images/PocketBeagle_microUSB_bb1.png b/boards/pocketbeagle/images/PocketBeagle_microUSB_bb1.png
similarity index 100%
rename from pocketbeagle/images/PocketBeagle_microUSB_bb1.png
rename to boards/pocketbeagle/images/PocketBeagle_microUSB_bb1.png
diff --git a/pocketbeagle/images/PocketBeagle_pinout.pdf b/boards/pocketbeagle/images/PocketBeagle_pinout.pdf
similarity index 100%
rename from pocketbeagle/images/PocketBeagle_pinout.pdf
rename to boards/pocketbeagle/images/PocketBeagle_pinout.pdf
diff --git a/pocketbeagle/images/PocketBeagle_pinout.png b/boards/pocketbeagle/images/PocketBeagle_pinout.png
similarity index 100%
rename from pocketbeagle/images/PocketBeagle_pinout.png
rename to boards/pocketbeagle/images/PocketBeagle_pinout.png
diff --git a/pocketbeagle/images/Power-button-sch.png b/boards/pocketbeagle/images/Power-button-sch.png
similarity index 100%
rename from pocketbeagle/images/Power-button-sch.png
rename to boards/pocketbeagle/images/Power-button-sch.png
diff --git a/pocketbeagle/images/SRM1_cloud9blinkPB.png b/boards/pocketbeagle/images/SRM1_cloud9blinkPB.png
similarity index 100%
rename from pocketbeagle/images/SRM1_cloud9blinkPB.png
rename to boards/pocketbeagle/images/SRM1_cloud9blinkPB.png
diff --git a/pocketbeagle/images/SRM2_cloud9blinkPB.png b/boards/pocketbeagle/images/SRM2_cloud9blinkPB.png
similarity index 100%
rename from pocketbeagle/images/SRM2_cloud9blinkPB.png
rename to boards/pocketbeagle/images/SRM2_cloud9blinkPB.png
diff --git a/pocketbeagle/images/SRM3_cloud9blinkPB.png b/boards/pocketbeagle/images/SRM3_cloud9blinkPB.png
similarity index 100%
rename from pocketbeagle/images/SRM3_cloud9blinkPB.png
rename to boards/pocketbeagle/images/SRM3_cloud9blinkPB.png
diff --git a/pocketbeagle/images/SRM4_cloud9blinkPB.png b/boards/pocketbeagle/images/SRM4_cloud9blinkPB.png
similarity index 100%
rename from pocketbeagle/images/SRM4_cloud9blinkPB.png
rename to boards/pocketbeagle/images/SRM4_cloud9blinkPB.png
diff --git a/pocketbeagle/images/SiP-A-sch.png b/boards/pocketbeagle/images/SiP-A-sch.png
similarity index 100%
rename from pocketbeagle/images/SiP-A-sch.png
rename to boards/pocketbeagle/images/SiP-A-sch.png
diff --git a/pocketbeagle/images/SiP-B-sch.png b/boards/pocketbeagle/images/SiP-B-sch.png
similarity index 100%
rename from pocketbeagle/images/SiP-B-sch.png
rename to boards/pocketbeagle/images/SiP-B-sch.png
diff --git a/pocketbeagle/images/SiP-C-sch.png b/boards/pocketbeagle/images/SiP-C-sch.png
similarity index 100%
rename from pocketbeagle/images/SiP-C-sch.png
rename to boards/pocketbeagle/images/SiP-C-sch.png
diff --git a/pocketbeagle/images/SiP-D-sch.png b/boards/pocketbeagle/images/SiP-D-sch.png
similarity index 100%
rename from pocketbeagle/images/SiP-D-sch.png
rename to boards/pocketbeagle/images/SiP-D-sch.png
diff --git a/pocketbeagle/images/SiP-E-sch.png b/boards/pocketbeagle/images/SiP-E-sch.png
similarity index 100%
rename from pocketbeagle/images/SiP-E-sch.png
rename to boards/pocketbeagle/images/SiP-E-sch.png
diff --git a/pocketbeagle/images/SiP-F-sch.png b/boards/pocketbeagle/images/SiP-F-sch.png
similarity index 100%
rename from pocketbeagle/images/SiP-F-sch.png
rename to boards/pocketbeagle/images/SiP-F-sch.png
diff --git a/pocketbeagle/images/USB-sch.png b/boards/pocketbeagle/images/USB-sch.png
similarity index 100%
rename from pocketbeagle/images/USB-sch.png
rename to boards/pocketbeagle/images/USB-sch.png
diff --git a/pocketbeagle/images/User-LEDs-sch.png b/boards/pocketbeagle/images/User-LEDs-sch.png
similarity index 100%
rename from pocketbeagle/images/User-LEDs-sch.png
rename to boards/pocketbeagle/images/User-LEDs-sch.png
diff --git a/pocketbeagle/images/fig-PB-Headerphoto.png b/boards/pocketbeagle/images/fig-PB-Headerphoto.png
similarity index 100%
rename from pocketbeagle/images/fig-PB-Headerphoto.png
rename to boards/pocketbeagle/images/fig-PB-Headerphoto.png
diff --git a/pocketbeagle/images/green_check.png b/boards/pocketbeagle/images/green_check.png
similarity index 100%
rename from pocketbeagle/images/green_check.png
rename to boards/pocketbeagle/images/green_check.png
diff --git a/pocketbeagle/images/mikrobus-socket-pinout.jpg b/boards/pocketbeagle/images/mikrobus-socket-pinout.jpg
similarity index 100%
rename from pocketbeagle/images/mikrobus-socket-pinout.jpg
rename to boards/pocketbeagle/images/mikrobus-socket-pinout.jpg
diff --git a/pocketbeagle/images/pocketbeagle_package_small_size.jpg b/boards/pocketbeagle/images/pocketbeagle_package_small_size.jpg
similarity index 100%
rename from pocketbeagle/images/pocketbeagle_package_small_size.jpg
rename to boards/pocketbeagle/images/pocketbeagle_package_small_size.jpg
diff --git a/pocketbeagle/images/usdconnector-sch.png b/boards/pocketbeagle/images/usdconnector-sch.png
similarity index 100%
rename from pocketbeagle/images/usdconnector-sch.png
rename to boards/pocketbeagle/images/usdconnector-sch.png
diff --git a/pocketbeagle/images/warning_tri.png b/boards/pocketbeagle/images/warning_tri.png
similarity index 100%
rename from pocketbeagle/images/warning_tri.png
rename to boards/pocketbeagle/images/warning_tri.png
diff --git a/pocketbeagle/index.rst b/boards/pocketbeagle/index.rst
similarity index 100%
rename from pocketbeagle/index.rst
rename to boards/pocketbeagle/index.rst
diff --git a/beaglebone-cookbook/01basics/basics.rst b/books/beaglebone-cookbook/01basics/basics.rst
similarity index 100%
rename from beaglebone-cookbook/01basics/basics.rst
rename to books/beaglebone-cookbook/01basics/basics.rst
diff --git a/beaglebone-cookbook/01basics/figures/01GettingStarted.png b/books/beaglebone-cookbook/01basics/figures/01GettingStarted.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/01GettingStarted.png
rename to books/beaglebone-cookbook/01basics/figures/01GettingStarted.png
diff --git a/beaglebone-cookbook/01basics/figures/02GettingStarted.png b/books/beaglebone-cookbook/01basics/figures/02GettingStarted.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/02GettingStarted.png
rename to books/beaglebone-cookbook/01basics/figures/02GettingStarted.png
diff --git a/beaglebone-cookbook/01basics/figures/03GettingStarted.png b/books/beaglebone-cookbook/01basics/figures/03GettingStarted.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/03GettingStarted.png
rename to books/beaglebone-cookbook/01basics/figures/03GettingStarted.png
diff --git a/beaglebone-cookbook/01basics/figures/04GettingStarted.png b/books/beaglebone-cookbook/01basics/figures/04GettingStarted.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/04GettingStarted.png
rename to books/beaglebone-cookbook/01basics/figures/04GettingStarted.png
diff --git a/beaglebone-cookbook/01basics/figures/05GettingStarted.png b/books/beaglebone-cookbook/01basics/figures/05GettingStarted.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/05GettingStarted.png
rename to books/beaglebone-cookbook/01basics/figures/05GettingStarted.png
diff --git a/beaglebone-cookbook/01basics/figures/05GettingStartedVScode.png b/books/beaglebone-cookbook/01basics/figures/05GettingStartedVScode.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/05GettingStartedVScode.png
rename to books/beaglebone-cookbook/01basics/figures/05GettingStartedVScode.png
diff --git a/beaglebone-cookbook/01basics/figures/BeagleBoard_described.jpg b/books/beaglebone-cookbook/01basics/figures/BeagleBoard_described.jpg
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/BeagleBoard_described.jpg
rename to books/beaglebone-cookbook/01basics/figures/BeagleBoard_described.jpg
diff --git a/beaglebone-cookbook/01basics/figures/BeagleBoard_xM.JPG b/books/beaglebone-cookbook/01basics/figures/BeagleBoard_xM.JPG
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/BeagleBoard_xM.JPG
rename to books/beaglebone-cookbook/01basics/figures/BeagleBoard_xM.JPG
diff --git a/beaglebone-cookbook/01basics/figures/Beagle_Board_big.jpg b/books/beaglebone-cookbook/01basics/figures/Beagle_Board_big.jpg
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/Beagle_Board_big.jpg
rename to books/beaglebone-cookbook/01basics/figures/Beagle_Board_big.jpg
diff --git a/beaglebone-cookbook/01basics/figures/BeaglexM_details.jpg b/books/beaglebone-cookbook/01basics/figures/BeaglexM_details.jpg
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/BeaglexM_details.jpg
rename to books/beaglebone-cookbook/01basics/figures/BeaglexM_details.jpg
diff --git a/beaglebone-cookbook/01basics/figures/X15_Beta_Front.jpg b/books/beaglebone-cookbook/01basics/figures/X15_Beta_Front.jpg
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/X15_Beta_Front.jpg
rename to books/beaglebone-cookbook/01basics/figures/X15_Beta_Front.jpg
diff --git a/beaglebone-cookbook/01basics/figures/beaglebone-white.jpg b/books/beaglebone-cookbook/01basics/figures/beaglebone-white.jpg
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/beaglebone-white.jpg
rename to books/beaglebone-cookbook/01basics/figures/beaglebone-white.jpg
diff --git a/beaglebone-cookbook/01basics/figures/bone-black-details.jpg b/books/beaglebone-cookbook/01basics/figures/bone-black-details.jpg
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/bone-black-details.jpg
rename to books/beaglebone-cookbook/01basics/figures/bone-black-details.jpg
diff --git a/beaglebone-cookbook/01basics/figures/bone-black.jpg b/books/beaglebone-cookbook/01basics/figures/bone-black.jpg
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/bone-black.jpg
rename to books/beaglebone-cookbook/01basics/figures/bone-black.jpg
diff --git a/beaglebone-cookbook/01basics/figures/bone-white.jpg b/books/beaglebone-cookbook/01basics/figures/bone-white.jpg
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/bone-white.jpg
rename to books/beaglebone-cookbook/01basics/figures/bone-white.jpg
diff --git a/beaglebone-cookbook/01basics/figures/cloud9.png b/books/beaglebone-cookbook/01basics/figures/cloud9.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/cloud9.png
rename to books/beaglebone-cookbook/01basics/figures/cloud9.png
diff --git a/beaglebone-cookbook/01basics/figures/cloud9Debugger.png b/books/beaglebone-cookbook/01basics/figures/cloud9Debugger.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/cloud9Debugger.png
rename to books/beaglebone-cookbook/01basics/figures/cloud9Debugger.png
diff --git a/beaglebone-cookbook/01basics/figures/cloud9withBash.png b/books/beaglebone-cookbook/01basics/figures/cloud9withBash.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/cloud9withBash.png
rename to books/beaglebone-cookbook/01basics/figures/cloud9withBash.png
diff --git a/beaglebone-cookbook/01basics/figures/deb1.png b/books/beaglebone-cookbook/01basics/figures/deb1.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/deb1.png
rename to books/beaglebone-cookbook/01basics/figures/deb1.png
diff --git a/beaglebone-cookbook/01basics/figures/deb2.png b/books/beaglebone-cookbook/01basics/figures/deb2.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/deb2.png
rename to books/beaglebone-cookbook/01basics/figures/deb2.png
diff --git a/beaglebone-cookbook/01basics/figures/deb3.png b/books/beaglebone-cookbook/01basics/figures/deb3.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/deb3.png
rename to books/beaglebone-cookbook/01basics/figures/deb3.png
diff --git a/beaglebone-cookbook/01basics/figures/forkMe.png b/books/beaglebone-cookbook/01basics/figures/forkMe.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/forkMe.png
rename to books/beaglebone-cookbook/01basics/figures/forkMe.png
diff --git a/beaglebone-cookbook/01basics/figures/pluggingIn.jpg b/books/beaglebone-cookbook/01basics/figures/pluggingIn.jpg
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/pluggingIn.jpg
rename to books/beaglebone-cookbook/01basics/figures/pluggingIn.jpg
diff --git a/beaglebone-cookbook/01basics/figures/template.fzz b/books/beaglebone-cookbook/01basics/figures/template.fzz
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/template.fzz
rename to books/beaglebone-cookbook/01basics/figures/template.fzz
diff --git a/beaglebone-cookbook/01basics/figures/template_bb.png b/books/beaglebone-cookbook/01basics/figures/template_bb.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/template_bb.png
rename to books/beaglebone-cookbook/01basics/figures/template_bb.png
diff --git a/beaglebone-cookbook/01basics/figures/vscBash.png b/books/beaglebone-cookbook/01basics/figures/vscBash.png
similarity index 100%
rename from beaglebone-cookbook/01basics/figures/vscBash.png
rename to books/beaglebone-cookbook/01basics/figures/vscBash.png
diff --git a/beaglebone-cookbook/02sensors/code/GPS.js b/books/beaglebone-cookbook/02sensors/code/GPS.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/GPS.js
rename to books/beaglebone-cookbook/02sensors/code/GPS.js
diff --git a/beaglebone-cookbook/02sensors/code/analogIn.js b/books/beaglebone-cookbook/02sensors/code/analogIn.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/analogIn.js
rename to books/beaglebone-cookbook/02sensors/code/analogIn.js
diff --git a/beaglebone-cookbook/02sensors/code/analogIn.py b/books/beaglebone-cookbook/02sensors/code/analogIn.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/analogIn.py
rename to books/beaglebone-cookbook/02sensors/code/analogIn.py
diff --git a/beaglebone-cookbook/02sensors/code/audio.asoundrc b/books/beaglebone-cookbook/02sensors/code/audio.asoundrc
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/audio.asoundrc
rename to books/beaglebone-cookbook/02sensors/code/audio.asoundrc
diff --git a/beaglebone-cookbook/02sensors/code/audio.js b/books/beaglebone-cookbook/02sensors/code/audio.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/audio.js
rename to books/beaglebone-cookbook/02sensors/code/audio.js
diff --git a/beaglebone-cookbook/02sensors/code/bone_eqep2b.dts b/books/beaglebone-cookbook/02sensors/code/bone_eqep2b.dts
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/bone_eqep2b.dts
rename to books/beaglebone-cookbook/02sensors/code/bone_eqep2b.dts
diff --git a/beaglebone-cookbook/02sensors/code/encoder.js b/books/beaglebone-cookbook/02sensors/code/encoder.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/encoder.js
rename to books/beaglebone-cookbook/02sensors/code/encoder.js
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/.gitignore b/books/beaglebone-cookbook/02sensors/code/gpiod/.gitignore
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/.gitignore
rename to books/beaglebone-cookbook/02sensors/code/gpiod/.gitignore
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/Makefile b/books/beaglebone-cookbook/02sensors/code/gpiod/Makefile
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/Makefile
rename to books/beaglebone-cookbook/02sensors/code/gpiod/Makefile
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/ReadMe.md b/books/beaglebone-cookbook/02sensors/code/gpiod/ReadMe.md
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/ReadMe.md
rename to books/beaglebone-cookbook/02sensors/code/gpiod/ReadMe.md
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/aggregatorSetup.sh b/books/beaglebone-cookbook/02sensors/code/gpiod/aggregatorSetup.sh
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/aggregatorSetup.sh
rename to books/beaglebone-cookbook/02sensors/code/gpiod/aggregatorSetup.sh
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/bulk_blink.py b/books/beaglebone-cookbook/02sensors/code/gpiod/bulk_blink.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/bulk_blink.py
rename to books/beaglebone-cookbook/02sensors/code/gpiod/bulk_blink.py
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/get.c b/books/beaglebone-cookbook/02sensors/code/gpiod/get.c
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/get.c
rename to books/beaglebone-cookbook/02sensors/code/gpiod/get.c
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/get.py b/books/beaglebone-cookbook/02sensors/code/gpiod/get.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/get.py
rename to books/beaglebone-cookbook/02sensors/code/gpiod/get.py
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/get.sh b/books/beaglebone-cookbook/02sensors/code/gpiod/get.sh
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/get.sh
rename to books/beaglebone-cookbook/02sensors/code/gpiod/get.sh
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/getset.c b/books/beaglebone-cookbook/02sensors/code/gpiod/getset.c
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/getset.c
rename to books/beaglebone-cookbook/02sensors/code/gpiod/getset.c
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/getset.py b/books/beaglebone-cookbook/02sensors/code/gpiod/getset.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/getset.py
rename to books/beaglebone-cookbook/02sensors/code/gpiod/getset.py
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/getsetEvent.c b/books/beaglebone-cookbook/02sensors/code/gpiod/getsetEvent.c
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/getsetEvent.c
rename to books/beaglebone-cookbook/02sensors/code/gpiod/getsetEvent.c
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/getsetEvent.py b/books/beaglebone-cookbook/02sensors/code/gpiod/getsetEvent.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/getsetEvent.py
rename to books/beaglebone-cookbook/02sensors/code/gpiod/getsetEvent.py
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/toggle1.c b/books/beaglebone-cookbook/02sensors/code/gpiod/toggle1.c
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/toggle1.c
rename to books/beaglebone-cookbook/02sensors/code/gpiod/toggle1.c
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/toggle1.py b/books/beaglebone-cookbook/02sensors/code/gpiod/toggle1.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/toggle1.py
rename to books/beaglebone-cookbook/02sensors/code/gpiod/toggle1.py
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/toggle1.sh b/books/beaglebone-cookbook/02sensors/code/gpiod/toggle1.sh
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/toggle1.sh
rename to books/beaglebone-cookbook/02sensors/code/gpiod/toggle1.sh
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/toggle2.c b/books/beaglebone-cookbook/02sensors/code/gpiod/toggle2.c
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/toggle2.c
rename to books/beaglebone-cookbook/02sensors/code/gpiod/toggle2.c
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/toggle2.py b/books/beaglebone-cookbook/02sensors/code/gpiod/toggle2.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/toggle2.py
rename to books/beaglebone-cookbook/02sensors/code/gpiod/toggle2.py
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/toggleLED.c b/books/beaglebone-cookbook/02sensors/code/gpiod/toggleLED.c
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/toggleLED.c
rename to books/beaglebone-cookbook/02sensors/code/gpiod/toggleLED.c
diff --git a/beaglebone-cookbook/02sensors/code/gpiod/toggleLED.py b/books/beaglebone-cookbook/02sensors/code/gpiod/toggleLED.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/gpiod/toggleLED.py
rename to books/beaglebone-cookbook/02sensors/code/gpiod/toggleLED.py
diff --git a/beaglebone-cookbook/02sensors/code/hc-sr04-ultraSonic.js b/books/beaglebone-cookbook/02sensors/code/hc-sr04-ultraSonic.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/hc-sr04-ultraSonic.js
rename to books/beaglebone-cookbook/02sensors/code/hc-sr04-ultraSonic.js
diff --git a/beaglebone-cookbook/02sensors/code/i2c-scan.js b/books/beaglebone-cookbook/02sensors/code/i2c-scan.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/i2c-scan.js
rename to books/beaglebone-cookbook/02sensors/code/i2c-scan.js
diff --git a/beaglebone-cookbook/02sensors/code/i2c-test.js b/books/beaglebone-cookbook/02sensors/code/i2c-test.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/i2c-test.js
rename to books/beaglebone-cookbook/02sensors/code/i2c-test.js
diff --git a/beaglebone-cookbook/02sensors/code/i2cTemp.js b/books/beaglebone-cookbook/02sensors/code/i2cTemp.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/i2cTemp.js
rename to books/beaglebone-cookbook/02sensors/code/i2cTemp.js
diff --git a/beaglebone-cookbook/02sensors/code/i2cTemp.py b/books/beaglebone-cookbook/02sensors/code/i2cTemp.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/i2cTemp.py
rename to books/beaglebone-cookbook/02sensors/code/i2cTemp.py
diff --git a/beaglebone-cookbook/02sensors/code/i2ctmp101.py b/books/beaglebone-cookbook/02sensors/code/i2ctmp101.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/i2ctmp101.py
rename to books/beaglebone-cookbook/02sensors/code/i2ctmp101.py
diff --git a/beaglebone-cookbook/02sensors/code/pushbutton.js b/books/beaglebone-cookbook/02sensors/code/pushbutton.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/pushbutton.js
rename to books/beaglebone-cookbook/02sensors/code/pushbutton.js
diff --git a/beaglebone-cookbook/02sensors/code/pushbutton.py b/books/beaglebone-cookbook/02sensors/code/pushbutton.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/pushbutton.py
rename to books/beaglebone-cookbook/02sensors/code/pushbutton.py
diff --git a/beaglebone-cookbook/02sensors/code/pushbutton2.js b/books/beaglebone-cookbook/02sensors/code/pushbutton2.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/pushbutton2.js
rename to books/beaglebone-cookbook/02sensors/code/pushbutton2.js
diff --git a/beaglebone-cookbook/02sensors/code/pushbuttonPullup.js b/books/beaglebone-cookbook/02sensors/code/pushbuttonPullup.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/pushbuttonPullup.js
rename to books/beaglebone-cookbook/02sensors/code/pushbuttonPullup.js
diff --git a/beaglebone-cookbook/02sensors/code/pushbutton_digitalRead.js b/books/beaglebone-cookbook/02sensors/code/pushbutton_digitalRead.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/pushbutton_digitalRead.js
rename to books/beaglebone-cookbook/02sensors/code/pushbutton_digitalRead.js
diff --git a/beaglebone-cookbook/02sensors/code/rotaryEncoder.js b/books/beaglebone-cookbook/02sensors/code/rotaryEncoder.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/rotaryEncoder.js
rename to books/beaglebone-cookbook/02sensors/code/rotaryEncoder.js
diff --git a/beaglebone-cookbook/02sensors/code/rotaryEncoder.py b/books/beaglebone-cookbook/02sensors/code/rotaryEncoder.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/rotaryEncoder.py
rename to books/beaglebone-cookbook/02sensors/code/rotaryEncoder.py
diff --git a/beaglebone-cookbook/02sensors/code/sensorTag.js b/books/beaglebone-cookbook/02sensors/code/sensorTag.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/sensorTag.js
rename to books/beaglebone-cookbook/02sensors/code/sensorTag.js
diff --git a/beaglebone-cookbook/02sensors/code/stop.js b/books/beaglebone-cookbook/02sensors/code/stop.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/stop.js
rename to books/beaglebone-cookbook/02sensors/code/stop.js
diff --git a/beaglebone-cookbook/02sensors/code/testHC-SR04.js b/books/beaglebone-cookbook/02sensors/code/testHC-SR04.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/testHC-SR04.js
rename to books/beaglebone-cookbook/02sensors/code/testHC-SR04.js
diff --git a/beaglebone-cookbook/02sensors/code/ultrasonicRange.js b/books/beaglebone-cookbook/02sensors/code/ultrasonicRange.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/ultrasonicRange.js
rename to books/beaglebone-cookbook/02sensors/code/ultrasonicRange.js
diff --git a/beaglebone-cookbook/02sensors/code/ultrasonicRange.py b/books/beaglebone-cookbook/02sensors/code/ultrasonicRange.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/ultrasonicRange.py
rename to books/beaglebone-cookbook/02sensors/code/ultrasonicRange.py
diff --git a/beaglebone-cookbook/02sensors/code/w1.js b/books/beaglebone-cookbook/02sensors/code/w1.js
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/w1.js
rename to books/beaglebone-cookbook/02sensors/code/w1.js
diff --git a/beaglebone-cookbook/02sensors/code/w1.py b/books/beaglebone-cookbook/02sensors/code/w1.py
similarity index 100%
rename from beaglebone-cookbook/02sensors/code/w1.py
rename to books/beaglebone-cookbook/02sensors/code/w1.py
diff --git a/beaglebone-cookbook/02sensors/figures/Adafruit Xbee Adapter v1.1.fzpz b/books/beaglebone-cookbook/02sensors/figures/Adafruit Xbee Adapter v1.1.fzpz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/Adafruit Xbee Adapter v1.1.fzpz
rename to books/beaglebone-cookbook/02sensors/figures/Adafruit Xbee Adapter v1.1.fzpz
diff --git a/beaglebone-cookbook/02sensors/figures/Adafruit Xbee Adapter v1.1.txt b/books/beaglebone-cookbook/02sensors/figures/Adafruit Xbee Adapter v1.1.txt
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/Adafruit Xbee Adapter v1.1.txt
rename to books/beaglebone-cookbook/02sensors/figures/Adafruit Xbee Adapter v1.1.txt
diff --git a/beaglebone-cookbook/02sensors/figures/GPS.fzz b/books/beaglebone-cookbook/02sensors/figures/GPS.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/GPS.fzz
rename to books/beaglebone-cookbook/02sensors/figures/GPS.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/GPS_bb.png b/books/beaglebone-cookbook/02sensors/figures/GPS_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/GPS_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/GPS_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/P8P9.fzz b/books/beaglebone-cookbook/02sensors/figures/P8P9.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/P8P9.fzz
rename to books/beaglebone-cookbook/02sensors/figures/P8P9.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/P8P9_bb.png b/books/beaglebone-cookbook/02sensors/figures/P8P9_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/P8P9_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/P8P9_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/analogIn.fzz b/books/beaglebone-cookbook/02sensors/figures/analogIn.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/analogIn.fzz
rename to books/beaglebone-cookbook/02sensors/figures/analogIn.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/analogIn_bb.png b/books/beaglebone-cookbook/02sensors/figures/analogIn_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/analogIn_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/analogIn_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/audioDongle.jpg b/books/beaglebone-cookbook/02sensors/figures/audioDongle.jpg
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/audioDongle.jpg
rename to books/beaglebone-cookbook/02sensors/figures/audioDongle.jpg
diff --git a/beaglebone-cookbook/02sensors/figures/audioDongle.txt b/books/beaglebone-cookbook/02sensors/figures/audioDongle.txt
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/audioDongle.txt
rename to books/beaglebone-cookbook/02sensors/figures/audioDongle.txt
diff --git a/beaglebone-cookbook/02sensors/figures/black_hardware_details.png b/books/beaglebone-cookbook/02sensors/figures/black_hardware_details.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/black_hardware_details.png
rename to books/beaglebone-cookbook/02sensors/figures/black_hardware_details.png
diff --git a/beaglebone-cookbook/02sensors/figures/cape-headers-analog.png b/books/beaglebone-cookbook/02sensors/figures/cape-headers-analog.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/cape-headers-analog.png
rename to books/beaglebone-cookbook/02sensors/figures/cape-headers-analog.png
diff --git a/beaglebone-cookbook/02sensors/figures/cape-headers-i2c.png b/books/beaglebone-cookbook/02sensors/figures/cape-headers-i2c.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/cape-headers-i2c.png
rename to books/beaglebone-cookbook/02sensors/figures/cape-headers-i2c.png
diff --git a/beaglebone-cookbook/02sensors/figures/cape-headers-serial.png b/books/beaglebone-cookbook/02sensors/figures/cape-headers-serial.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/cape-headers-serial.png
rename to books/beaglebone-cookbook/02sensors/figures/cape-headers-serial.png
diff --git a/beaglebone-cookbook/02sensors/figures/cape-headers.png b/books/beaglebone-cookbook/02sensors/figures/cape-headers.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/cape-headers.png
rename to books/beaglebone-cookbook/02sensors/figures/cape-headers.png
diff --git a/beaglebone-cookbook/02sensors/figures/flexResistor.fzz b/books/beaglebone-cookbook/02sensors/figures/flexResistor.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/flexResistor.fzz
rename to books/beaglebone-cookbook/02sensors/figures/flexResistor.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/flexResistor_bb.png b/books/beaglebone-cookbook/02sensors/figures/flexResistor_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/flexResistor_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/flexResistor_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/hc-sr04-ultraSonic.fzz b/books/beaglebone-cookbook/02sensors/figures/hc-sr04-ultraSonic.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/hc-sr04-ultraSonic.fzz
rename to books/beaglebone-cookbook/02sensors/figures/hc-sr04-ultraSonic.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/hc-sr04-ultraSonic_bb.png b/books/beaglebone-cookbook/02sensors/figures/hc-sr04-ultraSonic_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/hc-sr04-ultraSonic_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/hc-sr04-ultraSonic_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/hc-sr04.jpg b/books/beaglebone-cookbook/02sensors/figures/hc-sr04.jpg
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/hc-sr04.jpg
rename to books/beaglebone-cookbook/02sensors/figures/hc-sr04.jpg
diff --git a/beaglebone-cookbook/02sensors/figures/i2cTemp.fzz b/books/beaglebone-cookbook/02sensors/figures/i2cTemp.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/i2cTemp.fzz
rename to books/beaglebone-cookbook/02sensors/figures/i2cTemp.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/i2cTemp.js.old b/books/beaglebone-cookbook/02sensors/figures/i2cTemp.js.old
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/i2cTemp.js.old
rename to books/beaglebone-cookbook/02sensors/figures/i2cTemp.js.old
diff --git a/beaglebone-cookbook/02sensors/figures/i2cTemp_bb.png b/books/beaglebone-cookbook/02sensors/figures/i2cTemp_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/i2cTemp_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/i2cTemp_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/onewire.fzz b/books/beaglebone-cookbook/02sensors/figures/onewire.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/onewire.fzz
rename to books/beaglebone-cookbook/02sensors/figures/onewire.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/onewire_bb.png b/books/beaglebone-cookbook/02sensors/figures/onewire_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/onewire_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/onewire_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/onewire_setup.sh b/books/beaglebone-cookbook/02sensors/figures/onewire_setup.sh
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/onewire_setup.sh
rename to books/beaglebone-cookbook/02sensors/figures/onewire_setup.sh
diff --git a/beaglebone-cookbook/02sensors/figures/pot.fzz b/books/beaglebone-cookbook/02sensors/figures/pot.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/pot.fzz
rename to books/beaglebone-cookbook/02sensors/figures/pot.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/pot_schem.png b/books/beaglebone-cookbook/02sensors/figures/pot_schem.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/pot_schem.png
rename to books/beaglebone-cookbook/02sensors/figures/pot_schem.png
diff --git a/beaglebone-cookbook/02sensors/figures/pushbutton.fzz b/books/beaglebone-cookbook/02sensors/figures/pushbutton.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/pushbutton.fzz
rename to books/beaglebone-cookbook/02sensors/figures/pushbutton.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/pushbuttonPullup.fzz b/books/beaglebone-cookbook/02sensors/figures/pushbuttonPullup.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/pushbuttonPullup.fzz
rename to books/beaglebone-cookbook/02sensors/figures/pushbuttonPullup.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/pushbuttonPullup_bb.png b/books/beaglebone-cookbook/02sensors/figures/pushbuttonPullup_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/pushbuttonPullup_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/pushbuttonPullup_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/pushbutton_bb.png b/books/beaglebone-cookbook/02sensors/figures/pushbutton_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/pushbutton_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/pushbutton_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/rotaryEncoder.fzz b/books/beaglebone-cookbook/02sensors/figures/rotaryEncoder.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/rotaryEncoder.fzz
rename to books/beaglebone-cookbook/02sensors/figures/rotaryEncoder.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/rotaryEncoder.js.orig b/books/beaglebone-cookbook/02sensors/figures/rotaryEncoder.js.orig
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/rotaryEncoder.js.orig
rename to books/beaglebone-cookbook/02sensors/figures/rotaryEncoder.js.orig
diff --git a/beaglebone-cookbook/02sensors/figures/rotaryEncoder_bb.png b/books/beaglebone-cookbook/02sensors/figures/rotaryEncoder_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/rotaryEncoder_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/rotaryEncoder_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/sensorTag.jpg b/books/beaglebone-cookbook/02sensors/figures/sensorTag.jpg
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/sensorTag.jpg
rename to books/beaglebone-cookbook/02sensors/figures/sensorTag.jpg
diff --git a/beaglebone-cookbook/02sensors/figures/testSerial-2014-04-11.zip b/books/beaglebone-cookbook/02sensors/figures/testSerial-2014-04-11.zip
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/testSerial-2014-04-11.zip
rename to books/beaglebone-cookbook/02sensors/figures/testSerial-2014-04-11.zip
diff --git a/beaglebone-cookbook/02sensors/figures/ultrasonicRange.fzz b/books/beaglebone-cookbook/02sensors/figures/ultrasonicRange.fzz
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/ultrasonicRange.fzz
rename to books/beaglebone-cookbook/02sensors/figures/ultrasonicRange.fzz
diff --git a/beaglebone-cookbook/02sensors/figures/ultrasonicRange_bb.png b/books/beaglebone-cookbook/02sensors/figures/ultrasonicRange_bb.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/ultrasonicRange_bb.png
rename to books/beaglebone-cookbook/02sensors/figures/ultrasonicRange_bb.png
diff --git a/beaglebone-cookbook/02sensors/figures/vsc-bash-tab.png b/books/beaglebone-cookbook/02sensors/figures/vsc-bash-tab.png
similarity index 100%
rename from beaglebone-cookbook/02sensors/figures/vsc-bash-tab.png
rename to books/beaglebone-cookbook/02sensors/figures/vsc-bash-tab.png
diff --git a/beaglebone-cookbook/02sensors/sensors.rst b/books/beaglebone-cookbook/02sensors/sensors.rst
similarity index 100%
rename from beaglebone-cookbook/02sensors/sensors.rst
rename to books/beaglebone-cookbook/02sensors/sensors.rst
diff --git a/beaglebone-cookbook/03displays/code/externLED.js b/books/beaglebone-cookbook/03displays/code/externLED.js
similarity index 100%
rename from beaglebone-cookbook/03displays/code/externLED.js
rename to books/beaglebone-cookbook/03displays/code/externLED.js
diff --git a/beaglebone-cookbook/03displays/code/externLED.py b/books/beaglebone-cookbook/03displays/code/externLED.py
similarity index 100%
rename from beaglebone-cookbook/03displays/code/externLED.py
rename to books/beaglebone-cookbook/03displays/code/externLED.py
diff --git a/beaglebone-cookbook/03displays/code/fadeLED.js b/books/beaglebone-cookbook/03displays/code/fadeLED.js
similarity index 100%
rename from beaglebone-cookbook/03displays/code/fadeLED.js
rename to books/beaglebone-cookbook/03displays/code/fadeLED.js
diff --git a/beaglebone-cookbook/03displays/code/fadeLED.py b/books/beaglebone-cookbook/03displays/code/fadeLED.py
similarity index 100%
rename from beaglebone-cookbook/03displays/code/fadeLED.py
rename to books/beaglebone-cookbook/03displays/code/fadeLED.py
diff --git a/beaglebone-cookbook/03displays/code/internLED.js b/books/beaglebone-cookbook/03displays/code/internLED.js
similarity index 100%
rename from beaglebone-cookbook/03displays/code/internLED.js
rename to books/beaglebone-cookbook/03displays/code/internLED.js
diff --git a/beaglebone-cookbook/03displays/code/internLED.py b/books/beaglebone-cookbook/03displays/code/internLED.py
similarity index 100%
rename from beaglebone-cookbook/03displays/code/internLED.py
rename to books/beaglebone-cookbook/03displays/code/internLED.py
diff --git a/beaglebone-cookbook/03displays/code/matrixLEDi2c.js b/books/beaglebone-cookbook/03displays/code/matrixLEDi2c.js
similarity index 100%
rename from beaglebone-cookbook/03displays/code/matrixLEDi2c.js
rename to books/beaglebone-cookbook/03displays/code/matrixLEDi2c.js
diff --git a/beaglebone-cookbook/03displays/code/matrixLEDi2c.py b/books/beaglebone-cookbook/03displays/code/matrixLEDi2c.py
similarity index 100%
rename from beaglebone-cookbook/03displays/code/matrixLEDi2c.py
rename to books/beaglebone-cookbook/03displays/code/matrixLEDi2c.py
diff --git a/beaglebone-cookbook/03displays/code/neoPixel.sh b/books/beaglebone-cookbook/03displays/code/neoPixel.sh
similarity index 100%
rename from beaglebone-cookbook/03displays/code/neoPixel.sh
rename to books/beaglebone-cookbook/03displays/code/neoPixel.sh
diff --git a/beaglebone-cookbook/03displays/code/nokia5110.js b/books/beaglebone-cookbook/03displays/code/nokia5110.js
similarity index 100%
rename from beaglebone-cookbook/03displays/code/nokia5110.js
rename to books/beaglebone-cookbook/03displays/code/nokia5110.js
diff --git a/beaglebone-cookbook/03displays/code/nokia5110Test.js b/books/beaglebone-cookbook/03displays/code/nokia5110Test.js
similarity index 100%
rename from beaglebone-cookbook/03displays/code/nokia5110Test.js
rename to books/beaglebone-cookbook/03displays/code/nokia5110Test.js
diff --git a/beaglebone-cookbook/03displays/code/pwmTest.sh b/books/beaglebone-cookbook/03displays/code/pwmTest.sh
similarity index 100%
rename from beaglebone-cookbook/03displays/code/pwmTest.sh
rename to books/beaglebone-cookbook/03displays/code/pwmTest.sh
diff --git a/beaglebone-cookbook/03displays/code/speak.js b/books/beaglebone-cookbook/03displays/code/speak.js
similarity index 100%
rename from beaglebone-cookbook/03displays/code/speak.js
rename to books/beaglebone-cookbook/03displays/code/speak.js
diff --git a/beaglebone-cookbook/03displays/displays.rst b/books/beaglebone-cookbook/03displays/displays.rst
similarity index 100%
rename from beaglebone-cookbook/03displays/displays.rst
rename to books/beaglebone-cookbook/03displays/displays.rst
diff --git a/beaglebone-cookbook/03displays/figures/LEDstring.fzz b/books/beaglebone-cookbook/03displays/figures/LEDstring.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/LEDstring.fzz
rename to books/beaglebone-cookbook/03displays/figures/LEDstring.fzz
diff --git a/beaglebone-cookbook/03displays/figures/LEDstring_bb.png b/books/beaglebone-cookbook/03displays/figures/LEDstring_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/LEDstring_bb.png
rename to books/beaglebone-cookbook/03displays/figures/LEDstring_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/P8P9.fzz b/books/beaglebone-cookbook/03displays/figures/P8P9.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/P8P9.fzz
rename to books/beaglebone-cookbook/03displays/figures/P8P9.fzz
diff --git a/beaglebone-cookbook/03displays/figures/P8P9_bb.png b/books/beaglebone-cookbook/03displays/figures/P8P9_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/P8P9_bb.png
rename to books/beaglebone-cookbook/03displays/figures/P8P9_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/cape-headers-pwm.png b/books/beaglebone-cookbook/03displays/figures/cape-headers-pwm.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/cape-headers-pwm.png
rename to books/beaglebone-cookbook/03displays/figures/cape-headers-pwm.png
diff --git a/beaglebone-cookbook/03displays/figures/externLED.fzz b/books/beaglebone-cookbook/03displays/figures/externLED.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/externLED.fzz
rename to books/beaglebone-cookbook/03displays/figures/externLED.fzz
diff --git a/beaglebone-cookbook/03displays/figures/externLED_bb.png b/books/beaglebone-cookbook/03displays/figures/externLED_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/externLED_bb.png
rename to books/beaglebone-cookbook/03displays/figures/externLED_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/i2cMatrix.fzz b/books/beaglebone-cookbook/03displays/figures/i2cMatrix.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/i2cMatrix.fzz
rename to books/beaglebone-cookbook/03displays/figures/i2cMatrix.fzz
diff --git a/beaglebone-cookbook/03displays/figures/i2cMatrixLevelTrans.fzz b/books/beaglebone-cookbook/03displays/figures/i2cMatrixLevelTrans.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/i2cMatrixLevelTrans.fzz
rename to books/beaglebone-cookbook/03displays/figures/i2cMatrixLevelTrans.fzz
diff --git a/beaglebone-cookbook/03displays/figures/i2cMatrixLevelTrans_bb.png b/books/beaglebone-cookbook/03displays/figures/i2cMatrixLevelTrans_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/i2cMatrixLevelTrans_bb.png
rename to books/beaglebone-cookbook/03displays/figures/i2cMatrixLevelTrans_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/i2cMatrixOLD.fzz b/books/beaglebone-cookbook/03displays/figures/i2cMatrixOLD.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/i2cMatrixOLD.fzz
rename to books/beaglebone-cookbook/03displays/figures/i2cMatrixOLD.fzz
diff --git a/beaglebone-cookbook/03displays/figures/i2cMatrix_bb.png b/books/beaglebone-cookbook/03displays/figures/i2cMatrix_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/i2cMatrix_bb.png
rename to books/beaglebone-cookbook/03displays/figures/i2cMatrix_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/internLED.png b/books/beaglebone-cookbook/03displays/figures/internLED.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/internLED.png
rename to books/beaglebone-cookbook/03displays/figures/internLED.png
diff --git a/beaglebone-cookbook/03displays/figures/matrix16x24.fzz b/books/beaglebone-cookbook/03displays/figures/matrix16x24.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/matrix16x24.fzz
rename to books/beaglebone-cookbook/03displays/figures/matrix16x24.fzz
diff --git a/beaglebone-cookbook/03displays/figures/matrix16x24_bb.png b/books/beaglebone-cookbook/03displays/figures/matrix16x24_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/matrix16x24_bb.png
rename to books/beaglebone-cookbook/03displays/figures/matrix16x24_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/neo.fzz b/books/beaglebone-cookbook/03displays/figures/neo.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/neo.fzz
rename to books/beaglebone-cookbook/03displays/figures/neo.fzz
diff --git a/beaglebone-cookbook/03displays/figures/neoPixel.fzz b/books/beaglebone-cookbook/03displays/figures/neoPixel.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/neoPixel.fzz
rename to books/beaglebone-cookbook/03displays/figures/neoPixel.fzz
diff --git a/beaglebone-cookbook/03displays/figures/neoPixelMatrix.fzz b/books/beaglebone-cookbook/03displays/figures/neoPixelMatrix.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/neoPixelMatrix.fzz
rename to books/beaglebone-cookbook/03displays/figures/neoPixelMatrix.fzz
diff --git a/beaglebone-cookbook/03displays/figures/neoPixelMatrix_bb.png b/books/beaglebone-cookbook/03displays/figures/neoPixelMatrix_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/neoPixelMatrix_bb.png
rename to books/beaglebone-cookbook/03displays/figures/neoPixelMatrix_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/neoPixel_bb.png b/books/beaglebone-cookbook/03displays/figures/neoPixel_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/neoPixel_bb.png
rename to books/beaglebone-cookbook/03displays/figures/neoPixel_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/neo_bb.png b/books/beaglebone-cookbook/03displays/figures/neo_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/neo_bb.png
rename to books/beaglebone-cookbook/03displays/figures/neo_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/nokia5110.fzz b/books/beaglebone-cookbook/03displays/figures/nokia5110.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/nokia5110.fzz
rename to books/beaglebone-cookbook/03displays/figures/nokia5110.fzz
diff --git a/beaglebone-cookbook/03displays/figures/nokia5110_bb.png b/books/beaglebone-cookbook/03displays/figures/nokia5110_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/nokia5110_bb.png
rename to books/beaglebone-cookbook/03displays/figures/nokia5110_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/old/USERLEDs.png b/books/beaglebone-cookbook/03displays/figures/old/USERLEDs.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/old/USERLEDs.png
rename to books/beaglebone-cookbook/03displays/figures/old/USERLEDs.png
diff --git a/beaglebone-cookbook/03displays/figures/old/externalLED.png b/books/beaglebone-cookbook/03displays/figures/old/externalLED.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/old/externalLED.png
rename to books/beaglebone-cookbook/03displays/figures/old/externalLED.png
diff --git a/beaglebone-cookbook/03displays/figures/old/p8p9headers.png b/books/beaglebone-cookbook/03displays/figures/old/p8p9headers.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/old/p8p9headers.png
rename to books/beaglebone-cookbook/03displays/figures/old/p8p9headers.png
diff --git a/beaglebone-cookbook/03displays/figures/powerSwitch.fzz b/books/beaglebone-cookbook/03displays/figures/powerSwitch.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/powerSwitch.fzz
rename to books/beaglebone-cookbook/03displays/figures/powerSwitch.fzz
diff --git a/beaglebone-cookbook/03displays/figures/powerSwitch_bb.png b/books/beaglebone-cookbook/03displays/figures/powerSwitch_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/powerSwitch_bb.png
rename to books/beaglebone-cookbook/03displays/figures/powerSwitch_bb.png
diff --git a/beaglebone-cookbook/03displays/figures/ws2801.fzz b/books/beaglebone-cookbook/03displays/figures/ws2801.fzz
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/ws2801.fzz
rename to books/beaglebone-cookbook/03displays/figures/ws2801.fzz
diff --git a/beaglebone-cookbook/03displays/figures/ws2801_bb.png b/books/beaglebone-cookbook/03displays/figures/ws2801_bb.png
similarity index 100%
rename from beaglebone-cookbook/03displays/figures/ws2801_bb.png
rename to books/beaglebone-cookbook/03displays/figures/ws2801_bb.png
diff --git a/beaglebone-cookbook/04motors/code/bipolarStepperMotor.py b/books/beaglebone-cookbook/04motors/code/bipolarStepperMotor.py
similarity index 100%
rename from beaglebone-cookbook/04motors/code/bipolarStepperMotor.py
rename to books/beaglebone-cookbook/04motors/code/bipolarStepperMotor.py
diff --git a/beaglebone-cookbook/04motors/code/dcMotor.js b/books/beaglebone-cookbook/04motors/code/dcMotor.js
similarity index 100%
rename from beaglebone-cookbook/04motors/code/dcMotor.js
rename to books/beaglebone-cookbook/04motors/code/dcMotor.js
diff --git a/beaglebone-cookbook/04motors/code/dcMotor.py b/books/beaglebone-cookbook/04motors/code/dcMotor.py
similarity index 100%
rename from beaglebone-cookbook/04motors/code/dcMotor.py
rename to books/beaglebone-cookbook/04motors/code/dcMotor.py
diff --git a/beaglebone-cookbook/04motors/code/h-bridgeMotor.js b/books/beaglebone-cookbook/04motors/code/h-bridgeMotor.js
similarity index 100%
rename from beaglebone-cookbook/04motors/code/h-bridgeMotor.js
rename to books/beaglebone-cookbook/04motors/code/h-bridgeMotor.js
diff --git a/beaglebone-cookbook/04motors/code/ring.js b/books/beaglebone-cookbook/04motors/code/ring.js
similarity index 100%
rename from beaglebone-cookbook/04motors/code/ring.js
rename to books/beaglebone-cookbook/04motors/code/ring.js
diff --git a/beaglebone-cookbook/04motors/code/servoBird.js b/books/beaglebone-cookbook/04motors/code/servoBird.js
similarity index 100%
rename from beaglebone-cookbook/04motors/code/servoBird.js
rename to books/beaglebone-cookbook/04motors/code/servoBird.js
diff --git a/beaglebone-cookbook/04motors/code/servoEncoder.py b/books/beaglebone-cookbook/04motors/code/servoEncoder.py
similarity index 100%
rename from beaglebone-cookbook/04motors/code/servoEncoder.py
rename to books/beaglebone-cookbook/04motors/code/servoEncoder.py
diff --git a/beaglebone-cookbook/04motors/code/servoMotor.js b/books/beaglebone-cookbook/04motors/code/servoMotor.js
similarity index 100%
rename from beaglebone-cookbook/04motors/code/servoMotor.js
rename to books/beaglebone-cookbook/04motors/code/servoMotor.js
diff --git a/beaglebone-cookbook/04motors/code/servoMotor.py b/books/beaglebone-cookbook/04motors/code/servoMotor.py
similarity index 100%
rename from beaglebone-cookbook/04motors/code/servoMotor.py
rename to books/beaglebone-cookbook/04motors/code/servoMotor.py
diff --git a/beaglebone-cookbook/04motors/code/servoSense.js b/books/beaglebone-cookbook/04motors/code/servoSense.js
similarity index 100%
rename from beaglebone-cookbook/04motors/code/servoSense.js
rename to books/beaglebone-cookbook/04motors/code/servoSense.js
diff --git a/beaglebone-cookbook/04motors/code/stop.js b/books/beaglebone-cookbook/04motors/code/stop.js
similarity index 100%
rename from beaglebone-cookbook/04motors/code/stop.js
rename to books/beaglebone-cookbook/04motors/code/stop.js
diff --git a/beaglebone-cookbook/04motors/code/unipolarStepperMotor.js b/books/beaglebone-cookbook/04motors/code/unipolarStepperMotor.js
similarity index 100%
rename from beaglebone-cookbook/04motors/code/unipolarStepperMotor.js
rename to books/beaglebone-cookbook/04motors/code/unipolarStepperMotor.js
diff --git a/beaglebone-cookbook/04motors/code/unipolarStepperMotor.js.diff b/books/beaglebone-cookbook/04motors/code/unipolarStepperMotor.js.diff
similarity index 100%
rename from beaglebone-cookbook/04motors/code/unipolarStepperMotor.js.diff
rename to books/beaglebone-cookbook/04motors/code/unipolarStepperMotor.js.diff
diff --git a/beaglebone-cookbook/04motors/code/unipolarStepperMotor.py b/books/beaglebone-cookbook/04motors/code/unipolarStepperMotor.py
similarity index 100%
rename from beaglebone-cookbook/04motors/code/unipolarStepperMotor.py
rename to books/beaglebone-cookbook/04motors/code/unipolarStepperMotor.py
diff --git a/beaglebone-cookbook/04motors/code/unipolarStepperMotor.py.diff b/books/beaglebone-cookbook/04motors/code/unipolarStepperMotor.py.diff
similarity index 100%
rename from beaglebone-cookbook/04motors/code/unipolarStepperMotor.py.diff
rename to books/beaglebone-cookbook/04motors/code/unipolarStepperMotor.py.diff
diff --git a/beaglebone-cookbook/04motors/figures/H-bridge.ms13 b/books/beaglebone-cookbook/04motors/figures/H-bridge.ms13
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/H-bridge.ms13
rename to books/beaglebone-cookbook/04motors/figures/H-bridge.ms13
diff --git a/beaglebone-cookbook/04motors/figures/H-bridge.png b/books/beaglebone-cookbook/04motors/figures/H-bridge.png
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/H-bridge.png
rename to books/beaglebone-cookbook/04motors/figures/H-bridge.png
diff --git a/beaglebone-cookbook/04motors/figures/bipolarStepperMotor.fzz b/books/beaglebone-cookbook/04motors/figures/bipolarStepperMotor.fzz
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/bipolarStepperMotor.fzz
rename to books/beaglebone-cookbook/04motors/figures/bipolarStepperMotor.fzz
diff --git a/beaglebone-cookbook/04motors/figures/bipolarStepperMotor_bb.png b/books/beaglebone-cookbook/04motors/figures/bipolarStepperMotor_bb.png
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/bipolarStepperMotor_bb.png
rename to books/beaglebone-cookbook/04motors/figures/bipolarStepperMotor_bb.png
diff --git a/beaglebone-cookbook/04motors/figures/dcMotor.fzz b/books/beaglebone-cookbook/04motors/figures/dcMotor.fzz
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/dcMotor.fzz
rename to books/beaglebone-cookbook/04motors/figures/dcMotor.fzz
diff --git a/beaglebone-cookbook/04motors/figures/dcMotor_bb.png b/books/beaglebone-cookbook/04motors/figures/dcMotor_bb.png
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/dcMotor_bb.png
rename to books/beaglebone-cookbook/04motors/figures/dcMotor_bb.png
diff --git a/beaglebone-cookbook/04motors/figures/h-bridgeMotor.fzz b/books/beaglebone-cookbook/04motors/figures/h-bridgeMotor.fzz
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/h-bridgeMotor.fzz
rename to books/beaglebone-cookbook/04motors/figures/h-bridgeMotor.fzz
diff --git a/beaglebone-cookbook/04motors/figures/h-bridgeMotor5V.fzz b/books/beaglebone-cookbook/04motors/figures/h-bridgeMotor5V.fzz
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/h-bridgeMotor5V.fzz
rename to books/beaglebone-cookbook/04motors/figures/h-bridgeMotor5V.fzz
diff --git a/beaglebone-cookbook/04motors/figures/h-bridgeMotor5V_bb.png b/books/beaglebone-cookbook/04motors/figures/h-bridgeMotor5V_bb.png
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/h-bridgeMotor5V_bb.png
rename to books/beaglebone-cookbook/04motors/figures/h-bridgeMotor5V_bb.png
diff --git a/beaglebone-cookbook/04motors/figures/h-bridgeMotorExternal.fzz b/books/beaglebone-cookbook/04motors/figures/h-bridgeMotorExternal.fzz
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/h-bridgeMotorExternal.fzz
rename to books/beaglebone-cookbook/04motors/figures/h-bridgeMotorExternal.fzz
diff --git a/beaglebone-cookbook/04motors/figures/h-bridgeMotorExternal_bb.png b/books/beaglebone-cookbook/04motors/figures/h-bridgeMotorExternal_bb.png
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/h-bridgeMotorExternal_bb.png
rename to books/beaglebone-cookbook/04motors/figures/h-bridgeMotorExternal_bb.png
diff --git a/beaglebone-cookbook/04motors/figures/h-bridgeMotorOLD.fzz b/books/beaglebone-cookbook/04motors/figures/h-bridgeMotorOLD.fzz
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/h-bridgeMotorOLD.fzz
rename to books/beaglebone-cookbook/04motors/figures/h-bridgeMotorOLD.fzz
diff --git a/beaglebone-cookbook/04motors/figures/h-bridgeMotor_bb.png b/books/beaglebone-cookbook/04motors/figures/h-bridgeMotor_bb.png
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/h-bridgeMotor_bb.png
rename to books/beaglebone-cookbook/04motors/figures/h-bridgeMotor_bb.png
diff --git a/beaglebone-cookbook/04motors/figures/servoMotor.fzz b/books/beaglebone-cookbook/04motors/figures/servoMotor.fzz
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/servoMotor.fzz
rename to books/beaglebone-cookbook/04motors/figures/servoMotor.fzz
diff --git a/beaglebone-cookbook/04motors/figures/servoMotor5V.fzz b/books/beaglebone-cookbook/04motors/figures/servoMotor5V.fzz
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/servoMotor5V.fzz
rename to books/beaglebone-cookbook/04motors/figures/servoMotor5V.fzz
diff --git a/beaglebone-cookbook/04motors/figures/servoMotor5V_bb.png b/books/beaglebone-cookbook/04motors/figures/servoMotor5V_bb.png
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/servoMotor5V_bb.png
rename to books/beaglebone-cookbook/04motors/figures/servoMotor5V_bb.png
diff --git a/beaglebone-cookbook/04motors/figures/servoMotor_bb.png b/books/beaglebone-cookbook/04motors/figures/servoMotor_bb.png
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/servoMotor_bb.png
rename to books/beaglebone-cookbook/04motors/figures/servoMotor_bb.png
diff --git a/beaglebone-cookbook/04motors/figures/stepExternalSupply.fzz b/books/beaglebone-cookbook/04motors/figures/stepExternalSupply.fzz
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/stepExternalSupply.fzz
rename to books/beaglebone-cookbook/04motors/figures/stepExternalSupply.fzz
diff --git a/beaglebone-cookbook/04motors/figures/stepExternalSupply_bb.png b/books/beaglebone-cookbook/04motors/figures/stepExternalSupply_bb.png
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/stepExternalSupply_bb.png
rename to books/beaglebone-cookbook/04motors/figures/stepExternalSupply_bb.png
diff --git a/beaglebone-cookbook/04motors/figures/unipolarStepperMotor.fzz b/books/beaglebone-cookbook/04motors/figures/unipolarStepperMotor.fzz
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/unipolarStepperMotor.fzz
rename to books/beaglebone-cookbook/04motors/figures/unipolarStepperMotor.fzz
diff --git a/beaglebone-cookbook/04motors/figures/unipolarStepperMotor_bb.png b/books/beaglebone-cookbook/04motors/figures/unipolarStepperMotor_bb.png
similarity index 100%
rename from beaglebone-cookbook/04motors/figures/unipolarStepperMotor_bb.png
rename to books/beaglebone-cookbook/04motors/figures/unipolarStepperMotor_bb.png
diff --git a/beaglebone-cookbook/04motors/motors.rst b/books/beaglebone-cookbook/04motors/motors.rst
similarity index 100%
rename from beaglebone-cookbook/04motors/motors.rst
rename to books/beaglebone-cookbook/04motors/motors.rst
diff --git a/beaglebone-cookbook/05tips/code/blinkLED.c b/books/beaglebone-cookbook/05tips/code/blinkLED.c
similarity index 100%
rename from beaglebone-cookbook/05tips/code/blinkLED.c
rename to books/beaglebone-cookbook/05tips/code/blinkLED.c
diff --git a/beaglebone-cookbook/05tips/code/blinkLED.py b/books/beaglebone-cookbook/05tips/code/blinkLED.py
similarity index 100%
rename from beaglebone-cookbook/05tips/code/blinkLED.py
rename to books/beaglebone-cookbook/05tips/code/blinkLED.py
diff --git a/beaglebone-cookbook/05tips/code/ipMasquerade.sh b/books/beaglebone-cookbook/05tips/code/ipMasquerade.sh
similarity index 100%
rename from beaglebone-cookbook/05tips/code/ipMasquerade.sh
rename to books/beaglebone-cookbook/05tips/code/ipMasquerade.sh
diff --git a/beaglebone-cookbook/05tips/code/setDNS.sh b/books/beaglebone-cookbook/05tips/code/setDNS.sh
similarity index 100%
rename from beaglebone-cookbook/05tips/code/setDNS.sh
rename to books/beaglebone-cookbook/05tips/code/setDNS.sh
diff --git a/beaglebone-cookbook/05tips/figures/FTDIPins.png b/books/beaglebone-cookbook/05tips/figures/FTDIPins.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/FTDIPins.png
rename to books/beaglebone-cookbook/05tips/figures/FTDIPins.png
diff --git a/beaglebone-cookbook/05tips/figures/FTDIcable.jpg b/books/beaglebone-cookbook/05tips/figures/FTDIcable.jpg
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/FTDIcable.jpg
rename to books/beaglebone-cookbook/05tips/figures/FTDIcable.jpg
diff --git a/beaglebone-cookbook/05tips/figures/FTDIconnector.jpg b/books/beaglebone-cookbook/05tips/figures/FTDIconnector.jpg
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/FTDIconnector.jpg
rename to books/beaglebone-cookbook/05tips/figures/FTDIconnector.jpg
diff --git a/beaglebone-cookbook/05tips/figures/cape-headers-digital.png b/books/beaglebone-cookbook/05tips/figures/cape-headers-digital.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/cape-headers-digital.png
rename to books/beaglebone-cookbook/05tips/figures/cape-headers-digital.png
diff --git a/beaglebone-cookbook/05tips/figures/gedit.png b/books/beaglebone-cookbook/05tips/figures/gedit.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/gedit.png
rename to books/beaglebone-cookbook/05tips/figures/gedit.png
diff --git a/beaglebone-cookbook/05tips/figures/hdmiConverter.jpg b/books/beaglebone-cookbook/05tips/figures/hdmiConverter.jpg
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/hdmiConverter.jpg
rename to books/beaglebone-cookbook/05tips/figures/hdmiConverter.jpg
diff --git a/beaglebone-cookbook/05tips/figures/internLED.png b/books/beaglebone-cookbook/05tips/figures/internLED.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/internLED.png
rename to books/beaglebone-cookbook/05tips/figures/internLED.png
diff --git a/beaglebone-cookbook/05tips/figures/latest-images.png b/books/beaglebone-cookbook/05tips/figures/latest-images.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/latest-images.png
rename to books/beaglebone-cookbook/05tips/figures/latest-images.png
diff --git a/beaglebone-cookbook/05tips/figures/leafpad.png b/books/beaglebone-cookbook/05tips/figures/leafpad.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/leafpad.png
rename to books/beaglebone-cookbook/05tips/figures/leafpad.png
diff --git a/beaglebone-cookbook/05tips/figures/nano.png b/books/beaglebone-cookbook/05tips/figures/nano.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/nano.png
rename to books/beaglebone-cookbook/05tips/figures/nano.png
diff --git a/beaglebone-cookbook/05tips/figures/network.png b/books/beaglebone-cookbook/05tips/figures/network.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/network.png
rename to books/beaglebone-cookbook/05tips/figures/network.png
diff --git a/beaglebone-cookbook/05tips/figures/npm.png b/books/beaglebone-cookbook/05tips/figures/npm.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/npm.png
rename to books/beaglebone-cookbook/05tips/figures/npm.png
diff --git a/beaglebone-cookbook/05tips/figures/vi.png b/books/beaglebone-cookbook/05tips/figures/vi.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/vi.png
rename to books/beaglebone-cookbook/05tips/figures/vi.png
diff --git a/beaglebone-cookbook/05tips/figures/vnc1.png b/books/beaglebone-cookbook/05tips/figures/vnc1.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/vnc1.png
rename to books/beaglebone-cookbook/05tips/figures/vnc1.png
diff --git a/beaglebone-cookbook/05tips/figures/vnc2.png b/books/beaglebone-cookbook/05tips/figures/vnc2.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/vnc2.png
rename to books/beaglebone-cookbook/05tips/figures/vnc2.png
diff --git a/beaglebone-cookbook/05tips/figures/vnc3.png b/books/beaglebone-cookbook/05tips/figures/vnc3.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/vnc3.png
rename to books/beaglebone-cookbook/05tips/figures/vnc3.png
diff --git a/beaglebone-cookbook/05tips/figures/wicd.png b/books/beaglebone-cookbook/05tips/figures/wicd.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/wicd.png
rename to books/beaglebone-cookbook/05tips/figures/wicd.png
diff --git a/beaglebone-cookbook/05tips/figures/wicdConfig.png b/books/beaglebone-cookbook/05tips/figures/wicdConfig.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/wicdConfig.png
rename to books/beaglebone-cookbook/05tips/figures/wicdConfig.png
diff --git a/beaglebone-cookbook/05tips/figures/wicdConnected.png b/books/beaglebone-cookbook/05tips/figures/wicdConnected.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/wicdConnected.png
rename to books/beaglebone-cookbook/05tips/figures/wicdConnected.png
diff --git a/beaglebone-cookbook/05tips/figures/wicdPassword.png b/books/beaglebone-cookbook/05tips/figures/wicdPassword.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/wicdPassword.png
rename to books/beaglebone-cookbook/05tips/figures/wicdPassword.png
diff --git a/beaglebone-cookbook/05tips/figures/wicdPrefs.png b/books/beaglebone-cookbook/05tips/figures/wicdPrefs.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/wicdPrefs.png
rename to books/beaglebone-cookbook/05tips/figures/wicdPrefs.png
diff --git a/beaglebone-cookbook/05tips/figures/wicdSecure.png b/books/beaglebone-cookbook/05tips/figures/wicdSecure.png
similarity index 100%
rename from beaglebone-cookbook/05tips/figures/wicdSecure.png
rename to books/beaglebone-cookbook/05tips/figures/wicdSecure.png
diff --git a/beaglebone-cookbook/05tips/tips.rst b/books/beaglebone-cookbook/05tips/tips.rst
similarity index 100%
rename from beaglebone-cookbook/05tips/tips.rst
rename to books/beaglebone-cookbook/05tips/tips.rst
diff --git a/beaglebone-cookbook/06iot/code/GPIOserver.js b/books/beaglebone-cookbook/06iot/code/GPIOserver.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/GPIOserver.js
rename to books/beaglebone-cookbook/06iot/code/GPIOserver.js
diff --git a/beaglebone-cookbook/06iot/code/analogInContinuous.py b/books/beaglebone-cookbook/06iot/code/analogInContinuous.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/analogInContinuous.py
rename to books/beaglebone-cookbook/06iot/code/analogInContinuous.py
diff --git a/beaglebone-cookbook/06iot/code/emailTest.py b/books/beaglebone-cookbook/06iot/code/emailTest.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/emailTest.py
rename to books/beaglebone-cookbook/06iot/code/emailTest.py
diff --git a/beaglebone-cookbook/06iot/code/flask/app1.py b/books/beaglebone-cookbook/06iot/code/flask/app1.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/app1.py
rename to books/beaglebone-cookbook/06iot/code/flask/app1.py
diff --git a/beaglebone-cookbook/06iot/code/flask/app2.py b/books/beaglebone-cookbook/06iot/code/flask/app2.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/app2.py
rename to books/beaglebone-cookbook/06iot/code/flask/app2.py
diff --git a/beaglebone-cookbook/06iot/code/flask/app3.py b/books/beaglebone-cookbook/06iot/code/flask/app3.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/app3.py
rename to books/beaglebone-cookbook/06iot/code/flask/app3.py
diff --git a/beaglebone-cookbook/06iot/code/flask/app4.py b/books/beaglebone-cookbook/06iot/code/flask/app4.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/app4.py
rename to books/beaglebone-cookbook/06iot/code/flask/app4.py
diff --git a/beaglebone-cookbook/06iot/code/flask/app5.py b/books/beaglebone-cookbook/06iot/code/flask/app5.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/app5.py
rename to books/beaglebone-cookbook/06iot/code/flask/app5.py
diff --git a/beaglebone-cookbook/06iot/code/flask/flask.service b/books/beaglebone-cookbook/06iot/code/flask/flask.service
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/flask.service
rename to books/beaglebone-cookbook/06iot/code/flask/flask.service
diff --git a/beaglebone-cookbook/06iot/code/flask/helloWorld.py b/books/beaglebone-cookbook/06iot/code/flask/helloWorld.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/helloWorld.py
rename to books/beaglebone-cookbook/06iot/code/flask/helloWorld.py
diff --git a/beaglebone-cookbook/06iot/code/flask/install.sh b/books/beaglebone-cookbook/06iot/code/flask/install.sh
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/install.sh
rename to books/beaglebone-cookbook/06iot/code/flask/install.sh
diff --git a/beaglebone-cookbook/06iot/code/flask/ngrok.yml b/books/beaglebone-cookbook/06iot/code/flask/ngrok.yml
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/ngrok.yml
rename to books/beaglebone-cookbook/06iot/code/flask/ngrok.yml
diff --git a/beaglebone-cookbook/06iot/code/flask/setup.sh b/books/beaglebone-cookbook/06iot/code/flask/setup.sh
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/setup.sh
rename to books/beaglebone-cookbook/06iot/code/flask/setup.sh
diff --git a/beaglebone-cookbook/06iot/code/flask/static/favicon.ico b/books/beaglebone-cookbook/06iot/code/flask/static/favicon.ico
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/static/favicon.ico
rename to books/beaglebone-cookbook/06iot/code/flask/static/favicon.ico
diff --git a/beaglebone-cookbook/06iot/code/flask/static/style.css b/books/beaglebone-cookbook/06iot/code/flask/static/style.css
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/static/style.css
rename to books/beaglebone-cookbook/06iot/code/flask/static/style.css
diff --git a/beaglebone-cookbook/06iot/code/flask/templates/index1.html b/books/beaglebone-cookbook/06iot/code/flask/templates/index1.html
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/templates/index1.html
rename to books/beaglebone-cookbook/06iot/code/flask/templates/index1.html
diff --git a/beaglebone-cookbook/06iot/code/flask/templates/index2.html b/books/beaglebone-cookbook/06iot/code/flask/templates/index2.html
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/templates/index2.html
rename to books/beaglebone-cookbook/06iot/code/flask/templates/index2.html
diff --git a/beaglebone-cookbook/06iot/code/flask/templates/index3.html b/books/beaglebone-cookbook/06iot/code/flask/templates/index3.html
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/templates/index3.html
rename to books/beaglebone-cookbook/06iot/code/flask/templates/index3.html
diff --git a/beaglebone-cookbook/06iot/code/flask/templates/index4.html b/books/beaglebone-cookbook/06iot/code/flask/templates/index4.html
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/templates/index4.html
rename to books/beaglebone-cookbook/06iot/code/flask/templates/index4.html
diff --git a/beaglebone-cookbook/06iot/code/flask/templates/index5.html b/books/beaglebone-cookbook/06iot/code/flask/templates/index5.html
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flask/templates/index5.html
rename to books/beaglebone-cookbook/06iot/code/flask/templates/index5.html
diff --git a/beaglebone-cookbook/06iot/code/flotDemo.html b/books/beaglebone-cookbook/06iot/code/flotDemo.html
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flotDemo.html
rename to books/beaglebone-cookbook/06iot/code/flotDemo.html
diff --git a/beaglebone-cookbook/06iot/code/flotDemo.js b/books/beaglebone-cookbook/06iot/code/flotDemo.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/flotDemo.js
rename to books/beaglebone-cookbook/06iot/code/flotDemo.js
diff --git a/beaglebone-cookbook/06iot/code/jQueryDemo.js b/books/beaglebone-cookbook/06iot/code/jQueryDemo.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/jQueryDemo.js
rename to books/beaglebone-cookbook/06iot/code/jQueryDemo.js
diff --git a/beaglebone-cookbook/06iot/code/jQueryInstall.sh b/books/beaglebone-cookbook/06iot/code/jQueryInstall.sh
similarity index 100%
rename from beaglebone-cookbook/06iot/code/jQueryInstall.sh
rename to books/beaglebone-cookbook/06iot/code/jQueryInstall.sh
diff --git a/beaglebone-cookbook/06iot/code/launchPad.js b/books/beaglebone-cookbook/06iot/code/launchPad.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/launchPad.js
rename to books/beaglebone-cookbook/06iot/code/launchPad.js
diff --git a/beaglebone-cookbook/06iot/code/launchPad/launchPad.ino b/books/beaglebone-cookbook/06iot/code/launchPad/launchPad.ino
similarity index 100%
rename from beaglebone-cookbook/06iot/code/launchPad/launchPad.ino
rename to books/beaglebone-cookbook/06iot/code/launchPad/launchPad.ino
diff --git a/beaglebone-cookbook/06iot/code/nodemailer-install.sh b/books/beaglebone-cookbook/06iot/code/nodemailer-install.sh
similarity index 100%
rename from beaglebone-cookbook/06iot/code/nodemailer-install.sh
rename to books/beaglebone-cookbook/06iot/code/nodemailer-install.sh
diff --git a/beaglebone-cookbook/06iot/code/nodemailer-test.js b/books/beaglebone-cookbook/06iot/code/nodemailer-test.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/nodemailer-test.js
rename to books/beaglebone-cookbook/06iot/code/nodemailer-test.js
diff --git a/beaglebone-cookbook/06iot/code/noderedExample.json b/books/beaglebone-cookbook/06iot/code/noderedExample.json
similarity index 100%
rename from beaglebone-cookbook/06iot/code/noderedExample.json
rename to books/beaglebone-cookbook/06iot/code/noderedExample.json
diff --git a/beaglebone-cookbook/06iot/code/processingDemo.js b/books/beaglebone-cookbook/06iot/code/processingDemo.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/processingDemo.js
rename to books/beaglebone-cookbook/06iot/code/processingDemo.js
diff --git a/beaglebone-cookbook/06iot/code/server.js b/books/beaglebone-cookbook/06iot/code/server.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/server.js
rename to books/beaglebone-cookbook/06iot/code/server.js
diff --git a/beaglebone-cookbook/06iot/code/test.html b/books/beaglebone-cookbook/06iot/code/test.html
similarity index 100%
rename from beaglebone-cookbook/06iot/code/test.html
rename to books/beaglebone-cookbook/06iot/code/test.html
diff --git a/beaglebone-cookbook/06iot/code/twilio-test.js b/books/beaglebone-cookbook/06iot/code/twilio-test.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twilio-test.js
rename to books/beaglebone-cookbook/06iot/code/twilio-test.js
diff --git a/beaglebone-cookbook/06iot/code/twilioSetup.sh b/books/beaglebone-cookbook/06iot/code/twilioSetup.sh
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twilioSetup.sh
rename to books/beaglebone-cookbook/06iot/code/twilioSetup.sh
diff --git a/beaglebone-cookbook/06iot/code/twilioTest.py b/books/beaglebone-cookbook/06iot/code/twilioTest.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twilioTest.py
rename to books/beaglebone-cookbook/06iot/code/twilioTest.py
diff --git a/beaglebone-cookbook/06iot/code/twitterInstall.sh b/books/beaglebone-cookbook/06iot/code/twitterInstall.sh
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitterInstall.sh
rename to books/beaglebone-cookbook/06iot/code/twitterInstall.sh
diff --git a/beaglebone-cookbook/06iot/code/twitterKeys.sh b/books/beaglebone-cookbook/06iot/code/twitterKeys.sh
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitterKeys.sh
rename to books/beaglebone-cookbook/06iot/code/twitterKeys.sh
diff --git a/beaglebone-cookbook/06iot/code/twitterPushbutton.js b/books/beaglebone-cookbook/06iot/code/twitterPushbutton.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitterPushbutton.js
rename to books/beaglebone-cookbook/06iot/code/twitterPushbutton.js
diff --git a/beaglebone-cookbook/06iot/code/twitterSearch.js b/books/beaglebone-cookbook/06iot/code/twitterSearch.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitterSearch.js
rename to books/beaglebone-cookbook/06iot/code/twitterSearch.js
diff --git a/beaglebone-cookbook/06iot/code/twitterStream.js b/books/beaglebone-cookbook/06iot/code/twitterStream.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitterStream.js
rename to books/beaglebone-cookbook/06iot/code/twitterStream.js
diff --git a/beaglebone-cookbook/06iot/code/twitterTimeLine.js b/books/beaglebone-cookbook/06iot/code/twitterTimeLine.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitterTimeLine.js
rename to books/beaglebone-cookbook/06iot/code/twitterTimeLine.js
diff --git a/beaglebone-cookbook/06iot/code/twitterUpload.js b/books/beaglebone-cookbook/06iot/code/twitterUpload.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitterUpload.js
rename to books/beaglebone-cookbook/06iot/code/twitterUpload.js
diff --git a/beaglebone-cookbook/06iot/code/twitter_create_tweet.py b/books/beaglebone-cookbook/06iot/code/twitter_create_tweet.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitter_create_tweet.py
rename to books/beaglebone-cookbook/06iot/code/twitter_create_tweet.py
diff --git a/beaglebone-cookbook/06iot/code/twitter_delete_tweet.py b/books/beaglebone-cookbook/06iot/code/twitter_delete_tweet.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitter_delete_tweet.py
rename to books/beaglebone-cookbook/06iot/code/twitter_delete_tweet.py
diff --git a/beaglebone-cookbook/06iot/code/twitter_recent_search.py b/books/beaglebone-cookbook/06iot/code/twitter_recent_search.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitter_recent_search.py
rename to books/beaglebone-cookbook/06iot/code/twitter_recent_search.py
diff --git a/beaglebone-cookbook/06iot/code/twitter_user_tweets.py b/books/beaglebone-cookbook/06iot/code/twitter_user_tweets.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/twitter_user_tweets.py
rename to books/beaglebone-cookbook/06iot/code/twitter_user_tweets.py
diff --git a/beaglebone-cookbook/06iot/code/weather.py b/books/beaglebone-cookbook/06iot/code/weather.py
similarity index 100%
rename from beaglebone-cookbook/06iot/code/weather.py
rename to books/beaglebone-cookbook/06iot/code/weather.py
diff --git a/beaglebone-cookbook/06iot/code/weatherSetup.sh b/books/beaglebone-cookbook/06iot/code/weatherSetup.sh
similarity index 100%
rename from beaglebone-cookbook/06iot/code/weatherSetup.sh
rename to books/beaglebone-cookbook/06iot/code/weatherSetup.sh
diff --git a/beaglebone-cookbook/06iot/code/xbee.js b/books/beaglebone-cookbook/06iot/code/xbee.js
similarity index 100%
rename from beaglebone-cookbook/06iot/code/xbee.js
rename to books/beaglebone-cookbook/06iot/code/xbee.js
diff --git a/beaglebone-cookbook/06iot/figures/GPIOWebPage.png b/books/beaglebone-cookbook/06iot/figures/GPIOWebPage.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/GPIOWebPage.png
rename to books/beaglebone-cookbook/06iot/figures/GPIOWebPage.png
diff --git a/beaglebone-cookbook/06iot/figures/Sine1k.png b/books/beaglebone-cookbook/06iot/figures/Sine1k.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/Sine1k.png
rename to books/beaglebone-cookbook/06iot/figures/Sine1k.png
diff --git a/beaglebone-cookbook/06iot/figures/Tri10k.png b/books/beaglebone-cookbook/06iot/figures/Tri10k.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/Tri10k.png
rename to books/beaglebone-cookbook/06iot/figures/Tri10k.png
diff --git a/beaglebone-cookbook/06iot/figures/apacheIndex.png b/books/beaglebone-cookbook/06iot/figures/apacheIndex.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/apacheIndex.png
rename to books/beaglebone-cookbook/06iot/figures/apacheIndex.png
diff --git a/beaglebone-cookbook/06iot/figures/apacheNoFiles.png b/books/beaglebone-cookbook/06iot/figures/apacheNoFiles.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/apacheNoFiles.png
rename to books/beaglebone-cookbook/06iot/figures/apacheNoFiles.png
diff --git a/beaglebone-cookbook/06iot/figures/apacheTest.png b/books/beaglebone-cookbook/06iot/figures/apacheTest.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/apacheTest.png
rename to books/beaglebone-cookbook/06iot/figures/apacheTest.png
diff --git a/beaglebone-cookbook/06iot/figures/bone-usr3-led.png b/books/beaglebone-cookbook/06iot/figures/bone-usr3-led.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/bone-usr3-led.png
rename to books/beaglebone-cookbook/06iot/figures/bone-usr3-led.png
diff --git a/beaglebone-cookbook/06iot/figures/cape-headers-serial.png b/books/beaglebone-cookbook/06iot/figures/cape-headers-serial.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/cape-headers-serial.png
rename to books/beaglebone-cookbook/06iot/figures/cape-headers-serial.png
diff --git a/beaglebone-cookbook/06iot/figures/flaskServer.png b/books/beaglebone-cookbook/06iot/figures/flaskServer.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/flaskServer.png
rename to books/beaglebone-cookbook/06iot/figures/flaskServer.png
diff --git a/beaglebone-cookbook/06iot/figures/flaskapp1.png b/books/beaglebone-cookbook/06iot/figures/flaskapp1.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/flaskapp1.png
rename to books/beaglebone-cookbook/06iot/figures/flaskapp1.png
diff --git a/beaglebone-cookbook/06iot/figures/flaskapp2.png b/books/beaglebone-cookbook/06iot/figures/flaskapp2.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/flaskapp2.png
rename to books/beaglebone-cookbook/06iot/figures/flaskapp2.png
diff --git a/beaglebone-cookbook/06iot/figures/flaskapp3.png b/books/beaglebone-cookbook/06iot/figures/flaskapp3.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/flaskapp3.png
rename to books/beaglebone-cookbook/06iot/figures/flaskapp3.png
diff --git a/beaglebone-cookbook/06iot/figures/flotDemo.png b/books/beaglebone-cookbook/06iot/figures/flotDemo.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/flotDemo.png
rename to books/beaglebone-cookbook/06iot/figures/flotDemo.png
diff --git a/beaglebone-cookbook/06iot/figures/jQueryDemo.html b/books/beaglebone-cookbook/06iot/figures/jQueryDemo.html
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/jQueryDemo.html
rename to books/beaglebone-cookbook/06iot/figures/jQueryDemo.html
diff --git a/beaglebone-cookbook/06iot/figures/jQueryFiddle.png b/books/beaglebone-cookbook/06iot/figures/jQueryFiddle.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/jQueryFiddle.png
rename to books/beaglebone-cookbook/06iot/figures/jQueryFiddle.png
diff --git a/beaglebone-cookbook/06iot/figures/jsfiddleFrameworks.png b/books/beaglebone-cookbook/06iot/figures/jsfiddleFrameworks.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/jsfiddleFrameworks.png
rename to books/beaglebone-cookbook/06iot/figures/jsfiddleFrameworks.png
diff --git a/beaglebone-cookbook/06iot/figures/launchPad.fzz b/books/beaglebone-cookbook/06iot/figures/launchPad.fzz
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/launchPad.fzz
rename to books/beaglebone-cookbook/06iot/figures/launchPad.fzz
diff --git a/beaglebone-cookbook/06iot/figures/launchPad_bb.png b/books/beaglebone-cookbook/06iot/figures/launchPad_bb.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/launchPad_bb.png
rename to books/beaglebone-cookbook/06iot/figures/launchPad_bb.png
diff --git a/beaglebone-cookbook/06iot/figures/nginxTest.png b/books/beaglebone-cookbook/06iot/figures/nginxTest.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/nginxTest.png
rename to books/beaglebone-cookbook/06iot/figures/nginxTest.png
diff --git a/beaglebone-cookbook/06iot/figures/node-disc-out-setup.png b/books/beaglebone-cookbook/06iot/figures/node-disc-out-setup.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/node-disc-out-setup.png
rename to books/beaglebone-cookbook/06iot/figures/node-disc-out-setup.png
diff --git a/beaglebone-cookbook/06iot/figures/node-disc-out.png b/books/beaglebone-cookbook/06iot/figures/node-disc-out.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/node-disc-out.png
rename to books/beaglebone-cookbook/06iot/figures/node-disc-out.png
diff --git a/beaglebone-cookbook/06iot/figures/node-red.png b/books/beaglebone-cookbook/06iot/figures/node-red.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/node-red.png
rename to books/beaglebone-cookbook/06iot/figures/node-red.png
diff --git a/beaglebone-cookbook/06iot/figures/node-twitter-auth.png b/books/beaglebone-cookbook/06iot/figures/node-twitter-auth.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/node-twitter-auth.png
rename to books/beaglebone-cookbook/06iot/figures/node-twitter-auth.png
diff --git a/beaglebone-cookbook/06iot/figures/node-twitter-auth2.png b/books/beaglebone-cookbook/06iot/figures/node-twitter-auth2.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/node-twitter-auth2.png
rename to books/beaglebone-cookbook/06iot/figures/node-twitter-auth2.png
diff --git a/beaglebone-cookbook/06iot/figures/node-twitter-auth3.png b/books/beaglebone-cookbook/06iot/figures/node-twitter-auth3.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/node-twitter-auth3.png
rename to books/beaglebone-cookbook/06iot/figures/node-twitter-auth3.png
diff --git a/beaglebone-cookbook/06iot/figures/node-twitter-beagle.png b/books/beaglebone-cookbook/06iot/figures/node-twitter-beagle.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/node-twitter-beagle.png
rename to books/beaglebone-cookbook/06iot/figures/node-twitter-beagle.png
diff --git a/beaglebone-cookbook/06iot/figures/node-twitter-debug.png b/books/beaglebone-cookbook/06iot/figures/node-twitter-debug.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/node-twitter-debug.png
rename to books/beaglebone-cookbook/06iot/figures/node-twitter-debug.png
diff --git a/beaglebone-cookbook/06iot/figures/node-twitter.png b/books/beaglebone-cookbook/06iot/figures/node-twitter.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/node-twitter.png
rename to books/beaglebone-cookbook/06iot/figures/node-twitter.png
diff --git a/beaglebone-cookbook/06iot/figures/nodeServer.png b/books/beaglebone-cookbook/06iot/figures/nodeServer.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/nodeServer.png
rename to books/beaglebone-cookbook/06iot/figures/nodeServer.png
diff --git a/beaglebone-cookbook/06iot/figures/nodeTest.png b/books/beaglebone-cookbook/06iot/figures/nodeTest.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/nodeTest.png
rename to books/beaglebone-cookbook/06iot/figures/nodeTest.png
diff --git a/beaglebone-cookbook/06iot/figures/processingDemo.html b/books/beaglebone-cookbook/06iot/figures/processingDemo.html
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/processingDemo.html
rename to books/beaglebone-cookbook/06iot/figures/processingDemo.html
diff --git a/beaglebone-cookbook/06iot/figures/xbee.fzz b/books/beaglebone-cookbook/06iot/figures/xbee.fzz
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/xbee.fzz
rename to books/beaglebone-cookbook/06iot/figures/xbee.fzz
diff --git a/beaglebone-cookbook/06iot/figures/xbee_bb.png b/books/beaglebone-cookbook/06iot/figures/xbee_bb.png
similarity index 100%
rename from beaglebone-cookbook/06iot/figures/xbee_bb.png
rename to books/beaglebone-cookbook/06iot/figures/xbee_bb.png
diff --git a/beaglebone-cookbook/06iot/iot.rst b/books/beaglebone-cookbook/06iot/iot.rst
similarity index 100%
rename from beaglebone-cookbook/06iot/iot.rst
rename to books/beaglebone-cookbook/06iot/iot.rst
diff --git a/beaglebone-cookbook/07kernel/code/Makefile b/books/beaglebone-cookbook/07kernel/code/Makefile
similarity index 100%
rename from beaglebone-cookbook/07kernel/code/Makefile
rename to books/beaglebone-cookbook/07kernel/code/Makefile
diff --git a/beaglebone-cookbook/07kernel/code/Makefile.display b/books/beaglebone-cookbook/07kernel/code/Makefile.display
similarity index 100%
rename from beaglebone-cookbook/07kernel/code/Makefile.display
rename to books/beaglebone-cookbook/07kernel/code/Makefile.display
diff --git a/beaglebone-cookbook/07kernel/code/hello.c b/books/beaglebone-cookbook/07kernel/code/hello.c
similarity index 100%
rename from beaglebone-cookbook/07kernel/code/hello.c
rename to books/beaglebone-cookbook/07kernel/code/hello.c
diff --git a/beaglebone-cookbook/07kernel/code/hello.patch b/books/beaglebone-cookbook/07kernel/code/hello.patch
similarity index 100%
rename from beaglebone-cookbook/07kernel/code/hello.patch
rename to books/beaglebone-cookbook/07kernel/code/hello.patch
diff --git a/beaglebone-cookbook/07kernel/code/helloWorld.c b/books/beaglebone-cookbook/07kernel/code/helloWorld.c
similarity index 100%
rename from beaglebone-cookbook/07kernel/code/helloWorld.c
rename to books/beaglebone-cookbook/07kernel/code/helloWorld.c
diff --git a/beaglebone-cookbook/07kernel/figures/KernelConfig3.16.png b/books/beaglebone-cookbook/07kernel/figures/KernelConfig3.16.png
similarity index 100%
rename from beaglebone-cookbook/07kernel/figures/KernelConfig3.16.png
rename to books/beaglebone-cookbook/07kernel/figures/KernelConfig3.16.png
diff --git a/beaglebone-cookbook/07kernel/figures/cape-headers-digitalGPIO7.png b/books/beaglebone-cookbook/07kernel/figures/cape-headers-digitalGPIO7.png
similarity index 100%
rename from beaglebone-cookbook/07kernel/figures/cape-headers-digitalGPIO7.png
rename to books/beaglebone-cookbook/07kernel/figures/cape-headers-digitalGPIO7.png
diff --git a/beaglebone-cookbook/07kernel/kernel.rst b/books/beaglebone-cookbook/07kernel/kernel.rst
similarity index 100%
rename from beaglebone-cookbook/07kernel/kernel.rst
rename to books/beaglebone-cookbook/07kernel/kernel.rst
diff --git a/beaglebone-cookbook/08realtime/code/pushLED.c b/books/beaglebone-cookbook/08realtime/code/pushLED.c
similarity index 100%
rename from beaglebone-cookbook/08realtime/code/pushLED.c
rename to books/beaglebone-cookbook/08realtime/code/pushLED.c
diff --git a/beaglebone-cookbook/08realtime/code/pushLED.js b/books/beaglebone-cookbook/08realtime/code/pushLED.js
similarity index 100%
rename from beaglebone-cookbook/08realtime/code/pushLED.js
rename to books/beaglebone-cookbook/08realtime/code/pushLED.js
diff --git a/beaglebone-cookbook/08realtime/code/pushLED.py b/books/beaglebone-cookbook/08realtime/code/pushLED.py
similarity index 100%
rename from beaglebone-cookbook/08realtime/code/pushLED.py
rename to books/beaglebone-cookbook/08realtime/code/pushLED.py
diff --git a/beaglebone-cookbook/08realtime/code/pushLEDmmap.c b/books/beaglebone-cookbook/08realtime/code/pushLEDmmap.c
similarity index 100%
rename from beaglebone-cookbook/08realtime/code/pushLEDmmap.c
rename to books/beaglebone-cookbook/08realtime/code/pushLEDmmap.c
diff --git a/beaglebone-cookbook/08realtime/code/pushLEDmmap.h b/books/beaglebone-cookbook/08realtime/code/pushLEDmmap.h
similarity index 100%
rename from beaglebone-cookbook/08realtime/code/pushLEDmmap.h
rename to books/beaglebone-cookbook/08realtime/code/pushLEDmmap.h
diff --git a/beaglebone-cookbook/08realtime/code/rt/cyclictest.png b/books/beaglebone-cookbook/08realtime/code/rt/cyclictest.png
similarity index 100%
rename from beaglebone-cookbook/08realtime/code/rt/cyclictest.png
rename to books/beaglebone-cookbook/08realtime/code/rt/cyclictest.png
diff --git a/beaglebone-cookbook/08realtime/code/rt/hist.gen b/books/beaglebone-cookbook/08realtime/code/rt/hist.gen
similarity index 100%
rename from beaglebone-cookbook/08realtime/code/rt/hist.gen
rename to books/beaglebone-cookbook/08realtime/code/rt/hist.gen
diff --git a/beaglebone-cookbook/08realtime/code/rt/hist.plt b/books/beaglebone-cookbook/08realtime/code/rt/hist.plt
similarity index 100%
rename from beaglebone-cookbook/08realtime/code/rt/hist.plt
rename to books/beaglebone-cookbook/08realtime/code/rt/hist.plt
diff --git a/beaglebone-cookbook/08realtime/code/rt/install.sh b/books/beaglebone-cookbook/08realtime/code/rt/install.sh
similarity index 100%
rename from beaglebone-cookbook/08realtime/code/rt/install.sh
rename to books/beaglebone-cookbook/08realtime/code/rt/install.sh
diff --git a/beaglebone-cookbook/08realtime/code/rt/setup.sh b/books/beaglebone-cookbook/08realtime/code/rt/setup.sh
similarity index 100%
rename from beaglebone-cookbook/08realtime/code/rt/setup.sh
rename to books/beaglebone-cookbook/08realtime/code/rt/setup.sh
diff --git a/beaglebone-cookbook/08realtime/figures/kernel_update.png b/books/beaglebone-cookbook/08realtime/figures/kernel_update.png
similarity index 100%
rename from beaglebone-cookbook/08realtime/figures/kernel_update.png
rename to books/beaglebone-cookbook/08realtime/figures/kernel_update.png
diff --git a/beaglebone-cookbook/08realtime/figures/pushLED.fzz b/books/beaglebone-cookbook/08realtime/figures/pushLED.fzz
similarity index 100%
rename from beaglebone-cookbook/08realtime/figures/pushLED.fzz
rename to books/beaglebone-cookbook/08realtime/figures/pushLED.fzz
diff --git a/beaglebone-cookbook/08realtime/figures/pushLED_bb.png b/books/beaglebone-cookbook/08realtime/figures/pushLED_bb.png
similarity index 100%
rename from beaglebone-cookbook/08realtime/figures/pushLED_bb.png
rename to books/beaglebone-cookbook/08realtime/figures/pushLED_bb.png
diff --git a/beaglebone-cookbook/08realtime/figures/pushLEDmmap.fzz b/books/beaglebone-cookbook/08realtime/figures/pushLEDmmap.fzz
similarity index 100%
rename from beaglebone-cookbook/08realtime/figures/pushLEDmmap.fzz
rename to books/beaglebone-cookbook/08realtime/figures/pushLEDmmap.fzz
diff --git a/beaglebone-cookbook/08realtime/figures/pushLEDmmap_bb.png b/books/beaglebone-cookbook/08realtime/figures/pushLEDmmap_bb.png
similarity index 100%
rename from beaglebone-cookbook/08realtime/figures/pushLEDmmap_bb.png
rename to books/beaglebone-cookbook/08realtime/figures/pushLEDmmap_bb.png
diff --git a/beaglebone-cookbook/08realtime/figures/pushLEDpru.fzz b/books/beaglebone-cookbook/08realtime/figures/pushLEDpru.fzz
similarity index 100%
rename from beaglebone-cookbook/08realtime/figures/pushLEDpru.fzz
rename to books/beaglebone-cookbook/08realtime/figures/pushLEDpru.fzz
diff --git a/beaglebone-cookbook/08realtime/figures/pushLEDpru_bb.png b/books/beaglebone-cookbook/08realtime/figures/pushLEDpru_bb.png
similarity index 100%
rename from beaglebone-cookbook/08realtime/figures/pushLEDpru_bb.png
rename to books/beaglebone-cookbook/08realtime/figures/pushLEDpru_bb.png
diff --git a/beaglebone-cookbook/08realtime/old/pruSpeak.py b/books/beaglebone-cookbook/08realtime/old/pruSpeak.py
similarity index 100%
rename from beaglebone-cookbook/08realtime/old/pruSpeak.py
rename to books/beaglebone-cookbook/08realtime/old/pruSpeak.py
diff --git a/beaglebone-cookbook/08realtime/old/thumb.patch b/books/beaglebone-cookbook/08realtime/old/thumb.patch
similarity index 100%
rename from beaglebone-cookbook/08realtime/old/thumb.patch
rename to books/beaglebone-cookbook/08realtime/old/thumb.patch
diff --git a/beaglebone-cookbook/08realtime/old/xenomaiConfig.png b/books/beaglebone-cookbook/08realtime/old/xenomaiConfig.png
similarity index 100%
rename from beaglebone-cookbook/08realtime/old/xenomaiConfig.png
rename to books/beaglebone-cookbook/08realtime/old/xenomaiConfig.png
diff --git a/beaglebone-cookbook/08realtime/realtime.rst b/books/beaglebone-cookbook/08realtime/realtime.rst
similarity index 100%
rename from beaglebone-cookbook/08realtime/realtime.rst
rename to books/beaglebone-cookbook/08realtime/realtime.rst
diff --git a/beaglebone-cookbook/09capes/capes.rst b/books/beaglebone-cookbook/09capes/capes.rst
similarity index 100%
rename from beaglebone-cookbook/09capes/capes.rst
rename to books/beaglebone-cookbook/09capes/capes.rst
diff --git a/beaglebone-cookbook/09capes/code/quickBot_motor_test.js b/books/beaglebone-cookbook/09capes/code/quickBot_motor_test.js
similarity index 100%
rename from beaglebone-cookbook/09capes/code/quickBot_motor_test.js
rename to books/beaglebone-cookbook/09capes/code/quickBot_motor_test.js
diff --git a/beaglebone-cookbook/09capes/figures/BBB_GPS_Cape.fzz b/books/beaglebone-cookbook/09capes/figures/BBB_GPS_Cape.fzz
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/BBB_GPS_Cape.fzz
rename to books/beaglebone-cookbook/09capes/figures/BBB_GPS_Cape.fzz
diff --git a/beaglebone-cookbook/09capes/figures/BeagleBone_Black_Cape__7fab878f3c590bbf730a21__pcb__cc4cbffa099dd2076377e89426324f3b.svg b/books/beaglebone-cookbook/09capes/figures/BeagleBone_Black_Cape__7fab878f3c590bbf730a21__pcb__cc4cbffa099dd2076377e89426324f3b.svg
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/BeagleBone_Black_Cape__7fab878f3c590bbf730a21__pcb__cc4cbffa099dd2076377e89426324f3b.svg
rename to books/beaglebone-cookbook/09capes/figures/BeagleBone_Black_Cape__7fab878f3c590bbf730a21__pcb__cc4cbffa099dd2076377e89426324f3b.svg
diff --git a/beaglebone-cookbook/09capes/figures/Boris128.jpg b/books/beaglebone-cookbook/09capes/figures/Boris128.jpg
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Boris128.jpg
rename to books/beaglebone-cookbook/09capes/figures/Boris128.jpg
diff --git a/beaglebone-cookbook/09capes/figures/EagleLicense.png b/books/beaglebone-cookbook/09capes/figures/EagleLicense.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/EagleLicense.png
rename to books/beaglebone-cookbook/09capes/figures/EagleLicense.png
diff --git a/beaglebone-cookbook/09capes/figures/Fritzing_Inspector.png b/books/beaglebone-cookbook/09capes/figures/Fritzing_Inspector.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Fritzing_Inspector.png
rename to books/beaglebone-cookbook/09capes/figures/Fritzing_Inspector.png
diff --git a/beaglebone-cookbook/09capes/figures/Fritzing_layers.png b/books/beaglebone-cookbook/09capes/figures/Fritzing_layers.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Fritzing_layers.png
rename to books/beaglebone-cookbook/09capes/figures/Fritzing_layers.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz160.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz160.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz160.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz160.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz161.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz161.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz161.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz161.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz162.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz162.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz162.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz162.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz163.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz163.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz163.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz163.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz164.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz164.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz164.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz164.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz166.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz166.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz166.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz166.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz167.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz167.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz167.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz167.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz168.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz168.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz168.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz168.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz169.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz169.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz169.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz169.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz170.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz170.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz170.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz170.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz171.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz171.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz171.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz171.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz172.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz172.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz172.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz172.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz173.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz173.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz173.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz173.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz174.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz174.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz174.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz174.png
diff --git a/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz175.png b/books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz175.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz175.png
rename to books/beaglebone-cookbook/09capes/figures/Google ChromeScreenSnapz175.png
diff --git a/beaglebone-cookbook/09capes/figures/LCD b/books/beaglebone-cookbook/09capes/figures/LCD
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/LCD
rename to books/beaglebone-cookbook/09capes/figures/LCD
diff --git a/beaglebone-cookbook/09capes/figures/LCD.png b/books/beaglebone-cookbook/09capes/figures/LCD.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/LCD.png
rename to books/beaglebone-cookbook/09capes/figures/LCD.png
diff --git a/beaglebone-cookbook/09capes/figures/LCD7Desktop.png b/books/beaglebone-cookbook/09capes/figures/LCD7Desktop.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/LCD7Desktop.png
rename to books/beaglebone-cookbook/09capes/figures/LCD7Desktop.png
diff --git a/beaglebone-cookbook/09capes/figures/LCD7back.png b/books/beaglebone-cookbook/09capes/figures/LCD7back.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/LCD7back.png
rename to books/beaglebone-cookbook/09capes/figures/LCD7back.png
diff --git a/beaglebone-cookbook/09capes/figures/MiniDisplay-A1.jpg b/books/beaglebone-cookbook/09capes/figures/MiniDisplay-A1.jpg
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/MiniDisplay-A1.jpg
rename to books/beaglebone-cookbook/09capes/figures/MiniDisplay-A1.jpg
diff --git a/beaglebone-cookbook/09capes/figures/audioCape.png b/books/beaglebone-cookbook/09capes/figures/audioCape.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/audioCape.png
rename to books/beaglebone-cookbook/09capes/figures/audioCape.png
diff --git a/beaglebone-cookbook/09capes/figures/beaglebone_cape_boardoutline.png b/books/beaglebone-cookbook/09capes/figures/beaglebone_cape_boardoutline.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/beaglebone_cape_boardoutline.png
rename to books/beaglebone-cookbook/09capes/figures/beaglebone_cape_boardoutline.png
diff --git a/beaglebone-cookbook/09capes/figures/beaglebone_cape_boardoutline.svg b/books/beaglebone-cookbook/09capes/figures/beaglebone_cape_boardoutline.svg
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/beaglebone_cape_boardoutline.svg
rename to books/beaglebone-cookbook/09capes/figures/beaglebone_cape_boardoutline.svg
diff --git a/beaglebone-cookbook/09capes/figures/boneOutline.xml b/books/beaglebone-cookbook/09capes/figures/boneOutline.xml
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/boneOutline.xml
rename to books/beaglebone-cookbook/09capes/figures/boneOutline.xml
diff --git a/beaglebone-cookbook/09capes/figures/breadboard.png b/books/beaglebone-cookbook/09capes/figures/breadboard.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/breadboard.png
rename to books/beaglebone-cookbook/09capes/figures/breadboard.png
diff --git a/beaglebone-cookbook/09capes/figures/circuithub_part_matching.png b/books/beaglebone-cookbook/09capes/figures/circuithub_part_matching.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/circuithub_part_matching.png
rename to books/beaglebone-cookbook/09capes/figures/circuithub_part_matching.png
diff --git a/beaglebone-cookbook/09capes/figures/circuithub_quote.png b/books/beaglebone-cookbook/09capes/figures/circuithub_quote.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/circuithub_quote.png
rename to books/beaglebone-cookbook/09capes/figures/circuithub_quote.png
diff --git a/beaglebone-cookbook/09capes/figures/convert-fritzing-to-eagle.sh b/books/beaglebone-cookbook/09capes/figures/convert-fritzing-to-eagle.sh
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/convert-fritzing-to-eagle.sh
rename to books/beaglebone-cookbook/09capes/figures/convert-fritzing-to-eagle.sh
diff --git a/beaglebone-cookbook/09capes/figures/convert-fritzing-to-kicad.sh b/books/beaglebone-cookbook/09capes/figures/convert-fritzing-to-kicad.sh
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/convert-fritzing-to-kicad.sh
rename to books/beaglebone-cookbook/09capes/figures/convert-fritzing-to-kicad.sh
diff --git a/beaglebone-cookbook/09capes/figures/eagle3.png b/books/beaglebone-cookbook/09capes/figures/eagle3.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/eagle3.png
rename to books/beaglebone-cookbook/09capes/figures/eagle3.png
diff --git a/beaglebone-cookbook/09capes/figures/eagle7.png b/books/beaglebone-cookbook/09capes/figures/eagle7.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/eagle7.png
rename to books/beaglebone-cookbook/09capes/figures/eagle7.png
diff --git a/beaglebone-cookbook/09capes/figures/fritzing1.png b/books/beaglebone-cookbook/09capes/figures/fritzing1.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/fritzing1.png
rename to books/beaglebone-cookbook/09capes/figures/fritzing1.png
diff --git a/beaglebone-cookbook/09capes/figures/fritzing2.png b/books/beaglebone-cookbook/09capes/figures/fritzing2.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/fritzing2.png
rename to books/beaglebone-cookbook/09capes/figures/fritzing2.png
diff --git a/beaglebone-cookbook/09capes/figures/fritzing3.png b/books/beaglebone-cookbook/09capes/figures/fritzing3.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/fritzing3.png
rename to books/beaglebone-cookbook/09capes/figures/fritzing3.png
diff --git a/beaglebone-cookbook/09capes/figures/fritzing4.png b/books/beaglebone-cookbook/09capes/figures/fritzing4.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/fritzing4.png
rename to books/beaglebone-cookbook/09capes/figures/fritzing4.png
diff --git a/beaglebone-cookbook/09capes/figures/miniDisplay_Boris.png b/books/beaglebone-cookbook/09capes/figures/miniDisplay_Boris.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/miniDisplay_Boris.png
rename to books/beaglebone-cookbook/09capes/figures/miniDisplay_Boris.png
diff --git a/beaglebone-cookbook/09capes/figures/miniDisplay_Cape_pcb.png b/books/beaglebone-cookbook/09capes/figures/miniDisplay_Cape_pcb.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/miniDisplay_Cape_pcb.png
rename to books/beaglebone-cookbook/09capes/figures/miniDisplay_Cape_pcb.png
diff --git a/beaglebone-cookbook/09capes/figures/miniDisplay_Cape_schem.png b/books/beaglebone-cookbook/09capes/figures/miniDisplay_Cape_schem.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/miniDisplay_Cape_schem.png
rename to books/beaglebone-cookbook/09capes/figures/miniDisplay_Cape_schem.png
diff --git a/beaglebone-cookbook/09capes/figures/quickBot-cache-cache.lib b/books/beaglebone-cookbook/09capes/figures/quickBot-cache-cache.lib
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot-cache-cache.lib
rename to books/beaglebone-cookbook/09capes/figures/quickBot-cache-cache.lib
diff --git a/beaglebone-cookbook/09capes/figures/quickBot-eagle.sch b/books/beaglebone-cookbook/09capes/figures/quickBot-eagle.sch
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot-eagle.sch
rename to books/beaglebone-cookbook/09capes/figures/quickBot-eagle.sch
diff --git a/beaglebone-cookbook/09capes/figures/quickBot-eaglexml.sch b/books/beaglebone-cookbook/09capes/figures/quickBot-eaglexml.sch
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot-eaglexml.sch
rename to books/beaglebone-cookbook/09capes/figures/quickBot-eaglexml.sch
diff --git a/beaglebone-cookbook/09capes/figures/quickBot-schematic.json b/books/beaglebone-cookbook/09capes/figures/quickBot-schematic.json
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot-schematic.json
rename to books/beaglebone-cookbook/09capes/figures/quickBot-schematic.json
diff --git a/beaglebone-cookbook/09capes/figures/quickBot-upverter.PNG b/books/beaglebone-cookbook/09capes/figures/quickBot-upverter.PNG
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot-upverter.PNG
rename to books/beaglebone-cookbook/09capes/figures/quickBot-upverter.PNG
diff --git a/beaglebone-cookbook/09capes/figures/quickBot.fzz b/books/beaglebone-cookbook/09capes/figures/quickBot.fzz
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot.fzz
rename to books/beaglebone-cookbook/09capes/figures/quickBot.fzz
diff --git a/beaglebone-cookbook/09capes/figures/quickBot.upv b/books/beaglebone-cookbook/09capes/figures/quickBot.upv
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot.upv
rename to books/beaglebone-cookbook/09capes/figures/quickBot.upv
diff --git a/beaglebone-cookbook/09capes/figures/quickBot5IR.fzz b/books/beaglebone-cookbook/09capes/figures/quickBot5IR.fzz
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot5IR.fzz
rename to books/beaglebone-cookbook/09capes/figures/quickBot5IR.fzz
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_bb.png b/books/beaglebone-cookbook/09capes/figures/quickBot_bb.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_bb.png
rename to books/beaglebone-cookbook/09capes/figures/quickBot_bb.png
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_eaglexml.png b/books/beaglebone-cookbook/09capes/figures/quickBot_eaglexml.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_eaglexml.png
rename to books/beaglebone-cookbook/09capes/figures/quickBot_eaglexml.png
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_fritzing_export.png b/books/beaglebone-cookbook/09capes/figures/quickBot_fritzing_export.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_fritzing_export.png
rename to books/beaglebone-cookbook/09capes/figures/quickBot_fritzing_export.png
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers.zip b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers.zip
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers.zip
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers.zip
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_contour.gm1 b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_contour.gm1
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_contour.gm1
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_contour.gm1
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_copperBottom.gbl b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_copperBottom.gbl
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_copperBottom.gbl
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_copperBottom.gbl
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_copperTop.gtl b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_copperTop.gtl
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_copperTop.gtl
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_copperTop.gtl
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_drill.txt b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_drill.txt
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_drill.txt
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_drill.txt
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_bottom.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_bottom.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_bottom.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_bottom.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_bottom_mirror.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_bottom_mirror.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_bottom_mirror.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_bottom_mirror.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_top.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_top.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_top.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_top.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_top_mirror.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_top_mirror.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_top_mirror.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_copper_top_mirror.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_bottom.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_bottom.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_bottom.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_bottom.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_bottom_mirror.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_bottom_mirror.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_bottom_mirror.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_bottom_mirror.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_top.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_top.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_top.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_top.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_top_mirror.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_top_mirror.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_top_mirror.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_mask_top_mirror.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_bottom.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_bottom.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_bottom.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_bottom.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_bottom_mirror.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_bottom_mirror.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_bottom_mirror.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_bottom_mirror.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_top.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_top.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_top.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_top.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_top_mirror.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_top_mirror.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_top_mirror.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_paste_mask_top_mirror.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_bottom.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_bottom.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_bottom.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_bottom.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_bottom_mirror.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_bottom_mirror.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_bottom_mirror.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_bottom_mirror.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_top.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_top.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_top.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_top.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_top_mirror.pdf b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_top_mirror.pdf
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_top_mirror.pdf
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_etch_silk_top_mirror.pdf
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_maskBottom.gbs b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_maskBottom.gbs
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_maskBottom.gbs
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_maskBottom.gbs
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_maskTop.gts b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_maskTop.gts
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_maskTop.gts
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_maskTop.gts
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_pnp.txt b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_pnp.txt
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_pnp.txt
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_pnp.txt
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_silkBottom.gbo b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_silkBottom.gbo
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_silkBottom.gbo
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_silkBottom.gbo
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_silkTop.gto b/books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_silkTop.gto
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_silkTop.gto
rename to books/beaglebone-cookbook/09capes/figures/quickBot_gerbers/quickBot_silkTop.gto
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_kicad.sch b/books/beaglebone-cookbook/09capes/figures/quickBot_kicad.sch
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_kicad.sch
rename to books/beaglebone-cookbook/09capes/figures/quickBot_kicad.sch
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_motor_kickback.JPG b/books/beaglebone-cookbook/09capes/figures/quickBot_motor_kickback.JPG
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_motor_kickback.JPG
rename to books/beaglebone-cookbook/09capes/figures/quickBot_motor_kickback.JPG
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_motor_test_cloud9.png b/books/beaglebone-cookbook/09capes/figures/quickBot_motor_test_cloud9.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_motor_test_cloud9.png
rename to books/beaglebone-cookbook/09capes/figures/quickBot_motor_test_cloud9.png
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_motor_test_scope.JPG b/books/beaglebone-cookbook/09capes/figures/quickBot_motor_test_scope.JPG
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_motor_test_scope.JPG
rename to books/beaglebone-cookbook/09capes/figures/quickBot_motor_test_scope.JPG
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_motors.jpg b/books/beaglebone-cookbook/09capes/figures/quickBot_motors.jpg
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_motors.jpg
rename to books/beaglebone-cookbook/09capes/figures/quickBot_motors.jpg
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_on_OSHPark.png b/books/beaglebone-cookbook/09capes/figures/quickBot_on_OSHPark.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_on_OSHPark.png
rename to books/beaglebone-cookbook/09capes/figures/quickBot_on_OSHPark.png
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_oshpark_share.png b/books/beaglebone-cookbook/09capes/figures/quickBot_oshpark_share.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_oshpark_share.png
rename to books/beaglebone-cookbook/09capes/figures/quickBot_oshpark_share.png
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_pcb.JPG b/books/beaglebone-cookbook/09capes/figures/quickBot_pcb.JPG
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_pcb.JPG
rename to books/beaglebone-cookbook/09capes/figures/quickBot_pcb.JPG
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_pcb.png b/books/beaglebone-cookbook/09capes/figures/quickBot_pcb.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_pcb.png
rename to books/beaglebone-cookbook/09capes/figures/quickBot_pcb.png
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_play.fzz b/books/beaglebone-cookbook/09capes/figures/quickBot_play.fzz
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_play.fzz
rename to books/beaglebone-cookbook/09capes/figures/quickBot_play.fzz
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_schem.png b/books/beaglebone-cookbook/09capes/figures/quickBot_schem.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_schem.png
rename to books/beaglebone-cookbook/09capes/figures/quickBot_schem.png
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_schemRaw.png b/books/beaglebone-cookbook/09capes/figures/quickBot_schemRaw.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_schemRaw.png
rename to books/beaglebone-cookbook/09capes/figures/quickBot_schemRaw.png
diff --git a/beaglebone-cookbook/09capes/figures/quickBot_schemZoom.png b/books/beaglebone-cookbook/09capes/figures/quickBot_schemZoom.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/quickBot_schemZoom.png
rename to books/beaglebone-cookbook/09capes/figures/quickBot_schemZoom.png
diff --git a/beaglebone-cookbook/09capes/figures/roboCape.fzz b/books/beaglebone-cookbook/09capes/figures/roboCape.fzz
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/roboCape.fzz
rename to books/beaglebone-cookbook/09capes/figures/roboCape.fzz
diff --git a/beaglebone-cookbook/09capes/figures/srm_cape_dimensions.png b/books/beaglebone-cookbook/09capes/figures/srm_cape_dimensions.png
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/srm_cape_dimensions.png
rename to books/beaglebone-cookbook/09capes/figures/srm_cape_dimensions.png
diff --git a/beaglebone-cookbook/09capes/figures/stacking_headers.JPG b/books/beaglebone-cookbook/09capes/figures/stacking_headers.JPG
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/stacking_headers.JPG
rename to books/beaglebone-cookbook/09capes/figures/stacking_headers.JPG
diff --git a/beaglebone-cookbook/09capes/figures/urls.txt b/books/beaglebone-cookbook/09capes/figures/urls.txt
similarity index 100%
rename from beaglebone-cookbook/09capes/figures/urls.txt
rename to books/beaglebone-cookbook/09capes/figures/urls.txt
diff --git a/beaglebone-cookbook/10parts/parts.rst b/books/beaglebone-cookbook/10parts/parts.rst
similarity index 100%
rename from beaglebone-cookbook/10parts/parts.rst
rename to books/beaglebone-cookbook/10parts/parts.rst
diff --git a/beaglebone-cookbook/index.rst b/books/beaglebone-cookbook/index.rst
similarity index 100%
rename from beaglebone-cookbook/index.rst
rename to books/beaglebone-cookbook/index.rst
diff --git a/books/index.rst b/books/index.rst
new file mode 100644
index 00000000..b96c8dab
--- /dev/null
+++ b/books/index.rst
@@ -0,0 +1,22 @@
+Books
+********
+
+This is a collection of open-source books written to help Beagle developers.
+
+`BeagleBone Cookbook <beaglebone-cookbook>`__ is a great introduction to programming
+a BeagleBone using Linux from userspace, mostly using Python or JavaScript.
+
+`PRU Cookbook <pru-cookbook>`__ provides numerous examples on using the incredible
+ultra-low-latency microcontrollers inside the processors used on BeagleBone boards
+that are a big part of what has made BeagleBone such a popular platform.
+
+Links to additional books available for purchase can be found on the
+`Beagle books page <https://beagleboard.org/books>`__.
+
+.. toctree::
+   :maxdepth: 1
+   :caption: Books
+
+   beaglebone-cookbook/index.rst
+   pru-cookbook/index.rst
+
diff --git a/pru-cookbook/01case/case.rst b/books/pru-cookbook/01case/case.rst
similarity index 100%
rename from pru-cookbook/01case/case.rst
rename to books/pru-cookbook/01case/case.rst
diff --git a/pru-cookbook/01case/code/blink.sim b/books/pru-cookbook/01case/code/blink.sim
similarity index 100%
rename from pru-cookbook/01case/code/blink.sim
rename to books/pru-cookbook/01case/code/blink.sim
diff --git a/pru-cookbook/01case/code/circle.py b/books/pru-cookbook/01case/code/circle.py
similarity index 100%
rename from pru-cookbook/01case/code/circle.py
rename to books/pru-cookbook/01case/code/circle.py
diff --git a/pru-cookbook/01case/code/e1.31-test.py b/books/pru-cookbook/01case/code/e1.31-test.py
similarity index 100%
rename from pru-cookbook/01case/code/e1.31-test.py
rename to books/pru-cookbook/01case/code/e1.31-test.py
diff --git a/pru-cookbook/01case/code/encoder_setup.sh b/books/pru-cookbook/01case/code/encoder_setup.sh
similarity index 100%
rename from pru-cookbook/01case/code/encoder_setup.sh
rename to books/pru-cookbook/01case/code/encoder_setup.sh
diff --git a/pru-cookbook/01case/code/fire.fseq b/books/pru-cookbook/01case/code/fire.fseq
similarity index 100%
rename from pru-cookbook/01case/code/fire.fseq
rename to books/pru-cookbook/01case/code/fire.fseq
diff --git a/pru-cookbook/01case/code/logic_install.sh b/books/pru-cookbook/01case/code/logic_install.sh
similarity index 100%
rename from pru-cookbook/01case/code/logic_install.sh
rename to books/pru-cookbook/01case/code/logic_install.sh
diff --git a/pru-cookbook/01case/code/main_pru1.c b/books/pru-cookbook/01case/code/main_pru1.c
similarity index 100%
rename from pru-cookbook/01case/code/main_pru1.c
rename to books/pru-cookbook/01case/code/main_pru1.c
diff --git a/pru-cookbook/01case/code/my-config.json b/books/pru-cookbook/01case/code/my-config.json
similarity index 100%
rename from pru-cookbook/01case/code/my-config.json
rename to books/pru-cookbook/01case/code/my-config.json
diff --git a/pru-cookbook/01case/code/opc.py b/books/pru-cookbook/01case/code/opc.py
similarity index 100%
rename from pru-cookbook/01case/code/opc.py
rename to books/pru-cookbook/01case/code/opc.py
diff --git a/pru-cookbook/01case/code/pru1-servo.asm b/books/pru-cookbook/01case/code/pru1-servo.asm
similarity index 100%
rename from pru-cookbook/01case/code/pru1-servo.asm
rename to books/pru-cookbook/01case/code/pru1-servo.asm
diff --git a/pru-cookbook/01case/code/servo-test.c b/books/pru-cookbook/01case/code/servo-test.c
similarity index 100%
rename from pru-cookbook/01case/code/servo-test.c
rename to books/pru-cookbook/01case/code/servo-test.c
diff --git a/pru-cookbook/01case/code/servos_setup.sh b/books/pru-cookbook/01case/code/servos_setup.sh
similarity index 100%
rename from pru-cookbook/01case/code/servos_setup.sh
rename to books/pru-cookbook/01case/code/servos_setup.sh
diff --git a/pru-cookbook/01case/figures/LEDblink.png b/books/pru-cookbook/01case/figures/LEDblink.png
similarity index 100%
rename from pru-cookbook/01case/figures/LEDblink.png
rename to books/pru-cookbook/01case/figures/LEDblink.png
diff --git a/pru-cookbook/01case/figures/beaglelogic_capture.png b/books/pru-cookbook/01case/figures/beaglelogic_capture.png
similarity index 100%
rename from pru-cookbook/01case/figures/beaglelogic_capture.png
rename to books/pru-cookbook/01case/figures/beaglelogic_capture.png
diff --git a/pru-cookbook/01case/figures/blue.png b/books/pru-cookbook/01case/figures/blue.png
similarity index 100%
rename from pru-cookbook/01case/figures/blue.png
rename to books/pru-cookbook/01case/figures/blue.png
diff --git a/pru-cookbook/01case/figures/fpp_channel_inputs.png b/books/pru-cookbook/01case/figures/fpp_channel_inputs.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_channel_inputs.png
rename to books/pru-cookbook/01case/figures/fpp_channel_inputs.png
diff --git a/pru-cookbook/01case/figures/fpp_channel_outputs.png b/books/pru-cookbook/01case/figures/fpp_channel_outputs.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_channel_outputs.png
rename to books/pru-cookbook/01case/figures/fpp_channel_outputs.png
diff --git a/pru-cookbook/01case/figures/fpp_channel_outputs_menu.png b/books/pru-cookbook/01case/figures/fpp_channel_outputs_menu.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_channel_outputs_menu.png
rename to books/pru-cookbook/01case/figures/fpp_channel_outputs_menu.png
diff --git a/pru-cookbook/01case/figures/fpp_channel_outputs_strings.png b/books/pru-cookbook/01case/figures/fpp_channel_outputs_strings.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_channel_outputs_strings.png
rename to books/pru-cookbook/01case/figures/fpp_channel_outputs_strings.png
diff --git a/pru-cookbook/01case/figures/fpp_display_testing.png b/books/pru-cookbook/01case/figures/fpp_display_testing.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_display_testing.png
rename to books/pru-cookbook/01case/figures/fpp_display_testing.png
diff --git a/pru-cookbook/01case/figures/fpp_display_testing2.png b/books/pru-cookbook/01case/figures/fpp_display_testing2.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_display_testing2.png
rename to books/pru-cookbook/01case/figures/fpp_display_testing2.png
diff --git a/pru-cookbook/01case/figures/fpp_display_testing_menu.png b/books/pru-cookbook/01case/figures/fpp_display_testing_menu.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_display_testing_menu.png
rename to books/pru-cookbook/01case/figures/fpp_display_testing_menu.png
diff --git a/pru-cookbook/01case/figures/fpp_display_testing_menu2.png b/books/pru-cookbook/01case/figures/fpp_display_testing_menu2.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_display_testing_menu2.png
rename to books/pru-cookbook/01case/figures/fpp_display_testing_menu2.png
diff --git a/pru-cookbook/01case/figures/fpp_file_manager.png b/books/pru-cookbook/01case/figures/fpp_file_manager.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_file_manager.png
rename to books/pru-cookbook/01case/figures/fpp_file_manager.png
diff --git a/pru-cookbook/01case/figures/fpp_inputs_setup.png b/books/pru-cookbook/01case/figures/fpp_inputs_setup.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_inputs_setup.png
rename to books/pru-cookbook/01case/figures/fpp_inputs_setup.png
diff --git a/pru-cookbook/01case/figures/fpp_inputs_setup2.png b/books/pru-cookbook/01case/figures/fpp_inputs_setup2.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_inputs_setup2.png
rename to books/pru-cookbook/01case/figures/fpp_inputs_setup2.png
diff --git a/pru-cookbook/01case/figures/fpp_mode_bridge.png b/books/pru-cookbook/01case/figures/fpp_mode_bridge.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_mode_bridge.png
rename to books/pru-cookbook/01case/figures/fpp_mode_bridge.png
diff --git a/pru-cookbook/01case/figures/fpp_playlist.png b/books/pru-cookbook/01case/figures/fpp_playlist.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_playlist.png
rename to books/pru-cookbook/01case/figures/fpp_playlist.png
diff --git a/pru-cookbook/01case/figures/fpp_playlist_status.png b/books/pru-cookbook/01case/figures/fpp_playlist_status.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_playlist_status.png
rename to books/pru-cookbook/01case/figures/fpp_playlist_status.png
diff --git a/pru-cookbook/01case/figures/fpp_program_control.png b/books/pru-cookbook/01case/figures/fpp_program_control.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_program_control.png
rename to books/pru-cookbook/01case/figures/fpp_program_control.png
diff --git a/pru-cookbook/01case/figures/fpp_status.png b/books/pru-cookbook/01case/figures/fpp_status.png
similarity index 100%
rename from pru-cookbook/01case/figures/fpp_status.png
rename to books/pru-cookbook/01case/figures/fpp_status.png
diff --git a/pru-cookbook/01case/figures/ledmatrix.jpg b/books/pru-cookbook/01case/figures/ledmatrix.jpg
similarity index 100%
rename from pru-cookbook/01case/figures/ledmatrix.jpg
rename to books/pru-cookbook/01case/figures/ledmatrix.jpg
diff --git a/pru-cookbook/01case/figures/pocketscroller.jpg b/books/pru-cookbook/01case/figures/pocketscroller.jpg
similarity index 100%
rename from pru-cookbook/01case/figures/pocketscroller.jpg
rename to books/pru-cookbook/01case/figures/pocketscroller.jpg
diff --git a/pru-cookbook/01case/figures/xlights_layout.png b/books/pru-cookbook/01case/figures/xlights_layout.png
similarity index 100%
rename from pru-cookbook/01case/figures/xlights_layout.png
rename to books/pru-cookbook/01case/figures/xlights_layout.png
diff --git a/pru-cookbook/01case/figures/xlights_layout_details.png b/books/pru-cookbook/01case/figures/xlights_layout_details.png
similarity index 100%
rename from pru-cookbook/01case/figures/xlights_layout_details.png
rename to books/pru-cookbook/01case/figures/xlights_layout_details.png
diff --git a/pru-cookbook/01case/figures/xlights_seq_drag.png b/books/pru-cookbook/01case/figures/xlights_seq_drag.png
similarity index 100%
rename from pru-cookbook/01case/figures/xlights_seq_drag.png
rename to books/pru-cookbook/01case/figures/xlights_seq_drag.png
diff --git a/pru-cookbook/01case/figures/xlights_seq_new.png b/books/pru-cookbook/01case/figures/xlights_seq_new.png
similarity index 100%
rename from pru-cookbook/01case/figures/xlights_seq_new.png
rename to books/pru-cookbook/01case/figures/xlights_seq_new.png
diff --git a/pru-cookbook/01case/figures/xlights_setup.png b/books/pru-cookbook/01case/figures/xlights_setup.png
similarity index 100%
rename from pru-cookbook/01case/figures/xlights_setup.png
rename to books/pru-cookbook/01case/figures/xlights_setup.png
diff --git a/pru-cookbook/01case/figures/xlights_setup_done.png b/books/pru-cookbook/01case/figures/xlights_setup_done.png
similarity index 100%
rename from pru-cookbook/01case/figures/xlights_setup_done.png
rename to books/pru-cookbook/01case/figures/xlights_setup_done.png
diff --git a/pru-cookbook/01case/figures/xlights_setup_e1_31.png b/books/pru-cookbook/01case/figures/xlights_setup_e1_31.png
similarity index 100%
rename from pru-cookbook/01case/figures/xlights_setup_e1_31.png
rename to books/pru-cookbook/01case/figures/xlights_setup_e1_31.png
diff --git a/pru-cookbook/01case/figures/xlights_setup_e1_31.png.orig b/books/pru-cookbook/01case/figures/xlights_setup_e1_31.png.orig
similarity index 100%
rename from pru-cookbook/01case/figures/xlights_setup_e1_31.png.orig
rename to books/pru-cookbook/01case/figures/xlights_setup_e1_31.png.orig
diff --git a/pru-cookbook/01case/figures/xlights_test.png b/books/pru-cookbook/01case/figures/xlights_test.png
similarity index 100%
rename from pru-cookbook/01case/figures/xlights_test.png
rename to books/pru-cookbook/01case/figures/xlights_test.png
diff --git a/pru-cookbook/01case/figures/xlights_twinkle.jpg b/books/pru-cookbook/01case/figures/xlights_twinkle.jpg
similarity index 100%
rename from pru-cookbook/01case/figures/xlights_twinkle.jpg
rename to books/pru-cookbook/01case/figures/xlights_twinkle.jpg
diff --git a/pru-cookbook/02start/code/Makefile b/books/pru-cookbook/02start/code/Makefile
similarity index 100%
rename from pru-cookbook/02start/code/Makefile
rename to books/pru-cookbook/02start/code/Makefile
diff --git a/pru-cookbook/02start/code/ai.notes b/books/pru-cookbook/02start/code/ai.notes
similarity index 100%
rename from pru-cookbook/02start/code/ai.notes
rename to books/pru-cookbook/02start/code/ai.notes
diff --git a/pru-cookbook/02start/code/hello.pru0.c b/books/pru-cookbook/02start/code/hello.pru0.c
similarity index 100%
rename from pru-cookbook/02start/code/hello.pru0.c
rename to books/pru-cookbook/02start/code/hello.pru0.c
diff --git a/pru-cookbook/02start/code/hello.pru1_1.c b/books/pru-cookbook/02start/code/hello.pru1_1.c
similarity index 100%
rename from pru-cookbook/02start/code/hello.pru1_1.c
rename to books/pru-cookbook/02start/code/hello.pru1_1.c
diff --git a/pru-cookbook/02start/code/hello2.pru0.c b/books/pru-cookbook/02start/code/hello2.pru0.c
similarity index 100%
rename from pru-cookbook/02start/code/hello2.pru0.c
rename to books/pru-cookbook/02start/code/hello2.pru0.c
diff --git a/pru-cookbook/02start/code/hello2.pru1.c b/books/pru-cookbook/02start/code/hello2.pru1.c
similarity index 100%
rename from pru-cookbook/02start/code/hello2.pru1.c
rename to books/pru-cookbook/02start/code/hello2.pru1.c
diff --git a/pru-cookbook/02start/code/hello2.pru1_0.c b/books/pru-cookbook/02start/code/hello2.pru1_0.c
similarity index 100%
rename from pru-cookbook/02start/code/hello2.pru1_0.c
rename to books/pru-cookbook/02start/code/hello2.pru1_0.c
diff --git a/pru-cookbook/02start/code/hello2.pru1_1.c b/books/pru-cookbook/02start/code/hello2.pru1_1.c
similarity index 100%
rename from pru-cookbook/02start/code/hello2.pru1_1.c
rename to books/pru-cookbook/02start/code/hello2.pru1_1.c
diff --git a/pru-cookbook/02start/code/hello2.pru2_0.c b/books/pru-cookbook/02start/code/hello2.pru2_0.c
similarity index 100%
rename from pru-cookbook/02start/code/hello2.pru2_0.c
rename to books/pru-cookbook/02start/code/hello2.pru2_0.c
diff --git a/pru-cookbook/02start/code/hello2.pru2_1.c b/books/pru-cookbook/02start/code/hello2.pru2_1.c
similarity index 100%
rename from pru-cookbook/02start/code/hello2.pru2_1.c
rename to books/pru-cookbook/02start/code/hello2.pru2_1.c
diff --git a/pru-cookbook/02start/code/setup.sh b/books/pru-cookbook/02start/code/setup.sh
similarity index 100%
rename from pru-cookbook/02start/code/setup.sh
rename to books/pru-cookbook/02start/code/setup.sh
diff --git a/pru-cookbook/02start/code/setup2.sh b/books/pru-cookbook/02start/code/setup2.sh
similarity index 100%
rename from pru-cookbook/02start/code/setup2.sh
rename to books/pru-cookbook/02start/code/setup2.sh
diff --git a/pru-cookbook/02start/figures/BB_AI_BeautyAngle_800px.jpg b/books/pru-cookbook/02start/figures/BB_AI_BeautyAngle_800px.jpg
similarity index 100%
rename from pru-cookbook/02start/figures/BB_AI_BeautyAngle_800px.jpg
rename to books/pru-cookbook/02start/figures/BB_AI_BeautyAngle_800px.jpg
diff --git a/pru-cookbook/02start/figures/PocketBeagle-size-compare-small.jpg b/books/pru-cookbook/02start/figures/PocketBeagle-size-compare-small.jpg
similarity index 100%
rename from pru-cookbook/02start/figures/PocketBeagle-size-compare-small.jpg
rename to books/pru-cookbook/02start/figures/PocketBeagle-size-compare-small.jpg
diff --git a/pru-cookbook/02start/figures/beagle-blue.png b/books/pru-cookbook/02start/figures/beagle-blue.png
similarity index 100%
rename from pru-cookbook/02start/figures/beagle-blue.png
rename to books/pru-cookbook/02start/figures/beagle-blue.png
diff --git a/pru-cookbook/02start/figures/c9.png b/books/pru-cookbook/02start/figures/c9.png
similarity index 100%
rename from pru-cookbook/02start/figures/c9.png
rename to books/pru-cookbook/02start/figures/c9.png
diff --git a/pru-cookbook/02start/figures/c9ShowHome.png b/books/pru-cookbook/02start/figures/c9ShowHome.png
similarity index 100%
rename from pru-cookbook/02start/figures/c9ShowHome.png
rename to books/pru-cookbook/02start/figures/c9ShowHome.png
diff --git a/pru-cookbook/02start/figures/edumip.png b/books/pru-cookbook/02start/figures/edumip.png
similarity index 100%
rename from pru-cookbook/02start/figures/edumip.png
rename to books/pru-cookbook/02start/figures/edumip.png
diff --git a/pru-cookbook/02start/figures/etcher.png b/books/pru-cookbook/02start/figures/etcher.png
similarity index 100%
rename from pru-cookbook/02start/figures/etcher.png
rename to books/pru-cookbook/02start/figures/etcher.png
diff --git a/pru-cookbook/02start/figures/latest-images.png b/books/pru-cookbook/02start/figures/latest-images.png
similarity index 100%
rename from pru-cookbook/02start/figures/latest-images.png
rename to books/pru-cookbook/02start/figures/latest-images.png
diff --git a/pru-cookbook/02start/figures/product_detail_black_sm.jpg b/books/pru-cookbook/02start/figures/product_detail_black_sm.jpg
similarity index 100%
rename from pru-cookbook/02start/figures/product_detail_black_sm.jpg
rename to books/pru-cookbook/02start/figures/product_detail_black_sm.jpg
diff --git a/pru-cookbook/02start/start.rst b/books/pru-cookbook/02start/start.rst
similarity index 100%
rename from pru-cookbook/02start/start.rst
rename to books/pru-cookbook/02start/start.rst
diff --git a/pru-cookbook/03details/code/Makefile b/books/pru-cookbook/03details/code/Makefile
similarity index 100%
rename from pru-cookbook/03details/code/Makefile
rename to books/pru-cookbook/03details/code/Makefile
diff --git a/pru-cookbook/03details/code/encoder_setup.sh b/books/pru-cookbook/03details/code/encoder_setup.sh
similarity index 100%
rename from pru-cookbook/03details/code/encoder_setup.sh
rename to books/pru-cookbook/03details/code/encoder_setup.sh
diff --git a/pru-cookbook/03details/code/gpio_setup.sh b/books/pru-cookbook/03details/code/gpio_setup.sh
similarity index 100%
rename from pru-cookbook/03details/code/gpio_setup.sh
rename to books/pru-cookbook/03details/code/gpio_setup.sh
diff --git a/pru-cookbook/03details/code/servos_setup.sh b/books/pru-cookbook/03details/code/servos_setup.sh
similarity index 100%
rename from pru-cookbook/03details/code/servos_setup.sh
rename to books/pru-cookbook/03details/code/servos_setup.sh
diff --git a/pru-cookbook/03details/details.rst b/books/pru-cookbook/03details/details.rst
similarity index 100%
rename from pru-cookbook/03details/details.rst
rename to books/pru-cookbook/03details/details.rst
diff --git a/pru-cookbook/04debug/code/Makefile b/books/pru-cookbook/04debug/code/Makefile
similarity index 100%
rename from pru-cookbook/04debug/code/Makefile
rename to books/pru-cookbook/04debug/code/Makefile
diff --git a/pru-cookbook/04debug/code/copyright.c b/books/pru-cookbook/04debug/code/copyright.c
similarity index 100%
rename from pru-cookbook/04debug/code/copyright.c
rename to books/pru-cookbook/04debug/code/copyright.c
diff --git a/pru-cookbook/04debug/code/resource_table_empty.h b/books/pru-cookbook/04debug/code/resource_table_empty.h
similarity index 100%
rename from pru-cookbook/04debug/code/resource_table_empty.h
rename to books/pru-cookbook/04debug/code/resource_table_empty.h
diff --git a/pru-cookbook/04debug/code/uart1.pru0.c b/books/pru-cookbook/04debug/code/uart1.pru0.c
similarity index 100%
rename from pru-cookbook/04debug/code/uart1.pru0.c
rename to books/pru-cookbook/04debug/code/uart1.pru0.c
diff --git a/pru-cookbook/04debug/code/uart1.pru1_0.c b/books/pru-cookbook/04debug/code/uart1.pru1_0.c
similarity index 100%
rename from pru-cookbook/04debug/code/uart1.pru1_0.c
rename to books/pru-cookbook/04debug/code/uart1.pru1_0.c
diff --git a/pru-cookbook/04debug/code/uart2.pru0.c b/books/pru-cookbook/04debug/code/uart2.pru0.c
similarity index 100%
rename from pru-cookbook/04debug/code/uart2.pru0.c
rename to books/pru-cookbook/04debug/code/uart2.pru0.c
diff --git a/pru-cookbook/04debug/code/uart2.pru1_0.c b/books/pru-cookbook/04debug/code/uart2.pru1_0.c
similarity index 100%
rename from pru-cookbook/04debug/code/uart2.pru1_0.c
rename to books/pru-cookbook/04debug/code/uart2.pru1_0.c
diff --git a/pru-cookbook/04debug/code/uart_setup.sh b/books/pru-cookbook/04debug/code/uart_setup.sh
similarity index 100%
rename from pru-cookbook/04debug/code/uart_setup.sh
rename to books/pru-cookbook/04debug/code/uart_setup.sh
diff --git a/pru-cookbook/04debug/debug.rst b/books/pru-cookbook/04debug/debug.rst
similarity index 100%
rename from pru-cookbook/04debug/debug.rst
rename to books/pru-cookbook/04debug/debug.rst
diff --git a/pru-cookbook/04debug/figures/FTDIcable.jpg b/books/pru-cookbook/04debug/figures/FTDIcable.jpg
similarity index 100%
rename from pru-cookbook/04debug/figures/FTDIcable.jpg
rename to books/pru-cookbook/04debug/figures/FTDIcable.jpg
diff --git a/pru-cookbook/04debug/figures/FTDIconnector.jpg b/books/pru-cookbook/04debug/figures/FTDIconnector.jpg
similarity index 100%
rename from pru-cookbook/04debug/figures/FTDIconnector.jpg
rename to books/pru-cookbook/04debug/figures/FTDIconnector.jpg
diff --git a/pru-cookbook/04debug/figures/FTDIhookup.fzz b/books/pru-cookbook/04debug/figures/FTDIhookup.fzz
similarity index 100%
rename from pru-cookbook/04debug/figures/FTDIhookup.fzz
rename to books/pru-cookbook/04debug/figures/FTDIhookup.fzz
diff --git a/pru-cookbook/04debug/figures/FTDIhookup_bb.png b/books/pru-cookbook/04debug/figures/FTDIhookup_bb.png
similarity index 100%
rename from pru-cookbook/04debug/figures/FTDIhookup_bb.png
rename to books/pru-cookbook/04debug/figures/FTDIhookup_bb.png
diff --git a/pru-cookbook/04debug/figures/LED.fzz b/books/pru-cookbook/04debug/figures/LED.fzz
similarity index 100%
rename from pru-cookbook/04debug/figures/LED.fzz
rename to books/pru-cookbook/04debug/figures/LED.fzz
diff --git a/pru-cookbook/04debug/figures/LED_bb.png b/books/pru-cookbook/04debug/figures/LED_bb.png
similarity index 100%
rename from pru-cookbook/04debug/figures/LED_bb.png
rename to books/pru-cookbook/04debug/figures/LED_bb.png
diff --git a/pru-cookbook/04debug/figures/uart1.pru0.png b/books/pru-cookbook/04debug/figures/uart1.pru0.png
similarity index 100%
rename from pru-cookbook/04debug/figures/uart1.pru0.png
rename to books/pru-cookbook/04debug/figures/uart1.pru0.png
diff --git a/pru-cookbook/04debug/figures/uart2.pru0.png b/books/pru-cookbook/04debug/figures/uart2.pru0.png
similarity index 100%
rename from pru-cookbook/04debug/figures/uart2.pru0.png
rename to books/pru-cookbook/04debug/figures/uart2.pru0.png
diff --git a/pru-cookbook/05blocks/blocks.rst b/books/pru-cookbook/05blocks/blocks.rst
similarity index 100%
rename from pru-cookbook/05blocks/blocks.rst
rename to books/pru-cookbook/05blocks/blocks.rst
diff --git a/pru-cookbook/05blocks/code/Makefile b/books/pru-cookbook/05blocks/code/Makefile
similarity index 100%
rename from pru-cookbook/05blocks/code/Makefile
rename to books/pru-cookbook/05blocks/code/Makefile
diff --git a/pru-cookbook/05blocks/code/copyright.c b/books/pru-cookbook/05blocks/code/copyright.c
similarity index 100%
rename from pru-cookbook/05blocks/code/copyright.c
rename to books/pru-cookbook/05blocks/code/copyright.c
diff --git a/pru-cookbook/05blocks/code/input.pru0.c b/books/pru-cookbook/05blocks/code/input.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/input.pru0.c
rename to books/pru-cookbook/05blocks/code/input.pru0.c
diff --git a/pru-cookbook/05blocks/code/input_setup.sh b/books/pru-cookbook/05blocks/code/input_setup.sh
similarity index 100%
rename from pru-cookbook/05blocks/code/input_setup.sh
rename to books/pru-cookbook/05blocks/code/input_setup.sh
diff --git a/pru-cookbook/05blocks/code/module/.gitignore b/books/pru-cookbook/05blocks/code/module/.gitignore
similarity index 100%
rename from pru-cookbook/05blocks/code/module/.gitignore
rename to books/pru-cookbook/05blocks/code/module/.gitignore
diff --git a/pru-cookbook/05blocks/code/module/Makefile b/books/pru-cookbook/05blocks/code/module/Makefile
similarity index 100%
rename from pru-cookbook/05blocks/code/module/Makefile
rename to books/pru-cookbook/05blocks/code/module/Makefile
diff --git a/pru-cookbook/05blocks/code/module/install.sh b/books/pru-cookbook/05blocks/code/module/install.sh
similarity index 100%
rename from pru-cookbook/05blocks/code/module/install.sh
rename to books/pru-cookbook/05blocks/code/module/install.sh
diff --git a/pru-cookbook/05blocks/code/module/rpmsg_client_sample.c b/books/pru-cookbook/05blocks/code/module/rpmsg_client_sample.c
similarity index 100%
rename from pru-cookbook/05blocks/code/module/rpmsg_client_sample.c
rename to books/pru-cookbook/05blocks/code/module/rpmsg_client_sample.c
diff --git a/pru-cookbook/05blocks/code/module/rpmsg_pru.c b/books/pru-cookbook/05blocks/code/module/rpmsg_pru.c
similarity index 100%
rename from pru-cookbook/05blocks/code/module/rpmsg_pru.c
rename to books/pru-cookbook/05blocks/code/module/rpmsg_pru.c
diff --git a/pru-cookbook/05blocks/code/module/setup.sh b/books/pru-cookbook/05blocks/code/module/setup.sh
similarity index 100%
rename from pru-cookbook/05blocks/code/module/setup.sh
rename to books/pru-cookbook/05blocks/code/module/setup.sh
diff --git a/pru-cookbook/05blocks/code/neo-colors.py b/books/pru-cookbook/05blocks/code/neo-colors.py
similarity index 100%
rename from pru-cookbook/05blocks/code/neo-colors.py
rename to books/pru-cookbook/05blocks/code/neo-colors.py
diff --git a/pru-cookbook/05blocks/code/neo-rainbow.py b/books/pru-cookbook/05blocks/code/neo-rainbow.py
similarity index 100%
rename from pru-cookbook/05blocks/code/neo-rainbow.py
rename to books/pru-cookbook/05blocks/code/neo-rainbow.py
diff --git a/pru-cookbook/05blocks/code/neo1.pru0.c b/books/pru-cookbook/05blocks/code/neo1.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/neo1.pru0.c
rename to books/pru-cookbook/05blocks/code/neo1.pru0.c
diff --git a/pru-cookbook/05blocks/code/neo1.pru1_1.c b/books/pru-cookbook/05blocks/code/neo1.pru1_1.c
similarity index 100%
rename from pru-cookbook/05blocks/code/neo1.pru1_1.c
rename to books/pru-cookbook/05blocks/code/neo1.pru1_1.c
diff --git a/pru-cookbook/05blocks/code/neo2.pru0.c b/books/pru-cookbook/05blocks/code/neo2.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/neo2.pru0.c
rename to books/pru-cookbook/05blocks/code/neo2.pru0.c
diff --git a/pru-cookbook/05blocks/code/neo2.pru1_1.c b/books/pru-cookbook/05blocks/code/neo2.pru1_1.c
similarity index 100%
rename from pru-cookbook/05blocks/code/neo2.pru1_1.c
rename to books/pru-cookbook/05blocks/code/neo2.pru1_1.c
diff --git a/pru-cookbook/05blocks/code/neo3.pru0.c b/books/pru-cookbook/05blocks/code/neo3.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/neo3.pru0.c
rename to books/pru-cookbook/05blocks/code/neo3.pru0.c
diff --git a/pru-cookbook/05blocks/code/neo3.pru1_1.c b/books/pru-cookbook/05blocks/code/neo3.pru1_1.c
similarity index 100%
rename from pru-cookbook/05blocks/code/neo3.pru1_1.c
rename to books/pru-cookbook/05blocks/code/neo3.pru1_1.c
diff --git a/pru-cookbook/05blocks/code/neo4.pru0.c b/books/pru-cookbook/05blocks/code/neo4.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/neo4.pru0.c
rename to books/pru-cookbook/05blocks/code/neo4.pru0.c
diff --git a/pru-cookbook/05blocks/code/neo4.pru1_1.c b/books/pru-cookbook/05blocks/code/neo4.pru1_1.c
similarity index 100%
rename from pru-cookbook/05blocks/code/neo4.pru1_1.c
rename to books/pru-cookbook/05blocks/code/neo4.pru1_1.c
diff --git a/pru-cookbook/05blocks/code/neo_setup.sh b/books/pru-cookbook/05blocks/code/neo_setup.sh
similarity index 100%
rename from pru-cookbook/05blocks/code/neo_setup.sh
rename to books/pru-cookbook/05blocks/code/neo_setup.sh
diff --git a/pru-cookbook/05blocks/code/pwm-test.c b/books/pru-cookbook/05blocks/code/pwm-test.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm-test.c
rename to books/pru-cookbook/05blocks/code/pwm-test.c
diff --git a/pru-cookbook/05blocks/code/pwm1.pru0.c b/books/pru-cookbook/05blocks/code/pwm1.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm1.pru0.c
rename to books/pru-cookbook/05blocks/code/pwm1.pru0.c
diff --git a/pru-cookbook/05blocks/code/pwm1.pru1_1.c b/books/pru-cookbook/05blocks/code/pwm1.pru1_1.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm1.pru1_1.c
rename to books/pru-cookbook/05blocks/code/pwm1.pru1_1.c
diff --git a/pru-cookbook/05blocks/code/pwm2.pru0.c b/books/pru-cookbook/05blocks/code/pwm2.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm2.pru0.c
rename to books/pru-cookbook/05blocks/code/pwm2.pru0.c
diff --git a/pru-cookbook/05blocks/code/pwm3.pru0.c b/books/pru-cookbook/05blocks/code/pwm3.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm3.pru0.c
rename to books/pru-cookbook/05blocks/code/pwm3.pru0.c
diff --git a/pru-cookbook/05blocks/code/pwm4.pru0.c b/books/pru-cookbook/05blocks/code/pwm4.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm4.pru0.c
rename to books/pru-cookbook/05blocks/code/pwm4.pru0.c
diff --git a/pru-cookbook/05blocks/code/pwm5.pru0.c b/books/pru-cookbook/05blocks/code/pwm5.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm5.pru0.c
rename to books/pru-cookbook/05blocks/code/pwm5.pru0.c
diff --git a/pru-cookbook/05blocks/code/pwm6.pru0.c b/books/pru-cookbook/05blocks/code/pwm6.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm6.pru0.c
rename to books/pru-cookbook/05blocks/code/pwm6.pru0.c
diff --git a/pru-cookbook/05blocks/code/pwm7-test.c b/books/pru-cookbook/05blocks/code/pwm7-test.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm7-test.c
rename to books/pru-cookbook/05blocks/code/pwm7-test.c
diff --git a/pru-cookbook/05blocks/code/pwm7.pru0.c b/books/pru-cookbook/05blocks/code/pwm7.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm7.pru0.c
rename to books/pru-cookbook/05blocks/code/pwm7.pru0.c
diff --git a/pru-cookbook/05blocks/code/pwm7.pru1.c b/books/pru-cookbook/05blocks/code/pwm7.pru1.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm7.pru1.c
rename to books/pru-cookbook/05blocks/code/pwm7.pru1.c
diff --git a/pru-cookbook/05blocks/code/pwm7_setup.sh b/books/pru-cookbook/05blocks/code/pwm7_setup.sh
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm7_setup.sh
rename to books/pru-cookbook/05blocks/code/pwm7_setup.sh
diff --git a/pru-cookbook/05blocks/code/pwm8.pru0.c b/books/pru-cookbook/05blocks/code/pwm8.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm8.pru0.c
rename to books/pru-cookbook/05blocks/code/pwm8.pru0.c
diff --git a/pru-cookbook/05blocks/code/pwm8.pru1.c b/books/pru-cookbook/05blocks/code/pwm8.pru1.c
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm8.pru1.c
rename to books/pru-cookbook/05blocks/code/pwm8.pru1.c
diff --git a/pru-cookbook/05blocks/code/pwm_setup.sh b/books/pru-cookbook/05blocks/code/pwm_setup.sh
similarity index 100%
rename from pru-cookbook/05blocks/code/pwm_setup.sh
rename to books/pru-cookbook/05blocks/code/pwm_setup.sh
diff --git a/pru-cookbook/05blocks/code/resource_table_empty.h b/books/pru-cookbook/05blocks/code/resource_table_empty.h
similarity index 100%
rename from pru-cookbook/05blocks/code/resource_table_empty.h
rename to books/pru-cookbook/05blocks/code/resource_table_empty.h
diff --git a/pru-cookbook/05blocks/code/rgb1.pru0.c b/books/pru-cookbook/05blocks/code/rgb1.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/rgb1.pru0.c
rename to books/pru-cookbook/05blocks/code/rgb1.pru0.c
diff --git a/pru-cookbook/05blocks/code/rgb2.pru0.c b/books/pru-cookbook/05blocks/code/rgb2.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/rgb2.pru0.c
rename to books/pru-cookbook/05blocks/code/rgb2.pru0.c
diff --git a/pru-cookbook/05blocks/code/rgb3.pru0.c b/books/pru-cookbook/05blocks/code/rgb3.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/rgb3.pru0.c
rename to books/pru-cookbook/05blocks/code/rgb3.pru0.c
diff --git a/pru-cookbook/05blocks/code/rgb4.pru0.c b/books/pru-cookbook/05blocks/code/rgb4.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/rgb4.pru0.c
rename to books/pru-cookbook/05blocks/code/rgb4.pru0.c
diff --git a/pru-cookbook/05blocks/code/rgb_black.h b/books/pru-cookbook/05blocks/code/rgb_black.h
similarity index 100%
rename from pru-cookbook/05blocks/code/rgb_black.h
rename to books/pru-cookbook/05blocks/code/rgb_black.h
diff --git a/pru-cookbook/05blocks/code/rgb_pocket.h b/books/pru-cookbook/05blocks/code/rgb_pocket.h
similarity index 100%
rename from pru-cookbook/05blocks/code/rgb_pocket.h
rename to books/pru-cookbook/05blocks/code/rgb_pocket.h
diff --git a/pru-cookbook/05blocks/code/rgb_python.py b/books/pru-cookbook/05blocks/code/rgb_python.py
similarity index 100%
rename from pru-cookbook/05blocks/code/rgb_python.py
rename to books/pru-cookbook/05blocks/code/rgb_python.py
diff --git a/pru-cookbook/05blocks/code/rgb_python_setup.sh b/books/pru-cookbook/05blocks/code/rgb_python_setup.sh
similarity index 100%
rename from pru-cookbook/05blocks/code/rgb_python_setup.sh
rename to books/pru-cookbook/05blocks/code/rgb_python_setup.sh
diff --git a/pru-cookbook/05blocks/code/rgb_setup.sh b/books/pru-cookbook/05blocks/code/rgb_setup.sh
similarity index 100%
rename from pru-cookbook/05blocks/code/rgb_setup.sh
rename to books/pru-cookbook/05blocks/code/rgb_setup.sh
diff --git a/pru-cookbook/05blocks/code/rgb_white.pru0.c b/books/pru-cookbook/05blocks/code/rgb_white.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/rgb_white.pru0.c
rename to books/pru-cookbook/05blocks/code/rgb_white.pru0.c
diff --git a/pru-cookbook/05blocks/code/shared.pru0.c b/books/pru-cookbook/05blocks/code/shared.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/shared.pru0.c
rename to books/pru-cookbook/05blocks/code/shared.pru0.c
diff --git a/pru-cookbook/05blocks/code/shared_setup.sh b/books/pru-cookbook/05blocks/code/shared_setup.sh
similarity index 100%
rename from pru-cookbook/05blocks/code/shared_setup.sh
rename to books/pru-cookbook/05blocks/code/shared_setup.sh
diff --git a/pru-cookbook/05blocks/code/sine.map b/books/pru-cookbook/05blocks/code/sine.map
similarity index 100%
rename from pru-cookbook/05blocks/code/sine.map
rename to books/pru-cookbook/05blocks/code/sine.map
diff --git a/pru-cookbook/05blocks/code/sine.pru0.c b/books/pru-cookbook/05blocks/code/sine.pru0.c
similarity index 100%
rename from pru-cookbook/05blocks/code/sine.pru0.c
rename to books/pru-cookbook/05blocks/code/sine.pru0.c
diff --git a/pru-cookbook/05blocks/code/write_init_pins.sh b/books/pru-cookbook/05blocks/code/write_init_pins.sh
similarity index 100%
rename from pru-cookbook/05blocks/code/write_init_pins.sh
rename to books/pru-cookbook/05blocks/code/write_init_pins.sh
diff --git a/pru-cookbook/05blocks/figures/blockDiagram.png b/books/pru-cookbook/05blocks/figures/blockDiagram.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/blockDiagram.png
rename to books/pru-cookbook/05blocks/figures/blockDiagram.png
diff --git a/pru-cookbook/05blocks/figures/blocks_plots.asv b/books/pru-cookbook/05blocks/figures/blocks_plots.asv
similarity index 100%
rename from pru-cookbook/05blocks/figures/blocks_plots.asv
rename to books/pru-cookbook/05blocks/figures/blocks_plots.asv
diff --git a/pru-cookbook/05blocks/figures/blocks_plots.m b/books/pru-cookbook/05blocks/figures/blocks_plots.m
similarity index 100%
rename from pru-cookbook/05blocks/figures/blocks_plots.m
rename to books/pru-cookbook/05blocks/figures/blocks_plots.m
diff --git a/pru-cookbook/05blocks/figures/filter.fzz b/books/pru-cookbook/05blocks/figures/filter.fzz
similarity index 100%
rename from pru-cookbook/05blocks/figures/filter.fzz
rename to books/pru-cookbook/05blocks/figures/filter.fzz
diff --git a/pru-cookbook/05blocks/figures/filter_bb.png b/books/pru-cookbook/05blocks/figures/filter_bb.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/filter_bb.png
rename to books/pru-cookbook/05blocks/figures/filter_bb.png
diff --git a/pru-cookbook/05blocks/figures/matrix_j1.jpg b/books/pru-cookbook/05blocks/figures/matrix_j1.jpg
similarity index 100%
rename from pru-cookbook/05blocks/figures/matrix_j1.jpg
rename to books/pru-cookbook/05blocks/figures/matrix_j1.jpg
diff --git a/pru-cookbook/05blocks/figures/neo.fzz b/books/pru-cookbook/05blocks/figures/neo.fzz
similarity index 100%
rename from pru-cookbook/05blocks/figures/neo.fzz
rename to books/pru-cookbook/05blocks/figures/neo.fzz
diff --git a/pru-cookbook/05blocks/figures/neo_bb.png b/books/pru-cookbook/05blocks/figures/neo_bb.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/neo_bb.png
rename to books/pru-cookbook/05blocks/figures/neo_bb.png
diff --git a/pru-cookbook/05blocks/figures/neo_data_seq.png b/books/pru-cookbook/05blocks/figures/neo_data_seq.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/neo_data_seq.png
rename to books/pru-cookbook/05blocks/figures/neo_data_seq.png
diff --git a/pru-cookbook/05blocks/figures/neo_scope.png b/books/pru-cookbook/05blocks/figures/neo_scope.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/neo_scope.png
rename to books/pru-cookbook/05blocks/figures/neo_scope.png
diff --git a/pru-cookbook/05blocks/figures/neo_sequence.png b/books/pru-cookbook/05blocks/figures/neo_sequence.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/neo_sequence.png
rename to books/pru-cookbook/05blocks/figures/neo_sequence.png
diff --git a/pru-cookbook/05blocks/figures/pwm1.png b/books/pru-cookbook/05blocks/figures/pwm1.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/pwm1.png
rename to books/pru-cookbook/05blocks/figures/pwm1.png
diff --git a/pru-cookbook/05blocks/figures/pwm2.png b/books/pru-cookbook/05blocks/figures/pwm2.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/pwm2.png
rename to books/pru-cookbook/05blocks/figures/pwm2.png
diff --git a/pru-cookbook/05blocks/figures/pwm3.png b/books/pru-cookbook/05blocks/figures/pwm3.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/pwm3.png
rename to books/pru-cookbook/05blocks/figures/pwm3.png
diff --git a/pru-cookbook/05blocks/figures/pwm4.png b/books/pru-cookbook/05blocks/figures/pwm4.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/pwm4.png
rename to books/pru-cookbook/05blocks/figures/pwm4.png
diff --git a/pru-cookbook/05blocks/figures/pwm5_no_loop.png b/books/pru-cookbook/05blocks/figures/pwm5_no_loop.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/pwm5_no_loop.png
rename to books/pru-cookbook/05blocks/figures/pwm5_no_loop.png
diff --git a/pru-cookbook/05blocks/figures/pwm5_zoomed.png b/books/pru-cookbook/05blocks/figures/pwm5_zoomed.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/pwm5_zoomed.png
rename to books/pru-cookbook/05blocks/figures/pwm5_zoomed.png
diff --git a/pru-cookbook/05blocks/figures/pwm6_synced.png b/books/pru-cookbook/05blocks/figures/pwm6_synced.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/pwm6_synced.png
rename to books/pru-cookbook/05blocks/figures/pwm6_synced.png
diff --git a/pru-cookbook/05blocks/figures/pwm7_two_prus_running.png b/books/pru-cookbook/05blocks/figures/pwm7_two_prus_running.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/pwm7_two_prus_running.png
rename to books/pru-cookbook/05blocks/figures/pwm7_two_prus_running.png
diff --git a/pru-cookbook/05blocks/figures/pwm7_two_prus_stopped.png b/books/pru-cookbook/05blocks/figures/pwm7_two_prus_stopped.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/pwm7_two_prus_stopped.png
rename to books/pru-cookbook/05blocks/figures/pwm7_two_prus_stopped.png
diff --git a/pru-cookbook/05blocks/figures/pwm8_prus_sycned.png b/books/pru-cookbook/05blocks/figures/pwm8_prus_sycned.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/pwm8_prus_sycned.png
rename to books/pru-cookbook/05blocks/figures/pwm8_prus_sycned.png
diff --git a/pru-cookbook/05blocks/figures/rgb_fpp.png b/books/pru-cookbook/05blocks/figures/rgb_fpp.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/rgb_fpp.png
rename to books/pru-cookbook/05blocks/figures/rgb_fpp.png
diff --git a/pru-cookbook/05blocks/figures/rgb_pru.jpg b/books/pru-cookbook/05blocks/figures/rgb_pru.jpg
similarity index 100%
rename from pru-cookbook/05blocks/figures/rgb_pru.jpg
rename to books/pru-cookbook/05blocks/figures/rgb_pru.jpg
diff --git a/pru-cookbook/05blocks/figures/rgb_python.jpg b/books/pru-cookbook/05blocks/figures/rgb_python.jpg
similarity index 100%
rename from pru-cookbook/05blocks/figures/rgb_python.jpg
rename to books/pru-cookbook/05blocks/figures/rgb_python.jpg
diff --git a/pru-cookbook/05blocks/figures/rgb_waveforms.png b/books/pru-cookbook/05blocks/figures/rgb_waveforms.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/rgb_waveforms.png
rename to books/pru-cookbook/05blocks/figures/rgb_waveforms.png
diff --git a/pru-cookbook/05blocks/figures/ring_around.mp4 b/books/pru-cookbook/05blocks/figures/ring_around.mp4
similarity index 100%
rename from pru-cookbook/05blocks/figures/ring_around.mp4
rename to books/pru-cookbook/05blocks/figures/ring_around.mp4
diff --git a/pru-cookbook/05blocks/figures/sawhighercutoff.png b/books/pru-cookbook/05blocks/figures/sawhighercutoff.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/sawhighercutoff.png
rename to books/pru-cookbook/05blocks/figures/sawhighercutoff.png
diff --git a/pru-cookbook/05blocks/figures/sawlowercutoff.png b/books/pru-cookbook/05blocks/figures/sawlowercutoff.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/sawlowercutoff.png
rename to books/pru-cookbook/05blocks/figures/sawlowercutoff.png
diff --git a/pru-cookbook/05blocks/figures/sawscope.png b/books/pru-cookbook/05blocks/figures/sawscope.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/sawscope.png
rename to books/pru-cookbook/05blocks/figures/sawscope.png
diff --git a/pru-cookbook/05blocks/figures/sawtoothsampled.png b/books/pru-cookbook/05blocks/figures/sawtoothsampled.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/sawtoothsampled.png
rename to books/pru-cookbook/05blocks/figures/sawtoothsampled.png
diff --git a/pru-cookbook/05blocks/figures/sawtoothsmooth.png b/books/pru-cookbook/05blocks/figures/sawtoothsmooth.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/sawtoothsmooth.png
rename to books/pru-cookbook/05blocks/figures/sawtoothsmooth.png
diff --git a/pru-cookbook/05blocks/figures/sawunfiltered.png b/books/pru-cookbook/05blocks/figures/sawunfiltered.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/sawunfiltered.png
rename to books/pru-cookbook/05blocks/figures/sawunfiltered.png
diff --git a/pru-cookbook/05blocks/figures/sine.png b/books/pru-cookbook/05blocks/figures/sine.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/sine.png
rename to books/pru-cookbook/05blocks/figures/sine.png
diff --git a/pru-cookbook/05blocks/figures/triangle.png b/books/pru-cookbook/05blocks/figures/triangle.png
similarity index 100%
rename from pru-cookbook/05blocks/figures/triangle.png
rename to books/pru-cookbook/05blocks/figures/triangle.png
diff --git a/pru-cookbook/06io/code/Makefile b/books/pru-cookbook/06io/code/Makefile
similarity index 100%
rename from pru-cookbook/06io/code/Makefile
rename to books/pru-cookbook/06io/code/Makefile
diff --git a/pru-cookbook/06io/code/gpio.pru0.c b/books/pru-cookbook/06io/code/gpio.pru0.c
similarity index 100%
rename from pru-cookbook/06io/code/gpio.pru0.c
rename to books/pru-cookbook/06io/code/gpio.pru0.c
diff --git a/pru-cookbook/06io/code/setup.sh b/books/pru-cookbook/06io/code/setup.sh
similarity index 100%
rename from pru-cookbook/06io/code/setup.sh
rename to books/pru-cookbook/06io/code/setup.sh
diff --git a/pru-cookbook/06io/figures/gpio0delay.png b/books/pru-cookbook/06io/figures/gpio0delay.png
similarity index 100%
rename from pru-cookbook/06io/figures/gpio0delay.png
rename to books/pru-cookbook/06io/figures/gpio0delay.png
diff --git a/pru-cookbook/06io/figures/jitter.png b/books/pru-cookbook/06io/figures/jitter.png
similarity index 100%
rename from pru-cookbook/06io/figures/jitter.png
rename to books/pru-cookbook/06io/figures/jitter.png
diff --git a/pru-cookbook/06io/figures/pruIntegration.png b/books/pru-cookbook/06io/figures/pruIntegration.png
similarity index 100%
rename from pru-cookbook/06io/figures/pruIntegration.png
rename to books/pru-cookbook/06io/figures/pruIntegration.png
diff --git a/pru-cookbook/06io/io.html b/books/pru-cookbook/06io/io.html
similarity index 100%
rename from pru-cookbook/06io/io.html
rename to books/pru-cookbook/06io/io.html
diff --git a/pru-cookbook/06io/io.rst b/books/pru-cookbook/06io/io.rst
similarity index 100%
rename from pru-cookbook/06io/io.rst
rename to books/pru-cookbook/06io/io.rst
diff --git a/pru-cookbook/07more/code/Makefile b/books/pru-cookbook/07more/code/Makefile
similarity index 100%
rename from pru-cookbook/07more/code/Makefile
rename to books/pru-cookbook/07more/code/Makefile
diff --git a/pru-cookbook/07more/code/copyright.c b/books/pru-cookbook/07more/code/copyright.c
similarity index 100%
rename from pru-cookbook/07more/code/copyright.c
rename to books/pru-cookbook/07more/code/copyright.c
diff --git a/pru-cookbook/07more/code/cycle.pru0.c b/books/pru-cookbook/07more/code/cycle.pru0.c
similarity index 100%
rename from pru-cookbook/07more/code/cycle.pru0.c
rename to books/pru-cookbook/07more/code/cycle.pru0.c
diff --git a/pru-cookbook/07more/code/cycle.pru0.lst b/books/pru-cookbook/07more/code/cycle.pru0.lst
similarity index 100%
rename from pru-cookbook/07more/code/cycle.pru0.lst
rename to books/pru-cookbook/07more/code/cycle.pru0.lst
diff --git a/pru-cookbook/07more/code/delay-test.pru0.c b/books/pru-cookbook/07more/code/delay-test.pru0.c
similarity index 100%
rename from pru-cookbook/07more/code/delay-test.pru0.c
rename to books/pru-cookbook/07more/code/delay-test.pru0.c
diff --git a/pru-cookbook/07more/code/delay-test2.pru0.c b/books/pru-cookbook/07more/code/delay-test2.pru0.c
similarity index 100%
rename from pru-cookbook/07more/code/delay-test2.pru0.c
rename to books/pru-cookbook/07more/code/delay-test2.pru0.c
diff --git a/pru-cookbook/07more/code/delay.pru0.asm b/books/pru-cookbook/07more/code/delay.pru0.asm
similarity index 100%
rename from pru-cookbook/07more/code/delay.pru0.asm
rename to books/pru-cookbook/07more/code/delay.pru0.asm
diff --git a/pru-cookbook/07more/code/delay2.pru0.asm b/books/pru-cookbook/07more/code/delay2.pru0.asm
similarity index 100%
rename from pru-cookbook/07more/code/delay2.pru0.asm
rename to books/pru-cookbook/07more/code/delay2.pru0.asm
diff --git a/pru-cookbook/07more/code/logic.c b/books/pru-cookbook/07more/code/logic.c
similarity index 100%
rename from pru-cookbook/07more/code/logic.c
rename to books/pru-cookbook/07more/code/logic.c
diff --git a/pru-cookbook/07more/code/logic_setup.sh b/books/pru-cookbook/07more/code/logic_setup.sh
similarity index 100%
rename from pru-cookbook/07more/code/logic_setup.sh
rename to books/pru-cookbook/07more/code/logic_setup.sh
diff --git a/pru-cookbook/07more/code/resource_table_pru0.h b/books/pru-cookbook/07more/code/resource_table_pru0.h
similarity index 100%
rename from pru-cookbook/07more/code/resource_table_pru0.h
rename to books/pru-cookbook/07more/code/resource_table_pru0.h
diff --git a/pru-cookbook/07more/code/setup.sh b/books/pru-cookbook/07more/code/setup.sh
similarity index 100%
rename from pru-cookbook/07more/code/setup.sh
rename to books/pru-cookbook/07more/code/setup.sh
diff --git a/pru-cookbook/07more/code/xin.pru1.c b/books/pru-cookbook/07more/code/xin.pru1.c
similarity index 100%
rename from pru-cookbook/07more/code/xin.pru1.c
rename to books/pru-cookbook/07more/code/xin.pru1.c
diff --git a/pru-cookbook/07more/code/xout-cycle.pru0.c b/books/pru-cookbook/07more/code/xout-cycle.pru0.c
similarity index 100%
rename from pru-cookbook/07more/code/xout-cycle.pru0.c
rename to books/pru-cookbook/07more/code/xout-cycle.pru0.c
diff --git a/pru-cookbook/07more/code/xout.pru0.c b/books/pru-cookbook/07more/code/xout.pru0.c
similarity index 100%
rename from pru-cookbook/07more/code/xout.pru0.c
rename to books/pru-cookbook/07more/code/xout.pru0.c
diff --git a/pru-cookbook/07more/code/xout_run.sh b/books/pru-cookbook/07more/code/xout_run.sh
similarity index 100%
rename from pru-cookbook/07more/code/xout_run.sh
rename to books/pru-cookbook/07more/code/xout_run.sh
diff --git a/pru-cookbook/07more/figures/my_delay_cycles.png b/books/pru-cookbook/07more/figures/my_delay_cycles.png
similarity index 100%
rename from pru-cookbook/07more/figures/my_delay_cycles.png
rename to books/pru-cookbook/07more/figures/my_delay_cycles.png
diff --git a/pru-cookbook/07more/more.rst b/books/pru-cookbook/07more/more.rst
similarity index 100%
rename from pru-cookbook/07more/more.rst
rename to books/pru-cookbook/07more/more.rst
diff --git a/pru-cookbook/08ai/ai.rst b/books/pru-cookbook/08ai/ai.rst
similarity index 100%
rename from pru-cookbook/08ai/ai.rst
rename to books/pru-cookbook/08ai/ai.rst
diff --git a/pru-cookbook/08ai/code/Makefile b/books/pru-cookbook/08ai/code/Makefile
similarity index 100%
rename from pru-cookbook/08ai/code/Makefile
rename to books/pru-cookbook/08ai/code/Makefile
diff --git a/pru-cookbook/08ai/code/pwm1.pru2_1.c b/books/pru-cookbook/08ai/code/pwm1.pru2_1.c
similarity index 100%
rename from pru-cookbook/08ai/code/pwm1.pru2_1.c
rename to books/pru-cookbook/08ai/code/pwm1.pru2_1.c
diff --git a/pru-cookbook/common/Makefile b/books/pru-cookbook/common/Makefile
similarity index 100%
rename from pru-cookbook/common/Makefile
rename to books/pru-cookbook/common/Makefile
diff --git a/pru-cookbook/common/README.md b/books/pru-cookbook/common/README.md
similarity index 100%
rename from pru-cookbook/common/README.md
rename to books/pru-cookbook/common/README.md
diff --git a/pru-cookbook/common/config-pin.sh b/books/pru-cookbook/common/config-pin.sh
similarity index 100%
rename from pru-cookbook/common/config-pin.sh
rename to books/pru-cookbook/common/config-pin.sh
diff --git a/pru-cookbook/common/init_pins_empty.h b/books/pru-cookbook/common/init_pins_empty.h
similarity index 100%
rename from pru-cookbook/common/init_pins_empty.h
rename to books/pru-cookbook/common/init_pins_empty.h
diff --git a/pru-cookbook/common/prugpio.h b/books/pru-cookbook/common/prugpio.h
similarity index 100%
rename from pru-cookbook/common/prugpio.h
rename to books/pru-cookbook/common/prugpio.h
diff --git a/pru-cookbook/common/resource_table_0.h b/books/pru-cookbook/common/resource_table_0.h
similarity index 100%
rename from pru-cookbook/common/resource_table_0.h
rename to books/pru-cookbook/common/resource_table_0.h
diff --git a/pru-cookbook/common/resource_table_1.h b/books/pru-cookbook/common/resource_table_1.h
similarity index 100%
rename from pru-cookbook/common/resource_table_1.h
rename to books/pru-cookbook/common/resource_table_1.h
diff --git a/pru-cookbook/common/resource_table_empty.h b/books/pru-cookbook/common/resource_table_empty.h
similarity index 100%
rename from pru-cookbook/common/resource_table_empty.h
rename to books/pru-cookbook/common/resource_table_empty.h
diff --git a/pru-cookbook/common/write_init_pins.sh b/books/pru-cookbook/common/write_init_pins.sh
similarity index 100%
rename from pru-cookbook/common/write_init_pins.sh
rename to books/pru-cookbook/common/write_init_pins.sh
diff --git a/pru-cookbook/index.rst b/books/pru-cookbook/index.rst
similarity index 100%
rename from pru-cookbook/index.rst
rename to books/pru-cookbook/index.rst
diff --git a/pru-cookbook/projects.rst b/books/pru-cookbook/projects.rst
similarity index 100%
rename from pru-cookbook/projects.rst
rename to books/pru-cookbook/projects.rst
diff --git a/index-tex.rst b/index-tex.rst
index c5507002..f048f60b 100644
--- a/index-tex.rst
+++ b/index-tex.rst
@@ -10,13 +10,7 @@ BeagleBoard Docs
 
 
 .. toctree::
-   support/index.rst
-   contribution/index.rst
-   beaglebone-black/index.rst
-   beaglebone-ai-64/index.rst
-   pocketbeagle/index.rst
-   beaglebone-blue/index.rst
-   beagleconnect/index.rst
-   simppru/index.rst
-   beaglebone-cookbook/index.rst
-   pru-cookbook/index.rst
+   intro/index.rst
+   boards/index.rst
+   projects/index.rst
+   books/index.rst
diff --git a/index.rst b/index.rst
index 2b2b325a..8fa160df 100644
--- a/index.rst
+++ b/index.rst
@@ -11,31 +11,28 @@ Sections
 
 .. toctree::
    :maxdepth: 1
-   :caption: General
+   :caption: Introduction
 
-   support/index.rst
-   contribution/index.rst
+   intro/index.rst
 
 .. toctree::
    :maxdepth: 1
    :caption: Boards
 
-   beaglebone-black/index.rst
-   beaglebone-ai-64/index.rst
-   pocketbeagle/index.rst
-   beaglebone-blue/index.rst
-   beagleconnect/index.rst
+   boards/index.rst
 
 .. toctree::
    :maxdepth: 1
    :caption: Projects
 
+   projects/index.rst
    simppru/index.rst
 
 .. toctree::
    :maxdepth: 1
    :caption: Books
 
+   books/index.rst
    beaglebone-cookbook/index.rst
    pru-cookbook/index.rst
 
diff --git a/contribution/contribute.rst b/intro/contribution/contribute.rst
similarity index 100%
rename from contribution/contribute.rst
rename to intro/contribution/contribute.rst
diff --git a/contribution/git-usage.rst b/intro/contribution/git-usage.rst
similarity index 100%
rename from contribution/git-usage.rst
rename to intro/contribution/git-usage.rst
diff --git a/contribution/index.rst b/intro/contribution/index.rst
similarity index 100%
rename from contribution/index.rst
rename to intro/contribution/index.rst
diff --git a/support/getting-started.rst b/intro/support/getting-started.rst
similarity index 100%
rename from support/getting-started.rst
rename to intro/support/getting-started.rst
diff --git a/support/images/88x31.png b/intro/support/images/88x31.png
similarity index 100%
rename from support/images/88x31.png
rename to intro/support/images/88x31.png
diff --git a/support/images/bad-to-the-bone.jpg b/intro/support/images/bad-to-the-bone.jpg
similarity index 100%
rename from support/images/bad-to-the-bone.jpg
rename to intro/support/images/bad-to-the-bone.jpg
diff --git a/support/images/beagle_logo_326x60.png b/intro/support/images/beagle_logo_326x60.png
similarity index 100%
rename from support/images/beagle_logo_326x60.png
rename to intro/support/images/beagle_logo_326x60.png
diff --git a/support/images/beaglebone-cookbook.jpg b/intro/support/images/beaglebone-cookbook.jpg
similarity index 100%
rename from support/images/beaglebone-cookbook.jpg
rename to intro/support/images/beaglebone-cookbook.jpg
diff --git a/support/images/bone101.png b/intro/support/images/bone101.png
similarity index 100%
rename from support/images/bone101.png
rename to intro/support/images/bone101.png
diff --git a/support/images/btn_step1.gif b/intro/support/images/btn_step1.gif
similarity index 100%
rename from support/images/btn_step1.gif
rename to intro/support/images/btn_step1.gif
diff --git a/support/images/btn_step2.gif b/intro/support/images/btn_step2.gif
similarity index 100%
rename from support/images/btn_step2.gif
rename to intro/support/images/btn_step2.gif
diff --git a/support/images/btn_step3.gif b/intro/support/images/btn_step3.gif
similarity index 100%
rename from support/images/btn_step3.gif
rename to intro/support/images/btn_step3.gif
diff --git a/support/images/download-etcher.png b/intro/support/images/download-etcher.png
similarity index 100%
rename from support/images/download-etcher.png
rename to intro/support/images/download-etcher.png
diff --git a/support/images/download-latestimage.png b/intro/support/images/download-latestimage.png
similarity index 100%
rename from support/images/download-latestimage.png
rename to intro/support/images/download-latestimage.png
diff --git a/support/images/embedded-linux-primer.jpg b/intro/support/images/embedded-linux-primer.jpg
similarity index 100%
rename from support/images/embedded-linux-primer.jpg
rename to intro/support/images/embedded-linux-primer.jpg
diff --git a/support/images/exploring-beaglebone.jpg b/intro/support/images/exploring-beaglebone.jpg
similarity index 100%
rename from support/images/exploring-beaglebone.jpg
rename to intro/support/images/exploring-beaglebone.jpg
diff --git a/support/images/icon_facebook.png b/intro/support/images/icon_facebook.png
similarity index 100%
rename from support/images/icon_facebook.png
rename to intro/support/images/icon_facebook.png
diff --git a/support/images/icon_linkedin.png b/intro/support/images/icon_linkedin.png
similarity index 100%
rename from support/images/icon_linkedin.png
rename to intro/support/images/icon_linkedin.png
diff --git a/support/images/icon_twitter.png b/intro/support/images/icon_twitter.png
similarity index 100%
rename from support/images/icon_twitter.png
rename to intro/support/images/icon_twitter.png
diff --git a/support/images/install-etcher.png b/intro/support/images/install-etcher.png
similarity index 100%
rename from support/images/install-etcher.png
rename to intro/support/images/install-etcher.png
diff --git a/support/images/write-latestimage.png b/intro/support/images/write-latestimage.png
similarity index 100%
rename from support/images/write-latestimage.png
rename to intro/support/images/write-latestimage.png
diff --git a/support/images/youTube-icon.png b/intro/support/images/youTube-icon.png
similarity index 100%
rename from support/images/youTube-icon.png
rename to intro/support/images/youTube-icon.png
diff --git a/support/overview.rst b/intro/support/index.rst
similarity index 83%
rename from support/overview.rst
rename to intro/support/index.rst
index d9e1f965..3e913b59 100644
--- a/support/overview.rst
+++ b/intro/support/index.rst
@@ -1,15 +1,19 @@
-Overview
-=========
+.. _support:
+
+Support
+#########
+
+.. note:: #TODO# all the links need updating and content moved into this repo.
 
 Getting started
----------------
+===============
 
 The starting experience for all Beagles has been made to be as
 consistent as is possible. For any of the Beagle Linux-based open
 hardware computers, visit our `getting started guide <getting-started>`__.
 
 Getting support
----------------
+===============
 
 BeagleBoard.org products and `open
 hardware <https://www.oshwa.org/definition/>`__ designs are supported
@@ -23,8 +27,14 @@ to provide a link to your questions on the `community
 forums <https://forum.beagleboard.org>`__ as answers will be provided
 there.
 
+.. toctree::
+   :maxdepth: 1
+
+   getting-started.rst
+
+
 Diagnostic tools
-----------------
+================
 
 Best to be prepared with good diagnostic information to aide with
 support.
@@ -33,7 +43,7 @@ support.
 -  `Beagle Tester source <https://git.beagleboard.org/jkridner/beagle-tester>`__
 
 Community resources
--------------------
+===================
 
 Please execute the board diagnostics, review the hardware documentation,
 and consult the mailing list and IRC channel for support.
@@ -46,7 +56,7 @@ of the entire community.
 -  `Live Chat <https://beagleboard.org/chat>`__
 
 Consulting and other resources
-------------------------------
+==============================
 
 Need timely response or contract resources because you are building a
 product?
@@ -54,7 +64,7 @@ product?
 -  `Resources <https://beagleboard.org/resources>`__
 
 Repairs
--------
+=======
 
 Repairs and replacements only provided on unmodified boards purchased
 via an authorized distributor within the first 90 days. All repaired
@@ -62,10 +72,10 @@ board will have their flash reset to factory contents. For repairs and
 replacements, please contact ‘support’ at BeagleBoard.org using the RMA
 form:
 
--  `RMA request <https://beagleboard.org//support/rma>`__
+-  `RMA request <https://beagleboard.org/support/rma>`__
 
 Understanding Your Beagle
--------------------------
+=========================
 
 -  `BeagleBone Introduction <https://beagleboard.org/Support/bone101>`__
 -  `Hardware <https://beagleboard.org/Support/Hardware+Support>`__
@@ -78,3 +88,8 @@ Understanding Your Beagle
    -  `BeagleBone Cookbook <https://beagleboard.org/cookbook>`__
    -  `Bad to the Bone <https://beagleboard.org/bad-to-the-bone>`__
 
+Working with Cape Add-on Boards
+===============================
+
+- `BeagleBone Cape Interface Specification <../../boards/capes/cape-interface-spec>`__
+
diff --git a/projects/index.rst b/projects/index.rst
new file mode 100644
index 00000000..d86b7bf2
--- /dev/null
+++ b/projects/index.rst
@@ -0,0 +1,10 @@
+Projects
+********
+
+This is a collection of reasonably well-supported projects useful to Beagle developers.
+
+.. toctree::
+   :maxdepth: 1
+
+   simppru/index.rst
+
diff --git a/simppru/basics.rst b/projects/simppru/basics.rst
similarity index 100%
rename from simppru/basics.rst
rename to projects/simppru/basics.rst
diff --git a/simppru/build.rst b/projects/simppru/build.rst
similarity index 100%
rename from simppru/build.rst
rename to projects/simppru/build.rst
diff --git a/simppru/examples/button_click_rpmsg.rst b/projects/simppru/examples/button_click_rpmsg.rst
similarity index 100%
rename from simppru/examples/button_click_rpmsg.rst
rename to projects/simppru/examples/button_click_rpmsg.rst
diff --git a/simppru/examples/delay.rst b/projects/simppru/examples/delay.rst
similarity index 100%
rename from simppru/examples/delay.rst
rename to projects/simppru/examples/delay.rst
diff --git a/simppru/examples/digital_read.rst b/projects/simppru/examples/digital_read.rst
similarity index 100%
rename from simppru/examples/digital_read.rst
rename to projects/simppru/examples/digital_read.rst
diff --git a/simppru/examples/digital_write.rst b/projects/simppru/examples/digital_write.rst
similarity index 100%
rename from simppru/examples/digital_write.rst
rename to projects/simppru/examples/digital_write.rst
diff --git a/simppru/examples/hcsr04_example_rpmsg.rst b/projects/simppru/examples/hcsr04_example_rpmsg.rst
similarity index 100%
rename from simppru/examples/hcsr04_example_rpmsg.rst
rename to projects/simppru/examples/hcsr04_example_rpmsg.rst
diff --git a/simppru/examples/hcsr04_sensor.rst b/projects/simppru/examples/hcsr04_sensor.rst
similarity index 100%
rename from simppru/examples/hcsr04_sensor.rst
rename to projects/simppru/examples/hcsr04_sensor.rst
diff --git a/simppru/examples/images/hcsr04_beagle_bone_black.png b/projects/simppru/examples/images/hcsr04_beagle_bone_black.png
similarity index 100%
rename from simppru/examples/images/hcsr04_beagle_bone_black.png
rename to projects/simppru/examples/images/hcsr04_beagle_bone_black.png
diff --git a/simppru/examples/images/hcsr04_pocket_beagle.png b/projects/simppru/examples/images/hcsr04_pocket_beagle.png
similarity index 100%
rename from simppru/examples/images/hcsr04_pocket_beagle.png
rename to projects/simppru/examples/images/hcsr04_pocket_beagle.png
diff --git a/simppru/examples/images/led_beagle_bone_black.png b/projects/simppru/examples/images/led_beagle_bone_black.png
similarity index 100%
rename from simppru/examples/images/led_beagle_bone_black.png
rename to projects/simppru/examples/images/led_beagle_bone_black.png
diff --git a/simppru/examples/images/led_button_beagle_bone_black.png b/projects/simppru/examples/images/led_button_beagle_bone_black.png
similarity index 100%
rename from simppru/examples/images/led_button_beagle_bone_black.png
rename to projects/simppru/examples/images/led_button_beagle_bone_black.png
diff --git a/simppru/examples/images/led_button_pocket_beagle.png b/projects/simppru/examples/images/led_button_pocket_beagle.png
similarity index 100%
rename from simppru/examples/images/led_button_pocket_beagle.png
rename to projects/simppru/examples/images/led_button_pocket_beagle.png
diff --git a/simppru/examples/images/led_pocket_beagle.png b/projects/simppru/examples/images/led_pocket_beagle.png
similarity index 100%
rename from simppru/examples/images/led_pocket_beagle.png
rename to projects/simppru/examples/images/led_pocket_beagle.png
diff --git a/simppru/examples/images/simpPRU.png b/projects/simppru/examples/images/simpPRU.png
similarity index 100%
rename from simppru/examples/images/simpPRU.png
rename to projects/simppru/examples/images/simpPRU.png
diff --git a/simppru/examples/index.rst b/projects/simppru/examples/index.rst
similarity index 100%
rename from simppru/examples/index.rst
rename to projects/simppru/examples/index.rst
diff --git a/simppru/examples/led_blink.rst b/projects/simppru/examples/led_blink.rst
similarity index 100%
rename from simppru/examples/led_blink.rst
rename to projects/simppru/examples/led_blink.rst
diff --git a/simppru/examples/led_blink_button.rst b/projects/simppru/examples/led_blink_button.rst
similarity index 100%
rename from simppru/examples/led_blink_button.rst
rename to projects/simppru/examples/led_blink_button.rst
diff --git a/simppru/examples/led_blink_counter.rst b/projects/simppru/examples/led_blink_counter.rst
similarity index 100%
rename from simppru/examples/led_blink_counter.rst
rename to projects/simppru/examples/led_blink_counter.rst
diff --git a/simppru/examples/led_blink_for.rst b/projects/simppru/examples/led_blink_for.rst
similarity index 100%
rename from simppru/examples/led_blink_for.rst
rename to projects/simppru/examples/led_blink_for.rst
diff --git a/simppru/examples/led_blink_while.rst b/projects/simppru/examples/led_blink_while.rst
similarity index 100%
rename from simppru/examples/led_blink_while.rst
rename to projects/simppru/examples/led_blink_while.rst
diff --git a/simppru/examples/read_counter.rst b/projects/simppru/examples/read_counter.rst
similarity index 100%
rename from simppru/examples/read_counter.rst
rename to projects/simppru/examples/read_counter.rst
diff --git a/simppru/examples/rpmsg_example.rst b/projects/simppru/examples/rpmsg_example.rst
similarity index 100%
rename from simppru/examples/rpmsg_example.rst
rename to projects/simppru/examples/rpmsg_example.rst
diff --git a/simppru/examples/rpmsg_pru_calculator.rst b/projects/simppru/examples/rpmsg_pru_calculator.rst
similarity index 100%
rename from simppru/examples/rpmsg_pru_calculator.rst
rename to projects/simppru/examples/rpmsg_pru_calculator.rst
diff --git a/simppru/images/main_screen.png b/projects/simppru/images/main_screen.png
similarity index 100%
rename from simppru/images/main_screen.png
rename to projects/simppru/images/main_screen.png
diff --git a/simppru/images/receive_counter.png b/projects/simppru/images/receive_counter.png
similarity index 100%
rename from simppru/images/receive_counter.png
rename to projects/simppru/images/receive_counter.png
diff --git a/simppru/images/receive_counter_2.png b/projects/simppru/images/receive_counter_2.png
similarity index 100%
rename from simppru/images/receive_counter_2.png
rename to projects/simppru/images/receive_counter_2.png
diff --git a/simppru/images/receive_screen.png b/projects/simppru/images/receive_screen.png
similarity index 100%
rename from simppru/images/receive_screen.png
rename to projects/simppru/images/receive_screen.png
diff --git a/simppru/images/receive_screen_2.png b/projects/simppru/images/receive_screen_2.png
similarity index 100%
rename from simppru/images/receive_screen_2.png
rename to projects/simppru/images/receive_screen_2.png
diff --git a/simppru/images/select_pru_id_screen.png b/projects/simppru/images/select_pru_id_screen.png
similarity index 100%
rename from simppru/images/select_pru_id_screen.png
rename to projects/simppru/images/select_pru_id_screen.png
diff --git a/simppru/images/send_screen.png b/projects/simppru/images/send_screen.png
similarity index 100%
rename from simppru/images/send_screen.png
rename to projects/simppru/images/send_screen.png
diff --git a/simppru/images/simpPRU.png b/projects/simppru/images/simpPRU.png
similarity index 100%
rename from simppru/images/simpPRU.png
rename to projects/simppru/images/simpPRU.png
diff --git a/simppru/images/stop_screen.png b/projects/simppru/images/stop_screen.png
similarity index 100%
rename from simppru/images/stop_screen.png
rename to projects/simppru/images/stop_screen.png
diff --git a/simppru/index.rst b/projects/simppru/index.rst
similarity index 100%
rename from simppru/index.rst
rename to projects/simppru/index.rst
diff --git a/simppru/install.rst b/projects/simppru/install.rst
similarity index 100%
rename from simppru/install.rst
rename to projects/simppru/install.rst
diff --git a/simppru/io.rst b/projects/simppru/io.rst
similarity index 100%
rename from simppru/io.rst
rename to projects/simppru/io.rst
diff --git a/simppru/language.rst b/projects/simppru/language.rst
similarity index 100%
rename from simppru/language.rst
rename to projects/simppru/language.rst
diff --git a/simppru/usage-simppru-console.rst b/projects/simppru/usage-simppru-console.rst
similarity index 100%
rename from simppru/usage-simppru-console.rst
rename to projects/simppru/usage-simppru-console.rst
diff --git a/simppru/usage-simppru.rst b/projects/simppru/usage-simppru.rst
similarity index 100%
rename from simppru/usage-simppru.rst
rename to projects/simppru/usage-simppru.rst
diff --git a/support/index.rst b/support/index.rst
deleted file mode 100644
index 3077a483..00000000
--- a/support/index.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-.. _support:
-
-Support
-#########
-
-.. note:: #TODO# all the links need updating and content moved into this repo.
-
-.. toctree::
-   :maxdepth: 1
-
-   overview.rst
-   getting-started.rst
-   cape-interface-spec.rst
-- 
GitLab


From 5306c504fe5966e133a94549bcb38efca76c3673 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 10:56:52 -0400
Subject: [PATCH 04/83] Fixing some reorganization issues

---
 boards/index.rst   |  2 +-
 books/index.rst    |  2 +-
 index.rst          | 15 ++++-----------
 intro/index.rst    | 19 +++++++++++++++++++
 projects/index.rst |  2 +-
 5 files changed, 26 insertions(+), 14 deletions(-)
 create mode 100644 intro/index.rst

diff --git a/boards/index.rst b/boards/index.rst
index 10382195..324c0de6 100644
--- a/boards/index.rst
+++ b/boards/index.rst
@@ -1,4 +1,4 @@
-Boards
+BOARDS
 #########
 
 `BeagleBone <beaglebone>`__ is a family of ARM-based, Linux-capable boards intended to be
diff --git a/books/index.rst b/books/index.rst
index b96c8dab..e78bb4ed 100644
--- a/books/index.rst
+++ b/books/index.rst
@@ -1,4 +1,4 @@
-Books
+BOOKS
 ********
 
 This is a collection of open-source books written to help Beagle developers.
diff --git a/index.rst b/index.rst
index 8fa160df..14ebc830 100644
--- a/index.rst
+++ b/index.rst
@@ -10,31 +10,24 @@ Sections
 ********
 
 .. toctree::
-   :maxdepth: 1
-   :caption: Introduction
+   :maxdepth: 2
 
    intro/index.rst
 
 .. toctree::
-   :maxdepth: 1
-   :caption: Boards
+   :maxdepth: 2
 
    boards/index.rst
 
 .. toctree::
-   :maxdepth: 1
-   :caption: Projects
+   :maxdepth: 2
 
    projects/index.rst
-   simppru/index.rst
 
 .. toctree::
-   :maxdepth: 1
-   :caption: Books
+   :maxdepth: 2
 
    books/index.rst
-   beaglebone-cookbook/index.rst
-   pru-cookbook/index.rst
 
 Indices and tables
 ############################
diff --git a/intro/index.rst b/intro/index.rst
new file mode 100644
index 00000000..e1387b4e
--- /dev/null
+++ b/intro/index.rst
@@ -0,0 +1,19 @@
+INTRODUCTION
+*************
+
+Welcome to the BeagleBoard documentation project. If you are looking for help with your Beagle
+open-hardware development platform, you've found the right place!
+
+Please check out our `Support Page <support>`__ to find out how to get started, resolve issues,
+and engage the developer community.
+
+Don't forget that this is an open-source project! Your contributions are welcome. Learn about how
+to contribute to the BeagleBoard documentation project and any of the many open-source Beagle
+projects on-going on our `Contribution Page <contribution>`__.
+
+.. toctree::
+   :maxdepth: 1
+
+   support/index.rst
+   contribution/index.rst
+
diff --git a/projects/index.rst b/projects/index.rst
index d86b7bf2..506d836f 100644
--- a/projects/index.rst
+++ b/projects/index.rst
@@ -1,4 +1,4 @@
-Projects
+PROJECTS
 ********
 
 This is a collection of reasonably well-supported projects useful to Beagle developers.
-- 
GitLab


From a64fcf5b691222ded74e529c8a596a10356e7f1d Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 11:08:17 -0400
Subject: [PATCH 05/83] Try boards index fix

---
 boards/index.rst | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/boards/index.rst b/boards/index.rst
index 324c0de6..a56e5c00 100644
--- a/boards/index.rst
+++ b/boards/index.rst
@@ -19,7 +19,8 @@ options that enable almost endless sensing and actuation expansion.
 started.
 
 .. toctree::
-   :maxdepth: 1
+   :maxdepth: 2
+
    beaglebone/index.rst
    capes/index.rst
    pocketbeagle/index.rst
-- 
GitLab


From 973acd1f6820ed704bb40d3a62286fc546278715 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 11:14:30 -0400
Subject: [PATCH 06/83] Fix image BeagleConnect Freedom image links

---
 .../{ => freedom}/media/image1.jpg            | Bin
 boards/beagleconnect/index.rst                |   2 +-
 boards/beagleconnect/story.rst                |  24 ------------------
 3 files changed, 1 insertion(+), 25 deletions(-)
 rename boards/beagleconnect/{ => freedom}/media/image1.jpg (100%)

diff --git a/boards/beagleconnect/media/image1.jpg b/boards/beagleconnect/freedom/media/image1.jpg
similarity index 100%
rename from boards/beagleconnect/media/image1.jpg
rename to boards/beagleconnect/freedom/media/image1.jpg
diff --git a/boards/beagleconnect/index.rst b/boards/beagleconnect/index.rst
index e4565c52..e94df7fe 100644
--- a/boards/beagleconnect/index.rst
+++ b/boards/beagleconnect/index.rst
@@ -82,7 +82,7 @@ For home automaters, integration into WebThings…
 
 #TODO: think a bit more about this section with some feedback from Cathy.
 
-.. image:: media/image1.jpg
+.. image:: freedom/media/image1.jpg
    :width: 598
    :align: center
    :height: 400
diff --git a/boards/beagleconnect/story.rst b/boards/beagleconnect/story.rst
index 99d700ea..40e8f15b 100644
--- a/boards/beagleconnect/story.rst
+++ b/boards/beagleconnect/story.rst
@@ -30,27 +30,3 @@ locations on the screen, she adopted using a joystick and her productivity came
 to a crawl. How is it that such assumptions could be made impacting all 
 computer users without any thoughtful provisions for what already worked?
 
-
-
-.. image:: media/image1.jpg
-   :width: 598
-   :align: center
-   :height: 400
-   :alt: BeagleConnect
-
-.. toctree::
-   :maxdepth: 1
-
-   intro.rst
-   ch02.rst
-   ch03.rst
-   ch04.rst
-   ch05.rst
-   ch06.rst
-   ch07.rst
-   ch08.rst
-   ch09.rst
-   ch10.rst
-   ch11.rst
-   freedom/index.rst
-
-- 
GitLab


From 119e785abca145591e85b1b37d5840e2cee9a02b Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 11:18:13 -0400
Subject: [PATCH 07/83] Fix BeagleConnect image locations

---
 .../beagleconnect/{ => freedom}/media/ProvStep1.jpg | Bin
 .../beagleconnect/{ => freedom}/media/ProvStep2.jpg | Bin
 .../beagleconnect/{ => freedom}/media/ProvStep3.jpg | Bin
 3 files changed, 0 insertions(+), 0 deletions(-)
 rename boards/beagleconnect/{ => freedom}/media/ProvStep1.jpg (100%)
 rename boards/beagleconnect/{ => freedom}/media/ProvStep2.jpg (100%)
 rename boards/beagleconnect/{ => freedom}/media/ProvStep3.jpg (100%)

diff --git a/boards/beagleconnect/media/ProvStep1.jpg b/boards/beagleconnect/freedom/media/ProvStep1.jpg
similarity index 100%
rename from boards/beagleconnect/media/ProvStep1.jpg
rename to boards/beagleconnect/freedom/media/ProvStep1.jpg
diff --git a/boards/beagleconnect/media/ProvStep2.jpg b/boards/beagleconnect/freedom/media/ProvStep2.jpg
similarity index 100%
rename from boards/beagleconnect/media/ProvStep2.jpg
rename to boards/beagleconnect/freedom/media/ProvStep2.jpg
diff --git a/boards/beagleconnect/media/ProvStep3.jpg b/boards/beagleconnect/freedom/media/ProvStep3.jpg
similarity index 100%
rename from boards/beagleconnect/media/ProvStep3.jpg
rename to boards/beagleconnect/freedom/media/ProvStep3.jpg
-- 
GitLab


From 46768f64e4769ad128053f893f41a15afafa00f8 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 11:47:27 -0400
Subject: [PATCH 08/83] WIP cleanups

---
 boards/beaglebone/index.rst    | 4 ++--
 boards/beagleconnect/index.rst | 7 +++----
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/boards/beaglebone/index.rst b/boards/beaglebone/index.rst
index 4ab89c9f..6140bc4e 100644
--- a/boards/beaglebone/index.rst
+++ b/boards/beaglebone/index.rst
@@ -4,10 +4,10 @@ BeagleBone
 BeagleBone boards are intended to be bare-bones, with a balance of features to enable
 rapid prototyping and provide a solid reference for building end products.
 
-The most popular design is BeagleBone Black, a staple reference for an open hardware
+The most popular design is `BeagleBone Black <black>`__, a staple reference for an open hardware
 embedded Linux single board computer.
 
-BeagleBone AI-64 is our most powerful design with tremendous machine learning inference
+`BeagleBone AI-64 <ai-64>`__ is our most powerful design with tremendous machine learning inference
 performance and 
 
 For simplicity of developing small, mobile robotics, check out BeagleBone Blue, a highly
diff --git a/boards/beagleconnect/index.rst b/boards/beagleconnect/index.rst
index e94df7fe..880e1e18 100644
--- a/boards/beagleconnect/index.rst
+++ b/boards/beagleconnect/index.rst
@@ -1,8 +1,7 @@
 .. _beagleconnect-home:
 
-**************
 BeagleConnectâ„¢
-**************
+###############
 
 BeagleConnectâ„¢ is a revolutionary technology virtually eliminating low-level 
 software development for `IoT <https://en.wikipedia.org/wiki/Internet_of_things>`_ 
@@ -90,9 +89,9 @@ For home automaters, integration into WebThings…
 
 .. _beagleconnect-Change-History:
 
-**************
 Change History
-**************
+--------------
+
 
 .. toctree::
    :maxdepth: 1
-- 
GitLab


From 204ff5d022da2d15cba6fdeaaa093d3044e363be Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 11:49:45 -0400
Subject: [PATCH 09/83] Add capes to boards index

---
 boards/index.rst | 1 +
 1 file changed, 1 insertion(+)

diff --git a/boards/index.rst b/boards/index.rst
index a56e5c00..106ed0d4 100644
--- a/boards/index.rst
+++ b/boards/index.rst
@@ -24,6 +24,7 @@ started.
    beaglebone/index.rst
    capes/index.rst
    pocketbeagle/index.rst
+   capes/index.rst
    beagleconnect/index.rst
    beagleboard/index.rst
 
-- 
GitLab


From ae65baaf02347317ea884fae40d00ce5b049b5e2 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 12:28:46 -0400
Subject: [PATCH 10/83] WIP fixing index appearance

---
 boards/beagleconnect/freedom/index.rst        |    6 +
 boards/beagleconnect/index.rst                |   30 +-
 boards/beagleconnect/overview.rst             | 1108 -----------------
 .../{ => technology}/media/SoftwareProp.jpg   |  Bin
 .../media/bcf_block_diagram.svg               |    0
 .../beagleconnect/{ => technology}/story.rst  |    5 +-
 boards/index.rst                              |    4 +-
 .../System-Reference-Manual.wiki              |    0
 boards/pocketbeagle/{ => original}/ch01.rst   |    0
 boards/pocketbeagle/{ => original}/ch02.rst   |    0
 boards/pocketbeagle/{ => original}/ch03.rst   |    0
 boards/pocketbeagle/{ => original}/ch04.rst   |    0
 boards/pocketbeagle/{ => original}/ch05.rst   |    0
 boards/pocketbeagle/{ => original}/ch06.rst   |    0
 boards/pocketbeagle/{ => original}/ch07.rst   |    0
 boards/pocketbeagle/{ => original}/ch08.rst   |    0
 boards/pocketbeagle/{ => original}/ch09.rst   |    0
 boards/pocketbeagle/{ => original}/ch10.rst   |    0
 boards/pocketbeagle/{ => original}/ch11.rst   |    0
 .../images/10fig-PB-SDcardinsert1.jpg         |  Bin
 .../images/10fig-PB-SDcardinsert2.jpg         |  Bin
 .../images/11fig-PB-microUSBattach1.jpg       |  Bin
 .../images/12fig-PB-USBtoPC1.jpg              |  Bin
 .../images/13fig-PB-PowerLED1.png             |  Bin
 .../images/14fig-PB-UserLEDs1.png             |  Bin
 .../images/15fig-PB-starthtmpage.png          |  Bin
 .../images/16fig-PB-enablenetwork.png         |  Bin
 .../{ => original}/images/17fig-PB-cloud9.png |  Bin
 .../images/18fig-PB-cloud9exs.png             |  Bin
 .../images/19fig-PB-cloud9blink.png           |  Bin
 .../images/1fig-PB-homepage.png               |  Bin
 .../images/20fig-PB-powerbutton.png           |  Bin
 .../images/21fig-PB-walkaround.png            |  Bin
 .../images/22fig-PB-blockdiagram.png          |  Bin
 .../images/24fig-PB-Headerphoto.png           |  Bin
 .../{ => original}/images/25fig-PB-SDcard.png |  Bin
 .../{ => original}/images/26fig-PB-USB.png    |  Bin
 .../images/27fig-PB-JTAGpads.png              |  Bin
 .../images/28fig-PB-serialdebug.png           |  Bin
 .../images/40fig-PB-PRU-block.png             |  Bin
 .../images/41fig-PB-Headerback.png            |  Bin
 .../{ => original}/images/46fig-PB-Mikro.png  |  Bin
 .../images/5fig-PB-GetStarted.png             |  Bin
 .../images/6fig-PB-DownloadSW.png             |  Bin
 .../images/7fig-PB-Etcherdownload.png         |  Bin
 .../images/8fig-PB-Etcherselectimage.png      |  Bin
 .../images/9fig-PB-Etcherfinish.png           |  Bin
 .../{ => original}/images/Bonescript-ex.png   |  Bin
 .../{ => original}/images/Header-P1-sch.png   |  Bin
 .../{ => original}/images/Header-P2-sch.png   |  Bin
 .../{ => original}/images/Header-both-sch.png |  Bin
 .../{ => original}/images/JTAG-pads-sch.png   |  Bin
 .../images/OSD335x-color-block.jpg            |  Bin
 .../images/OSHW_mark_US000083.png             |  Bin
 .../{ => original}/images/PB-USB-photo.png    |  Bin
 .../{ => original}/images/PB-block-diag2.jpg  |  Bin
 .../{ => original}/images/PB-block-diag3.png  |  Bin
 .../images/PB-block-diagram.png               |  Bin
 .../{ => original}/images/PB-card-back-1.jpg  |  Bin
 .../{ => original}/images/PB-card-back.jpg    |  Bin
 .../{ => original}/images/PB-card-front-1.jpg |  Bin
 .../{ => original}/images/PB-card-front.jpg   |  Bin
 .../{ => original}/images/PB-header-photo.png |  Bin
 .../images/PB-microSDphoto-small.jpg          |  Bin
 .../{ => original}/images/PB-microSDphoto.jpg |  Bin
 .../images/PB-powerLED-photo.png              |  Bin
 .../{ => original}/images/PB-powerbutton.png  |  Bin
 .../{ => original}/images/PB-tethered.png     |  Bin
 .../{ => original}/images/PB-tutorials.png    |  Bin
 .../images/PB-userLED-photo.png               |  Bin
 .../{ => original}/images/PB-walkaround-2.jpg |  Bin
 .../{ => original}/images/PB-walkaround-2.png |  Bin
 .../{ => original}/images/PB-walkaround-3.jpg |  Bin
 .../{ => original}/images/PB-walkaround.png   |  Bin
 .../{ => original}/images/PB1-fullPC-3.jpg    |  Bin
 .../PocketBeagle-size-compare-small.jpg       |  Bin
 .../images/PocketBeagle_Back_BW.jpg           |  Bin
 .../images/PocketBeagle_Expansion_Headers.ods |  Bin
 .../images/PocketBeagle_Front_BW-small.jpg    |  Bin
 .../images/PocketBeagle_Front_BW.jpg          |  Bin
 .../images/PocketBeagle_microUSB_bb.png       |  Bin
 .../images/PocketBeagle_microUSB_bb.svg       |    0
 .../images/PocketBeagle_microUSB_bb1.png      |  Bin
 .../images/PocketBeagle_pinout.pdf            |  Bin
 .../images/PocketBeagle_pinout.png            |  Bin
 .../images/Power-button-sch.png               |  Bin
 .../images/SRM1_cloud9blinkPB.png             |  Bin
 .../images/SRM2_cloud9blinkPB.png             |  Bin
 .../images/SRM3_cloud9blinkPB.png             |  Bin
 .../images/SRM4_cloud9blinkPB.png             |  Bin
 .../{ => original}/images/SiP-A-sch.png       |  Bin
 .../{ => original}/images/SiP-B-sch.png       |  Bin
 .../{ => original}/images/SiP-C-sch.png       |  Bin
 .../{ => original}/images/SiP-D-sch.png       |  Bin
 .../{ => original}/images/SiP-E-sch.png       |  Bin
 .../{ => original}/images/SiP-F-sch.png       |  Bin
 .../{ => original}/images/USB-sch.png         |  Bin
 .../{ => original}/images/User-LEDs-sch.png   |  Bin
 .../images/fig-PB-Headerphoto.png             |  Bin
 .../{ => original}/images/green_check.png     |  Bin
 .../images/mikrobus-socket-pinout.jpg         |  Bin
 .../pocketbeagle_package_small_size.jpg       |  Bin
 .../images/usdconnector-sch.png               |  Bin
 .../{ => original}/images/warning_tri.png     |  Bin
 boards/pocketbeagle/{ => original}/index.rst  |    0
 index.rst                                     |    4 +-
 intro/contribution/contribute.rst             |    1 -
 intro/contribution/index.rst                  |    1 +
 intro/contribution/style.rst                  |   12 +
 intro/index.rst                               |    4 +-
 110 files changed, 47 insertions(+), 1128 deletions(-)
 delete mode 100644 boards/beagleconnect/overview.rst
 rename boards/beagleconnect/{ => technology}/media/SoftwareProp.jpg (100%)
 rename boards/beagleconnect/{ => technology}/media/bcf_block_diagram.svg (100%)
 rename boards/beagleconnect/{ => technology}/story.rst (97%)
 rename boards/pocketbeagle/{ => original}/System-Reference-Manual.wiki (100%)
 rename boards/pocketbeagle/{ => original}/ch01.rst (100%)
 rename boards/pocketbeagle/{ => original}/ch02.rst (100%)
 rename boards/pocketbeagle/{ => original}/ch03.rst (100%)
 rename boards/pocketbeagle/{ => original}/ch04.rst (100%)
 rename boards/pocketbeagle/{ => original}/ch05.rst (100%)
 rename boards/pocketbeagle/{ => original}/ch06.rst (100%)
 rename boards/pocketbeagle/{ => original}/ch07.rst (100%)
 rename boards/pocketbeagle/{ => original}/ch08.rst (100%)
 rename boards/pocketbeagle/{ => original}/ch09.rst (100%)
 rename boards/pocketbeagle/{ => original}/ch10.rst (100%)
 rename boards/pocketbeagle/{ => original}/ch11.rst (100%)
 rename boards/pocketbeagle/{ => original}/images/10fig-PB-SDcardinsert1.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/10fig-PB-SDcardinsert2.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/11fig-PB-microUSBattach1.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/12fig-PB-USBtoPC1.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/13fig-PB-PowerLED1.png (100%)
 rename boards/pocketbeagle/{ => original}/images/14fig-PB-UserLEDs1.png (100%)
 rename boards/pocketbeagle/{ => original}/images/15fig-PB-starthtmpage.png (100%)
 rename boards/pocketbeagle/{ => original}/images/16fig-PB-enablenetwork.png (100%)
 rename boards/pocketbeagle/{ => original}/images/17fig-PB-cloud9.png (100%)
 rename boards/pocketbeagle/{ => original}/images/18fig-PB-cloud9exs.png (100%)
 rename boards/pocketbeagle/{ => original}/images/19fig-PB-cloud9blink.png (100%)
 rename boards/pocketbeagle/{ => original}/images/1fig-PB-homepage.png (100%)
 rename boards/pocketbeagle/{ => original}/images/20fig-PB-powerbutton.png (100%)
 rename boards/pocketbeagle/{ => original}/images/21fig-PB-walkaround.png (100%)
 rename boards/pocketbeagle/{ => original}/images/22fig-PB-blockdiagram.png (100%)
 rename boards/pocketbeagle/{ => original}/images/24fig-PB-Headerphoto.png (100%)
 rename boards/pocketbeagle/{ => original}/images/25fig-PB-SDcard.png (100%)
 rename boards/pocketbeagle/{ => original}/images/26fig-PB-USB.png (100%)
 rename boards/pocketbeagle/{ => original}/images/27fig-PB-JTAGpads.png (100%)
 rename boards/pocketbeagle/{ => original}/images/28fig-PB-serialdebug.png (100%)
 rename boards/pocketbeagle/{ => original}/images/40fig-PB-PRU-block.png (100%)
 rename boards/pocketbeagle/{ => original}/images/41fig-PB-Headerback.png (100%)
 rename boards/pocketbeagle/{ => original}/images/46fig-PB-Mikro.png (100%)
 rename boards/pocketbeagle/{ => original}/images/5fig-PB-GetStarted.png (100%)
 rename boards/pocketbeagle/{ => original}/images/6fig-PB-DownloadSW.png (100%)
 rename boards/pocketbeagle/{ => original}/images/7fig-PB-Etcherdownload.png (100%)
 rename boards/pocketbeagle/{ => original}/images/8fig-PB-Etcherselectimage.png (100%)
 rename boards/pocketbeagle/{ => original}/images/9fig-PB-Etcherfinish.png (100%)
 rename boards/pocketbeagle/{ => original}/images/Bonescript-ex.png (100%)
 rename boards/pocketbeagle/{ => original}/images/Header-P1-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/Header-P2-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/Header-both-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/JTAG-pads-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/OSD335x-color-block.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/OSHW_mark_US000083.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-USB-photo.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-block-diag2.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-block-diag3.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-block-diagram.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-card-back-1.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-card-back.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-card-front-1.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-card-front.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-header-photo.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-microSDphoto-small.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-microSDphoto.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-powerLED-photo.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-powerbutton.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-tethered.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-tutorials.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-userLED-photo.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-walkaround-2.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-walkaround-2.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-walkaround-3.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PB-walkaround.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PB1-fullPC-3.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PocketBeagle-size-compare-small.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PocketBeagle_Back_BW.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PocketBeagle_Expansion_Headers.ods (100%)
 rename boards/pocketbeagle/{ => original}/images/PocketBeagle_Front_BW-small.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PocketBeagle_Front_BW.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/PocketBeagle_microUSB_bb.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PocketBeagle_microUSB_bb.svg (100%)
 rename boards/pocketbeagle/{ => original}/images/PocketBeagle_microUSB_bb1.png (100%)
 rename boards/pocketbeagle/{ => original}/images/PocketBeagle_pinout.pdf (100%)
 rename boards/pocketbeagle/{ => original}/images/PocketBeagle_pinout.png (100%)
 rename boards/pocketbeagle/{ => original}/images/Power-button-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/SRM1_cloud9blinkPB.png (100%)
 rename boards/pocketbeagle/{ => original}/images/SRM2_cloud9blinkPB.png (100%)
 rename boards/pocketbeagle/{ => original}/images/SRM3_cloud9blinkPB.png (100%)
 rename boards/pocketbeagle/{ => original}/images/SRM4_cloud9blinkPB.png (100%)
 rename boards/pocketbeagle/{ => original}/images/SiP-A-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/SiP-B-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/SiP-C-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/SiP-D-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/SiP-E-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/SiP-F-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/USB-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/User-LEDs-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/fig-PB-Headerphoto.png (100%)
 rename boards/pocketbeagle/{ => original}/images/green_check.png (100%)
 rename boards/pocketbeagle/{ => original}/images/mikrobus-socket-pinout.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/pocketbeagle_package_small_size.jpg (100%)
 rename boards/pocketbeagle/{ => original}/images/usdconnector-sch.png (100%)
 rename boards/pocketbeagle/{ => original}/images/warning_tri.png (100%)
 rename boards/pocketbeagle/{ => original}/index.rst (100%)
 delete mode 100644 intro/contribution/contribute.rst
 create mode 100644 intro/contribution/style.rst

diff --git a/boards/beagleconnect/freedom/index.rst b/boards/beagleconnect/freedom/index.rst
index f42ded22..79ce3fec 100644
--- a/boards/beagleconnect/freedom/index.rst
+++ b/boards/beagleconnect/freedom/index.rst
@@ -171,3 +171,9 @@ Each BeagleBoard.org BeagleConnectâ„¢ solution will be:
   to secure your own network, and
 * Fully FCC/CE certified.
 
+.. toctree::
+   :maxdepth: 1
+
+   usage.rst
+   zephyr.rst
+
diff --git a/boards/beagleconnect/index.rst b/boards/beagleconnect/index.rst
index 880e1e18..c16e47cb 100644
--- a/boards/beagleconnect/index.rst
+++ b/boards/beagleconnect/index.rst
@@ -1,6 +1,6 @@
 .. _beagleconnect-home:
 
-BeagleConnectâ„¢
+BeagleConnect
 ###############
 
 BeagleConnectâ„¢ is a revolutionary technology virtually eliminating low-level 
@@ -38,8 +38,8 @@ BeagleConnectâ„¢ technology solves:
 * The need to produce high-volume custom hardware cost-optimized for your 
   requirements.
 
-BeagleConnectâ„¢ Experience
-#########################
+BeagleConnect Experience
+*************************
 
 BeagleConnectâ„¢ provides a scalable experience for interacting with the physical
 world.
@@ -87,18 +87,26 @@ For home automaters, integration into WebThings…
    :height: 400
    :alt: BeagleConnect
 
-.. _beagleconnect-Change-History:
 
-Change History
---------------
+BeagleConnect Technology
+************************
 
+Learn about the technology behind BeagleConnect.
 
 .. toctree::
-   :maxdepth: 1
+   :maxdepth: 2
+
+   technology/index.rst
+   technology/story.rst
+
+
+BeagleConnect Boards
+********************
+
+Get started using your BeagleConnect.
+
+.. toctree::
+   :maxdepth: 2
 
-   story.rst
-   overview.rst
    freedom/index.rst
-   freedom/usage.rst
-   freedom/zephyr.rst
 
diff --git a/boards/beagleconnect/overview.rst b/boards/beagleconnect/overview.rst
deleted file mode 100644
index 0ecccae0..00000000
--- a/boards/beagleconnect/overview.rst
+++ /dev/null
@@ -1,1108 +0,0 @@
-.. _beagleconnect-overview:
-
-***********************
-BeagleConnectâ„¢ Overview
-***********************
-
-BeagleConnectâ„¢ Greybus Stack
-############################
-
-Work in progress
-****************
-
-To understand a bit more about how the BeagleConnectâ„¢ Greybus stack is being
-built, this section helps describe the development currently in progress and
-the principles of operation.
-
-Background
-**********
-.. image:: media/SoftwareProp.jpg
-   :width: 600
-   :align: center
-   :height: 400
-   :alt: BeagleConnect Software Proposition
-
-BeagleConnectâ„¢ uses Greybus and updated Click Boards with identifiers to 
-eliminate the need to add and manually configure devices added onto the Linux 
-system.
-
-High-level
-**********
-* For Linux nerds: Think of BeagleConnectâ„¢ as 6LoWPAN over 802.15.4-based 
-  Greybus (instead of Unipro as used by Project Ara), where every 
-  BeagleConnectâ„¢ board shows up as new SPI, I2C, UART, PWM, ADC, and GPIO 
-  controllers that can now be probed to load drivers for the sensors or 
-  whatever is connected to them. (Proof of concept of Greybus over TCP/IP: 
-  https://www.youtube.com/watch?v=7H50pv-4YXw)
-
-* For MCU folks: Think of BeagleConnectâ„¢ as a Firmata-style firmware load that 
-  exposes the interfaces for remote access over a secured wireless network. 
-  However, instead of using host software that knows how to speak the Firmata 
-  protocol, the Linux kernel speaks the slightly similar Greybus protocol to 
-  the MCU and exposes the device generically to users using a Linux kernel 
-  driver. Further, the Greybus protocol is spoken over 6LoWPAN on 802.15.4.
-
-Software architecture
-*********************
-
-.. image:: media/bcf_block_diagram.svg
-   :width: 600
-   :align: center
-   :height: 400
-   :alt: BeagleConnect Block Diagram
-
-TODO items
-**********
-
-* Linux kernel driver
-
-* Provisioning
-
-* Firmware for host CC13x
-
-* Firmware for device CC13x
-
-* Click Board drivers and device tree formatted metadata for 100 or so Click 
-  Boards
-
-* Click Board plug-ins for node-red for the same 100 or so Click Boards
-
-* BeagleConnectâ„¢ Freedom System Reference Manual and FAQs
-
-
-Associated pre-work
-*******************
-
-* Click Board support for Node-RED can be executed with native connections on 
-  PocketBeagle+TechLab and BeagleBone Black with mikroBUS Cape
-
-* Device tree fragments and driver updates can be provided via 
-  https://bbb.io/click
-
-* The Kconfig style provisioning can be implemented for those solutions, which 
-  will require a reboot. We need to centralize edits to /boot/uEnv.txt to be 
-  programmatic. As I think through this, I don't think BeagleConnect is 
-  impacted, because the Greybus-style discovery along with Click EEPROMS will 
-  eliminate any need to edit /boot/uEnv.txt.
-
-User experience concerns
-************************
-
-* Make sure no reboots are required
-
-* Plugging BeagleConnect into host should trigger host configuration
-
-* Click EEPROMs should trigger loading whatever drivers are needed and 
-  provisioning should load any new drivers
-
-* Userspace (spidev, etc.) drivers should unload cleanly when 2nd phase 
-  provisioning is completed
-
-BeagleConnectâ„¢ Greybus demo using BeagleConnectâ„¢ Freedom
-********************************************************
-BeagleConnectâ„¢ Freedom runs a subGHz IEEE 802.15.4 network. This BeagleConnectâ„¢
-Greybus demo shows how to interact with GPIO, I2C and mikroBUS add-on boards 
-remotely connected over a BeagleConnectâ„¢ Freedom.
-
-This section starts with the steps required to use 
-`Linux <https://en.wikipedia.org/wiki/Linux>`_ embedded computer 
-(`BeagleBone Green Gateway <https://wiki.seeedstudio.com/BeagleBone-Green-Gateway/>`_) 
-and the `Greybus <https://lwn.net/Articles/715955/>`_ protocol, over an 
-IEEE 802.15.4 wireless link, to blink an LED on a 
-`Zephyr <https://zephyrproject.org/>`_ device.
-
-Introduction
-************
-
-Why??
------
-
-
-Good question. Blinking an LED is kind of the 
-`Hello, World <https://en.wikipedia.org/wiki/%22Hello,_World!%22_program>`_ of 
-the hardware community. In this case, we're less interested in the mechanics 
-of switching a GPIO to drive some current through an LED and more interested in
-how that happens with the 
-`Internet of Things (IoT) <https://en.wikipedia.org/wiki/Internet_of_things>`_.
-
-There are several existing network and application layers that are driven by 
-corporate heavyweights and industry consortiums, but relatively few that are 
-community driven and, more specifically, even fewer that have the ability to 
-integrate so tightly with the Linux kernel.
-
-The goal here is to provide a community-maintained, developer-friendly, and 
-open-source protocol for the Internet of Things using the Greybus Protocol, and
-blinking an LED using Greybus is the simplest proof-of-concept for that. All 
-that is required is a reliable transport.
-
-#. Power a BeagleConnect Freedom that has not yet been programmed via a USB 
-   power source, not the BeagleBone Green Gateway. You'll hear a click every 
-   1-2 seconds along with seeing 4 of the LEDs turn off and on.
-
-#. In an isolated terminal window, :code:`sudo beagleconnect-start-gateway`
-
-#. :code:`sensortest-rx.py`
-
-Every 1-2 minutes, you should see something like:
-
-.. code-block::
-
-    ('fe80::3111:7a22:4b:1200%lowpan0', 52213, 0, 13)  '2l:7.79;'
-    ('fe80::3111:7a22:4b:1200%lowpan0', 52213, 0, 13)  '4h:43.75;4t:23.11;'
-
-The value after "2l:" is the amount of light in lux. The value after "4h:" is 
-the relative humidity and after "4t:" is the temperature in Celsius.
-
-Flash BeagleConnectâ„¢ Freedom node device with Greybus firmware
-**************************************************************
-
-#TODO: How can we add a step in here to show the network is connected without needing gbridge to be fully functional?
-
-Do this from the BeagleBone® Green Gateway board that was previously used to 
-program the BeagleConnectâ„¢ Freedom gateway device:
-
-#. Disconnect the BeagleConnectâ„¢ Freedom **gateway** device
-
-#. Connect a new BeagleConnectâ„¢ Freedom board via USB
-
-#. :code:`sudo systemctl stop lowpan.service`
-
-#. :code:`cc2538-bsl.py /usr/share/beagleconnect/cc1352/greybus_mikrobus_beagleconnect.bin /dev/ttyACM0`
-
-#. After it finishes programming successfully, disconnect the BeagleConnect Freedom node device
-
-#. Power the newly programmed BeagleConnect Freedom node device from an alternate USB power source
-
-#. Reconnect the BeagleConnect Freedom **gateway** device to the BeagleBone Green Gateway
-
-#. :code:`sudo systemctl start lowpan.service`
-
-#. :code:`sudo beagleconnect-start-gateway`
-
-.. code-block:: bash
-
-    debian@beaglebone:~$ sudo beagleconnect-start-gateway
-    [sudo] password for debian:
-    setting up wpanusb gateway for IEEE 802154 CHANNEL 1(906 Mhz)
-    ping6: Warning: source address might be selected on device other than lowpan0.
-    PING 2001:db8::1(2001:db8::1) from ::1 lowpan0: 56 data bytes
-    64 bytes from 2001:db8::1: icmp_seq=2 ttl=64 time=185 ms
-    64 bytes from 2001:db8::1: icmp_seq=3 ttl=64 time=40.9 ms
-    64 bytes from 2001:db8::1: icmp_seq=4 ttl=64 time=40.9 ms
-    64 bytes from 2001:db8::1: icmp_seq=5 ttl=64 time=40.6 ms
-
-    --- 2001:db8::1 ping statistics ---
-    5 packets transmitted, 4 received, 20% packet loss, time 36ms
-    rtt min/avg/max/mdev = 40.593/76.796/184.799/62.356 ms
-    debian@beaglebone:~$ iio_info
-    Library version: 0.19 (git tag: v0.19)
-    Compiled with backends: local xml ip usb serial
-    IIO context created with local backend.
-    Backend version: 0.19 (git tag: v0.19)
-    Backend description string: Linux beaglebone 5.14.18-bone20 #1buster PREEMPT Tue Nov 16 20:47:19 UTC 2021 armv7l
-    IIO context has 1 attributes:
-        local,kernel: 5.14.18-bone20
-    IIO context has 3 devices:
-        iio:device0: TI-am335x-adc.0.auto (buffer capable)
-            8 channels found:
-                voltage0:  (input, index: 0, format: le:u12/16>>0)
-                1 channel-specific attributes found:
-                    attr  0: raw value: 1412
-                voltage1:  (input, index: 1, format: le:u12/16>>0)
-                1 channel-specific attributes found:
-                    attr  0: raw value: 2318
-                voltage2:  (input, index: 2, format: le:u12/16>>0)
-                1 channel-specific attributes found:
-                    attr  0: raw value: 2631
-                voltage3:  (input, index: 3, format: le:u12/16>>0)
-                1 channel-specific attributes found:
-                    attr  0: raw value: 817
-                voltage4:  (input, index: 4, format: le:u12/16>>0)
-                1 channel-specific attributes found:
-                    attr  0: raw value: 881
-                voltage5:  (input, index: 5, format: le:u12/16>>0)
-                1 channel-specific attributes found:
-                    attr  0: raw value: 0
-                voltage6:  (input, index: 6, format: le:u12/16>>0)
-                1 channel-specific attributes found:
-                    attr  0: raw value: 0
-                voltage7:  (input, index: 7, format: le:u12/16>>0)
-                1 channel-specific attributes found:
-                    attr  0: raw value: 1180
-            2 buffer-specific attributes found:
-                    attr  0: data_available value: 0
-                    attr  1: watermark value: 1
-        iio:device1: hdc2010
-            3 channels found:
-                humidityrelative:  (input)
-                3 channel-specific attributes found:
-                    attr  0: peak_raw value: 52224
-                    attr  1: raw value: 52234
-                    attr  2: scale value: 1.525878906
-                current:  (output)
-                2 channel-specific attributes found:
-                    attr  0: heater_raw value: 0
-                    attr  1: heater_raw_available value: 0 1
-                temp:  (input)
-                4 channel-specific attributes found:
-                    attr  0: offset value: -15887.515151
-                    attr  1: peak_raw value: 25600
-                    attr  2: raw value: 25628
-                    attr  3: scale value: 2.517700195
-        iio:device2: opt3001
-            1 channels found:
-                illuminance:  (input)
-                2 channel-specific attributes found:
-                    attr  0: input value: 79.040000
-                    attr  1: integration_time value: 0.800000
-            2 device-specific attributes found:
-                    attr  0: current_timestamp_clock value: realtime
-
-                    attr  1: integration_time_available value: 0.1 0.8
-    debian@beaglebone:~$ dmesg | grep -e mikrobus -e greybus
-    [  100.491253] greybus 1-2.2: Interface added (greybus)
-    [  100.491294] greybus 1-2.2: GMP VID=0x00000126, PID=0x00000126
-    [  100.491306] greybus 1-2.2: DDBL1 Manufacturer=0x00000126, Product=0x00000126
-    [  100.737637] greybus 1-2.2: excess descriptors in interface manifest
-    [  102.475168] mikrobus:mikrobus_port_gb_register: mikrobus gb_probe , num cports= 2, manifest_size 192
-    [  102.475206] mikrobus:mikrobus_port_gb_register: protocol added 3
-    [  102.475214] mikrobus:mikrobus_port_gb_register: protocol added 2
-    [  102.475239] mikrobus:mikrobus_port_register: registering port mikrobus-1
-    [  102.475400] mikrobus_manifest:mikrobus_state_get: mikrobus descriptor not found
-    [  102.475417] mikrobus_manifest:mikrobus_manifest_attach_device: parsed device 1, driver=opt3001, protocol=3, reg=44
-    [  102.494516] mikrobus_manifest:mikrobus_manifest_attach_device: parsed device 2, driver=hdc2010, protocol=3, reg=41
-    [  102.494567] mikrobus_manifest:mikrobus_manifest_parse:  (null) manifest parsed with 2 devices
-    [  102.494592] mikrobus mikrobus-1: registering device : opt3001
-    [  102.495096] mikrobus mikrobus-1: registering device : hdc2010
-    debian@beaglebone:~$
-
-
-#TODO: update the below for the built-in sensors
-
-#TODO: can we also handle the case where these sensors are included and recommend them? Same firmware?
-
-#TODO: the current demo is for the built-in sensors, not the Click boards mentioned below
-
-Currently only a limited number of add-on boards have been tested to work over Greybus, simple add-on boards without interrupt requirement are the ones that work currently. The example is for Air Quality 2 Click and Weather Click attached to the mikroBUS ports on the device side.
-
-/var/log/gbridge will have the gbridge log, and if the mikroBUS port has been instantiated successfully the kernel log will show the devices probe messages:
-
-#TODO: this log needs to be updated
-
-.. code-block::
-
-    greybus 1-2.2: GMP VID=0x00000126, PID=0x00000126
-    greybus 1-2.2: DDBL1 Manufacturer=0x00000126, Product=0x00000126
-    greybus 1-2.2: excess descriptors in interface manifest
-    mikrobus:mikrobus_port_gb_register: mikrobus gb_probe , num cports= 3, manifest_size 252
-    mikrobus:mikrobus_port_gb_register: protocol added 11
-    mikrobus:mikrobus_port_gb_register: protocol added 3
-    mikrobus:mikrobus_port_gb_register: protocol added 2
-    mikrobus:mikrobus_port_register: registering port mikrobus-0
-    mikrobus_manifest:mikrobus_manifest_attach_device: parsed device 1, driver=bme280, protocol=3, reg=76
-    mikrobus_manifest:mikrobus_manifest_attach_device: parsed device 2, driver=ams-iaq-core, protocol=3, reg=5a
-    mikrobus_manifest:mikrobus_manifest_parse:  Greybus Service Sample Application manifest parsed with 2 devices
-    mikrobus mikrobus-0: registering device : bme280
-    mikrobus mikrobus-0: registering device : ams-iaq-core
-
-
-#TODO: bring in the GPIO toggle and I2C explorations for greater understanding
-
-Flashing via a Linux Host
-*************************
-
-
-
-If flashing the Freedom board via the BeagleBone fails here's a trick you can try to flash from a Linux host.
-
-Use :code:`sshfs` to mount the Bone's files on the Linux host. This assumes the
-Bone is plugged in the the USB and appears at :code:`192.168.7.2`:
-
-.. code-block:: bash
-
-    host$ cd
-    host$ sshfs 192.168.7.2:/ bone
-    host$ cd bone; ls
-    bin   dev  home    lib         media  opt   root  sbin  sys  usr
-    boot  etc  ID.txt  lost+found  mnt    proc  run   srv   tmp  var
-    host$ ls /dev/ttyACM*
-    /dev/ttyACM1
-
-
-
-The Bone's files now appear as local files. Notice there is already a 
-:code:`/dev/ACM*` appearing. Now plug the Connect into the Linux host's USB 
-port and run the command again.
-
-.. code-block:: bash
-
-    host$ ls /dev/ttyACM*
-    /dev/ttyACM0  /dev/ttyACM1
-
-The :code:`/dev/ttyACM` that just appeared is the one associated with the 
-Connect. In my case it's :code:`/dev/ttyACM0`. That's what I'll use in this 
-example.
-
-Now change directories to where the binaries are and load:
-
-.. code-block:: bash
-
-    host$ cd ~/bone/usr/share/beagleconnect/cc1352;ls
-    greybus_mikrobus_beagleconnect.bin     sensortest_beagleconnect.dts
-    greybus_mikrobus_beagleconnect.config  wpanusb_beagleconnect.bin
-    greybus_mikrobus_beagleconnect.dts     wpanusb_beagleconnect.config
-    sensortest_beagleconnect.bin           wpanusb_beagleconnect.dts
-    sensortest_beagleconnect.config
-
-    host$ ~/bone/usr/bin/cc2538-bsl.py sensortest_beagleconnect.bin /dev/ttyACM0
-    8-bsl.py sensortest_beagleconnect.bin /dev/ttyACM0
-    Opening port /dev/ttyACM0, baud 50000
-    Reading data from sensortest_beagleconnect.bin
-    Cannot auto-detect firmware filetype: Assuming .bin
-    Connecting to target...
-    CC1350 PG2.0 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8
-    Primary IEEE Address: 00:12:4B:00:22:7A:10:46
-        Performing mass erase
-    Erasing all main bank flash sectors
-        Erase done
-    Writing 360448 bytes starting at address 0x00000000
-    Write 104 bytes at 0x00057F988
-        Write done
-    Verifying by comparing CRC32 calculations.
-        Verified (match: 0x0f6bdf0f)
-
-Now you are ready to continue the instructions above after the cc2528 command.
-
-Trying for different add-on boards
-----------------------------------
-
-See `mikroBUS over Greybus <https://github.com/vaishnav98/greybus-for-zephyr/tree/mikrobus#trying-out-different-add-on-boardsdevices-over-mikrobus>`_ 
-for trying out the same example for different mikroBUS add-on boards/ on-board devices.
-
-Observe the node device
-***********************
-
-Connect BeagleConnect Freedom node device to an Ubuntu laptop to observe the 
-Zephyr console.
-
-
-Console (:code:`tio`)
-*********************
-In order to see diagnostic messages or to run certain commands on the Zephyr 
-device we will require a terminal open to the device console. In this case, we
-use `tio <https://tio.github.io/>`_ due how its usage simplifies the 
-instructions.
-
-#. Install :code:`tio`
-   :code:`sudo apt install -y tio`
-
-#. Run :code:`tio`
-   :code:`tio /dev/ttyACM0`
-
- To exit :code:`tio` (later), enter :code:`ctrl+t, q`. 
-
-
-The Zephyr Shell
-****************
-
-
-
-After flashing, you should observe the something matching the following output in :code:`tio`.
-
-.. code-block:: bash
-
-    uart:~$ *** Booting Zephyr OS build 9c858c863223  ***
-    [00:00:00.009,735] <inf> greybus_transport_tcpip: CPort 0 mapped to TCP/IP port 4242
-    [00:00:00.010,131] <inf> greybus_transport_tcpip: CPort 1 mapped to TCP/IP port 4243
-    [00:00:00.010,528] <inf> greybus_transport_tcpip: CPort 2 mapped to TCP/IP port 4244
-    [00:00:00.010,742] <inf> greybus_transport_tcpip: Greybus TCP/IP Transport initialized
-    [00:00:00.010,864] <inf> greybus_manifest: Registering CONTROL greybus driver.
-    [00:00:00.011,230] <inf> greybus_manifest: Registering GPIO greybus driver.
-    [00:00:00.011,596] <inf> greybus_manifest: Registering I2C greybus driver.
-    [00:00:00.011,871] <inf> greybus_service: Greybus is active
-    [00:00:00.026,092] <inf> net_config: Initializing network
-    [00:00:00.134,063] <inf> net_config: IPv6 address: 2001:db8::1
-
-
-
-The line beginning with :code:`***` is the Zephyr boot banner.
-
-Lines beginning with a timestamp of the form :code:`[H:m:s.us]` are Zephyr 
-kernel messages.
-
-Lines beginning with :code:`uart:~$` indicates that the Zephyr shell is 
-prompting you to enter a command.
-
-From the informational messages shown, we observe the following.
-
-* Zephyr is configured with the following 
-  `link-local IPv6 address <https://en.wikipedia.org/wiki/Link-local_address#IPv6>`_ :code:`fe80::3177:a11c:4b:1200`
-
-* It is listening for (both) TCP and UDP traffic on port 4242
-
-However, what the log messages do not show (which will come into play later), 
-are 2 critical pieces of information:
-
-#. **The RF Channel**: As you may have guessed, IEEE 802.15.4 devices are only 
-   able to communicate with each other if they are using the same frequency to 
-   transmit and recieve data. This information is part of the Physical Layer.
-
-#. The `PAN identifier <https://www.silabs.com/community/wireless/proprietary/knowledge-base.entry.html/2019/10/04/connect_tutorial6-ieee802154addressing-rapc>`_: 
-   IEEE 802.15.4 devices are only be able to communicate with one another if 
-   they use the same PAN ID. This permits multiple networks (PANs) on the same 
-   frequency. This information is part of the Data Link Layer.
-
-If we type :code:`help` in the shell and hit Enter, we're prompted with the 
-following:
-
-.. code-block::
-
-    Please press the <Tab> button to see all available commands.
-    You can also use the <Tab> button to prompt or auto-complete all commands or its subcommands.
-    You can try to call commands with <-h> or <--help> parameter for more information.
-    Shell supports following meta-keys:
-
-    Ctrl+a, Ctrl+b, Ctrl+c, Ctrl+d, Ctrl+e, Ctrl+f, Ctrl+k, Ctrl+l, Ctrl+n, Ctrl+p, Ctrl+u, Ctrl+w
-    Alt+b, Alt+f.
-    Please refer to shell documentation for more details.
-
-So after hitting Tab, we see that there are several interesting commands we can
-use for additional information.
-
-.. code-block::
-
-    uart:~$
-    clear       help        history     ieee802154  log         net
-    resize      sample      shell
-
-Zephyr Shell: IEEE 802.15.4 commands
-------------------------------------
-
-Entering :code:`ieee802154 help`, we see
-
-.. code-block::
-
-    uart:~$ ieee802154 help
-    ieee802154 - IEEE 802.15.4 commands
-    Subcommands:
-    ack             :<set/1 | unset/0> Set auto-ack flag
-    associate       :<pan_id> <PAN coordinator short or long address (EUI-64)>
-    disassociate    :Disassociate from network
-    get_chan        :Get currently used channel
-    get_ext_addr    :Get currently used extended address
-    get_pan_id      :Get currently used PAN id
-    get_short_addr  :Get currently used short address
-    get_tx_power    :Get currently used TX power
-    scan            :<passive|active> <channels set n[:m:...]:x|all> <per-channel
-                    duration in ms>
-    set_chan        :<channel> Set used channel
-    set_ext_addr    :<long/extended address (EUI-64)> Set extended address
-    set_pan_id      :<pan_id> Set used PAN id
-    set_short_addr  :<short address> Set short address
-    set_tx_power    :<-18/-7/-4/-2/0/1/2/3/5> Set TX power
-
-
-We get the missing Channel number (frequency) with the command :code:`ieee802154 get_chan`.
-
-.. code-block::
-
-    uart:~$ ieee802154 get_chan
-    Channel 26
-
-We get the missing PAN ID with the command :code:`ieee802154 get_pan_id`.
-
-.. code-block::
-
-    uart:~$ ieee802154 get_pan_id
-    PAN ID 43981 (0xabcd)
-
-Zephyr Shell: Network Commands
-------------------------------
-
-Additionally, we may query the IPv6 information of the Zephyr device.
-
-.. code-block::
-
-    uart:~$ net iface
-
-    Interface 0x20002b20 (IEEE 802.15.4) [1]
-    ========================================
-    Link addr : CD:99:A1:1C:00:4B:12:00
-    MTU       : 125
-    IPv6 unicast addresses (max 3):
-            fe80::cf99:a11c:4b:1200 autoconf preferred infinite
-            2001:db8::1 manual preferred infinite
-    IPv6 multicast addresses (max 4):
-            ff02::1
-            ff02::1:ff4b:1200
-            ff02::1:ff00:1
-    IPv6 prefixes (max 2):
-            <none>
-    IPv6 hop limit           : 64
-    IPv6 base reachable time : 30000
-    IPv6 reachable time      : 16929
-    IPv6 retransmit timer    : 0
-
-
-
-And we see that the static IPv6 address (:code:`2001:db8::1`) from 
-:code:`samples/net/sockets/echo_server/prj.conf` is present and configured. 
-While the statically configured IPv6 address is useful, it isn't 100% necessary.
-
-Rebuilding from source
-**********************
-
-#TODO: revisit everything below here
-
-Prerequisites
--------------
-
-* Zephyr environment is set up according to the 
-  `Getting Started Guide <https://docs.zephyrproject.org/latest/getting_started/index.html>`_
-
-    * Please use the Zephyr SDK when installing a toolchain above
-
-* `Zephyr SDK <https://docs.zephyrproject.org/latest/getting_started/index.html#install-a-toolchain>`_ 
-  is installed at ~/zephyr-sdk-0.11.2 (any later version should be fine as well)
-
-* Zephyr board is connected via USB
-
-Cloning the repository
-----------------------
-
-This repository utilizes `git submodules <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_ 
-to keep track of all of the projects required to reproduce the on-going work. 
-The instructions here only cover checking out the :code:`demo` branch which 
-should stay in a tested state. On-going development will be on the 
-:code:`master` branch.
-
-Note: The parent directory :code:`~` is simply used as a placeholder for testing. 
-Please use whatever parent directory you see fit. 
-
-Clone specific tag
-------------------
-
-.. code-block:: bash
-
-    cd ~
-    git clone --recurse-submodules --branch demo https://github.com/jadonk/beagleconnect
-
-Zephyr
-******
-
-Add the Fork
-------------
-
-For the time being, Greybus must remain outside of the main Zephyr repository. 
-Currently, it is just in a Zephyr fork, but it should be converted to a 
-proper `Module (External Project) <https://docs.zephyrproject.org/latest/guides/modules.html>`_. 
-This is for a number of reasons, but mainly there must be:
-
-* specifications for authentication and encryption
-
-* specifications for joining and rejoining wireless networks
-
-* specifications for discovery
-
-Therefore, in order to reproduce this example, please run the following.
-
-.. code-block:: bash
-
-    cd ~/beagleconnect/sw/zephyrproject/zephyr
-    west update
-
-Build and Flash Zephyr
-----------------------
-
-Here, we will build and flash the Zephyr 
-`greybus_net sample <https://github.com/cfriedt/zephyr/tree/greybus-sockets/samples/subsys/greybus/net>`_ 
-to our device.
-
-#. Edit the file :code:`~/.zephyrrc` and place the following text inside of it
-
-.. code-block:: bash
-
-    export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
-    export ZEPHYR_SDK_INSTALL_DIR=~/zephyr-sdk-0.11.2
-
-#. Set up the required Zephyr environment variables via
-
-.. code-block:: bash
-
-    source zephyr-env.sh
-
-#. Build the project
-
-.. code-block:: bash
-
-    BOARD=cc1352r1_launchxl west build samples/subsys/greybus/net --pristine \
-    --build-dir build/greybus_launchpad -- -DCONF_FILE="prj.conf overlay-802154.conf"
-
-#. Ensure that the last part of the build process looks somewhat like this:
-
-.. code-block:: bash
-
-    ...
-    [221/226] Linking C executable zephyr/zephyr_prebuilt.elf
-    Memory region         Used Size  Region Size  %age Used
-            FLASH:      155760 B     360360 B     43.22%
-        FLASH_CCFG:          88 B         88 B    100.00%
-                SRAM:       58496 B        80 KB     71.41%
-            IDT_LIST:         184 B         2 KB      8.98%
-    [226/226] Linking C executable zephyr/zephyr.elf
-
-#. Flash the firmware to your device using
-
-.. code-block:: bash
-
-    BOARD=cc1352r1_launchxl west flash --build-dir build/greybus_launchpad
-
-Linux
-*****
-
-Warning: If you aren't comfortable building and installing a Linux kernel on 
-your computer, you should probably just stop here. I'll assume you know the 
-basics of building and installing a Linux kernel from here on out. 
-
-Clone, patch, and build the kernel
-----------------------------------
-
-For this demo, I used the 5.8.4 stable kernel. Also, I've applied the 
-:code:`mikrobus` kernel driver, though it isn't strictly required for greybus.
-
-Note: The parent directory :code:`~` is simply used as a placeholder for testing. 
-Please use whatever parent directory you see fit. 
-
-TODO: The patches for gb-netlink will eventually be applied here until pushed into mainline.
-
-.. code-block:: bash
-
-    cd ~
-    git clone --branch v5.8.4 --single-branch git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
-    cd linux
-    git checkout -b v5.8.4-greybus
-    git am ~/beagleconnect/sw/linux/v2-0001-RFC-mikroBUS-driver-for-add-on-boards.patch
-    git am ~/beagleconnect/sw/linux/0001-mikroBUS-build-fixes.patch
-    cp /boot/config-`uname -r` .config
-    yes "" | make oldconfig
-    ./scripts/kconfig/merge_config.sh .config ~/beagleconnect/sw/linux/mikrobus.config
-    ./scripts/kconfig/merge_config.sh .config ~/beagleconnect/sw/linux/atusb.config
-    make -j`nproc --all`
-    sudo make modules_install
-    sudo make install
-
-Reboot and select your new kernel.
-
-Probe the IEEE 802.15.4 Device Driver
--------------------------------------
-
-On the Linux machine, make sure the :code:`atusb` driver is loaded. This should
-happen automatically when the adapter is inserted or when the machine is booted
-while the adapter is installed.
-
-.. code-block:: bash
-
-    $ dmesg | grep -i ATUSB
-    [    6.512154] usb 1-1: ATUSB: AT86RF231 version 2
-    [    6.512492] usb 1-1: Firmware: major: 0, minor: 3, hardware type: ATUSB (2)
-    [    6.525357] usbcore: registered new interface driver atusb
-    ...
-
-
-
-We should now be able to see the IEEE 802.15.4 network device by entering :code:`ip a show wpan0`.
-
-.. code-block:: bash
-
-    $ ip a show wpan0
-    36: wpan0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 123 qdisc fq_codel state UNKNOWN group default qlen 300
-        link/ieee802.15.4 3e:7d:90:4d:8f:00:76:a2 brd ff:ff:ff:ff:ff:ff:ff:ff
-
-
-But wait, that is not an IP address! It's the hardware address of the 802.15.4 
-device. So, in order to associate it with an IP address, we need to run a 
-couple of other commands (thanks to wpan.cakelab.org).
-
-Set the 802.15.4 Physical and Link-Layer Parameters
----------------------------------------------------
-
-#. First, get the phy number for the :code:`wpan0` device
-
-.. code-block:: bash
-
-    $ iwpan list
-        wpan_phy phy0
-        supported channels:
-            page 0: 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
-        current_page: 0
-        current_channel: 26,  2480 MHz
-        cca_mode: (1) Energy above threshold
-        cca_ed_level: -77
-        tx_power: 3
-        capabilities:
-            iftypes: node,monitor
-            channels:
-                page 0:
-                    [11]  2405 MHz, [12]  2410 MHz, [13]  2415 MHz,
-                    [14]  2420 MHz, [15]  2425 MHz, [16]  2430 MHz,
-                    [17]  2435 MHz, [18]  2440 MHz, [19]  2445 MHz,
-                    [20]  2450 MHz, [21]  2455 MHz, [22]  2460 MHz,
-                    [23]  2465 MHz, [24]  2470 MHz, [25]  2475 MHz,
-                    [26]  2480 MHz
-            tx_powers:
-                    3 dBm, 2.8 dBm, 2.3 dBm, 1.8 dBm, 1.3 dBm, 0.7 dBm,
-                    0 dBm, -1 dBm, -2 dBm, -3 dBm, -4 dBm, -5 dBm,
-                    -7 dBm, -9 dBm, -12 dBm, -17 dBm,
-            cca_ed_levels:
-                    -91 dBm, -89 dBm, -87 dBm, -85 dBm, -83 dBm, -81 dBm,
-                    -79 dBm, -77 dBm, -75 dBm, -73 dBm, -71 dBm, -69 dBm,
-                    -67 dBm, -65 dBm, -63 dBm, -61 dBm,
-            cca_modes:
-                (1) Energy above threshold
-                (2) Carrier sense only
-                (3, cca_opt: 0) Carrier sense with energy above threshold (logical operator is 'and')
-                (3, cca_opt: 1) Carrier sense with energy above threshold (logical operator is 'or')
-            min_be: 0,1,2,3,4,5,6,7,8
-            max_be: 3,4,5,6,7,8
-            csma_backoffs: 0,1,2,3,4,5
-            frame_retries: 3
-            lbt: false
-
-#. Next, set the Channel for the 802.15.4 device on the Linux machine
-
-.. code-block:: bash
-
-    sudo iwpan phy phy0 set channel 0 26
-
-#. Then, set the PAN identifier for the 802.15.4 device on the Linux machine :code:`sudo iwpan dev wpan0 set pan_id 0xabcd`
-
-#. Associate the :code:`wpan0` device to a new, 6lowpan network interface
-
-.. code-block:: bash
-
-    sudo ip link add link wpan0 name lowpan0 type lowpan
-
-#. Finally, set the links up for both :code:`wpan0` and :code:`lowpan0`
-
-.. code-block:: bash
-
-    sudo ip link set wpan0 up
-    sudo ip link set lowpan0 up
-
-
-
-We should observe something like the following when we run :code:`ip a show lowpan0`.
-
-.. code-block:: bash
-
-    ip a show lowpan0
-    37: lowpan0@wpan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
-        link/6lowpan 9e:0b:a4:e8:00:d3:45:53 brd ff:ff:ff:ff:ff:ff:ff:ff
-        inet6 fe80::9c0b:a4e8:d3:4553/64 scope link
-        valid_lft forever preferred_lft forever
-
-Ping Pong
-*********
-
-Broadcast Ping
---------------
-
-Now, perform a broadcast ping to see what else is listening on :code:`lowpan0`.
-
-.. code-block::
-
-    $ ping6 -I lowpan0 ff02::1
-    PING ff02::1(ff02::1) from fe80::9c0b:a4e8:d3:4553%lowpan0 lowpan0: 56 data bytes
-    64 bytes from fe80::9c0b:a4e8:d3:4553%lowpan0: icmp_seq=1 ttl=64 time=0.099 ms
-    64 bytes from fe80::9c0b:a4e8:d3:4553%lowpan0: icmp_seq=2 ttl=64 time=0.125 ms
-    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=2 ttl=64 time=17.3 ms (DUP!)
-    64 bytes from fe80::9c0b:a4e8:d3:4553%lowpan0: icmp_seq=3 ttl=64 time=0.126 ms
-    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=3 ttl=64 time=9.60 ms (DUP!)
-    64 bytes from fe80::9c0b:a4e8:d3:4553%lowpan0: icmp_seq=4 ttl=64 time=0.131 ms
-    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=4 ttl=64 time=14.9 ms (DUP!)
-
-Yay! We have pinged (pung?) the Zephyr device over IEEE 802.15.4 using 6LowPAN!
-
-Ping Zephyr
------------
-
-We can ping the Zephyr device directly without a broadcast ping too, of course.
-
-.. code-block::
-
-    $ ping6 -I lowpan0 fe80::cf99:a11c:4b:1200
-    PING fe80::cf99:a11c:4b:1200(fe80::cf99:a11c:4b:1200) from fe80::9c0b:a4e8:d3:4553%lowpan0 lowpan0: 56 data bytes
-    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=1 ttl=64 time=16.0 ms
-    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=2 ttl=64 time=13.8 ms
-    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=3 ttl=64 time=9.77 ms
-    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=5 ttl=64 time=11.5 ms
-
-Ping Linux
-----------
-
-Similarly, we can ping the Linux host from the Zephyr shell.
-
-.. code-block::
-
-    uart:~$ net ping --help
-    ping - Ping a network host.
-    Subcommands:
-    --help  :'net ping [-c count] [-i interval ms] <host>' Send ICMPv4 or ICMPv6
-            Echo-Request to a network host.
-    $ net ping -c 5 fe80::9c0b:a4e8:d3:4553
-    PING fe80::9c0b:a4e8:d3:4553
-    8 bytes from fe80::9c0b:a4e8:d3:4553 to fe80::cf99:a11c:4b:1200: icmp_seq=0 ttl=64 rssi=110 time=11 ms
-    8 bytes from fe80::9c0b:a4e8:d3:4553 to fe80::cf99:a11c:4b:1200: icmp_seq=1 ttl=64 rssi=126 time=9 ms
-    8 bytes from fe80::9c0b:a4e8:d3:4553 to fe80::cf99:a11c:4b:1200: icmp_seq=2 ttl=64 rssi=128 time=13 ms
-    8 bytes from fe80::9c0b:a4e8:d3:4553 to fe80::cf99:a11c:4b:1200: icmp_seq=3 ttl=64 rssi=126 time=10 ms
-    8 bytes from fe80::9c0b:a4e8:d3:4553 to fe80::cf99:a11c:4b:1200: icmp_seq=4 ttl=64 rssi=126 time=7 ms
-
-Assign a Static Address
------------------------
-
-So far, we have been using IPv6 Link-Local addressing. However, the Zephyr 
-application is configured to use a statically configured IPv6 address as well 
-which is, namely :code:`2001:db8::1`.
-
-If we add a similar static IPv6 address to our Linux IEEE 802.15.4 network 
-interface, :code:`lowpan0`, then we should expect to be able to reach that as 
-well.
-
-In Linux, run the following
-
-.. code-block:: bash
-
-    sudo ip -6 addr add 2001:db8::2/64 dev lowpan0
-
-We can verify that the address has been set by examining the :code:`lowpan0` 
-network interface again.
-
-.. code-block:: bash
-
-    $ ip a show lowpan0
-    37: lowpan0@wpan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
-        link/6lowpan 9e:0b:a4:e8:00:d3:45:53 brd ff:ff:ff:ff:ff:ff:ff:ff
-        inet6 2001:db8::2/64 scope global
-        valid_lft forever preferred_lft forever
-        inet6 fe80::9c0b:a4e8:d3:4553/64 scope link
-        valid_lft forever preferred_lft forever
-
-Lastly, ping the statically configured IPv6 address of the Zephyr device.
-
-.. code-block::
-
-    $ ping6 2001:db8::1
-    PING 2001:db8::1(2001:db8::1) 56 data bytes
-    64 bytes from 2001:db8::1: icmp_seq=2 ttl=64 time=53.7 ms
-    64 bytes from 2001:db8::1: icmp_seq=3 ttl=64 time=13.1 ms
-    64 bytes from 2001:db8::1: icmp_seq=4 ttl=64 time=22.0 ms
-    64 bytes from 2001:db8::1: icmp_seq=5 ttl=64 time=22.7 ms
-    64 bytes from 2001:db8::1: icmp_seq=6 ttl=64 time=18.4 ms
-
-Now that we have set up a reliable transport, let's move on to the application 
-layer.
-
-
-Greybus
-*******
-
-Hopefully the videos listed earlier provide a sufficient foundation to 
-understand what will happen shortly. However, there is still a bit more 
-preparation required.
-
-Build and probe Greybus Kernel Modules
---------------------------------------
-
-Greybus was originally intended to work exclusively on the UniPro physical 
-layer. However, we're using RF as our physical layer and TCP/IP as our 
-transport. As such, there was need to be able to communicate with the Linux 
-Greybus facilities through userspace, and out of that need arose gb-netlink. 
-The Netlink Greybus module actually does not care about the physical layer, but
-is happy to usher Greybus messages back and forth between the kernel and 
-userspace.
-
-Build and probe the gb-netlink modules (as well as the other Greybus modules) 
-with the following:
-
-.. code-block:: bash
-
-    cd ${WORKSPACE}/sw/greybus
-    make -j`nproc --all`
-    sudo make install
-    ../load_gb_modules.sh
-
-Build and Run Gbridge
----------------------
-
-The gbridge utility was created as a proof of concept to abstract the Greybus 
-Netlink datapath among several reliable transports. For the purposes of this 
-tutorial, we'll be using it as a TCP/IP bridge.
-
-To run :code:`gbridge`, perform the following:
-
-.. code-block:: bash
-
-    sudo apt install -y libnl-3-dev libnl-genl-3-dev libbluetooth-dev libavahi-client-dev
-    cd gbridge
-    autoreconf -vfi
-    GBNETLINKDIR=${PWD}/../greybus \
-    ./configure --enable-uart --enable-tcpip --disable-gbsim --enable-netlink --disable-bluetooth
-    make -j`nproc --all`
-    sudo make install
-    gbridge
-
-
-Blinky!
-*******
-
-Now that we have set up a reliable TCP transport, and set up the Greybus 
-modules in the Linux kernel, and used Gbridge to connect a Greybus node to the 
-Linux kernel via TCP/IP, we can now get to the heart of the demonstration!
-
-First, save the following script as :code:`blinky.sh`.
-
-.. code-block:: bash
-
-    #!/bin/bash
-    
-    # Blinky Demo for CC1352R SensorTag
-    
-    # /dev/gpiochipN that Greybus created
-    CHIP="$(gpiodetect | grep greybus_gpio | head -n 1 | awk '{print $1}')"
-    
-    # red, green, blue LED pins
-    RED=6
-    GREEN=7
-    BLUE=21
-    
-    # Bash array for pins and values
-    PINS=($RED $GREEN $BLUE)
-    NPINS=${#PINS[@]}
-    
-    for ((;;)); do
-        for i in ${!PINS[@]}; do
-            # turn off previous pin
-            if [ $i -eq 0 ]; then
-                PREV=2
-            else
-                PREV=$((i-1))
-            fi
-            gpioset $CHIP ${PINS[$PREV]}=0
-    
-            # turn on current pin
-            gpioset $CHIP ${PINS[$i]}=1
-    
-            # wait a sec
-            sleep 1
-        done
-    done
-
-
-Second, run the script with root privileges: :code:`sudo bash blinky.sh`
-
-The output of your minicom session should resemble the following.
-
-.. code-block::
-
-    $ *** Booting Zephyr OS build zephyr-v2.3.0-1435-g40c0ed940d71  ***
-    [00:00:00.011,932] <inf> net_config: Initializing network
-    [00:00:00.111,938] <inf> net_config: IPv6 address: fe80::6c42:bc1c:4b:1200
-    [00:00:00.112,121] <dbg> greybus_service.greybus_service_init: Greybus initializing..
-    [00:00:00.112,426] <dbg> greybus_transport_tcpip.gb_transport_backend_init: Greybus TCP/IP Transport initializing..
-    [00:00:00.112,579] <dbg> greybus_transport_tcpip.netsetup: created server socket 0 for cport 0
-    [00:00:00.112,579] <dbg> greybus_transport_tcpip.netsetup: setting socket options for socket 0
-    [00:00:00.112,609] <dbg> greybus_transport_tcpip.netsetup: binding socket 0 (cport 0) to port 4242
-    [00:00:00.112,640] <dbg> greybus_transport_tcpip.netsetup: listening on socket 0 (cport 0)
-    [00:00:00.112,823] <dbg> greybus_transport_tcpip.netsetup: created server socket 1 for cport 1
-    [00:00:00.112,823] <dbg> greybus_transport_tcpip.netsetup: setting socket options for socket 1
-    [00:00:00.112,854] <dbg> greybus_transport_tcpip.netsetup: binding socket 1 (cport 1) to port 4243
-    [00:00:00.112,854] <dbg> greybus_transport_tcpip.netsetup: listening on socket 1 (cport 1)
-    [00:00:00.113,037] <inf> net_config: IPv6 address: fe80::6c42:bc1c:4b:1200
-    [00:00:00.113,250] <dbg> greybus_transport_tcpip.netsetup: created server socket 2 for cport 2
-    [00:00:00.113,250] <dbg> greybus_transport_tcpip.netsetup: setting socket options for socket 2
-    [00:00:00.113,281] <dbg> greybus_transport_tcpip.netsetup: binding socket 2 (cport 2) to port 4244
-    [00:00:00.113,311] <dbg> greybus_transport_tcpip.netsetup: listening on socket 2 (cport 2)
-    [00:00:00.113,494] <dbg> greybus_transport_tcpip.netsetup: created server socket 3 for cport 3
-    [00:00:00.113,494] <dbg> greybus_transport_tcpip.netsetup: setting socket options for socket 3
-    [00:00:00.113,525] <dbg> greybus_transport_tcpip.netsetup: binding socket 3 (cport 3) to port 4245
-    [00:00:00.113,555] <dbg> greybus_transport_tcpip.netsetup: listening on socket 3 (cport 3)
-    [00:00:00.113,861] <inf> greybus_transport_tcpip: Greybus TCP/IP Transport initialized
-    [00:00:00.116,149] <inf> greybus_service: Greybus is active
-    [00:00:00.116,546] <dbg> greybus_transport_tcpip.accept_loop: calling poll
-    [00:45:08.397,399] <dbg> greybus_transport_tcpip.accept_loop: poll returned 1
-    [00:45:08.397,399] <dbg> greybus_transport_tcpip.accept_loop: socket 0 (cport 0) has traffic
-    [00:45:08.397,491] <dbg> greybus_transport_tcpip.accept_loop: accepted connection from [2001:db8::2]:39638 as fd 4
-    [00:45:08.397,491] <dbg> greybus_transport_tcpip.accept_loop: spawning client thread..
-    [00:45:08.397,735] <dbg> greybus_transport_tcpip.accept_loop: calling poll
-    [00:45:08.491,363] <dbg> greybus_transport_tcpip.accept_loop: poll returned 1
-    [00:45:08.491,363] <dbg> greybus_transport_tcpip.accept_loop: socket 3 (cport 3) has traffic
-    [00:45:08.491,455] <dbg> greybus_transport_tcpip.accept_loop: accepted connection from [2001:db8::2]:39890 as fd 5
-    [00:45:08.491,455] <dbg> greybus_transport_tcpip.accept_loop: spawning client thread..
-    [00:45:08.491,699] <dbg> greybus_transport_tcpip.accept_loop: calling poll
-    [00:45:08.620,056] <dbg> greybus_transport_tcpip.accept_loop: poll returned 1
-    [00:45:08.620,086] <dbg> greybus_transport_tcpip.accept_loop: socket 2 (cport 2) has traffic
-    [00:45:08.620,147] <dbg> greybus_transport_tcpip.accept_loop: accepted connection from [2001:db8::2]:42422 as fd 6
-    [00:45:08.620,147] <dbg> greybus_transport_tcpip.accept_loop: spawning client thread..
-    [00:45:08.620,422] <dbg> greybus_transport_tcpip.accept_loop: calling poll
-    [00:45:08.679,504] <dbg> greybus_transport_tcpip.accept_loop: poll returned 1
-    [00:45:08.679,534] <dbg> greybus_transport_tcpip.accept_loop: socket 1 (cport 1) has traffic
-    [00:45:08.679,595] <dbg> greybus_transport_tcpip.accept_loop: accepted connection from [2001:db8::2]:48286 as fd 7
-    [00:45:08.679,595] <dbg> greybus_transport_tcpip.accept_loop: spawning client thread..
-    [00:45:08.679,870] <dbg> greybus_transport_tcpip.accept_loop: calling poll
-    ...
-
-Read I2C Registers
-------------------
-
-The SensorTag comes with an opt3001 ambient light sensor as well as an hdc2080 
-temperature & humidity sensor.
-
-First, find which i2c device corresponds to the SensorTag:
-
-.. code-block:: bash
-
-    ls -la /sys/bus/i2c/devices/* | grep "greybus"
-    lrwxrwxrwx 1 root root 0 Aug 15 11:24 /sys/bus/i2c/devices/i2c-8 -> ../../../devices/virtual/gb_nl/gn_nl/greybus1/1-2/1-2.2/1-2.2.2/gbphy2/i2c-8
-
-On my machine, the i2c device node that Greybus creates is :code:`/dev/i2c-8`.
-
-Read the ID registers (at the i2c register address 0x7e) of the opt3001 sensor 
-(at i2c bus address 0x44) as shown below:
-
-.. code-block:: bash
-
-    i2cget -y 8 0x44 0x7e w
-    0x4954
-
-Read the ID registers (at the i2c register address 0xfc) of the hdc2080 sensor 
-(at i2c bus address 0x41) as shown below:
-
-.. code-block:: bash
-
-    i2cget -y 8 0x41 0xfc w
-    0x5449
-
-Conclusion
-**********
-
-The blinking LED can and poking i2c registers can be a somewhat anticlimactic, 
-but hopefully it illustrates the potential for Greybus as an IoT application layer 
-protocol.
-
-What is nice about this demo, is that we're using Device Tree to describe our 
-Greybus Peripheral declaratively, they Greybus Manifest is automatically 
-generated, and the Greybus Service is automatically started in Zephyr.
-
-In other words, all that is required to replicate this for other IoT devices is
-simply an appropriate Device Tree overlay file.
-
-The proof-of-concept involving Linux, Zephyr, and IEEE 802.15.4 was actually 
-fairly straight forward and was accomplished with mostly already-upstream 
-source.
-
-For Greybus in Zephyr, there is still a considerable amount of integration work
-to be done, including * converting the fork to a proper Zephyr module * adding 
-security and authentication * automatic detection, joining, and rejoining of 
-devices.
-
-Thanks for reading, and we hope you've enjoyed this tutorial.
diff --git a/boards/beagleconnect/media/SoftwareProp.jpg b/boards/beagleconnect/technology/media/SoftwareProp.jpg
similarity index 100%
rename from boards/beagleconnect/media/SoftwareProp.jpg
rename to boards/beagleconnect/technology/media/SoftwareProp.jpg
diff --git a/boards/beagleconnect/media/bcf_block_diagram.svg b/boards/beagleconnect/technology/media/bcf_block_diagram.svg
similarity index 100%
rename from boards/beagleconnect/media/bcf_block_diagram.svg
rename to boards/beagleconnect/technology/media/bcf_block_diagram.svg
diff --git a/boards/beagleconnect/story.rst b/boards/beagleconnect/technology/story.rst
similarity index 97%
rename from boards/beagleconnect/story.rst
rename to boards/beagleconnect/technology/story.rst
index 40e8f15b..4a907c06 100644
--- a/boards/beagleconnect/story.rst
+++ b/boards/beagleconnect/technology/story.rst
@@ -1,8 +1,7 @@
 .. _beagleconnect-home:
 
-*************
-BeagleConnect
-*************
+BeagleConnectâ„¢ Story
+*********************
 
 There are many stories behind BeagleConnectâ„¢, mine is just one of them. It 
 begins with my mom teaching me about computers. She told me I could anything I 
diff --git a/boards/index.rst b/boards/index.rst
index 106ed0d4..e81bf363 100644
--- a/boards/index.rst
+++ b/boards/index.rst
@@ -1,4 +1,4 @@
-BOARDS
+Boards
 #########
 
 `BeagleBone <beaglebone>`__ is a family of ARM-based, Linux-capable boards intended to be
@@ -23,7 +23,7 @@ started.
 
    beaglebone/index.rst
    capes/index.rst
-   pocketbeagle/index.rst
+   pocketbeagle/original/index.rst
    capes/index.rst
    beagleconnect/index.rst
    beagleboard/index.rst
diff --git a/boards/pocketbeagle/System-Reference-Manual.wiki b/boards/pocketbeagle/original/System-Reference-Manual.wiki
similarity index 100%
rename from boards/pocketbeagle/System-Reference-Manual.wiki
rename to boards/pocketbeagle/original/System-Reference-Manual.wiki
diff --git a/boards/pocketbeagle/ch01.rst b/boards/pocketbeagle/original/ch01.rst
similarity index 100%
rename from boards/pocketbeagle/ch01.rst
rename to boards/pocketbeagle/original/ch01.rst
diff --git a/boards/pocketbeagle/ch02.rst b/boards/pocketbeagle/original/ch02.rst
similarity index 100%
rename from boards/pocketbeagle/ch02.rst
rename to boards/pocketbeagle/original/ch02.rst
diff --git a/boards/pocketbeagle/ch03.rst b/boards/pocketbeagle/original/ch03.rst
similarity index 100%
rename from boards/pocketbeagle/ch03.rst
rename to boards/pocketbeagle/original/ch03.rst
diff --git a/boards/pocketbeagle/ch04.rst b/boards/pocketbeagle/original/ch04.rst
similarity index 100%
rename from boards/pocketbeagle/ch04.rst
rename to boards/pocketbeagle/original/ch04.rst
diff --git a/boards/pocketbeagle/ch05.rst b/boards/pocketbeagle/original/ch05.rst
similarity index 100%
rename from boards/pocketbeagle/ch05.rst
rename to boards/pocketbeagle/original/ch05.rst
diff --git a/boards/pocketbeagle/ch06.rst b/boards/pocketbeagle/original/ch06.rst
similarity index 100%
rename from boards/pocketbeagle/ch06.rst
rename to boards/pocketbeagle/original/ch06.rst
diff --git a/boards/pocketbeagle/ch07.rst b/boards/pocketbeagle/original/ch07.rst
similarity index 100%
rename from boards/pocketbeagle/ch07.rst
rename to boards/pocketbeagle/original/ch07.rst
diff --git a/boards/pocketbeagle/ch08.rst b/boards/pocketbeagle/original/ch08.rst
similarity index 100%
rename from boards/pocketbeagle/ch08.rst
rename to boards/pocketbeagle/original/ch08.rst
diff --git a/boards/pocketbeagle/ch09.rst b/boards/pocketbeagle/original/ch09.rst
similarity index 100%
rename from boards/pocketbeagle/ch09.rst
rename to boards/pocketbeagle/original/ch09.rst
diff --git a/boards/pocketbeagle/ch10.rst b/boards/pocketbeagle/original/ch10.rst
similarity index 100%
rename from boards/pocketbeagle/ch10.rst
rename to boards/pocketbeagle/original/ch10.rst
diff --git a/boards/pocketbeagle/ch11.rst b/boards/pocketbeagle/original/ch11.rst
similarity index 100%
rename from boards/pocketbeagle/ch11.rst
rename to boards/pocketbeagle/original/ch11.rst
diff --git a/boards/pocketbeagle/images/10fig-PB-SDcardinsert1.jpg b/boards/pocketbeagle/original/images/10fig-PB-SDcardinsert1.jpg
similarity index 100%
rename from boards/pocketbeagle/images/10fig-PB-SDcardinsert1.jpg
rename to boards/pocketbeagle/original/images/10fig-PB-SDcardinsert1.jpg
diff --git a/boards/pocketbeagle/images/10fig-PB-SDcardinsert2.jpg b/boards/pocketbeagle/original/images/10fig-PB-SDcardinsert2.jpg
similarity index 100%
rename from boards/pocketbeagle/images/10fig-PB-SDcardinsert2.jpg
rename to boards/pocketbeagle/original/images/10fig-PB-SDcardinsert2.jpg
diff --git a/boards/pocketbeagle/images/11fig-PB-microUSBattach1.jpg b/boards/pocketbeagle/original/images/11fig-PB-microUSBattach1.jpg
similarity index 100%
rename from boards/pocketbeagle/images/11fig-PB-microUSBattach1.jpg
rename to boards/pocketbeagle/original/images/11fig-PB-microUSBattach1.jpg
diff --git a/boards/pocketbeagle/images/12fig-PB-USBtoPC1.jpg b/boards/pocketbeagle/original/images/12fig-PB-USBtoPC1.jpg
similarity index 100%
rename from boards/pocketbeagle/images/12fig-PB-USBtoPC1.jpg
rename to boards/pocketbeagle/original/images/12fig-PB-USBtoPC1.jpg
diff --git a/boards/pocketbeagle/images/13fig-PB-PowerLED1.png b/boards/pocketbeagle/original/images/13fig-PB-PowerLED1.png
similarity index 100%
rename from boards/pocketbeagle/images/13fig-PB-PowerLED1.png
rename to boards/pocketbeagle/original/images/13fig-PB-PowerLED1.png
diff --git a/boards/pocketbeagle/images/14fig-PB-UserLEDs1.png b/boards/pocketbeagle/original/images/14fig-PB-UserLEDs1.png
similarity index 100%
rename from boards/pocketbeagle/images/14fig-PB-UserLEDs1.png
rename to boards/pocketbeagle/original/images/14fig-PB-UserLEDs1.png
diff --git a/boards/pocketbeagle/images/15fig-PB-starthtmpage.png b/boards/pocketbeagle/original/images/15fig-PB-starthtmpage.png
similarity index 100%
rename from boards/pocketbeagle/images/15fig-PB-starthtmpage.png
rename to boards/pocketbeagle/original/images/15fig-PB-starthtmpage.png
diff --git a/boards/pocketbeagle/images/16fig-PB-enablenetwork.png b/boards/pocketbeagle/original/images/16fig-PB-enablenetwork.png
similarity index 100%
rename from boards/pocketbeagle/images/16fig-PB-enablenetwork.png
rename to boards/pocketbeagle/original/images/16fig-PB-enablenetwork.png
diff --git a/boards/pocketbeagle/images/17fig-PB-cloud9.png b/boards/pocketbeagle/original/images/17fig-PB-cloud9.png
similarity index 100%
rename from boards/pocketbeagle/images/17fig-PB-cloud9.png
rename to boards/pocketbeagle/original/images/17fig-PB-cloud9.png
diff --git a/boards/pocketbeagle/images/18fig-PB-cloud9exs.png b/boards/pocketbeagle/original/images/18fig-PB-cloud9exs.png
similarity index 100%
rename from boards/pocketbeagle/images/18fig-PB-cloud9exs.png
rename to boards/pocketbeagle/original/images/18fig-PB-cloud9exs.png
diff --git a/boards/pocketbeagle/images/19fig-PB-cloud9blink.png b/boards/pocketbeagle/original/images/19fig-PB-cloud9blink.png
similarity index 100%
rename from boards/pocketbeagle/images/19fig-PB-cloud9blink.png
rename to boards/pocketbeagle/original/images/19fig-PB-cloud9blink.png
diff --git a/boards/pocketbeagle/images/1fig-PB-homepage.png b/boards/pocketbeagle/original/images/1fig-PB-homepage.png
similarity index 100%
rename from boards/pocketbeagle/images/1fig-PB-homepage.png
rename to boards/pocketbeagle/original/images/1fig-PB-homepage.png
diff --git a/boards/pocketbeagle/images/20fig-PB-powerbutton.png b/boards/pocketbeagle/original/images/20fig-PB-powerbutton.png
similarity index 100%
rename from boards/pocketbeagle/images/20fig-PB-powerbutton.png
rename to boards/pocketbeagle/original/images/20fig-PB-powerbutton.png
diff --git a/boards/pocketbeagle/images/21fig-PB-walkaround.png b/boards/pocketbeagle/original/images/21fig-PB-walkaround.png
similarity index 100%
rename from boards/pocketbeagle/images/21fig-PB-walkaround.png
rename to boards/pocketbeagle/original/images/21fig-PB-walkaround.png
diff --git a/boards/pocketbeagle/images/22fig-PB-blockdiagram.png b/boards/pocketbeagle/original/images/22fig-PB-blockdiagram.png
similarity index 100%
rename from boards/pocketbeagle/images/22fig-PB-blockdiagram.png
rename to boards/pocketbeagle/original/images/22fig-PB-blockdiagram.png
diff --git a/boards/pocketbeagle/images/24fig-PB-Headerphoto.png b/boards/pocketbeagle/original/images/24fig-PB-Headerphoto.png
similarity index 100%
rename from boards/pocketbeagle/images/24fig-PB-Headerphoto.png
rename to boards/pocketbeagle/original/images/24fig-PB-Headerphoto.png
diff --git a/boards/pocketbeagle/images/25fig-PB-SDcard.png b/boards/pocketbeagle/original/images/25fig-PB-SDcard.png
similarity index 100%
rename from boards/pocketbeagle/images/25fig-PB-SDcard.png
rename to boards/pocketbeagle/original/images/25fig-PB-SDcard.png
diff --git a/boards/pocketbeagle/images/26fig-PB-USB.png b/boards/pocketbeagle/original/images/26fig-PB-USB.png
similarity index 100%
rename from boards/pocketbeagle/images/26fig-PB-USB.png
rename to boards/pocketbeagle/original/images/26fig-PB-USB.png
diff --git a/boards/pocketbeagle/images/27fig-PB-JTAGpads.png b/boards/pocketbeagle/original/images/27fig-PB-JTAGpads.png
similarity index 100%
rename from boards/pocketbeagle/images/27fig-PB-JTAGpads.png
rename to boards/pocketbeagle/original/images/27fig-PB-JTAGpads.png
diff --git a/boards/pocketbeagle/images/28fig-PB-serialdebug.png b/boards/pocketbeagle/original/images/28fig-PB-serialdebug.png
similarity index 100%
rename from boards/pocketbeagle/images/28fig-PB-serialdebug.png
rename to boards/pocketbeagle/original/images/28fig-PB-serialdebug.png
diff --git a/boards/pocketbeagle/images/40fig-PB-PRU-block.png b/boards/pocketbeagle/original/images/40fig-PB-PRU-block.png
similarity index 100%
rename from boards/pocketbeagle/images/40fig-PB-PRU-block.png
rename to boards/pocketbeagle/original/images/40fig-PB-PRU-block.png
diff --git a/boards/pocketbeagle/images/41fig-PB-Headerback.png b/boards/pocketbeagle/original/images/41fig-PB-Headerback.png
similarity index 100%
rename from boards/pocketbeagle/images/41fig-PB-Headerback.png
rename to boards/pocketbeagle/original/images/41fig-PB-Headerback.png
diff --git a/boards/pocketbeagle/images/46fig-PB-Mikro.png b/boards/pocketbeagle/original/images/46fig-PB-Mikro.png
similarity index 100%
rename from boards/pocketbeagle/images/46fig-PB-Mikro.png
rename to boards/pocketbeagle/original/images/46fig-PB-Mikro.png
diff --git a/boards/pocketbeagle/images/5fig-PB-GetStarted.png b/boards/pocketbeagle/original/images/5fig-PB-GetStarted.png
similarity index 100%
rename from boards/pocketbeagle/images/5fig-PB-GetStarted.png
rename to boards/pocketbeagle/original/images/5fig-PB-GetStarted.png
diff --git a/boards/pocketbeagle/images/6fig-PB-DownloadSW.png b/boards/pocketbeagle/original/images/6fig-PB-DownloadSW.png
similarity index 100%
rename from boards/pocketbeagle/images/6fig-PB-DownloadSW.png
rename to boards/pocketbeagle/original/images/6fig-PB-DownloadSW.png
diff --git a/boards/pocketbeagle/images/7fig-PB-Etcherdownload.png b/boards/pocketbeagle/original/images/7fig-PB-Etcherdownload.png
similarity index 100%
rename from boards/pocketbeagle/images/7fig-PB-Etcherdownload.png
rename to boards/pocketbeagle/original/images/7fig-PB-Etcherdownload.png
diff --git a/boards/pocketbeagle/images/8fig-PB-Etcherselectimage.png b/boards/pocketbeagle/original/images/8fig-PB-Etcherselectimage.png
similarity index 100%
rename from boards/pocketbeagle/images/8fig-PB-Etcherselectimage.png
rename to boards/pocketbeagle/original/images/8fig-PB-Etcherselectimage.png
diff --git a/boards/pocketbeagle/images/9fig-PB-Etcherfinish.png b/boards/pocketbeagle/original/images/9fig-PB-Etcherfinish.png
similarity index 100%
rename from boards/pocketbeagle/images/9fig-PB-Etcherfinish.png
rename to boards/pocketbeagle/original/images/9fig-PB-Etcherfinish.png
diff --git a/boards/pocketbeagle/images/Bonescript-ex.png b/boards/pocketbeagle/original/images/Bonescript-ex.png
similarity index 100%
rename from boards/pocketbeagle/images/Bonescript-ex.png
rename to boards/pocketbeagle/original/images/Bonescript-ex.png
diff --git a/boards/pocketbeagle/images/Header-P1-sch.png b/boards/pocketbeagle/original/images/Header-P1-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/Header-P1-sch.png
rename to boards/pocketbeagle/original/images/Header-P1-sch.png
diff --git a/boards/pocketbeagle/images/Header-P2-sch.png b/boards/pocketbeagle/original/images/Header-P2-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/Header-P2-sch.png
rename to boards/pocketbeagle/original/images/Header-P2-sch.png
diff --git a/boards/pocketbeagle/images/Header-both-sch.png b/boards/pocketbeagle/original/images/Header-both-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/Header-both-sch.png
rename to boards/pocketbeagle/original/images/Header-both-sch.png
diff --git a/boards/pocketbeagle/images/JTAG-pads-sch.png b/boards/pocketbeagle/original/images/JTAG-pads-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/JTAG-pads-sch.png
rename to boards/pocketbeagle/original/images/JTAG-pads-sch.png
diff --git a/boards/pocketbeagle/images/OSD335x-color-block.jpg b/boards/pocketbeagle/original/images/OSD335x-color-block.jpg
similarity index 100%
rename from boards/pocketbeagle/images/OSD335x-color-block.jpg
rename to boards/pocketbeagle/original/images/OSD335x-color-block.jpg
diff --git a/boards/pocketbeagle/images/OSHW_mark_US000083.png b/boards/pocketbeagle/original/images/OSHW_mark_US000083.png
similarity index 100%
rename from boards/pocketbeagle/images/OSHW_mark_US000083.png
rename to boards/pocketbeagle/original/images/OSHW_mark_US000083.png
diff --git a/boards/pocketbeagle/images/PB-USB-photo.png b/boards/pocketbeagle/original/images/PB-USB-photo.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-USB-photo.png
rename to boards/pocketbeagle/original/images/PB-USB-photo.png
diff --git a/boards/pocketbeagle/images/PB-block-diag2.jpg b/boards/pocketbeagle/original/images/PB-block-diag2.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PB-block-diag2.jpg
rename to boards/pocketbeagle/original/images/PB-block-diag2.jpg
diff --git a/boards/pocketbeagle/images/PB-block-diag3.png b/boards/pocketbeagle/original/images/PB-block-diag3.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-block-diag3.png
rename to boards/pocketbeagle/original/images/PB-block-diag3.png
diff --git a/boards/pocketbeagle/images/PB-block-diagram.png b/boards/pocketbeagle/original/images/PB-block-diagram.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-block-diagram.png
rename to boards/pocketbeagle/original/images/PB-block-diagram.png
diff --git a/boards/pocketbeagle/images/PB-card-back-1.jpg b/boards/pocketbeagle/original/images/PB-card-back-1.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PB-card-back-1.jpg
rename to boards/pocketbeagle/original/images/PB-card-back-1.jpg
diff --git a/boards/pocketbeagle/images/PB-card-back.jpg b/boards/pocketbeagle/original/images/PB-card-back.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PB-card-back.jpg
rename to boards/pocketbeagle/original/images/PB-card-back.jpg
diff --git a/boards/pocketbeagle/images/PB-card-front-1.jpg b/boards/pocketbeagle/original/images/PB-card-front-1.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PB-card-front-1.jpg
rename to boards/pocketbeagle/original/images/PB-card-front-1.jpg
diff --git a/boards/pocketbeagle/images/PB-card-front.jpg b/boards/pocketbeagle/original/images/PB-card-front.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PB-card-front.jpg
rename to boards/pocketbeagle/original/images/PB-card-front.jpg
diff --git a/boards/pocketbeagle/images/PB-header-photo.png b/boards/pocketbeagle/original/images/PB-header-photo.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-header-photo.png
rename to boards/pocketbeagle/original/images/PB-header-photo.png
diff --git a/boards/pocketbeagle/images/PB-microSDphoto-small.jpg b/boards/pocketbeagle/original/images/PB-microSDphoto-small.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PB-microSDphoto-small.jpg
rename to boards/pocketbeagle/original/images/PB-microSDphoto-small.jpg
diff --git a/boards/pocketbeagle/images/PB-microSDphoto.jpg b/boards/pocketbeagle/original/images/PB-microSDphoto.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PB-microSDphoto.jpg
rename to boards/pocketbeagle/original/images/PB-microSDphoto.jpg
diff --git a/boards/pocketbeagle/images/PB-powerLED-photo.png b/boards/pocketbeagle/original/images/PB-powerLED-photo.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-powerLED-photo.png
rename to boards/pocketbeagle/original/images/PB-powerLED-photo.png
diff --git a/boards/pocketbeagle/images/PB-powerbutton.png b/boards/pocketbeagle/original/images/PB-powerbutton.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-powerbutton.png
rename to boards/pocketbeagle/original/images/PB-powerbutton.png
diff --git a/boards/pocketbeagle/images/PB-tethered.png b/boards/pocketbeagle/original/images/PB-tethered.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-tethered.png
rename to boards/pocketbeagle/original/images/PB-tethered.png
diff --git a/boards/pocketbeagle/images/PB-tutorials.png b/boards/pocketbeagle/original/images/PB-tutorials.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-tutorials.png
rename to boards/pocketbeagle/original/images/PB-tutorials.png
diff --git a/boards/pocketbeagle/images/PB-userLED-photo.png b/boards/pocketbeagle/original/images/PB-userLED-photo.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-userLED-photo.png
rename to boards/pocketbeagle/original/images/PB-userLED-photo.png
diff --git a/boards/pocketbeagle/images/PB-walkaround-2.jpg b/boards/pocketbeagle/original/images/PB-walkaround-2.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PB-walkaround-2.jpg
rename to boards/pocketbeagle/original/images/PB-walkaround-2.jpg
diff --git a/boards/pocketbeagle/images/PB-walkaround-2.png b/boards/pocketbeagle/original/images/PB-walkaround-2.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-walkaround-2.png
rename to boards/pocketbeagle/original/images/PB-walkaround-2.png
diff --git a/boards/pocketbeagle/images/PB-walkaround-3.jpg b/boards/pocketbeagle/original/images/PB-walkaround-3.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PB-walkaround-3.jpg
rename to boards/pocketbeagle/original/images/PB-walkaround-3.jpg
diff --git a/boards/pocketbeagle/images/PB-walkaround.png b/boards/pocketbeagle/original/images/PB-walkaround.png
similarity index 100%
rename from boards/pocketbeagle/images/PB-walkaround.png
rename to boards/pocketbeagle/original/images/PB-walkaround.png
diff --git a/boards/pocketbeagle/images/PB1-fullPC-3.jpg b/boards/pocketbeagle/original/images/PB1-fullPC-3.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PB1-fullPC-3.jpg
rename to boards/pocketbeagle/original/images/PB1-fullPC-3.jpg
diff --git a/boards/pocketbeagle/images/PocketBeagle-size-compare-small.jpg b/boards/pocketbeagle/original/images/PocketBeagle-size-compare-small.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PocketBeagle-size-compare-small.jpg
rename to boards/pocketbeagle/original/images/PocketBeagle-size-compare-small.jpg
diff --git a/boards/pocketbeagle/images/PocketBeagle_Back_BW.jpg b/boards/pocketbeagle/original/images/PocketBeagle_Back_BW.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PocketBeagle_Back_BW.jpg
rename to boards/pocketbeagle/original/images/PocketBeagle_Back_BW.jpg
diff --git a/boards/pocketbeagle/images/PocketBeagle_Expansion_Headers.ods b/boards/pocketbeagle/original/images/PocketBeagle_Expansion_Headers.ods
similarity index 100%
rename from boards/pocketbeagle/images/PocketBeagle_Expansion_Headers.ods
rename to boards/pocketbeagle/original/images/PocketBeagle_Expansion_Headers.ods
diff --git a/boards/pocketbeagle/images/PocketBeagle_Front_BW-small.jpg b/boards/pocketbeagle/original/images/PocketBeagle_Front_BW-small.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PocketBeagle_Front_BW-small.jpg
rename to boards/pocketbeagle/original/images/PocketBeagle_Front_BW-small.jpg
diff --git a/boards/pocketbeagle/images/PocketBeagle_Front_BW.jpg b/boards/pocketbeagle/original/images/PocketBeagle_Front_BW.jpg
similarity index 100%
rename from boards/pocketbeagle/images/PocketBeagle_Front_BW.jpg
rename to boards/pocketbeagle/original/images/PocketBeagle_Front_BW.jpg
diff --git a/boards/pocketbeagle/images/PocketBeagle_microUSB_bb.png b/boards/pocketbeagle/original/images/PocketBeagle_microUSB_bb.png
similarity index 100%
rename from boards/pocketbeagle/images/PocketBeagle_microUSB_bb.png
rename to boards/pocketbeagle/original/images/PocketBeagle_microUSB_bb.png
diff --git a/boards/pocketbeagle/images/PocketBeagle_microUSB_bb.svg b/boards/pocketbeagle/original/images/PocketBeagle_microUSB_bb.svg
similarity index 100%
rename from boards/pocketbeagle/images/PocketBeagle_microUSB_bb.svg
rename to boards/pocketbeagle/original/images/PocketBeagle_microUSB_bb.svg
diff --git a/boards/pocketbeagle/images/PocketBeagle_microUSB_bb1.png b/boards/pocketbeagle/original/images/PocketBeagle_microUSB_bb1.png
similarity index 100%
rename from boards/pocketbeagle/images/PocketBeagle_microUSB_bb1.png
rename to boards/pocketbeagle/original/images/PocketBeagle_microUSB_bb1.png
diff --git a/boards/pocketbeagle/images/PocketBeagle_pinout.pdf b/boards/pocketbeagle/original/images/PocketBeagle_pinout.pdf
similarity index 100%
rename from boards/pocketbeagle/images/PocketBeagle_pinout.pdf
rename to boards/pocketbeagle/original/images/PocketBeagle_pinout.pdf
diff --git a/boards/pocketbeagle/images/PocketBeagle_pinout.png b/boards/pocketbeagle/original/images/PocketBeagle_pinout.png
similarity index 100%
rename from boards/pocketbeagle/images/PocketBeagle_pinout.png
rename to boards/pocketbeagle/original/images/PocketBeagle_pinout.png
diff --git a/boards/pocketbeagle/images/Power-button-sch.png b/boards/pocketbeagle/original/images/Power-button-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/Power-button-sch.png
rename to boards/pocketbeagle/original/images/Power-button-sch.png
diff --git a/boards/pocketbeagle/images/SRM1_cloud9blinkPB.png b/boards/pocketbeagle/original/images/SRM1_cloud9blinkPB.png
similarity index 100%
rename from boards/pocketbeagle/images/SRM1_cloud9blinkPB.png
rename to boards/pocketbeagle/original/images/SRM1_cloud9blinkPB.png
diff --git a/boards/pocketbeagle/images/SRM2_cloud9blinkPB.png b/boards/pocketbeagle/original/images/SRM2_cloud9blinkPB.png
similarity index 100%
rename from boards/pocketbeagle/images/SRM2_cloud9blinkPB.png
rename to boards/pocketbeagle/original/images/SRM2_cloud9blinkPB.png
diff --git a/boards/pocketbeagle/images/SRM3_cloud9blinkPB.png b/boards/pocketbeagle/original/images/SRM3_cloud9blinkPB.png
similarity index 100%
rename from boards/pocketbeagle/images/SRM3_cloud9blinkPB.png
rename to boards/pocketbeagle/original/images/SRM3_cloud9blinkPB.png
diff --git a/boards/pocketbeagle/images/SRM4_cloud9blinkPB.png b/boards/pocketbeagle/original/images/SRM4_cloud9blinkPB.png
similarity index 100%
rename from boards/pocketbeagle/images/SRM4_cloud9blinkPB.png
rename to boards/pocketbeagle/original/images/SRM4_cloud9blinkPB.png
diff --git a/boards/pocketbeagle/images/SiP-A-sch.png b/boards/pocketbeagle/original/images/SiP-A-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/SiP-A-sch.png
rename to boards/pocketbeagle/original/images/SiP-A-sch.png
diff --git a/boards/pocketbeagle/images/SiP-B-sch.png b/boards/pocketbeagle/original/images/SiP-B-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/SiP-B-sch.png
rename to boards/pocketbeagle/original/images/SiP-B-sch.png
diff --git a/boards/pocketbeagle/images/SiP-C-sch.png b/boards/pocketbeagle/original/images/SiP-C-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/SiP-C-sch.png
rename to boards/pocketbeagle/original/images/SiP-C-sch.png
diff --git a/boards/pocketbeagle/images/SiP-D-sch.png b/boards/pocketbeagle/original/images/SiP-D-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/SiP-D-sch.png
rename to boards/pocketbeagle/original/images/SiP-D-sch.png
diff --git a/boards/pocketbeagle/images/SiP-E-sch.png b/boards/pocketbeagle/original/images/SiP-E-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/SiP-E-sch.png
rename to boards/pocketbeagle/original/images/SiP-E-sch.png
diff --git a/boards/pocketbeagle/images/SiP-F-sch.png b/boards/pocketbeagle/original/images/SiP-F-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/SiP-F-sch.png
rename to boards/pocketbeagle/original/images/SiP-F-sch.png
diff --git a/boards/pocketbeagle/images/USB-sch.png b/boards/pocketbeagle/original/images/USB-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/USB-sch.png
rename to boards/pocketbeagle/original/images/USB-sch.png
diff --git a/boards/pocketbeagle/images/User-LEDs-sch.png b/boards/pocketbeagle/original/images/User-LEDs-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/User-LEDs-sch.png
rename to boards/pocketbeagle/original/images/User-LEDs-sch.png
diff --git a/boards/pocketbeagle/images/fig-PB-Headerphoto.png b/boards/pocketbeagle/original/images/fig-PB-Headerphoto.png
similarity index 100%
rename from boards/pocketbeagle/images/fig-PB-Headerphoto.png
rename to boards/pocketbeagle/original/images/fig-PB-Headerphoto.png
diff --git a/boards/pocketbeagle/images/green_check.png b/boards/pocketbeagle/original/images/green_check.png
similarity index 100%
rename from boards/pocketbeagle/images/green_check.png
rename to boards/pocketbeagle/original/images/green_check.png
diff --git a/boards/pocketbeagle/images/mikrobus-socket-pinout.jpg b/boards/pocketbeagle/original/images/mikrobus-socket-pinout.jpg
similarity index 100%
rename from boards/pocketbeagle/images/mikrobus-socket-pinout.jpg
rename to boards/pocketbeagle/original/images/mikrobus-socket-pinout.jpg
diff --git a/boards/pocketbeagle/images/pocketbeagle_package_small_size.jpg b/boards/pocketbeagle/original/images/pocketbeagle_package_small_size.jpg
similarity index 100%
rename from boards/pocketbeagle/images/pocketbeagle_package_small_size.jpg
rename to boards/pocketbeagle/original/images/pocketbeagle_package_small_size.jpg
diff --git a/boards/pocketbeagle/images/usdconnector-sch.png b/boards/pocketbeagle/original/images/usdconnector-sch.png
similarity index 100%
rename from boards/pocketbeagle/images/usdconnector-sch.png
rename to boards/pocketbeagle/original/images/usdconnector-sch.png
diff --git a/boards/pocketbeagle/images/warning_tri.png b/boards/pocketbeagle/original/images/warning_tri.png
similarity index 100%
rename from boards/pocketbeagle/images/warning_tri.png
rename to boards/pocketbeagle/original/images/warning_tri.png
diff --git a/boards/pocketbeagle/index.rst b/boards/pocketbeagle/original/index.rst
similarity index 100%
rename from boards/pocketbeagle/index.rst
rename to boards/pocketbeagle/original/index.rst
diff --git a/index.rst b/index.rst
index 14ebc830..3f2ace49 100644
--- a/index.rst
+++ b/index.rst
@@ -6,6 +6,8 @@
 BeagleBoard Documentation
 ############################
 
+Welcome to the `BeagleBoard project documentation <https://git.beagleboard.org/docs/docs.beagleboard.io>`__.
+
 Sections
 ********
 
@@ -30,7 +32,7 @@ Sections
    books/index.rst
 
 Indices and tables
-############################
+********************
 
 * :ref:`glossary`
 * :ref:`genindex`
diff --git a/intro/contribution/contribute.rst b/intro/contribution/contribute.rst
deleted file mode 100644
index 723dea9a..00000000
--- a/intro/contribution/contribute.rst
+++ /dev/null
@@ -1 +0,0 @@
-.. _beagleboard-contribute:
\ No newline at end of file
diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index 26ff7b41..bcea82b8 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -9,3 +9,4 @@ Contribution
    :maxdepth: 1
 
    git-usage.rst
+   style.rst
diff --git a/intro/contribution/style.rst b/intro/contribution/style.rst
new file mode 100644
index 00000000..e80d7615
--- /dev/null
+++ b/intro/contribution/style.rst
@@ -0,0 +1,12 @@
+.. _beagleboard-doc-style:
+
+Documentation Style Guide
+##########################
+
+.. note:: 
+    This is currently a work-in-progress placeholder for some notes
+    on how to style the BeagleBoard Documenation Project.
+
+See the `Zephyr Project Documentation Guidelines <https://docs.zephyrproject.org/latest/contribute/documentation/guidelines.html>`__ as a starting point.
+
+
diff --git a/intro/index.rst b/intro/index.rst
index e1387b4e..96900e60 100644
--- a/intro/index.rst
+++ b/intro/index.rst
@@ -1,5 +1,5 @@
-INTRODUCTION
-*************
+Introduction
+#############
 
 Welcome to the BeagleBoard documentation project. If you are looking for help with your Beagle
 open-hardware development platform, you've found the right place!
-- 
GitLab


From a2e3ee545994fa750fe0cde7deb49848f9fe45cb Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 12:42:27 -0400
Subject: [PATCH 11/83] WIP reorganization

---
 intro/support/index.rst | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/intro/support/index.rst b/intro/support/index.rst
index 3e913b59..a40c10a7 100644
--- a/intro/support/index.rst
+++ b/intro/support/index.rst
@@ -3,7 +3,7 @@
 Support
 #########
 
-.. note:: #TODO# all the links need updating and content moved into this repo.
+.. note:: #TODO# all the links need updating and content moved into this repo, especially bone101.
 
 Getting started
 ===============
@@ -12,6 +12,8 @@ The starting experience for all Beagles has been made to be as
 consistent as is possible. For any of the Beagle Linux-based open
 hardware computers, visit our `getting started guide <getting-started>`__.
 
+- `Getting Started Guide <getting-started>`__
+
 Getting support
 ===============
 
@@ -27,12 +29,6 @@ to provide a link to your questions on the `community
 forums <https://forum.beagleboard.org>`__ as answers will be provided
 there.
 
-.. toctree::
-   :maxdepth: 1
-
-   getting-started.rst
-
-
 Diagnostic tools
 ================
 
@@ -91,5 +87,6 @@ Understanding Your Beagle
 Working with Cape Add-on Boards
 ===============================
 
+- `Cape Documentation <../../boards/capes>`__
 - `BeagleBone Cape Interface Specification <../../boards/capes/cape-interface-spec>`__
 
-- 
GitLab


From a24c8a4885e829134ec1252ad5b1a56930fbbf9c Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 13:40:53 -0400
Subject: [PATCH 12/83] WIP missed technology/index

---
 boards/beagleconnect/technology/index.rst | 1116 +++++++++++++++++++++
 1 file changed, 1116 insertions(+)
 create mode 100644 boards/beagleconnect/technology/index.rst

diff --git a/boards/beagleconnect/technology/index.rst b/boards/beagleconnect/technology/index.rst
new file mode 100644
index 00000000..b224c487
--- /dev/null
+++ b/boards/beagleconnect/technology/index.rst
@@ -0,0 +1,1116 @@
+.. _beagleconnect-overview:
+
+BeagleConnect Overview
+#######################
+
+This is the deep-dive introduction to BeagleConnect technology and software
+architecture.
+
+.. note:: 
+    This documentation and the associated software are each a work-in-progress.
+
+.. image:: ../freedom/media/image1.jpg
+   :width: 598
+   :align: center
+   :height: 400
+   :alt: BeagleConnect
+
+BeagleConnectâ„¢ Greybus Stack
+****************************
+
+Work in progress
+================
+
+To understand a bit more about how the BeagleConnectâ„¢ Greybus stack is being
+built, this section helps describe the development currently in progress and
+the principles of operation.
+
+Background
+----------
+.. image:: media/SoftwareProp.jpg
+   :width: 600
+   :align: center
+   :height: 400
+   :alt: BeagleConnect Software Proposition
+
+BeagleConnectâ„¢ uses Greybus and updated Click Boards with identifiers to 
+eliminate the need to add and manually configure devices added onto the Linux 
+system.
+
+High-level
+----------
+* For Linux nerds: Think of BeagleConnectâ„¢ as 6LoWPAN over 802.15.4-based 
+  Greybus (instead of Unipro as used by Project Ara), where every 
+  BeagleConnectâ„¢ board shows up as new SPI, I2C, UART, PWM, ADC, and GPIO 
+  controllers that can now be probed to load drivers for the sensors or 
+  whatever is connected to them. (Proof of concept of Greybus over TCP/IP: 
+  https://www.youtube.com/watch?v=7H50pv-4YXw)
+
+* For MCU folks: Think of BeagleConnectâ„¢ as a Firmata-style firmware load that 
+  exposes the interfaces for remote access over a secured wireless network. 
+  However, instead of using host software that knows how to speak the Firmata 
+  protocol, the Linux kernel speaks the slightly similar Greybus protocol to 
+  the MCU and exposes the device generically to users using a Linux kernel 
+  driver. Further, the Greybus protocol is spoken over 6LoWPAN on 802.15.4.
+
+Software architecture
+---------------------
+
+.. image:: media/bcf_block_diagram.svg
+   :width: 600
+   :align: center
+   :height: 400
+   :alt: BeagleConnect Block Diagram
+
+TODO items
+----------
+
+* Linux kernel driver
+
+* Provisioning
+
+* Firmware for host CC13x
+
+* Firmware for device CC13x
+
+* Click Board drivers and device tree formatted metadata for 100 or so Click 
+  Boards
+
+* Click Board plug-ins for node-red for the same 100 or so Click Boards
+
+* BeagleConnectâ„¢ Freedom System Reference Manual and FAQs
+
+
+Associated pre-work
+-------------------
+
+* Click Board support for Node-RED can be executed with native connections on 
+  PocketBeagle+TechLab and BeagleBone Black with mikroBUS Cape
+
+* Device tree fragments and driver updates can be provided via 
+  https://bbb.io/click
+
+* The Kconfig style provisioning can be implemented for those solutions, which 
+  will require a reboot. We need to centralize edits to /boot/uEnv.txt to be 
+  programmatic. As I think through this, I don't think BeagleConnect is 
+  impacted, because the Greybus-style discovery along with Click EEPROMS will 
+  eliminate any need to edit /boot/uEnv.txt.
+
+User experience concerns
+------------------------
+
+* Make sure no reboots are required
+
+* Plugging BeagleConnect into host should trigger host configuration
+
+* Click EEPROMs should trigger loading whatever drivers are needed and 
+  provisioning should load any new drivers
+
+* Userspace (spidev, etc.) drivers should unload cleanly when 2nd phase 
+  provisioning is completed
+
+BeagleConnectâ„¢ Greybus demo using BeagleConnectâ„¢ Freedom
+========================================================
+BeagleConnectâ„¢ Freedom runs a subGHz IEEE 802.15.4 network. This BeagleConnectâ„¢
+Greybus demo shows how to interact with GPIO, I2C and mikroBUS add-on boards 
+remotely connected over a BeagleConnectâ„¢ Freedom.
+
+This section starts with the steps required to use 
+`Linux <https://en.wikipedia.org/wiki/Linux>`_ embedded computer 
+(`BeagleBone Green Gateway <https://wiki.seeedstudio.com/BeagleBone-Green-Gateway/>`_) 
+and the `Greybus <https://lwn.net/Articles/715955/>`_ protocol, over an 
+IEEE 802.15.4 wireless link, to blink an LED on a 
+`Zephyr <https://zephyrproject.org/>`_ device.
+
+Introduction
+------------
+
+*Why??*
+
+Good question. Blinking an LED is kind of the 
+`Hello, World <https://en.wikipedia.org/wiki/%22Hello,_World!%22_program>`_ of 
+the hardware community. In this case, we're less interested in the mechanics 
+of switching a GPIO to drive some current through an LED and more interested in
+how that happens with the 
+`Internet of Things (IoT) <https://en.wikipedia.org/wiki/Internet_of_things>`_.
+
+There are several existing network and application layers that are driven by 
+corporate heavyweights and industry consortiums, but relatively few that are 
+community driven and, more specifically, even fewer that have the ability to 
+integrate so tightly with the Linux kernel.
+
+The goal here is to provide a community-maintained, developer-friendly, and 
+open-source protocol for the Internet of Things using the Greybus Protocol, and
+blinking an LED using Greybus is the simplest proof-of-concept for that. All 
+that is required is a reliable transport.
+
+#. Power a BeagleConnect Freedom that has not yet been programmed via a USB 
+   power source, not the BeagleBone Green Gateway. You'll hear a click every 
+   1-2 seconds along with seeing 4 of the LEDs turn off and on.
+
+#. In an isolated terminal window, :code:`sudo beagleconnect-start-gateway`
+
+#. :code:`sensortest-rx.py`
+
+Every 1-2 minutes, you should see something like:
+
+.. code-block::
+
+    ('fe80::3111:7a22:4b:1200%lowpan0', 52213, 0, 13)  '2l:7.79;'
+    ('fe80::3111:7a22:4b:1200%lowpan0', 52213, 0, 13)  '4h:43.75;4t:23.11;'
+
+The value after "2l:" is the amount of light in lux. The value after "4h:" is 
+the relative humidity and after "4t:" is the temperature in Celsius.
+
+Flash BeagleConnectâ„¢ Freedom node device with Greybus firmware
+--------------------------------------------------------------
+
+#TODO: How can we add a step in here to show the network is connected without needing gbridge to be fully functional?
+
+Do this from the BeagleBone® Green Gateway board that was previously used to 
+program the BeagleConnectâ„¢ Freedom gateway device:
+
+#. Disconnect the BeagleConnectâ„¢ Freedom **gateway** device
+
+#. Connect a new BeagleConnectâ„¢ Freedom board via USB
+
+#. :code:`sudo systemctl stop lowpan.service`
+
+#. :code:`cc2538-bsl.py /usr/share/beagleconnect/cc1352/greybus_mikrobus_beagleconnect.bin /dev/ttyACM0`
+
+#. After it finishes programming successfully, disconnect the BeagleConnect Freedom node device
+
+#. Power the newly programmed BeagleConnect Freedom node device from an alternate USB power source
+
+#. Reconnect the BeagleConnect Freedom **gateway** device to the BeagleBone Green Gateway
+
+#. :code:`sudo systemctl start lowpan.service`
+
+#. :code:`sudo beagleconnect-start-gateway`
+
+.. code-block:: bash
+
+    debian@beaglebone:~$ sudo beagleconnect-start-gateway
+    [sudo] password for debian:
+    setting up wpanusb gateway for IEEE 802154 CHANNEL 1(906 Mhz)
+    ping6: Warning: source address might be selected on device other than lowpan0.
+    PING 2001:db8::1(2001:db8::1) from ::1 lowpan0: 56 data bytes
+    64 bytes from 2001:db8::1: icmp_seq=2 ttl=64 time=185 ms
+    64 bytes from 2001:db8::1: icmp_seq=3 ttl=64 time=40.9 ms
+    64 bytes from 2001:db8::1: icmp_seq=4 ttl=64 time=40.9 ms
+    64 bytes from 2001:db8::1: icmp_seq=5 ttl=64 time=40.6 ms
+
+    --- 2001:db8::1 ping statistics ---
+    5 packets transmitted, 4 received, 20% packet loss, time 36ms
+    rtt min/avg/max/mdev = 40.593/76.796/184.799/62.356 ms
+    debian@beaglebone:~$ iio_info
+    Library version: 0.19 (git tag: v0.19)
+    Compiled with backends: local xml ip usb serial
+    IIO context created with local backend.
+    Backend version: 0.19 (git tag: v0.19)
+    Backend description string: Linux beaglebone 5.14.18-bone20 #1buster PREEMPT Tue Nov 16 20:47:19 UTC 2021 armv7l
+    IIO context has 1 attributes:
+        local,kernel: 5.14.18-bone20
+    IIO context has 3 devices:
+        iio:device0: TI-am335x-adc.0.auto (buffer capable)
+            8 channels found:
+                voltage0:  (input, index: 0, format: le:u12/16>>0)
+                1 channel-specific attributes found:
+                    attr  0: raw value: 1412
+                voltage1:  (input, index: 1, format: le:u12/16>>0)
+                1 channel-specific attributes found:
+                    attr  0: raw value: 2318
+                voltage2:  (input, index: 2, format: le:u12/16>>0)
+                1 channel-specific attributes found:
+                    attr  0: raw value: 2631
+                voltage3:  (input, index: 3, format: le:u12/16>>0)
+                1 channel-specific attributes found:
+                    attr  0: raw value: 817
+                voltage4:  (input, index: 4, format: le:u12/16>>0)
+                1 channel-specific attributes found:
+                    attr  0: raw value: 881
+                voltage5:  (input, index: 5, format: le:u12/16>>0)
+                1 channel-specific attributes found:
+                    attr  0: raw value: 0
+                voltage6:  (input, index: 6, format: le:u12/16>>0)
+                1 channel-specific attributes found:
+                    attr  0: raw value: 0
+                voltage7:  (input, index: 7, format: le:u12/16>>0)
+                1 channel-specific attributes found:
+                    attr  0: raw value: 1180
+            2 buffer-specific attributes found:
+                    attr  0: data_available value: 0
+                    attr  1: watermark value: 1
+        iio:device1: hdc2010
+            3 channels found:
+                humidityrelative:  (input)
+                3 channel-specific attributes found:
+                    attr  0: peak_raw value: 52224
+                    attr  1: raw value: 52234
+                    attr  2: scale value: 1.525878906
+                current:  (output)
+                2 channel-specific attributes found:
+                    attr  0: heater_raw value: 0
+                    attr  1: heater_raw_available value: 0 1
+                temp:  (input)
+                4 channel-specific attributes found:
+                    attr  0: offset value: -15887.515151
+                    attr  1: peak_raw value: 25600
+                    attr  2: raw value: 25628
+                    attr  3: scale value: 2.517700195
+        iio:device2: opt3001
+            1 channels found:
+                illuminance:  (input)
+                2 channel-specific attributes found:
+                    attr  0: input value: 79.040000
+                    attr  1: integration_time value: 0.800000
+            2 device-specific attributes found:
+                    attr  0: current_timestamp_clock value: realtime
+
+                    attr  1: integration_time_available value: 0.1 0.8
+    debian@beaglebone:~$ dmesg | grep -e mikrobus -e greybus
+    [  100.491253] greybus 1-2.2: Interface added (greybus)
+    [  100.491294] greybus 1-2.2: GMP VID=0x00000126, PID=0x00000126
+    [  100.491306] greybus 1-2.2: DDBL1 Manufacturer=0x00000126, Product=0x00000126
+    [  100.737637] greybus 1-2.2: excess descriptors in interface manifest
+    [  102.475168] mikrobus:mikrobus_port_gb_register: mikrobus gb_probe , num cports= 2, manifest_size 192
+    [  102.475206] mikrobus:mikrobus_port_gb_register: protocol added 3
+    [  102.475214] mikrobus:mikrobus_port_gb_register: protocol added 2
+    [  102.475239] mikrobus:mikrobus_port_register: registering port mikrobus-1
+    [  102.475400] mikrobus_manifest:mikrobus_state_get: mikrobus descriptor not found
+    [  102.475417] mikrobus_manifest:mikrobus_manifest_attach_device: parsed device 1, driver=opt3001, protocol=3, reg=44
+    [  102.494516] mikrobus_manifest:mikrobus_manifest_attach_device: parsed device 2, driver=hdc2010, protocol=3, reg=41
+    [  102.494567] mikrobus_manifest:mikrobus_manifest_parse:  (null) manifest parsed with 2 devices
+    [  102.494592] mikrobus mikrobus-1: registering device : opt3001
+    [  102.495096] mikrobus mikrobus-1: registering device : hdc2010
+    debian@beaglebone:~$
+
+
+#TODO: update the below for the built-in sensors
+
+#TODO: can we also handle the case where these sensors are included and recommend them? Same firmware?
+
+#TODO: the current demo is for the built-in sensors, not the Click boards mentioned below
+
+Currently only a limited number of add-on boards have been tested to work over Greybus, simple add-on boards without interrupt requirement are the ones that work currently. The example is for Air Quality 2 Click and Weather Click attached to the mikroBUS ports on the device side.
+
+/var/log/gbridge will have the gbridge log, and if the mikroBUS port has been instantiated successfully the kernel log will show the devices probe messages:
+
+#TODO: this log needs to be updated
+
+.. code-block::
+
+    greybus 1-2.2: GMP VID=0x00000126, PID=0x00000126
+    greybus 1-2.2: DDBL1 Manufacturer=0x00000126, Product=0x00000126
+    greybus 1-2.2: excess descriptors in interface manifest
+    mikrobus:mikrobus_port_gb_register: mikrobus gb_probe , num cports= 3, manifest_size 252
+    mikrobus:mikrobus_port_gb_register: protocol added 11
+    mikrobus:mikrobus_port_gb_register: protocol added 3
+    mikrobus:mikrobus_port_gb_register: protocol added 2
+    mikrobus:mikrobus_port_register: registering port mikrobus-0
+    mikrobus_manifest:mikrobus_manifest_attach_device: parsed device 1, driver=bme280, protocol=3, reg=76
+    mikrobus_manifest:mikrobus_manifest_attach_device: parsed device 2, driver=ams-iaq-core, protocol=3, reg=5a
+    mikrobus_manifest:mikrobus_manifest_parse:  Greybus Service Sample Application manifest parsed with 2 devices
+    mikrobus mikrobus-0: registering device : bme280
+    mikrobus mikrobus-0: registering device : ams-iaq-core
+
+
+#TODO: bring in the GPIO toggle and I2C explorations for greater understanding
+
+Flashing via a Linux Host
+-------------------------
+
+
+
+If flashing the Freedom board via the BeagleBone fails here's a trick you can try to flash from a Linux host.
+
+Use :code:`sshfs` to mount the Bone's files on the Linux host. This assumes the
+Bone is plugged in the the USB and appears at :code:`192.168.7.2`:
+
+.. code-block:: bash
+
+    host$ cd
+    host$ sshfs 192.168.7.2:/ bone
+    host$ cd bone; ls
+    bin   dev  home    lib         media  opt   root  sbin  sys  usr
+    boot  etc  ID.txt  lost+found  mnt    proc  run   srv   tmp  var
+    host$ ls /dev/ttyACM*
+    /dev/ttyACM1
+
+
+
+The Bone's files now appear as local files. Notice there is already a 
+:code:`/dev/ACM*` appearing. Now plug the Connect into the Linux host's USB 
+port and run the command again.
+
+.. code-block:: bash
+
+    host$ ls /dev/ttyACM*
+    /dev/ttyACM0  /dev/ttyACM1
+
+The :code:`/dev/ttyACM` that just appeared is the one associated with the 
+Connect. In my case it's :code:`/dev/ttyACM0`. That's what I'll use in this 
+example.
+
+Now change directories to where the binaries are and load:
+
+.. code-block:: bash
+
+    host$ cd ~/bone/usr/share/beagleconnect/cc1352;ls
+    greybus_mikrobus_beagleconnect.bin     sensortest_beagleconnect.dts
+    greybus_mikrobus_beagleconnect.config  wpanusb_beagleconnect.bin
+    greybus_mikrobus_beagleconnect.dts     wpanusb_beagleconnect.config
+    sensortest_beagleconnect.bin           wpanusb_beagleconnect.dts
+    sensortest_beagleconnect.config
+
+    host$ ~/bone/usr/bin/cc2538-bsl.py sensortest_beagleconnect.bin /dev/ttyACM0
+    8-bsl.py sensortest_beagleconnect.bin /dev/ttyACM0
+    Opening port /dev/ttyACM0, baud 50000
+    Reading data from sensortest_beagleconnect.bin
+    Cannot auto-detect firmware filetype: Assuming .bin
+    Connecting to target...
+    CC1350 PG2.0 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8
+    Primary IEEE Address: 00:12:4B:00:22:7A:10:46
+        Performing mass erase
+    Erasing all main bank flash sectors
+        Erase done
+    Writing 360448 bytes starting at address 0x00000000
+    Write 104 bytes at 0x00057F988
+        Write done
+    Verifying by comparing CRC32 calculations.
+        Verified (match: 0x0f6bdf0f)
+
+Now you are ready to continue the instructions above after the cc2528 command.
+
+Trying for different add-on boards
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+See `mikroBUS over Greybus <https://github.com/vaishnav98/greybus-for-zephyr/tree/mikrobus#trying-out-different-add-on-boardsdevices-over-mikrobus>`_ 
+for trying out the same example for different mikroBUS add-on boards/ on-board devices.
+
+Observe the node device
+-----------------------
+
+Connect BeagleConnect Freedom node device to an Ubuntu laptop to observe the 
+Zephyr console.
+
+
+Console (:code:`tio`)
+---------------------
+In order to see diagnostic messages or to run certain commands on the Zephyr 
+device we will require a terminal open to the device console. In this case, we
+use `tio <https://tio.github.io/>`_ due how its usage simplifies the 
+instructions.
+
+#. Install :code:`tio`
+   :code:`sudo apt install -y tio`
+
+#. Run :code:`tio`
+   :code:`tio /dev/ttyACM0`
+
+ To exit :code:`tio` (later), enter :code:`ctrl+t, q`. 
+
+
+The Zephyr Shell
+----------------
+
+
+After flashing, you should observe the something matching the following output in :code:`tio`.
+
+.. code-block:: bash
+
+    uart:~$ *** Booting Zephyr OS build 9c858c863223  ***
+    [00:00:00.009,735] <inf> greybus_transport_tcpip: CPort 0 mapped to TCP/IP port 4242
+    [00:00:00.010,131] <inf> greybus_transport_tcpip: CPort 1 mapped to TCP/IP port 4243
+    [00:00:00.010,528] <inf> greybus_transport_tcpip: CPort 2 mapped to TCP/IP port 4244
+    [00:00:00.010,742] <inf> greybus_transport_tcpip: Greybus TCP/IP Transport initialized
+    [00:00:00.010,864] <inf> greybus_manifest: Registering CONTROL greybus driver.
+    [00:00:00.011,230] <inf> greybus_manifest: Registering GPIO greybus driver.
+    [00:00:00.011,596] <inf> greybus_manifest: Registering I2C greybus driver.
+    [00:00:00.011,871] <inf> greybus_service: Greybus is active
+    [00:00:00.026,092] <inf> net_config: Initializing network
+    [00:00:00.134,063] <inf> net_config: IPv6 address: 2001:db8::1
+
+
+
+The line beginning with :code:`***` is the Zephyr boot banner.
+
+Lines beginning with a timestamp of the form :code:`[H:m:s.us]` are Zephyr 
+kernel messages.
+
+Lines beginning with :code:`uart:~$` indicates that the Zephyr shell is 
+prompting you to enter a command.
+
+From the informational messages shown, we observe the following.
+
+* Zephyr is configured with the following 
+  `link-local IPv6 address <https://en.wikipedia.org/wiki/Link-local_address#IPv6>`_ :code:`fe80::3177:a11c:4b:1200`
+
+* It is listening for (both) TCP and UDP traffic on port 4242
+
+However, what the log messages do not show (which will come into play later), 
+are 2 critical pieces of information:
+
+#. **The RF Channel**: As you may have guessed, IEEE 802.15.4 devices are only 
+   able to communicate with each other if they are using the same frequency to 
+   transmit and recieve data. This information is part of the Physical Layer.
+
+#. The `PAN identifier <https://www.silabs.com/community/wireless/proprietary/knowledge-base.entry.html/2019/10/04/connect_tutorial6-ieee802154addressing-rapc>`_: 
+   IEEE 802.15.4 devices are only be able to communicate with one another if 
+   they use the same PAN ID. This permits multiple networks (PANs) on the same 
+   frequency. This information is part of the Data Link Layer.
+
+If we type :code:`help` in the shell and hit Enter, we're prompted with the 
+following:
+
+.. code-block::
+
+    Please press the <Tab> button to see all available commands.
+    You can also use the <Tab> button to prompt or auto-complete all commands or its subcommands.
+    You can try to call commands with <-h> or <--help> parameter for more information.
+    Shell supports following meta-keys:
+
+    Ctrl+a, Ctrl+b, Ctrl+c, Ctrl+d, Ctrl+e, Ctrl+f, Ctrl+k, Ctrl+l, Ctrl+n, Ctrl+p, Ctrl+u, Ctrl+w
+    Alt+b, Alt+f.
+    Please refer to shell documentation for more details.
+
+So after hitting Tab, we see that there are several interesting commands we can
+use for additional information.
+
+.. code-block::
+
+    uart:~$
+    clear       help        history     ieee802154  log         net
+    resize      sample      shell
+
+Zephyr Shell: IEEE 802.15.4 commands
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Entering :code:`ieee802154 help`, we see
+
+.. code-block::
+
+    uart:~$ ieee802154 help
+    ieee802154 - IEEE 802.15.4 commands
+    Subcommands:
+    ack             :<set/1 | unset/0> Set auto-ack flag
+    associate       :<pan_id> <PAN coordinator short or long address (EUI-64)>
+    disassociate    :Disassociate from network
+    get_chan        :Get currently used channel
+    get_ext_addr    :Get currently used extended address
+    get_pan_id      :Get currently used PAN id
+    get_short_addr  :Get currently used short address
+    get_tx_power    :Get currently used TX power
+    scan            :<passive|active> <channels set n[:m:...]:x|all> <per-channel
+                    duration in ms>
+    set_chan        :<channel> Set used channel
+    set_ext_addr    :<long/extended address (EUI-64)> Set extended address
+    set_pan_id      :<pan_id> Set used PAN id
+    set_short_addr  :<short address> Set short address
+    set_tx_power    :<-18/-7/-4/-2/0/1/2/3/5> Set TX power
+
+
+We get the missing Channel number (frequency) with the command :code:`ieee802154 get_chan`.
+
+.. code-block::
+
+    uart:~$ ieee802154 get_chan
+    Channel 26
+
+We get the missing PAN ID with the command :code:`ieee802154 get_pan_id`.
+
+.. code-block::
+
+    uart:~$ ieee802154 get_pan_id
+    PAN ID 43981 (0xabcd)
+
+Zephyr Shell: Network Commands
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Additionally, we may query the IPv6 information of the Zephyr device.
+
+.. code-block::
+
+    uart:~$ net iface
+
+    Interface 0x20002b20 (IEEE 802.15.4) [1]
+    ========================================
+    Link addr : CD:99:A1:1C:00:4B:12:00
+    MTU       : 125
+    IPv6 unicast addresses (max 3):
+            fe80::cf99:a11c:4b:1200 autoconf preferred infinite
+            2001:db8::1 manual preferred infinite
+    IPv6 multicast addresses (max 4):
+            ff02::1
+            ff02::1:ff4b:1200
+            ff02::1:ff00:1
+    IPv6 prefixes (max 2):
+            <none>
+    IPv6 hop limit           : 64
+    IPv6 base reachable time : 30000
+    IPv6 reachable time      : 16929
+    IPv6 retransmit timer    : 0
+
+
+
+And we see that the static IPv6 address (:code:`2001:db8::1`) from 
+:code:`samples/net/sockets/echo_server/prj.conf` is present and configured. 
+While the statically configured IPv6 address is useful, it isn't 100% necessary.
+
+Rebuilding from source
+----------------------
+
+#TODO: revisit everything below here
+
+Prerequisites
+^^^^^^^^^^^^^
+
+* Zephyr environment is set up according to the 
+  `Getting Started Guide <https://docs.zephyrproject.org/latest/getting_started/index.html>`_
+
+    * Please use the Zephyr SDK when installing a toolchain above
+
+* `Zephyr SDK <https://docs.zephyrproject.org/latest/getting_started/index.html#install-a-toolchain>`_ 
+  is installed at ~/zephyr-sdk-0.11.2 (any later version should be fine as well)
+
+* Zephyr board is connected via USB
+
+Cloning the repository
+^^^^^^^^^^^^^^^^^^^^^^
+
+This repository utilizes `git submodules <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_ 
+to keep track of all of the projects required to reproduce the on-going work. 
+The instructions here only cover checking out the :code:`demo` branch which 
+should stay in a tested state. On-going development will be on the 
+:code:`master` branch.
+
+Note: The parent directory :code:`~` is simply used as a placeholder for testing. 
+Please use whatever parent directory you see fit. 
+
+Clone specific tag
+^^^^^^^^^^^^^^^^^^
+
+.. code-block:: bash
+
+    cd ~
+    git clone --recurse-submodules --branch demo https://github.com/jadonk/beagleconnect
+
+Zephyr
+------
+
+Add the Fork
+^^^^^^^^^^^^
+
+For the time being, Greybus must remain outside of the main Zephyr repository. 
+Currently, it is just in a Zephyr fork, but it should be converted to a 
+proper `Module (External Project) <https://docs.zephyrproject.org/latest/guides/modules.html>`_. 
+This is for a number of reasons, but mainly there must be:
+
+* specifications for authentication and encryption
+
+* specifications for joining and rejoining wireless networks
+
+* specifications for discovery
+
+Therefore, in order to reproduce this example, please run the following.
+
+.. code-block:: bash
+
+    cd ~/beagleconnect/sw/zephyrproject/zephyr
+    west update
+
+Build and Flash Zephyr
+^^^^^^^^^^^^^^^^^^^^^^
+
+Here, we will build and flash the Zephyr 
+`greybus_net sample <https://github.com/cfriedt/zephyr/tree/greybus-sockets/samples/subsys/greybus/net>`_ 
+to our device.
+
+#. Edit the file :code:`~/.zephyrrc` and place the following text inside of it
+
+.. code-block:: bash
+
+    export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
+    export ZEPHYR_SDK_INSTALL_DIR=~/zephyr-sdk-0.11.2
+
+#. Set up the required Zephyr environment variables via
+
+.. code-block:: bash
+
+    source zephyr-env.sh
+
+#. Build the project
+
+.. code-block:: bash
+
+    BOARD=cc1352r1_launchxl west build samples/subsys/greybus/net --pristine \
+    --build-dir build/greybus_launchpad -- -DCONF_FILE="prj.conf overlay-802154.conf"
+
+#. Ensure that the last part of the build process looks somewhat like this:
+
+.. code-block:: bash
+
+    ...
+    [221/226] Linking C executable zephyr/zephyr_prebuilt.elf
+    Memory region         Used Size  Region Size  %age Used
+            FLASH:      155760 B     360360 B     43.22%
+        FLASH_CCFG:          88 B         88 B    100.00%
+                SRAM:       58496 B        80 KB     71.41%
+            IDT_LIST:         184 B         2 KB      8.98%
+    [226/226] Linking C executable zephyr/zephyr.elf
+
+#. Flash the firmware to your device using
+
+.. code-block:: bash
+
+    BOARD=cc1352r1_launchxl west flash --build-dir build/greybus_launchpad
+
+Linux
+-----
+
+Warning: If you aren't comfortable building and installing a Linux kernel on 
+your computer, you should probably just stop here. I'll assume you know the 
+basics of building and installing a Linux kernel from here on out. 
+
+Clone, patch, and build the kernel
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+For this demo, I used the 5.8.4 stable kernel. Also, I've applied the 
+:code:`mikrobus` kernel driver, though it isn't strictly required for greybus.
+
+Note: The parent directory :code:`~` is simply used as a placeholder for testing. 
+Please use whatever parent directory you see fit. 
+
+TODO: The patches for gb-netlink will eventually be applied here until pushed into mainline.
+
+.. code-block:: bash
+
+    cd ~
+    git clone --branch v5.8.4 --single-branch git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
+    cd linux
+    git checkout -b v5.8.4-greybus
+    git am ~/beagleconnect/sw/linux/v2-0001-RFC-mikroBUS-driver-for-add-on-boards.patch
+    git am ~/beagleconnect/sw/linux/0001-mikroBUS-build-fixes.patch
+    cp /boot/config-`uname -r` .config
+    yes "" | make oldconfig
+    ./scripts/kconfig/merge_config.sh .config ~/beagleconnect/sw/linux/mikrobus.config
+    ./scripts/kconfig/merge_config.sh .config ~/beagleconnect/sw/linux/atusb.config
+    make -j`nproc --all`
+    sudo make modules_install
+    sudo make install
+
+Reboot and select your new kernel.
+
+Probe the IEEE 802.15.4 Device Driver
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+On the Linux machine, make sure the :code:`atusb` driver is loaded. This should
+happen automatically when the adapter is inserted or when the machine is booted
+while the adapter is installed.
+
+.. code-block:: bash
+
+    $ dmesg | grep -i ATUSB
+    [    6.512154] usb 1-1: ATUSB: AT86RF231 version 2
+    [    6.512492] usb 1-1: Firmware: major: 0, minor: 3, hardware type: ATUSB (2)
+    [    6.525357] usbcore: registered new interface driver atusb
+    ...
+
+
+
+We should now be able to see the IEEE 802.15.4 network device by entering :code:`ip a show wpan0`.
+
+.. code-block:: bash
+
+    $ ip a show wpan0
+    36: wpan0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 123 qdisc fq_codel state UNKNOWN group default qlen 300
+        link/ieee802.15.4 3e:7d:90:4d:8f:00:76:a2 brd ff:ff:ff:ff:ff:ff:ff:ff
+
+
+But wait, that is not an IP address! It's the hardware address of the 802.15.4 
+device. So, in order to associate it with an IP address, we need to run a 
+couple of other commands (thanks to wpan.cakelab.org).
+
+Set the 802.15.4 Physical and Link-Layer Parameters
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+#. First, get the phy number for the :code:`wpan0` device
+
+.. code-block:: bash
+
+    $ iwpan list
+        wpan_phy phy0
+        supported channels:
+            page 0: 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
+        current_page: 0
+        current_channel: 26,  2480 MHz
+        cca_mode: (1) Energy above threshold
+        cca_ed_level: -77
+        tx_power: 3
+        capabilities:
+            iftypes: node,monitor
+            channels:
+                page 0:
+                    [11]  2405 MHz, [12]  2410 MHz, [13]  2415 MHz,
+                    [14]  2420 MHz, [15]  2425 MHz, [16]  2430 MHz,
+                    [17]  2435 MHz, [18]  2440 MHz, [19]  2445 MHz,
+                    [20]  2450 MHz, [21]  2455 MHz, [22]  2460 MHz,
+                    [23]  2465 MHz, [24]  2470 MHz, [25]  2475 MHz,
+                    [26]  2480 MHz
+            tx_powers:
+                    3 dBm, 2.8 dBm, 2.3 dBm, 1.8 dBm, 1.3 dBm, 0.7 dBm,
+                    0 dBm, -1 dBm, -2 dBm, -3 dBm, -4 dBm, -5 dBm,
+                    -7 dBm, -9 dBm, -12 dBm, -17 dBm,
+            cca_ed_levels:
+                    -91 dBm, -89 dBm, -87 dBm, -85 dBm, -83 dBm, -81 dBm,
+                    -79 dBm, -77 dBm, -75 dBm, -73 dBm, -71 dBm, -69 dBm,
+                    -67 dBm, -65 dBm, -63 dBm, -61 dBm,
+            cca_modes:
+                (1) Energy above threshold
+                (2) Carrier sense only
+                (3, cca_opt: 0) Carrier sense with energy above threshold (logical operator is 'and')
+                (3, cca_opt: 1) Carrier sense with energy above threshold (logical operator is 'or')
+            min_be: 0,1,2,3,4,5,6,7,8
+            max_be: 3,4,5,6,7,8
+            csma_backoffs: 0,1,2,3,4,5
+            frame_retries: 3
+            lbt: false
+
+#. Next, set the Channel for the 802.15.4 device on the Linux machine
+
+.. code-block:: bash
+
+    sudo iwpan phy phy0 set channel 0 26
+
+#. Then, set the PAN identifier for the 802.15.4 device on the Linux machine :code:`sudo iwpan dev wpan0 set pan_id 0xabcd`
+
+#. Associate the :code:`wpan0` device to a new, 6lowpan network interface
+
+.. code-block:: bash
+
+    sudo ip link add link wpan0 name lowpan0 type lowpan
+
+#. Finally, set the links up for both :code:`wpan0` and :code:`lowpan0`
+
+.. code-block:: bash
+
+    sudo ip link set wpan0 up
+    sudo ip link set lowpan0 up
+
+
+
+We should observe something like the following when we run :code:`ip a show lowpan0`.
+
+.. code-block:: bash
+
+    ip a show lowpan0
+    37: lowpan0@wpan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
+        link/6lowpan 9e:0b:a4:e8:00:d3:45:53 brd ff:ff:ff:ff:ff:ff:ff:ff
+        inet6 fe80::9c0b:a4e8:d3:4553/64 scope link
+        valid_lft forever preferred_lft forever
+
+Ping Pong
+---------
+
+Broadcast Ping
+^^^^^^^^^^^^^^
+
+Now, perform a broadcast ping to see what else is listening on :code:`lowpan0`.
+
+.. code-block::
+
+    $ ping6 -I lowpan0 ff02::1
+    PING ff02::1(ff02::1) from fe80::9c0b:a4e8:d3:4553%lowpan0 lowpan0: 56 data bytes
+    64 bytes from fe80::9c0b:a4e8:d3:4553%lowpan0: icmp_seq=1 ttl=64 time=0.099 ms
+    64 bytes from fe80::9c0b:a4e8:d3:4553%lowpan0: icmp_seq=2 ttl=64 time=0.125 ms
+    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=2 ttl=64 time=17.3 ms (DUP!)
+    64 bytes from fe80::9c0b:a4e8:d3:4553%lowpan0: icmp_seq=3 ttl=64 time=0.126 ms
+    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=3 ttl=64 time=9.60 ms (DUP!)
+    64 bytes from fe80::9c0b:a4e8:d3:4553%lowpan0: icmp_seq=4 ttl=64 time=0.131 ms
+    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=4 ttl=64 time=14.9 ms (DUP!)
+
+Yay! We have pinged (pung?) the Zephyr device over IEEE 802.15.4 using 6LowPAN!
+
+Ping Zephyr
+^^^^^^^^^^^
+
+We can ping the Zephyr device directly without a broadcast ping too, of course.
+
+.. code-block::
+
+    $ ping6 -I lowpan0 fe80::cf99:a11c:4b:1200
+    PING fe80::cf99:a11c:4b:1200(fe80::cf99:a11c:4b:1200) from fe80::9c0b:a4e8:d3:4553%lowpan0 lowpan0: 56 data bytes
+    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=1 ttl=64 time=16.0 ms
+    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=2 ttl=64 time=13.8 ms
+    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=3 ttl=64 time=9.77 ms
+    64 bytes from fe80::cf99:a11c:4b:1200%lowpan0: icmp_seq=5 ttl=64 time=11.5 ms
+
+Ping Linux
+^^^^^^^^^^
+
+Similarly, we can ping the Linux host from the Zephyr shell.
+
+.. code-block::
+
+    uart:~$ net ping --help
+    ping - Ping a network host.
+    Subcommands:
+    --help  :'net ping [-c count] [-i interval ms] <host>' Send ICMPv4 or ICMPv6
+            Echo-Request to a network host.
+    $ net ping -c 5 fe80::9c0b:a4e8:d3:4553
+    PING fe80::9c0b:a4e8:d3:4553
+    8 bytes from fe80::9c0b:a4e8:d3:4553 to fe80::cf99:a11c:4b:1200: icmp_seq=0 ttl=64 rssi=110 time=11 ms
+    8 bytes from fe80::9c0b:a4e8:d3:4553 to fe80::cf99:a11c:4b:1200: icmp_seq=1 ttl=64 rssi=126 time=9 ms
+    8 bytes from fe80::9c0b:a4e8:d3:4553 to fe80::cf99:a11c:4b:1200: icmp_seq=2 ttl=64 rssi=128 time=13 ms
+    8 bytes from fe80::9c0b:a4e8:d3:4553 to fe80::cf99:a11c:4b:1200: icmp_seq=3 ttl=64 rssi=126 time=10 ms
+    8 bytes from fe80::9c0b:a4e8:d3:4553 to fe80::cf99:a11c:4b:1200: icmp_seq=4 ttl=64 rssi=126 time=7 ms
+
+Assign a Static Address
+^^^^^^^^^^^^^^^^^^^^^^^
+
+So far, we have been using IPv6 Link-Local addressing. However, the Zephyr 
+application is configured to use a statically configured IPv6 address as well 
+which is, namely :code:`2001:db8::1`.
+
+If we add a similar static IPv6 address to our Linux IEEE 802.15.4 network 
+interface, :code:`lowpan0`, then we should expect to be able to reach that as 
+well.
+
+In Linux, run the following
+
+.. code-block:: bash
+
+    sudo ip -6 addr add 2001:db8::2/64 dev lowpan0
+
+We can verify that the address has been set by examining the :code:`lowpan0` 
+network interface again.
+
+.. code-block:: bash
+
+    $ ip a show lowpan0
+    37: lowpan0@wpan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
+        link/6lowpan 9e:0b:a4:e8:00:d3:45:53 brd ff:ff:ff:ff:ff:ff:ff:ff
+        inet6 2001:db8::2/64 scope global
+        valid_lft forever preferred_lft forever
+        inet6 fe80::9c0b:a4e8:d3:4553/64 scope link
+        valid_lft forever preferred_lft forever
+
+Lastly, ping the statically configured IPv6 address of the Zephyr device.
+
+.. code-block::
+
+    $ ping6 2001:db8::1
+    PING 2001:db8::1(2001:db8::1) 56 data bytes
+    64 bytes from 2001:db8::1: icmp_seq=2 ttl=64 time=53.7 ms
+    64 bytes from 2001:db8::1: icmp_seq=3 ttl=64 time=13.1 ms
+    64 bytes from 2001:db8::1: icmp_seq=4 ttl=64 time=22.0 ms
+    64 bytes from 2001:db8::1: icmp_seq=5 ttl=64 time=22.7 ms
+    64 bytes from 2001:db8::1: icmp_seq=6 ttl=64 time=18.4 ms
+
+Now that we have set up a reliable transport, let's move on to the application 
+layer.
+
+
+Greybus
+-------
+
+Hopefully the videos listed earlier provide a sufficient foundation to 
+understand what will happen shortly. However, there is still a bit more 
+preparation required.
+
+Build and probe Greybus Kernel Modules
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Greybus was originally intended to work exclusively on the UniPro physical 
+layer. However, we're using RF as our physical layer and TCP/IP as our 
+transport. As such, there was need to be able to communicate with the Linux 
+Greybus facilities through userspace, and out of that need arose gb-netlink. 
+The Netlink Greybus module actually does not care about the physical layer, but
+is happy to usher Greybus messages back and forth between the kernel and 
+userspace.
+
+Build and probe the gb-netlink modules (as well as the other Greybus modules) 
+with the following:
+
+.. code-block:: bash
+
+    cd ${WORKSPACE}/sw/greybus
+    make -j`nproc --all`
+    sudo make install
+    ../load_gb_modules.sh
+
+Build and Run Gbridge
+^^^^^^^^^^^^^^^^^^^^^
+
+The gbridge utility was created as a proof of concept to abstract the Greybus 
+Netlink datapath among several reliable transports. For the purposes of this 
+tutorial, we'll be using it as a TCP/IP bridge.
+
+To run :code:`gbridge`, perform the following:
+
+.. code-block:: bash
+
+    sudo apt install -y libnl-3-dev libnl-genl-3-dev libbluetooth-dev libavahi-client-dev
+    cd gbridge
+    autoreconf -vfi
+    GBNETLINKDIR=${PWD}/../greybus \
+    ./configure --enable-uart --enable-tcpip --disable-gbsim --enable-netlink --disable-bluetooth
+    make -j`nproc --all`
+    sudo make install
+    gbridge
+
+
+Blinky!
+-------
+
+Now that we have set up a reliable TCP transport, and set up the Greybus 
+modules in the Linux kernel, and used Gbridge to connect a Greybus node to the 
+Linux kernel via TCP/IP, we can now get to the heart of the demonstration!
+
+First, save the following script as :code:`blinky.sh`.
+
+.. code-block:: bash
+
+    #!/bin/bash
+    
+    # Blinky Demo for CC1352R SensorTag
+    
+    # /dev/gpiochipN that Greybus created
+    CHIP="$(gpiodetect | grep greybus_gpio | head -n 1 | awk '{print $1}')"
+    
+    # red, green, blue LED pins
+    RED=6
+    GREEN=7
+    BLUE=21
+    
+    # Bash array for pins and values
+    PINS=($RED $GREEN $BLUE)
+    NPINS=${#PINS[@]}
+    
+    for ((;;)); do
+        for i in ${!PINS[@]}; do
+            # turn off previous pin
+            if [ $i -eq 0 ]; then
+                PREV=2
+            else
+                PREV=$((i-1))
+            fi
+            gpioset $CHIP ${PINS[$PREV]}=0
+    
+            # turn on current pin
+            gpioset $CHIP ${PINS[$i]}=1
+    
+            # wait a sec
+            sleep 1
+        done
+    done
+
+
+Second, run the script with root privileges: :code:`sudo bash blinky.sh`
+
+The output of your minicom session should resemble the following.
+
+.. code-block::
+
+    $ *** Booting Zephyr OS build zephyr-v2.3.0-1435-g40c0ed940d71  ***
+    [00:00:00.011,932] <inf> net_config: Initializing network
+    [00:00:00.111,938] <inf> net_config: IPv6 address: fe80::6c42:bc1c:4b:1200
+    [00:00:00.112,121] <dbg> greybus_service.greybus_service_init: Greybus initializing..
+    [00:00:00.112,426] <dbg> greybus_transport_tcpip.gb_transport_backend_init: Greybus TCP/IP Transport initializing..
+    [00:00:00.112,579] <dbg> greybus_transport_tcpip.netsetup: created server socket 0 for cport 0
+    [00:00:00.112,579] <dbg> greybus_transport_tcpip.netsetup: setting socket options for socket 0
+    [00:00:00.112,609] <dbg> greybus_transport_tcpip.netsetup: binding socket 0 (cport 0) to port 4242
+    [00:00:00.112,640] <dbg> greybus_transport_tcpip.netsetup: listening on socket 0 (cport 0)
+    [00:00:00.112,823] <dbg> greybus_transport_tcpip.netsetup: created server socket 1 for cport 1
+    [00:00:00.112,823] <dbg> greybus_transport_tcpip.netsetup: setting socket options for socket 1
+    [00:00:00.112,854] <dbg> greybus_transport_tcpip.netsetup: binding socket 1 (cport 1) to port 4243
+    [00:00:00.112,854] <dbg> greybus_transport_tcpip.netsetup: listening on socket 1 (cport 1)
+    [00:00:00.113,037] <inf> net_config: IPv6 address: fe80::6c42:bc1c:4b:1200
+    [00:00:00.113,250] <dbg> greybus_transport_tcpip.netsetup: created server socket 2 for cport 2
+    [00:00:00.113,250] <dbg> greybus_transport_tcpip.netsetup: setting socket options for socket 2
+    [00:00:00.113,281] <dbg> greybus_transport_tcpip.netsetup: binding socket 2 (cport 2) to port 4244
+    [00:00:00.113,311] <dbg> greybus_transport_tcpip.netsetup: listening on socket 2 (cport 2)
+    [00:00:00.113,494] <dbg> greybus_transport_tcpip.netsetup: created server socket 3 for cport 3
+    [00:00:00.113,494] <dbg> greybus_transport_tcpip.netsetup: setting socket options for socket 3
+    [00:00:00.113,525] <dbg> greybus_transport_tcpip.netsetup: binding socket 3 (cport 3) to port 4245
+    [00:00:00.113,555] <dbg> greybus_transport_tcpip.netsetup: listening on socket 3 (cport 3)
+    [00:00:00.113,861] <inf> greybus_transport_tcpip: Greybus TCP/IP Transport initialized
+    [00:00:00.116,149] <inf> greybus_service: Greybus is active
+    [00:00:00.116,546] <dbg> greybus_transport_tcpip.accept_loop: calling poll
+    [00:45:08.397,399] <dbg> greybus_transport_tcpip.accept_loop: poll returned 1
+    [00:45:08.397,399] <dbg> greybus_transport_tcpip.accept_loop: socket 0 (cport 0) has traffic
+    [00:45:08.397,491] <dbg> greybus_transport_tcpip.accept_loop: accepted connection from [2001:db8::2]:39638 as fd 4
+    [00:45:08.397,491] <dbg> greybus_transport_tcpip.accept_loop: spawning client thread..
+    [00:45:08.397,735] <dbg> greybus_transport_tcpip.accept_loop: calling poll
+    [00:45:08.491,363] <dbg> greybus_transport_tcpip.accept_loop: poll returned 1
+    [00:45:08.491,363] <dbg> greybus_transport_tcpip.accept_loop: socket 3 (cport 3) has traffic
+    [00:45:08.491,455] <dbg> greybus_transport_tcpip.accept_loop: accepted connection from [2001:db8::2]:39890 as fd 5
+    [00:45:08.491,455] <dbg> greybus_transport_tcpip.accept_loop: spawning client thread..
+    [00:45:08.491,699] <dbg> greybus_transport_tcpip.accept_loop: calling poll
+    [00:45:08.620,056] <dbg> greybus_transport_tcpip.accept_loop: poll returned 1
+    [00:45:08.620,086] <dbg> greybus_transport_tcpip.accept_loop: socket 2 (cport 2) has traffic
+    [00:45:08.620,147] <dbg> greybus_transport_tcpip.accept_loop: accepted connection from [2001:db8::2]:42422 as fd 6
+    [00:45:08.620,147] <dbg> greybus_transport_tcpip.accept_loop: spawning client thread..
+    [00:45:08.620,422] <dbg> greybus_transport_tcpip.accept_loop: calling poll
+    [00:45:08.679,504] <dbg> greybus_transport_tcpip.accept_loop: poll returned 1
+    [00:45:08.679,534] <dbg> greybus_transport_tcpip.accept_loop: socket 1 (cport 1) has traffic
+    [00:45:08.679,595] <dbg> greybus_transport_tcpip.accept_loop: accepted connection from [2001:db8::2]:48286 as fd 7
+    [00:45:08.679,595] <dbg> greybus_transport_tcpip.accept_loop: spawning client thread..
+    [00:45:08.679,870] <dbg> greybus_transport_tcpip.accept_loop: calling poll
+    ...
+
+Read I2C Registers
+^^^^^^^^^^^^^^^^^^
+
+The SensorTag comes with an opt3001 ambient light sensor as well as an hdc2080 
+temperature & humidity sensor.
+
+First, find which i2c device corresponds to the SensorTag:
+
+.. code-block:: bash
+
+    ls -la /sys/bus/i2c/devices/* | grep "greybus"
+    lrwxrwxrwx 1 root root 0 Aug 15 11:24 /sys/bus/i2c/devices/i2c-8 -> ../../../devices/virtual/gb_nl/gn_nl/greybus1/1-2/1-2.2/1-2.2.2/gbphy2/i2c-8
+
+On my machine, the i2c device node that Greybus creates is :code:`/dev/i2c-8`.
+
+Read the ID registers (at the i2c register address 0x7e) of the opt3001 sensor 
+(at i2c bus address 0x44) as shown below:
+
+.. code-block:: bash
+
+    i2cget -y 8 0x44 0x7e w
+    0x4954
+
+Read the ID registers (at the i2c register address 0xfc) of the hdc2080 sensor 
+(at i2c bus address 0x41) as shown below:
+
+.. code-block:: bash
+
+    i2cget -y 8 0x41 0xfc w
+    0x5449
+
+Conclusion
+----------
+
+The blinking LED can and poking i2c registers can be a somewhat anticlimactic, 
+but hopefully it illustrates the potential for Greybus as an IoT application layer 
+protocol.
+
+What is nice about this demo, is that we're using Device Tree to describe our 
+Greybus Peripheral declaratively, they Greybus Manifest is automatically 
+generated, and the Greybus Service is automatically started in Zephyr.
+
+In other words, all that is required to replicate this for other IoT devices is
+simply an appropriate Device Tree overlay file.
+
+The proof-of-concept involving Linux, Zephyr, and IEEE 802.15.4 was actually 
+fairly straight forward and was accomplished with mostly already-upstream 
+source.
+
+For Greybus in Zephyr, there is still a considerable amount of integration work
+to be done, including * converting the fork to a proper Zephyr module * adding 
+security and authentication * automatic detection, joining, and rejoining of 
+devices.
+
+Thanks for reading, and we hope you've enjoyed this tutorial.
-- 
GitLab


From 3731f9e5c54059ec9c0f493b5ac201a59285bef2 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 13:53:36 -0400
Subject: [PATCH 13/83] WIP fix capitalization

---
 books/index.rst    | 4 ++--
 projects/index.rst | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/books/index.rst b/books/index.rst
index e78bb4ed..348d95f3 100644
--- a/books/index.rst
+++ b/books/index.rst
@@ -1,5 +1,5 @@
-BOOKS
-********
+Books
+*****
 
 This is a collection of open-source books written to help Beagle developers.
 
diff --git a/projects/index.rst b/projects/index.rst
index 506d836f..d86b7bf2 100644
--- a/projects/index.rst
+++ b/projects/index.rst
@@ -1,4 +1,4 @@
-PROJECTS
+Projects
 ********
 
 This is a collection of reasonably well-supported projects useful to Beagle developers.
-- 
GitLab


From 94002113b271312610aa899354ceadf43bc36fe8 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 14:38:37 -0400
Subject: [PATCH 14/83] WIP experiments with TOC

---
 books/index.rst |  1 -
 index.rst       | 17 +++++------------
 intro/index.rst |  2 +-
 3 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/books/index.rst b/books/index.rst
index 348d95f3..1cf8a938 100644
--- a/books/index.rst
+++ b/books/index.rst
@@ -15,7 +15,6 @@ Links to additional books available for purchase can be found on the
 
 .. toctree::
    :maxdepth: 1
-   :caption: Books
 
    beaglebone-cookbook/index.rst
    pru-cookbook/index.rst
diff --git a/index.rst b/index.rst
index 3f2ace49..77cf2e7c 100644
--- a/index.rst
+++ b/index.rst
@@ -15,22 +15,15 @@ Sections
    :maxdepth: 2
 
    intro/index.rst
-
-.. toctree::
-   :maxdepth: 2
-
    boards/index.rst
-
-.. toctree::
-   :maxdepth: 2
-
+   boards/beaglebone/index.rst
+   boards/beaglebone/black/index.rst
+   boards/beaglebone/ai-64/index.rst
+   projects/index.rst
    projects/index.rst
-
-.. toctree::
-   :maxdepth: 2
-
    books/index.rst
 
+
 Indices and tables
 ********************
 
diff --git a/intro/index.rst b/intro/index.rst
index 96900e60..e845887b 100644
--- a/intro/index.rst
+++ b/intro/index.rst
@@ -12,7 +12,7 @@ to contribute to the BeagleBoard documentation project and any of the many open-
 projects on-going on our `Contribution Page <contribution>`__.
 
 .. toctree::
-   :maxdepth: 1
+   :maxdepth: 2
 
    support/index.rst
    contribution/index.rst
-- 
GitLab


From 8a61d01923cbfc2637c8de1628061d5e2ff8af9e Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 21:56:47 -0400
Subject: [PATCH 15/83] WIP mostly reorganized

---
 boards/beaglebone/ai-64/index.rst           |  18 +--
 boards/beaglebone/black/index.rst           |  22 +--
 boards/beaglebone/blue/index.rst            |  22 ++-
 boards/beaglebone/blue/rev-c-priorities.rst | 144 --------------------
 boards/beaglebone/index.rst                 |   6 +-
 boards/beagleconnect/index.rst              |   6 +-
 boards/index.rst                            |  17 ++-
 boards/pocketbeagle/original/index.rst      |  22 +--
 index.rst                                   |  81 +++++++++--
 intro/contribution/index.rst                |   4 +-
 intro/index.rst                             |   4 +-
 intro/support/getting-started.rst           |  53 +++----
 intro/support/index.rst                     |  43 ++++--
 13 files changed, 191 insertions(+), 251 deletions(-)
 delete mode 100644 boards/beaglebone/blue/rev-c-priorities.rst

diff --git a/boards/beaglebone/ai-64/index.rst b/boards/beaglebone/ai-64/index.rst
index 21e1063f..598431af 100644
--- a/boards/beaglebone/ai-64/index.rst
+++ b/boards/beaglebone/ai-64/index.rst
@@ -8,12 +8,12 @@ BeagleBone® AI-64 brings a complete system for developing artificial intelligen
 .. toctree::
    :maxdepth: 1
 
-   ch01.rst
-   ch02.rst
-   ch03.rst
-   ch04.rst
-   ch05.rst
-   ch09.rst
-   ch10.rst
-   ch11.rst
-   edge_ai_apps/index.rst
+   /boards/beaglebone/ai-64/ch01.rst
+   /boards/beaglebone/ai-64/ch02.rst
+   /boards/beaglebone/ai-64/ch03.rst
+   /boards/beaglebone/ai-64/ch04.rst
+   /boards/beaglebone/ai-64/ch05.rst
+   /boards/beaglebone/ai-64/ch09.rst
+   /boards/beaglebone/ai-64/ch10.rst
+   /boards/beaglebone/ai-64/ch11.rst
+   /boards/beaglebone/ai-64/edge_ai_apps/index.rst
diff --git a/boards/beaglebone/black/index.rst b/boards/beaglebone/black/index.rst
index 8a3b9395..f0e9b24e 100644
--- a/boards/beaglebone/black/index.rst
+++ b/boards/beaglebone/black/index.rst
@@ -15,15 +15,15 @@ Boot Linux in under 10 seconds and get started on development in less than 5 min
 .. toctree::
    :maxdepth: 1
 
-   ch01.rst
-   ch02.rst
-   ch03.rst
-   ch04.rst
-   ch05.rst
-   ch06.rst
-   ch07.rst
-   ch08.rst
-   ch09.rst
-   ch10.rst
-   ch11.rst
+   /boards/beaglebone/black/ch01.rst
+   /boards/beaglebone/black/ch02.rst
+   /boards/beaglebone/black/ch03.rst
+   /boards/beaglebone/black/ch04.rst
+   /boards/beaglebone/black/ch05.rst
+   /boards/beaglebone/black/ch06.rst
+   /boards/beaglebone/black/ch07.rst
+   /boards/beaglebone/black/ch08.rst
+   /boards/beaglebone/black/ch09.rst
+   /boards/beaglebone/black/ch10.rst
+   /boards/beaglebone/black/ch11.rst
 
diff --git a/boards/beaglebone/blue/index.rst b/boards/beaglebone/blue/index.rst
index 879609dc..bcd1b519 100644
--- a/boards/beaglebone/blue/index.rst
+++ b/boards/beaglebone/blue/index.rst
@@ -19,16 +19,12 @@ and of course the `BeagleBoard.org Foundation <https://beagleboard.org/about>`_.
 .. toctree::
    :maxdepth: 1
    
-   pinouts.rst
-   ssh.rst
-   wifi.rst
-   ip-settings.rst
-   flashing-firmware.rst
-   code.rst
-   tests.rst
-   accessories.rst
-   faq.rst
-   rev-c-priorities.rst
-
-
-
+   /boards/beaglebone/blue/pinouts.rst
+   /boards/beaglebone/blue/ssh.rst
+   /boards/beaglebone/blue/wifi.rst
+   /boards/beaglebone/blue/ip-settings.rst
+   /boards/beaglebone/blue/flashing-firmware.rst
+   /boards/beaglebone/blue/code.rst
+   /boards/beaglebone/blue/tests.rst
+   /boards/beaglebone/blue/accessories.rst
+   /boards/beaglebone/blue/faq.rst
diff --git a/boards/beaglebone/blue/rev-c-priorities.rst b/boards/beaglebone/blue/rev-c-priorities.rst
deleted file mode 100644
index e7f50eb2..00000000
--- a/boards/beaglebone/blue/rev-c-priorities.rst
+++ /dev/null
@@ -1,144 +0,0 @@
-.. _beaglebone-blue-rev-c-updates:
-
-Rev-C updates:
-##############
-
-Priorities
-===========
-
--  Update to dual-A53 processor
--  Protect serial ports, QEP and others that could drive inputs while
-   power is off (at least 5V tolerance)
--  Switch USB type-microB to USB type-C
--  Add 5Gbps (SS) to USB type-C
--  Add mux to support USB type-C host mode (cable flip support)
--  Perform PD on USB type-C to enable charging when 20V is available,
-   drop barrel jack
--  `Move MPU9250 to
-   SPI <https://github.com/beagleboard/beaglebone-blue/issues/43>`__
--  Swap out motor connectors
--  Move up to 3S LiPo battery and 12V motors
--  Add support for quad 3-phase motors
--  Add BeagleConnect-compatible subG wireless
--  Add +/- 12V support on ADC
--  Add Pi-compatible CSI connector for camera
--  Add 5GHz WiFi
--  Add PCIe as alt-mode to USB type-C
--  Add RS-485
--  Switch to push-pull microSD card cage
--  Use gold plated pins
--  Power motors when running on USB type-C
--  TODO: Consider 28V 3-phase motors
--  Switch some connectors to Click Shuttle ribbon header
--  Support I3C
--  Support FD-CAN
--  ~Switch to Atheros9K for WiFi~ Consider going with WiLink8 discrete
-   and 5GHz
--  On-board audio codec
-
-Wishlist
-===========
-
--  PoE expansion
--  MIDI expansion
--  Multi-channel audio expansion
-
-Features suitable to remove
-==============================
-
--  Bluetooth (not commonly used, whereas BLE and SubG can be more
-   useful)
--  2.4GHz WiFi (too much interference)
-
-Example motors to drive
-=======================
-
-Brushed DC
-----------
-
--  `DFRobot
-   FIT0441 <https://www.digikey.com/product-detail/en/dfrobot/FIT0441/1738-1157-ND/6588579?utm_adgroup=Motors%20-%20AC,%20DC&utm_source=google&utm_medium=cpc&utm_campaign=Shopping_Product_Motors,%20Solenoids,%20Driver%20Boards/Modules&utm_term=&utm_content=Motors%20-%20AC,%20DC&gclid=CjwKCAjw26H3BRB2EiwAy32zhVs5Yf-JZ6fIOZlI79NlxhSv1wkXs-ZDEyYi8ZD7XIP9H9fyWHnxQxoCAmEQAvD_BwE>`__
--  `Geartisan 12V
-   DC <https://smile.amazon.com/Greartisan-Electric-Reduction-Eccentric-Diameter/dp/B072R5QSRG>`__
-
-3 phase (BLDC, 3 phase stepper, etc.)
--------------------------------------
-
--  `Moon NEMA 17 3 phase
-   stepper <https://www.moonsindustries.com/series/nema-17-smooth-hybrid-stepper-motors-b020302>`__
--  `Primopal NEMA 17 3 phase
-   stepper <http://www.primopal.com/web/Product4_GoodsID_25.html>`__ [
-   `$6 on
-   Alibaba <https://primopal.en.alibaba.com/product/60637037880-811771415/1_2_degree_3_phase_dc_hybrid_china_bipolar_control_step_valve_flat_nema_17_stepper_motor_for_3d_printer_robot_arm_cnc_kit.html>`__
-   ]
--  `XXD A2212 KV1000
-   BLDC <https://usa.banggood.com/Wholesale-XXD-A2212-KV1000-Brushless-Motor-H363-For-RC-Airplane-Quadcopter-p-57432.html?cur_warehouse=CN>`__
--  `OMC NEMA 23 3 phase
-   stepper <https://www.omc-stepperonline.com/3-phase-stepper-motor/p-series-nema-23-1-2deg-3-phase-stepper-motor-5-5a-1nm-141-64oz-in.html>`__
-
-Proposed motor drive circuit
-----------------------------
-
--  Driver: https://www.ti.com/product/DRV8316
--  [STRIKEOUT:Reference design: https://www.ti.com/tool/TIDA-01516]
--  [STRIKEOUT:Gate driver, shunt amp:
-   https://www.ti.com/product/DRV8323]
--  [STRIKEOUT:FET pairs (1/2 H-bridge):
-   https://www.ti.com/product/CSD87353Q5D]
--  Temperature sensor: https://www.ti.com/product/LM95071
-
-Issues to review
-================
-
--  https://github.com/beagleboard/beaglebone-blue/issues?q=is%3Aissue+is%3Aopen+label%3Afix-in-rev-b
--  https://github.com/beagleboard/beaglebone-blue/issues?q=is%3Aissue+is%3Aopen+label%3Afix-in-rev-c
-
-Integrate feedback from
-=======================
-
--  TAMU - https://mxet.github.io/SCUTTLE/ -
-   https://docs.google.com/document/d/1LxO_4hpFQ1i4Vw9NmBai6ByAXrzt0i4g4wozqWoz0x4/edit?usp=sharing
--  GT - https://fis.gatech.edu/multisensor-kit-mechanical-assembly/
-
-GT
---
-
-Blue GT feedback
-
-- 24V DC input option in cabinets
-- 24V/12V/5V DC output helpful for sensors
-- 4-20mA loop (definitely!)
-- ADC (big bottleneck) (brings to NI DAQ level)
-- -12V to 12V
-- Current measurement (currently rectifying)
-   - 12/14-bit is good enough as is SAR max
-   - 7/8 channels is good enough
-   - Flexible software configuration ideal
-   - How much tolerance? (not seen as much more than 12V)
-- Enclosure is important
-- Look at Automation Direct Productivity Open
-- Look at ncd.io
-   - Nice to have a block without doing extra jump
-   - Wired version would be more determinisitc
-      - OPC-UA, etc. when is time 0?
-- 5GHz WiFi
-   - Better stock WiFi antennas
-      - Pi has better?
-      - USB dongle did better
-   - Better WiFi config
-- Better PRU support
-   - High-school/undergrad-level
-   - Example code and interpreters
-- Better support on image management
-   - eMMC to microSD
-   - Need to advertise it!
-- Better community on-boarding
-- Build on PRU and ADC advantages over Pi
-
-IoT workshop in November
-
-Review the GT cape
-
-Linear position sensor cape just done
-
-Thoughts on ribbon cables?
diff --git a/boards/beaglebone/index.rst b/boards/beaglebone/index.rst
index 6140bc4e..f67b8752 100644
--- a/boards/beaglebone/index.rst
+++ b/boards/beaglebone/index.rst
@@ -26,7 +26,7 @@ of your screen.
    :maxdepth: 1
    :caption: Boards
 
-   black/index.rst
-   ai-64/index.rst
-   blue/index.rst
+   /boards/beaglebone/black/index
+   /boards/beaglebone/ai-64/index
+   /boards/beaglebone/blue/index
 
diff --git a/boards/beagleconnect/index.rst b/boards/beagleconnect/index.rst
index c16e47cb..7c2ee09f 100644
--- a/boards/beagleconnect/index.rst
+++ b/boards/beagleconnect/index.rst
@@ -96,8 +96,8 @@ Learn about the technology behind BeagleConnect.
 .. toctree::
    :maxdepth: 2
 
-   technology/index.rst
-   technology/story.rst
+   /boards/beagleconnect/technology/index.rst
+   /boards/beagleconnect/technology/story.rst
 
 
 BeagleConnect Boards
@@ -108,5 +108,5 @@ Get started using your BeagleConnect.
 .. toctree::
    :maxdepth: 2
 
-   freedom/index.rst
+   /boards/beagleconnect/freedom/index.rst
 
diff --git a/boards/index.rst b/boards/index.rst
index e81bf363..b4659047 100644
--- a/boards/index.rst
+++ b/boards/index.rst
@@ -1,5 +1,5 @@
 Boards
-#########
+######
 
 `BeagleBone <beaglebone>`__ is a family of ARM-based, Linux-capable boards intended to be
 bare-bones, with a balance of features to enable rapid prototyping and provide a solid
@@ -19,12 +19,11 @@ options that enable almost endless sensing and actuation expansion.
 started.
 
 .. toctree::
-   :maxdepth: 2
-
-   beaglebone/index.rst
-   capes/index.rst
-   pocketbeagle/original/index.rst
-   capes/index.rst
-   beagleconnect/index.rst
-   beagleboard/index.rst
+   :maxdepth: 1
+
+   /boards/beaglebone/index
+   /boards/pocketbeagle/original/index
+   /boards/capes/index
+   /boards/beagleconnect/index
+   /boards/beagleboard/index
 
diff --git a/boards/pocketbeagle/original/index.rst b/boards/pocketbeagle/original/index.rst
index 0521c710..a1e39ded 100644
--- a/boards/pocketbeagle/original/index.rst
+++ b/boards/pocketbeagle/original/index.rst
@@ -23,14 +23,14 @@ making PocketBeagle the ideal development board for beginners and professionals
 .. toctree::
    :maxdepth: 1
 
-   ch01.rst
-   ch02.rst
-   ch03.rst
-   ch04.rst
-   ch05.rst
-   ch06.rst
-   ch07.rst
-   ch08.rst
-   ch09.rst
-   ch10.rst
-   ch11.rst
\ No newline at end of file
+   /boards/boards/pocketbeagle/original/ch01.rst
+   /boards/boards/pocketbeagle/original/ch02.rst
+   /boards/boards/pocketbeagle/original/ch03.rst
+   /boards/boards/pocketbeagle/original/ch04.rst
+   /boards/boards/pocketbeagle/original/ch05.rst
+   /boards/boards/pocketbeagle/original/ch06.rst
+   /boards/boards/pocketbeagle/original/ch07.rst
+   /boards/boards/pocketbeagle/original/ch08.rst
+   /boards/boards/pocketbeagle/original/ch09.rst
+   /boards/boards/pocketbeagle/original/ch10.rst
+   /boards/boards/pocketbeagle/original/ch11.rst
diff --git a/index.rst b/index.rst
index 77cf2e7c..c98ff056 100644
--- a/index.rst
+++ b/index.rst
@@ -8,20 +8,81 @@ BeagleBoard Documentation
 
 Welcome to the `BeagleBoard project documentation <https://git.beagleboard.org/docs/docs.beagleboard.io>`__.
 
-Sections
-********
+.. note:: BeagleBoard.org is a US-based 501(c)3 non-profit organization providing open hardware
+   computing solutions for a community of makers, educators and professionals that enable
+   rapid prototyping without barriers to creating real-world embedded systems.
+
+Introduction
+************
+
+Get started by `engaging the BealgeBoard.org developer community </intro/>`__.
+
+* Read about how to: `get started and get help </intro/support>`__
+* Learn how to: `contribute to the project </intro/contribution>`__
 
 .. toctree::
    :maxdepth: 2
+   :hidden:
+   :caption: Introduction
+
+   /intro/support/index
+   /intro/contribution/index
+
+
+Boards
+******
+
+This is is where you will find the System Reference Manuals (SRMs) for all of the boards.
+
+All Beagles are `open-hardware <https://www.oshwa.org/definition/>`__ with documentation on the
+design, including the
+`materials <https://git.beagleboard.org/explore/projects/topics/boards>`__ to modify the designs
+from source using appropriate design tools.
+
+* Check out our most popular board at: `BeagleBone Black </boards/beaglebone/black>`__
+* Check out our latest board at: `BeagleBone AI-64 </boards/beaglebone/ai-64>`__
+* Find all of our on: `our boards page </boards/index>`__
+
+.. toctree::
+   :maxdepth: 1
+   :hidden:
+   :caption: Boards
+
+   /boards/beaglebone/black/index
+   /boards/beaglebone/ai-64/index
+   more... </boards/index.rst>
+
+
+Projects
+********
+
+A number of software projects, like `SimpPRU </projects/simppru/index>`__ exist to help Beagle
+developers. Some developers choose to host documentation for their projects `here </projects/index>`__.
+
+.. toctree::
+   :maxdepth: 1
+   :hidden:
+   :caption: Projects
+
+   /projects/simppru/index
+   more... </projects/index.rst>
+
+Books
+*****
+
+This project hosts a
+`collection of open-source books written to help Beagle developers </books/index>`__.
+
+* Find a great introduction to BeagleBone at: `BeagleBone Cookbook </books/beaglebone-cookbook>`__
+* Learn one of the most amazing Beagle features at: `PRU Cookbook </books/pru-cookbook>`__
+
+.. toctree::
+   :maxdepth: 1
+   :hidden:
+   :caption: Books
 
-   intro/index.rst
-   boards/index.rst
-   boards/beaglebone/index.rst
-   boards/beaglebone/black/index.rst
-   boards/beaglebone/ai-64/index.rst
-   projects/index.rst
-   projects/index.rst
-   books/index.rst
+   /books/beaglebone-cookbook/index
+   /books/pru-cookbook/index
 
 
 Indices and tables
diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index bcea82b8..3a1cb77a 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -8,5 +8,5 @@ Contribution
 .. toctree::
    :maxdepth: 1
 
-   git-usage.rst
-   style.rst
+   /intro/contribution/git-usage
+   /intro/contribution/style
diff --git a/intro/index.rst b/intro/index.rst
index e845887b..2e2e5e91 100644
--- a/intro/index.rst
+++ b/intro/index.rst
@@ -14,6 +14,6 @@ projects on-going on our `Contribution Page <contribution>`__.
 .. toctree::
    :maxdepth: 2
 
-   support/index.rst
-   contribution/index.rst
+   /intro/support/index
+   /intro/contribution/index
 
diff --git a/intro/support/getting-started.rst b/intro/support/getting-started.rst
index dd9fc695..a1890993 100644
--- a/intro/support/getting-started.rst
+++ b/intro/support/getting-started.rst
@@ -1,19 +1,20 @@
 .. _beagleboard-getting-started:
 
-Getting Started
-==================
+Getting Started Guide
+#####################
 
 Beagles are tiny computers ideal for learning and prototyping with electronics.
 Read the step-by-step getting started tutorial below to begin developing with your Beagle in minutes.
 
 Update board with latest software
-------------------------------------
+************************************
 
 This step may or may not be necessary, depending on how old a software image you already have,
-but executing this, the longest, step will ensure the rest will go as smooth as possible.
+but executing this step, the longest step, will ensure the rest will go as smooth as possible.
 
 Download the latest software image
-********************************************
+============================================
+
 Download the lastest Debian image from `beagleboard.org/latest-images <https://beagleboard.org/latest-images>`_.
 The "IoT" images provide more free disk space if you don't need to use a graphical user interface (GUI).
 
@@ -26,19 +27,20 @@ This is a compressed sector-by-sector image of the SD card.
 |image0|
 
 Install SD card programming utility
-*********************************************
+=============================================
+
 Download and install `balenaEtcher <https://www.balena.io/etcher/>`_.
 
 |image1|
 |image2|
 
 Connect SD card to your computer
-*******************************************
+===========================================
 
 Use your computer's SD slot or a USB adapter to connect the SD card to your computer.
 
 Write the image to your SD card
-*****************************************
+=========================================
 
 Use Etcher to write the image to your SD card. Etcher will transparently decompress the
 image on-the-fly before writing it to the SD card.
@@ -46,32 +48,35 @@ image on-the-fly before writing it to the SD card.
 |image3|
 
 Eject the SD card
-****************************
+============================
+
 Eject the newly programmed SD card.
 
 Boot your board off of the SD card
-********************************************
+============================================
+
 Insert SD card into your (powered-down) board, hold down the USER/BOOT button
 and apply power, either by the USB cable or 5V adapter.
 	
 If using an original BeagleBone or PocketBeagle, you are done.
-	
-If using BeagleBone Black, BeagleBone Blue, BeagleBone AI, BeagleBone AI-64 or other board with on-board eMMC
-flash and you desire to write the image to your on-board eMMC, you'll need to follow the
-instructions at http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Flashing_eMMC.
-When the flashing is complete, all 4 USRx LEDs will be steady on or off. The latest Debian
-flasher images automatically power down the board upon completion. This can take up to 45 minutes.
-Power-down your board, remove the SD card and apply power again to finish.
+
+.. note::
+    If using BeagleBone Black, BeagleBone Blue, BeagleBone AI, BeagleBone AI-64 or other board with on-board eMMC
+    flash and you desire to write the image to your on-board eMMC, you'll need to follow the
+    instructions at http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Flashing_eMMC.
+    When the flashing is complete, all 4 USRx LEDs will be steady on or off. The latest Debian
+    flasher images automatically power down the board upon completion. This can take up to 45 minutes.
+    Power-down your board, remove the SD card and apply power again to finish.
 
 Start your Beagle
-------------------
+*****************
 
 If any step fails, it is recommended to update to the
 `latest software image <https://beagleboard.org/latest-images>`_
 using the instructions above.
 
 Power and boot
-----------------
+================
 
 Most Beagles can be powered via a USB cable, providing a convenient way to provide both power to your
 Beagle and connectivity to your computer. Be sure the cable is of good quality and your source can provide enough power.
@@ -95,7 +100,7 @@ Manual (SRM) for your board to locate these LEDs.
 - USR4/WIFI is typically configured at boot to light with WiFi (client) network association (BeagleBone Blue and BeagleBone AI only).
 
 Enable a network connection
-----------------------------
+============================
 
 If connected via USB, a network adapter should show up on your computer.
 Your Beagle should be running a DHCP server that will provide your computer
@@ -115,7 +120,7 @@ Non-BeagleBone boards will utilize alternate names. Multiple BeagleBone boards o
 network will add a suffix such as beaglebone-2.local.
 
 Browse to your Beagle
-----------------------
+============================
 
 A web server with an IDE should be running on your Beagle. Point your browser to it to begin development.
 
@@ -149,7 +154,7 @@ The below table summarizes the typical addresses.
       - mDNS enabled
 
 Troubleshooting
-------------------
+***************
 
 Do not use Internet Explorer.
 
@@ -198,14 +203,14 @@ an older operating system or need additional drivers for serial access to older
 	Visit https://beagleboard.org/support for additional debugging tips.
 
 Hardware documentation
---------------------------
+**********************
 
 Be sure to check check the latest hardware documentation for your board at https://docs.beagleboard.org.
 
 Detailed design materials for various boards can be found at https://git.beagleboard.org/explore/projects/topics/boards.
 
 Books
------
+*****
 
 For a complete list of books on BeagleBone, see `beagleboard.org/books <https://beagleboard.org/books>`_.
 
diff --git a/intro/support/index.rst b/intro/support/index.rst
index a40c10a7..40ec9248 100644
--- a/intro/support/index.rst
+++ b/intro/support/index.rst
@@ -6,16 +6,20 @@ Support
 .. note:: #TODO# all the links need updating and content moved into this repo, especially bone101.
 
 Getting started
-===============
+***************
 
 The starting experience for all Beagles has been made to be as
 consistent as is possible. For any of the Beagle Linux-based open
 hardware computers, visit our `getting started guide <getting-started>`__.
 
-- `Getting Started Guide <getting-started>`__
+.. toctree::
+   :maxdepth: 2
+
+   /intro/support/getting-started
+
 
 Getting support
-===============
+***************
 
 BeagleBoard.org products and `open
 hardware <https://www.oshwa.org/definition/>`__ designs are supported
@@ -29,13 +33,33 @@ to provide a link to your questions on the `community
 forums <https://forum.beagleboard.org>`__ as answers will be provided
 there.
 
+Be sure to ask `smart questions <http://www.catb.org/~esr/faqs/smart-questions.html>`__
+that provide the following:
+
+*  What am I trying to accomplish?
+*  What did find when researching how to accomplish it?
+*  What are the detailed results of what I tried?
+*  How did these results differ from what I expected?
+*  What would I consider to be a success?
+
+.. note::
+   Remember that community developers are volunteering their expertise. If you
+   want paid support, there are options for that. Respect developers time and
+   expertise and they might be happy to share with you.
+
 Diagnostic tools
 ================
 
 Best to be prepared with good diagnostic information to aide with
 support.
 
--  Output of ‘beagle-version’ script needed for support requests
+.. todo::
+   Need a reference to how to run `beagle-version`.
+
+.. note::
+   #TODO#: Need a reference to how to run `beagle-version`.
+
+-  Output of `beagle-version` script needed for support requests
 -  `Beagle Tester source <https://git.beagleboard.org/jkridner/beagle-tester>`__
 
 Community resources
@@ -71,13 +95,11 @@ form:
 -  `RMA request <https://beagleboard.org/support/rma>`__
 
 Understanding Your Beagle
-=========================
+*************************
 
 -  `BeagleBone Introduction <https://beagleboard.org/Support/bone101>`__
 -  `Hardware <https://beagleboard.org/Support/Hardware+Support>`__
 -  `Software <https://beagleboard.org/Support/Software+Support>`__
--  `BoneScript JavaScript
-   library <https://beagleboard.org/Support/bonescript>`__
 -  `Books <https://beagleboard.org/books>`__
 
    -  `Exploring BeagleBone <https://beagleboard.org/ebb>`__
@@ -85,8 +107,9 @@ Understanding Your Beagle
    -  `Bad to the Bone <https://beagleboard.org/bad-to-the-bone>`__
 
 Working with Cape Add-on Boards
-===============================
+*******************************
+
+- `Cape Documentation </boards/capes/>`__
+- `BeagleBone Cape Interface Specification </boards/capes/cape-interface-spec.html>`__
 
-- `Cape Documentation <../../boards/capes>`__
-- `BeagleBone Cape Interface Specification <../../boards/capes/cape-interface-spec>`__
 
-- 
GitLab


From f3804f4e23d1d66b5eba3ae4358ee26d00f0ab22 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 22:07:20 -0400
Subject: [PATCH 16/83] pru-cookbook: fix critical error

---
 books/pru-cookbook/03details/details.rst | 25 ++++++++++++++----------
 books/pru-cookbook/04debug/debug.rst     |  4 +++-
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/books/pru-cookbook/03details/details.rst b/books/pru-cookbook/03details/details.rst
index 78ece373..d7ba2058 100644
--- a/books/pru-cookbook/03details/details.rst
+++ b/books/pru-cookbook/03details/details.rst
@@ -10,15 +10,13 @@ compile code and also start and stop the PRUs.
 
 The following are resources used in this chapter.
 
-Resources
-~~~~~~~~~~
-
-* `PRU Code Generation Tools - Compiler <http://software-dl.ti.com/codegen/esd/cgt_ai_64_lic_sw/PRU/2.1.5/ti_cgt_pru_2.1.5_armlinuxa8hf_busybox_installer.sh>`_
-* `PRU Software Support Package <http://git.ti.com/pru-software-support-package>`_
-* `PRU Optimizing C/C++ Compiler <http://www.ti.com/lit/ug/spruhv7b/spruhv7b.pdf>`_
-* `PRU Assembly Language Tools <http://www.ti.com/lit/ug/spruhv6b/spruhv6b.pdf>`_
-* `AM572x Technical Reference Manual <http://www.ti.com/lit/pdf/spruhz6l>`_ (AI)
-* `AM335x Technical Reference Manual <http://www.ti.com/lit/pdf/spruh73>`_ (All others)
+.. note::
+   * `PRU Code Generation Tools - Compiler <http://software-dl.ti.com/codegen/esd/cgt_ai_64_lic_sw/PRU/2.1.5/ti_cgt_pru_2.1.5_armlinuxa8hf_busybox_installer.sh>`_
+   * `PRU Software Support Package <http://git.ti.com/pru-software-support-package>`_
+   * `PRU Optimizing C/C++ Compiler <http://www.ti.com/lit/ug/spruhv7b/spruhv7b.pdf>`_
+   * `PRU Assembly Language Tools <http://www.ti.com/lit/ug/spruhv6b/spruhv6b.pdf>`_
+   * `AM572x Technical Reference Manual <http://www.ti.com/lit/pdf/spruhz6l>`_ (AI)
+   * `AM335x Technical Reference Manual <http://www.ti.com/lit/pdf/spruh73>`_ (All others)
 
 Getting Example Code
 =====================
@@ -37,6 +35,13 @@ It's all on a GitHub repository.
 
     bone$ git clone https://github.com/MarkAYoder/PRUCookbook.git
 
+
+.. note::
+   #TODO#: There needs to be a code-only repo that is validated against the documentation
+   code to be identical for specific version. The version needs to be noted in the
+   documentation.
+
+
 Compiling with clpru and lnkpru
 ================================
 
@@ -255,7 +260,7 @@ It's easy, if you already have ``TARGET`` set up:
     -    Starting PRU 0
     start
 
-See :ref:`../04debug/debug.html#_dmesg_hw,dmesg -Hw` to see how to tell if the PRU
+See :ref:`_dmesg_hw` to see how to tell if the PRU
 is stopped.
 
 This assumes ``TARGET`` is set to the PRU you are using.
diff --git a/books/pru-cookbook/04debug/debug.rst b/books/pru-cookbook/04debug/debug.rst
index a9f0edfb..7887b96c 100644
--- a/books/pru-cookbook/04debug/debug.rst
+++ b/books/pru-cookbook/04debug/debug.rst
@@ -47,6 +47,8 @@ see what's happening.
 Another useful tool that let's you see the contents of the registers and 
 RAM is discussed in :ref:`debug_prudebug`.
 
+.. _dmesg_hw:
+
 dmesg Hw
 =========
 
@@ -529,4 +531,4 @@ copyright.c
 
 .. rubric:: Footnotes
 
-.. [#debug1] FTDI images are from the BeagleBone Cookbook http://shop.oreilly.com/product/0636920033899.do
\ No newline at end of file
+.. [#debug1] FTDI images are from the BeagleBone Cookbook http://shop.oreilly.com/product/0636920033899.do
-- 
GitLab


From 5e55990393ad094a559e3c214c2bdd091baaf212 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 29 Aug 2022 22:56:59 -0400
Subject: [PATCH 17/83] WIP remove a bunch of warnings

---
 .gitignore                                    |   3 +-
 boards/beaglebone/ai-64/ch06.rst              |   4 +-
 boards/beaglebone/ai-64/ch07.rst              | 209 +++++++++---------
 boards/pocketbeagle/original/index.rst        |  24 +-
 books/beaglebone-cookbook/10parts/parts.rst   | 139 ++++++------
 books/beaglebone-cookbook/index.rst           |   1 +
 .../03details/code/am335x_pru.cmd             |  87 ++++++++
 books/pru-cookbook/03details/details.rst      |   9 +-
 projects/simppru/examples/index.rst           |   1 +
 9 files changed, 283 insertions(+), 194 deletions(-)
 create mode 100644 books/pru-cookbook/03details/code/am335x_pru.cmd

diff --git a/.gitignore b/.gitignore
index d73984bb..d5e56122 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,6 @@
 *.o
 *.a
 *.d
-*.cmd
 *.log
 *.pyc
 *.swp
@@ -43,4 +42,4 @@ GPATH
 GRTAGS
 GTAGS
 TAGS
-tags
\ No newline at end of file
+tags
diff --git a/boards/beaglebone/ai-64/ch06.rst b/boards/beaglebone/ai-64/ch06.rst
index 7a27aa2a..22a616fb 100644
--- a/boards/beaglebone/ai-64/ch06.rst
+++ b/boards/beaglebone/ai-64/ch06.rst
@@ -114,7 +114,7 @@ DC Input
 
 .. _figure-23,Figure 23:
 
-.. figure:: :media/image38.png
+.. figure:: media/image38.png
    :width: 400px
    :align: center 
    :alt: Fig: TPS65217 DC Connection
@@ -651,7 +651,7 @@ Full documentation for the processor can be found on the TI website at `https://
 Crystal Circuitry
 ***********************
 
-:ref:`figure-30`is the crystal circuitry for the TDA4VM processor.
+:ref:`figure-30` is the crystal circuitry for the TDA4VM processor.
 
 .. _figure-30,Figure 30:
 
diff --git a/boards/beaglebone/ai-64/ch07.rst b/boards/beaglebone/ai-64/ch07.rst
index ca546ba7..699101b1 100644
--- a/boards/beaglebone/ai-64/ch07.rst
+++ b/boards/beaglebone/ai-64/ch07.rst
@@ -68,109 +68,110 @@ THE BOARD. IT WILL DAMAGE THE PROCESSOR AND VOID THE WARRANTY.*
 *NO PINS ARE TO BE DRIVEN UNTIL AFTER THE SYS_RESET LINE GOES HIGH.*
 
 
-
-| *PIN No.* | *ADDRESS* | *REGISTER NAME* | *BALL NUMBER* | *MUXMODE[14:0] SETTINGS*|||||||||||||||
-| *PIN No.* | *ADDRESS* | *REGISTER NAME* | *BALL NUMBER* |*0* | *1* | *2* | *3* | *4* | *5* | *6* | *7* | *8* | *9* | *10* | *11* | *12* | *13* | *14* | *Bootstrap* 
- |P8_03|0x00011C054 | PADCONFIG21 | AH21 | PRG1_PRU0_GPO19 | PRG1_PRU0_GPI19 | PRG1_IEP0_EDC_SYNC_OUT0 | PRG1_PWM0_TZ_OUT |  | RMII5_TXD0 | MCAN6_TX | GPIO0_20 |  |  | VOUT0_EXTPCLKIN | VPFE0_PCLK | MCASP4_AFSX |  |  | 
- |P8_04 |0x00011C0C4 | PADCONFIG49 | AC29 | PRG0_PRU0_GPO5 | PRG0_PRU0_GPI5 |  | PRG0_PWM3_B2 |  | RMII3_TXD0 |  | GPIO0_48 | GPMC0_AD0 |  |  |  | MCASP0_AXR3 |  |  | BOOTMODE2
- |P8_05 |0x00011C088 | PADCONFIG34 | AH25 | PRG1_PRU1_GPO12 | PRG1_PRU1_GPI12 | PRG1_RGMII2_TD1 | PRG1_PWM1_A0 | RGMII2_TD1 |  | MCAN7_TX | GPIO0_33 | RGMII8_TD1 |  | VOUT0_DATA12 |  | MCASP9_AFSX |  |  | 
- |P8_06 |0x00011C08C | PADCONFIG35 | AG25 | PRG1_PRU1_GPO13 | PRG1_PRU1_GPI13 | PRG1_RGMII2_TD2 | PRG1_PWM1_B0 | RGMII2_TD2 |  | MCAN7_RX | GPIO0_34 | RGMII8_TD2 |  | VOUT0_DATA13 | VPFE0_DATA8 | MCASP9_AXR0 | MCASP4_ACLKR |  | 
- |P8_07 |0x00011C03C | PADCONFIG15 | AD24 | PRG1_PRU0_GPO14 | PRG1_PRU0_GPI14 | PRG1_RGMII1_TD3 | PRG1_PWM0_A1 | RGMII1_TD3 |  | MCAN5_RX | GPIO0_15 |  | RGMII7_TD3 | VOUT0_DATA19 | VPFE0_DATA3 | MCASP7_AXR1 |  |  | 
- |P8_08 |0x00011C038 | PADCONFIG14 | AG24 | PRG1_PRU0_GPO13 | PRG1_PRU0_GPI13 | PRG1_RGMII1_TD2 | PRG1_PWM0_B0 | RGMII1_TD2 |  | MCAN5_TX | GPIO0_14 |  | RGMII7_TD2 | VOUT0_DATA18 | VPFE0_DATA2 | MCASP7_AXR0 |  |  | 
- |P8_09 |0x00011C044 | PADCONFIG17 | AE24 | PRG1_PRU0_GPO16 | PRG1_PRU0_GPI16 | PRG1_RGMII1_TXC | PRG1_PWM0_A2 | RGMII1_TXC |  | MCAN6_RX | GPIO0_17 |  | RGMII7_TXC | VOUT0_DATA21 | VPFE0_DATA5 | MCASP7_AXR3 | MCASP7_AFSR |  | 
- |P8_10 |0x00011C040 | PADCONFIG16 | AC24 | PRG1_PRU0_GPO15 | PRG1_PRU0_GPI15 | PRG1_RGMII1_TX_CTL | PRG1_PWM0_B1 | RGMII1_TX_CTL |  | MCAN6_TX | GPIO0_16 |  | RGMII7_TX_CTL | VOUT0_DATA20 | VPFE0_DATA4 | MCASP7_AXR2 | MCASP7_ACLKR |  | 
- |P8_11 |0x00011C0F4 | PADCONFIG61 | AB24 | PRG0_PRU0_GPO17 | PRG0_PRU0_GPI17 | PRG0_IEP0_EDC_SYNC_OUT1 | PRG0_PWM0_B2 | PRG0_ECAP0_SYNC_OUT |  |  | GPIO0_60 | GPMC0_AD5 | OBSCLK1 |  |  | MCASP0_AXR13 |  |  | BOOTMODE7
- |P8_12 |0x00011C0F0 | PADCONFIG60 | AH28 | PRG0_PRU0_GPO16 | PRG0_PRU0_GPI16 | PRG0_RGMII1_TXC | PRG0_PWM0_A2 | RGMII3_TXC |  |  | GPIO0_59 |  |  | DSS_FSYNC1 |  | MCASP0_AXR12 |  |  | 
- |P8_13 |0x00011C168 | PADCONFIG90 | V27 | RGMII5_TD1 | RMII7_TXD1 | I2C3_SCL |  | VOUT1_DATA4 | TRC_DATA2 | EHRPWM0_B | GPIO0_89 | GPMC0_A5 |  |  |  | MCASP11_ACLKX |  |  | 
- |P8_14 |0x00011C130 | PADCONFIG76 | AF27 | PRG0_PRU1_GPO12 | PRG0_PRU1_GPI12 | PRG0_RGMII2_TD1 | PRG0_PWM1_A0 | RGMII4_TD1 |  |  | GPIO0_75 |  |  |  |  | MCASP1_AXR8 |  | UART8_CTSn | 
- |P8_15 |0x00011C0F8 | PADCONFIG62 | AB29 | PRG0_PRU0_GPO18 | PRG0_PRU0_GPI18 | PRG0_IEP0_EDC_LATCH_IN0 | PRG0_PWM0_TZ_IN | PRG0_ECAP0_IN_APWM_OUT |  |  | GPIO0_61 | GPMC0_AD6 |  |  |  | MCASP0_AXR14 |  |  | 
- |P8_16 |0x00011C0FC | PADCONFIG63 | AB28 | PRG0_PRU0_GPO19 | PRG0_PRU0_GPI19 | PRG0_IEP0_EDC_SYNC_OUT0 | PRG0_PWM0_TZ_OUT |  |  |  | GPIO0_62 | GPMC0_AD7 |  |  |  | MCASP0_AXR15 |  |  | 
- |P8_17 |0x00011C00C | PADCONFIG3 | AF22 | PRG1_PRU0_GPO2 | PRG1_PRU0_GPI2 | PRG1_RGMII1_RD2 | PRG1_PWM2_A0 | RGMII1_RD2 | RMII1_CRS_DV |  | GPIO0_3 | GPMC0_WAIT1 | RGMII7_RD2 |  |  | MCASP6_AXR0 |  | UART1_RXD | 
- |P8_18 |0x00011C010 | PADCONFIG4 | AJ23 | PRG1_PRU0_GPO3 | PRG1_PRU0_GPI3 | PRG1_RGMII1_RD3 | PRG1_PWM3_A2 | RGMII1_RD3 | RMII1_RX_ER |  | GPIO0_4 | GPMC0_DIR | RGMII7_RD3 |  |  | MCASP6_AXR1 |  | UART1_TXD | 
- |P8_19 |0x00011C164 | PADCONFIG89 | V29 | RGMII5_TD2 | UART3_TXD |  | SYNC3_OUT | VOUT1_DATA3 | TRC_DATA1 | EHRPWM0_A | GPIO0_88 | GPMC0_A4 |  |  |  | MCASP10_AXR1 |  |  | 
- |P8_20 |0x00011C134 | PADCONFIG77 | AF26 | PRG0_PRU1_GPO13 | PRG0_PRU1_GPI13 | PRG0_RGMII2_TD2 | PRG0_PWM1_B0 | RGMII4_TD2 |  |  | GPIO0_76 |  |  |  |  | MCASP1_AXR9 |  | UART8_RTSn | 
- |P8_21 |0x00011C07C | PADCONFIG31 | AF21 | PRG1_PRU1_GPO9 | PRG1_PRU1_GPI9 | PRG1_UART0_RXD |  | SPI6_CS3 | RMII6_RXD1 | MCAN8_TX | GPIO0_30 | GPMC0_CSn0 | PRG1_IEP0_EDIO_DATA_IN_OUT30 | VOUT0_DATA9 |  | MCASP4_AXR3 |  |  | 
- |P8_22 |0x00011C014 | PADCONFIG5 | AH23 | PRG1_PRU0_GPO4 | PRG1_PRU0_GPI4 | PRG1_RGMII1_RX_CTL | PRG1_PWM2_B0 | RGMII1_RX_CTL | RMII1_TXD0 |  | GPIO0_5 | GPMC0_CSn2 | RGMII7_RX_CTL |  |  | MCASP6_AXR2 | MCASP6_ACLKR | UART2_RXD | 
- |P8_23 |0x00011C080 | PADCONFIG32 | AB23 | PRG1_PRU1_GPO10 | PRG1_PRU1_GPI10 | PRG1_UART0_TXD | PRG1_PWM2_TZ_IN |  | RMII6_CRS_DV | MCAN8_RX | GPIO0_31 | GPMC0_CLKOUT | PRG1_IEP0_EDIO_DATA_IN_OUT31 | VOUT0_DATA10 | GPMC0_FCLK_MUX | MCASP5_ACLKX |  |  | 
- |P8_24 |0x00011C018 | PADCONFIG6 | AD20 | PRG1_PRU0_GPO5 | PRG1_PRU0_GPI5 |  | PRG1_PWM3_B2 |  | RMII1_TX_EN |  | GPIO0_6 | GPMC0_WEn |  |  |  | MCASP3_AXR0 |  |  | BOOTMODE0
- |P8_25 |0x00011C090 | PADCONFIG36 | AH26 | PRG1_PRU1_GPO14 | PRG1_PRU1_GPI14 | PRG1_RGMII2_TD3 | PRG1_PWM1_A1 | RGMII2_TD3 |  | MCAN8_TX | GPIO0_35 | RGMII8_TD3 |  | VOUT0_DATA14 |  | MCASP9_AXR1 | MCASP4_AFSR |  | 
- |P8_26 |0x00011C0D0 | PADCONFIG52 | AC27 | PRG0_PRU0_GPO8 | PRG0_PRU0_GPI8 |  | PRG0_PWM2_A1 |  |  | MCAN9_RX | GPIO0_51 | GPMC0_AD2 |  |  |  | MCASP0_AXR6 |  | UART6_RXD | 
- |P8_27 |0x00011C120 | PADCONFIG72 | AA28 | PRG0_PRU1_GPO8 | PRG0_PRU1_GPI8 |  | PRG0_PWM2_TZ_OUT |  |  | MCAN11_RX | GPIO0_71 | GPMC0_AD10 |  |  |  | MCASP1_AFSX |  |  | 
- |P8_28 |0x00011C124 | PADCONFIG73 | Y24 | PRG0_PRU1_GPO9 | PRG0_PRU1_GPI9 | PRG0_UART0_RXD |  | SPI3_CS3 |  | PRG0_IEP0_EDIO_DATA_IN_OUT30 | GPIO0_72 | GPMC0_AD11 |  | DSS_FSYNC3 |  | MCASP1_AXR5 |  | UART8_RXD | 
- |P8_29 |0x00011C128 | PADCONFIG74 | AA25 | PRG0_PRU1_GPO10 | PRG0_PRU1_GPI10 | PRG0_UART0_TXD | PRG0_PWM2_TZ_IN |  |  | PRG0_IEP0_EDIO_DATA_IN_OUT31 | GPIO0_73 | GPMC0_AD12 | CLKOUT |  |  | MCASP1_AXR6 |  | UART8_TXD | 
- |P8_30 |0x00011C12C | PADCONFIG75 | AG26 | PRG0_PRU1_GPO11 | PRG0_PRU1_GPI11 | PRG0_RGMII2_TD0 |  | RGMII4_TD0 | RMII4_TX_EN |  | GPIO0_74 | GPMC0_A26 |  |  |  | MCASP1_AXR7 |  |  | 
- |P8_31A |0x00011C084 | PADCONFIG33 | AJ25 | PRG1_PRU1_GPO11 | PRG1_PRU1_GPI11 | PRG1_RGMII2_TD0 |  | RGMII2_TD0 | RMII2_TX_EN |  | GPIO0_32 | RGMII8_TD0 | EQEP1_I | VOUT0_DATA11 |  | MCASP9_ACLKX |  |  | 
- |P8_31B |0x00011C100 | PADCONFIG64 | AE29 | PRG0_PRU1_GPO0 | PRG0_PRU1_GPI0 | PRG0_RGMII2_RD0 |  | RGMII4_RD0 | RMII4_RXD0 |  | GPIO0_63 | UART4_CTSn |  |  |  | MCASP1_AXR0 |  | UART5_RXD | 
- |P8_32A |0x00011C06C | PADCONFIG27 | AG21 | PRG1_PRU1_GPO5 | PRG1_PRU1_GPI5 |  |  |  | RMII5_TX_EN | MCAN6_RX | GPIO0_26 | GPMC0_WPn | EQEP1_S | VOUT0_DATA5 |  | MCASP4_AXR0 |  | TIMER_IO4 | 
- |P8_32B |0x00011C104 | PADCONFIG65 | AD28 | PRG0_PRU1_GPO1 | PRG0_PRU1_GPI1 | PRG0_RGMII2_RD1 |  | RGMII4_RD1 | RMII4_RXD1 |  | GPIO0_64 | UART4_RTSn |  |  |  | MCASP1_AXR1 |  | UART5_TXD | 
- |P8_33A |0x00011C068 | PADCONFIG26 | AH24 | PRG1_PRU1_GPO4 | PRG1_PRU1_GPI4 | PRG1_RGMII2_RX_CTL | PRG1_PWM2_B2 | RGMII2_RX_CTL | RMII2_TXD0 |  | GPIO0_25 | RGMII8_RX_CTL | EQEP1_B | VOUT0_DATA4 | VPFE0_DATA13 | MCASP8_AXR2 | MCASP8_ACLKR | TIMER_IO3 | 
- |P8_33B |0x00011C1C0 | PADCONFIG112 | AA2 | SPI0_CS0 | UART0_RTSn |  |  |  |  |  | GPIO0_111 |  |  |  |  |  |  |  | 
- |P8_34 |0x00011C01C | PADCONFIG7 | AD22 | PRG1_PRU0_GPO6 | PRG1_PRU0_GPI6 | PRG1_RGMII1_RXC | PRG1_PWM3_A1 | RGMII1_RXC | RMII1_TXD1 | AUDIO_EXT_REFCLK0 | GPIO0_7 | GPMC0_CSn3 | RGMII7_RXC |  |  | MCASP6_AXR3 | MCASP6_AFSR | UART2_TXD | 
- |P8_35A |0x00011C064 | PADCONFIG25 | AD23 | PRG1_PRU1_GPO3 | PRG1_PRU1_GPI3 | PRG1_RGMII2_RD3 |  | RGMII2_RD3 | RMII2_RX_ER |  | GPIO0_24 | RGMII8_RD3 | EQEP1_A | VOUT0_DATA3 | VPFE0_WEN | MCASP8_AXR1 | MCASP3_AFSR | TIMER_IO2 | 
- |P8_35B |0x00011C1D4 | PADCONFIG117 | Y3 | SPI1_CS0 | UART0_CTSn |  | UART5_RXD |  |  | PRG0_IEP0_EDIO_OUTVALID | GPIO0_116 | PRG0_IEP0_EDC_LATCH_IN0 |  |  |  |  |  |  | 
- |P8_36 |0x00011C020 | PADCONFIG8 | AE20 | PRG1_PRU0_GPO7 | PRG1_PRU0_GPI7 | PRG1_IEP0_EDC_LATCH_IN1 | PRG1_PWM3_B1 |  | AUDIO_EXT_REFCLK1 | MCAN4_TX | GPIO0_8 |  |  |  |  | MCASP3_AXR1 |  |  | 
- |P8_37A |0x00011C1AC | PADCONFIG107 | Y27 | RGMII6_RD2 | UART4_RTSn |  | UART5_TXD |  | TRC_DATA19 | EHRPWM5_A | GPIO0_106 | GPMC0_A22 |  |  |  | MCASP11_AXR5 |  |  | 
- |P8_37B |0x00011C02C | PADCONFIG11 | AD21 | PRG1_PRU0_GPO10 | PRG1_PRU0_GPI10 | PRG1_UART0_RTSn | PRG1_PWM2_B1 | SPI6_CS2 | RMII5_CRS_DV |  | GPIO0_11 | GPMC0_BE0n_CLE | PRG1_IEP0_EDIO_DATA_IN_OUT29 | OBSCLK2 |  | MCASP3_AFSX |  |  | 
- |P8_38A |0x00011C1A8 | PADCONFIG106 | Y29 | RGMII6_RD3 | UART4_CTSn |  | UART5_RXD | CLKOUT | TRC_DATA18 | EHRPWM_TZn_IN4 | GPIO0_105 | GPMC0_A21 |  |  |  | MCASP11_AXR4 |  |  | 
- |P8_38B |0x00011C024 | PADCONFIG9 | AJ20 | PRG1_PRU0_GPO8 | PRG1_PRU0_GPI8 |  | PRG1_PWM2_A1 |  | RMII5_RXD0 | MCAN4_RX | GPIO0_9 | GPMC0_OEn_REn |  | VOUT0_DATA22 |  | MCASP3_AXR2 |  |  | 
- |P8_39 |0x00011C118 | PADCONFIG70 | AC26 | PRG0_PRU1_GPO6 | PRG0_PRU1_GPI6 | PRG0_RGMII2_RXC |  | RGMII4_RXC | RMII4_TXD0 |  | GPIO0_69 | GPMC0_A25 |  |  |  | MCASP1_AXR3 |  |  | 
- |P8_40 |0x00011C11C | PADCONFIG71 | AA24 | PRG0_PRU1_GPO7 | PRG0_PRU1_GPI7 | PRG0_IEP1_EDC_LATCH_IN1 |  | SPI3_CS0 |  | MCAN11_TX | GPIO0_70 | GPMC0_AD9 |  |  |  | MCASP1_AXR4 |  | UART2_TXD | 
- |P8_41 |0x00011C110 | PADCONFIG68 | AD29 | PRG0_PRU1_GPO4 | PRG0_PRU1_GPI4 | PRG0_RGMII2_RX_CTL | PRG0_PWM2_B2 | RGMII4_RX_CTL | RMII4_TXD1 |  | GPIO0_67 | GPMC0_A24 |  |  |  | MCASP1_AXR2 |  |  | 
- |P8_42 |0x00011C114 | PADCONFIG69 | AB27 | PRG0_PRU1_GPO5 | PRG0_PRU1_GPI5 |  |  |  |  |  | GPIO0_68 | GPMC0_AD8 |  |  |  | MCASP1_ACLKX |  |  | BOOTMODE6
- |P8_43 |0x00011C108 | PADCONFIG66 | AD27 | PRG0_PRU1_GPO2 | PRG0_PRU1_GPI2 | PRG0_RGMII2_RD2 | PRG0_PWM2_A2 | RGMII4_RD2 | RMII4_CRS_DV |  | GPIO0_65 | GPMC0_A23 |  |  |  | MCASP1_ACLKR | MCASP1_AXR10 |  | 
- |P8_44 |0x00011C10C | PADCONFIG67 | AC25 | PRG0_PRU1_GPO3 | PRG0_PRU1_GPI3 | PRG0_RGMII2_RD3 |  | RGMII4_RD3 | RMII4_RX_ER |  | GPIO0_66 |  |  |  |  | MCASP1_AFSR | MCASP1_AXR11 |  | 
- |P8_45 |0x00011C140 | PADCONFIG80 | AG29 | PRG0_PRU1_GPO16 | PRG0_PRU1_GPI16 | PRG0_RGMII2_TXC | PRG0_PWM1_A2 | RGMII4_TXC |  |  | GPIO0_79 |  |  |  |  | MCASP2_AXR2 |  |  | 
- |P8_46 |0x00011C144 | PADCONFIG81 | Y25 | PRG0_PRU1_GPO17 | PRG0_PRU1_GPI17 | PRG0_IEP1_EDC_SYNC_OUT1 | PRG0_PWM1_B2 | SPI3_CLK |  |  | GPIO0_80 | GPMC0_AD13 |  |  |  | MCASP2_AXR3 |  |  | BOOTMODE3
- |P9_11 |0x00011C004 | PADCONFIG1 | AC23 | PRG1_PRU0_GPO0 | PRG1_PRU0_GPI0 | PRG1_RGMII1_RD0 | PRG1_PWM3_A0 | RGMII1_RD0 | RMII1_RXD0 |  | GPIO0_1 | GPMC0_BE1n | RGMII7_RD0 |  |  | MCASP6_ACLKX |  | UART0_RXD | 
- |P9_12 |0x00011C0B8 | PADCONFIG46 | AE27 | PRG0_PRU0_GPO2 | PRG0_PRU0_GPI2 | PRG0_RGMII1_RD2 | PRG0_PWM2_A0 | RGMII3_RD2 | RMII3_CRS_DV |  | GPIO0_45 | UART3_RXD |  |  |  | MCASP0_ACLKR |  |  | 
- |P9_13 |0x00011C008 | PADCONFIG2 | AG22 | PRG1_PRU0_GPO1 | PRG1_PRU0_GPI1 | PRG1_RGMII1_RD1 | PRG1_PWM3_B0 | RGMII1_RD1 | RMII1_RXD1 |  | GPIO0_2 | GPMC0_WAIT0 | RGMII7_RD1 |  |  | MCASP6_AFSX |  | UART0_TXD | 
- |P9_14 |0x00011C178 | PADCONFIG94 | U27 | RGMII5_RD3 | UART3_CTSn |  | UART6_RXD | VOUT1_DATA8 | TRC_DATA6 | EHRPWM2_A | GPIO0_93 | GPMC0_A9 |  |  |  | MCASP11_AXR0 |  |  | 
- |P9_15 |0x00011C0C0 | PADCONFIG48 | AD25 | PRG0_PRU0_GPO4 | PRG0_PRU0_GPI4 | PRG0_RGMII1_RX_CTL | PRG0_PWM2_B0 | RGMII3_RX_CTL | RMII3_TXD1 |  | GPIO0_47 |  |  |  |  | MCASP0_AXR2 |  |  | 
- |P9_16A |0x00011C17C | PADCONFIG95 | U24 | RGMII5_RD2 | UART3_RTSn |  | UART6_TXD | VOUT1_DATA9 | TRC_DATA7 | EHRPWM2_B | GPIO0_94 | GPMC0_A10 |  |  |  | MCASP11_AXR1 |  |  | 
- |P9_16B |0x00011C1DC | PADCONFIG119 | Y1 | SPI1_CLK | UART5_CTSn | I2C4_SDA | UART2_RXD |  |  |  | GPIO0_118 | PRG0_IEP0_EDC_SYNC_OUT0 |  |  |  |  |  |  | 
- |P9_17A |0x00011C074 | PADCONFIG29 | AC21 | PRG1_PRU1_GPO7 | PRG1_PRU1_GPI7 | PRG1_IEP1_EDC_LATCH_IN1 |  | SPI6_CS0 | RMII6_RX_ER | MCAN7_TX | GPIO0_28 |  |  | VOUT0_DATA7 | VPFE0_DATA15 | MCASP4_AXR1 |  | UART3_TXD | 
- |P9_17B |0x00011C1D0 | PADCONFIG116 | AA3 | SPI0_D1 |  | I2C6_SCL |  |  |  |  | GPIO0_115 |  |  |  |  |  |  |  | 
- |P9_18A |0x00011C0A4 | PADCONFIG41 | AH22 | PRG1_PRU1_GPO19 | PRG1_PRU1_GPI19 | PRG1_IEP1_EDC_SYNC_OUT0 | PRG1_PWM1_TZ_OUT | SPI6_D1 | RMII6_TXD1 | PRG1_ECAP0_IN_APWM_OUT | GPIO0_40 |  |  | VOUT0_PCLK |  | MCASP5_AXR1 |  |  | 
- |P9_18B |0x00011C1E4 | PADCONFIG121 | Y2 | SPI1_D1 |  | I2C6_SDA |  |  |  |  | GPIO0_120 | PRG0_IEP1_EDC_SYNC_OUT0 |  |  |  |  |  |  | 
- |P9_19A |0x00011C208 | PADCONFIG130 | W5 | MCAN0_RX |  |  |  | I2C2_SCL |  |  | GPIO1_1 |  |  |  |  |  |  |  | 
- |P9_19B |0x00011C13C | PADCONFIG79 | AF29 | PRG0_PRU1_GPO15 | PRG0_PRU1_GPI15 | PRG0_RGMII2_TX_CTL | PRG0_PWM1_B1 | RGMII4_TX_CTL |  |  | GPIO0_78 |  |  |  |  | MCASP2_AXR1 |  | UART2_RTSn | 
- |P9_20A |0x00011C20C | PADCONFIG131 | W6 | MCAN0_TX |  |  |  | I2C2_SDA |  |  | GPIO1_2 |  |  |  |  |  |  |  | 
- |P9_21A |0x00011C0A0 | PADCONFIG40 | AJ22 | PRG1_PRU1_GPO18 | PRG1_PRU1_GPI18 | PRG1_IEP1_EDC_LATCH_IN0 | PRG1_PWM1_TZ_IN | SPI6_D0 | RMII6_TXD0 | PRG1_ECAP0_SYNC_IN | GPIO0_39 |  | VOUT0_VP2_VSYNC | VOUT0_VSYNC |  | MCASP5_AXR0 |  | VOUT0_VP0_VSYNC | 
- |P9_22A |0x00011C09C | PADCONFIG39 | AC22 | PRG1_PRU1_GPO17 | PRG1_PRU1_GPI17 | PRG1_IEP1_EDC_SYNC_OUT1 | PRG1_PWM1_B2 | SPI6_CLK | RMII6_TX_EN | PRG1_ECAP0_SYNC_OUT | GPIO0_38 |  | VOUT0_VP2_DE | VOUT0_DE | VPFE0_DATA10 | MCASP5_AFSX |  | VOUT0_VP0_DE | BOOTMODE1
- |P9_22B |0x00011C170 | PADCONFIG92 | U29 | RGMII5_TXC | RMII7_TX_EN | I2C6_SCL |  | VOUT1_DATA6 | TRC_DATA4 | EHRPWM1_B | GPIO0_91 | GPMC0_A7 |  |  |  | MCASP10_AXR2 |  |  | 
- |P9_23 |0x00011C028 | PADCONFIG10 | AG20 | PRG1_PRU0_GPO9 | PRG1_PRU0_GPI9 | PRG1_UART0_CTSn | PRG1_PWM3_TZ_IN | SPI6_CS1 | RMII5_RXD1 |  | GPIO0_10 | GPMC0_ADVn_ALE | PRG1_IEP0_EDIO_DATA_IN_OUT28 | VOUT0_DATA23 |  | MCASP3_ACLKX |  |  | 
- |P9_24A |0x00011C034 | PADCONFIG13 | AJ24 | PRG1_PRU0_GPO12 | PRG1_PRU0_GPI12 | PRG1_RGMII1_TD1 | PRG1_PWM0_A0 | RGMII1_TD1 |  | MCAN4_RX | GPIO0_13 |  | RGMII7_TD1 | VOUT0_DATA17 | VPFE0_DATA1 | MCASP7_AFSX |  |  | 
- |P9_24B |0x00011C1E0 | PADCONFIG120 | Y5 | SPI1_D0 | UART5_RTSn | I2C4_SCL | UART2_TXD |  |  |  | GPIO0_119 | PRG0_IEP1_EDC_LATCH_IN0 |  |  |  |  |  |  | 
- |P9_25A |0x00011C200 | PADCONFIG128 | AC4 | UART1_CTSn | MCAN3_RX |  |  | SPI2_D0 | EQEP0_S |  | GPIO0_127 |  |  |  |  |  |  |  | 
- |P9_25B |0x00011C1A4 | PADCONFIG105 | W26 | RGMII6_RXC |  |  | AUDIO_EXT_REFCLK2 | VOUT1_DE | TRC_DATA17 | EHRPWM4_B | GPIO0_104 | GPMC0_A20 | VOUT1_VP0_DE |  |  | MCASP10_AXR7 |  |  | 
- |P9_26A |0x00011C030 | PADCONFIG12 | AF24 | PRG1_PRU0_GPO11 | PRG1_PRU0_GPI11 | PRG1_RGMII1_TD0 | PRG1_PWM3_TZ_OUT | RGMII1_TD0 |  | MCAN4_TX | GPIO0_12 |  | RGMII7_TD0 | VOUT0_DATA16 | VPFE0_DATA0 | MCASP7_ACLKX |  |  | 
- |P9_27A |0x00011C0BC | PADCONFIG47 | AD26 | PRG0_PRU0_GPO3 | PRG0_PRU0_GPI3 | PRG0_RGMII1_RD3 | PRG0_PWM3_A2 | RGMII3_RD3 | RMII3_RX_ER |  | GPIO0_46 | UART3_TXD |  |  |  | MCASP0_AFSR |  |  | 
- |P9_27B |0x00011C1F4 | PADCONFIG125 | AB1 | UART0_RTSn | TIMER_IO7 | SPI0_CS3 | MCAN2_TX | SPI2_CLK | EQEP0_B |  | GPIO0_124 |  |  |  |  |  |  |  | 
- |P9_28A |0x00011C230 | PADCONFIG140 | U2 | ECAP0_IN_APWM_OUT | SYNC0_OUT | CPTS0_RFT_CLK |  | SPI2_CS3 | I3C0_SDAPULLEN | SPI7_CS0 | GPIO1_11 |  |  |  |  |  |  |  | 
- |P9_28B |0x00011C0B0 | PADCONFIG44 | AF28 | PRG0_PRU0_GPO0 | PRG0_PRU0_GPI0 | PRG0_RGMII1_RD0 | PRG0_PWM3_A0 | RGMII3_RD0 | RMII3_RXD1 |  | GPIO0_43 |  |  |  |  | MCASP0_AXR0 |  |  | 
- |P9_29A |0x00011C0D8 | PADCONFIG54 | AB25 | PRG0_PRU0_GPO10 | PRG0_PRU0_GPI10 | PRG0_UART0_RTSn | PRG0_PWM2_B1 | SPI3_CS2 | PRG0_IEP0_EDIO_DATA_IN_OUT29 | MCAN10_RX | GPIO0_53 | GPMC0_AD4 |  |  |  | MCASP0_AFSX |  |  | 
- |P9_29B |0x00011C23C | PADCONFIG143 | V5 | TIMER_IO1 | ECAP2_IN_APWM_OUT | OBSCLK0 |  |  |  | SPI7_D1 | GPIO1_14 |  |  |  |  |  |  |  | BOOTMODE5
- |P9_30A |0x00011C0B4 | PADCONFIG45 | AE28 | PRG0_PRU0_GPO1 | PRG0_PRU0_GPI1 | PRG0_RGMII1_RD1 | PRG0_PWM3_B0 | RGMII3_RD1 | RMII3_RXD0 |  | GPIO0_44 |  |  |  |  | MCASP0_AXR1 |  |  | 
- |P9_30B |0x00011C238 | PADCONFIG142 | V6 | TIMER_IO0 | ECAP1_IN_APWM_OUT | SYSCLKOUT0 |  |  |  | SPI7_D0 | GPIO1_13 |  |  |  |  |  |  |  | BOOTMODE4
- |P9_31A |0x00011C0D4 | PADCONFIG53 | AB26 | PRG0_PRU0_GPO9 | PRG0_PRU0_GPI9 | PRG0_UART0_CTSn | PRG0_PWM3_TZ_IN | SPI3_CS1 | PRG0_IEP0_EDIO_DATA_IN_OUT28 | MCAN10_TX | GPIO0_52 | GPMC0_AD3 |  |  |  | MCASP0_ACLKX |  | UART6_TXD | 
- |P9_31B |0x00011C234 | PADCONFIG141 | U3 | EXT_REFCLK1 | SYNC1_OUT |  |  |  |  | SPI7_CLK | GPIO1_12 |  |  |  |  |  |  |  | 
- |P9_33A |0x00011C0CC | PADCONFIG51 | AC28 | PRG0_PRU0_GPO7 | PRG0_PRU0_GPI7 | PRG0_IEP0_EDC_LATCH_IN1 | PRG0_PWM3_B1 | PRG0_ECAP0_SYNC_IN |  | MCAN9_TX | GPIO0_50 | GPMC0_AD1 |  |  |  | MCASP0_AXR5 |  |  | 
- |P9_33B |0x04301C140 | WKUP_PADCONFIG80 | K24 | MCU_ADC0_AIN4 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
- |P9_35A |0x00011C0E0 | PADCONFIG56 | AH27 | PRG0_PRU0_GPO12 | PRG0_PRU0_GPI12 | PRG0_RGMII1_TD1 | PRG0_PWM0_A0 | RGMII3_TD1 |  |  | GPIO0_55 |  |  | DSS_FSYNC0 |  | MCASP0_AXR8 |  |  | 
- |P9_35B |0x04301C148 | WKUP_PADCONFIG82 | K29 | MCU_ADC0_AIN6 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
- |P9_36A |0x00011C0E4 | PADCONFIG57 | AH29 | PRG0_PRU0_GPO13 | PRG0_PRU0_GPI13 | PRG0_RGMII1_TD2 | PRG0_PWM0_B0 | RGMII3_TD2 |  |  | GPIO0_56 |  |  | DSS_FSYNC2 |  | MCASP0_AXR9 |  |  | 
- |P9_36B |0x04301C144 | WKUP_PADCONFIG81 | K27 | MCU_ADC0_AIN5 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
- |P9_37A |0x00011C0E8 | PADCONFIG58 | AG28 | PRG0_PRU0_GPO14 | PRG0_PRU0_GPI14 | PRG0_RGMII1_TD3 | PRG0_PWM0_A1 | RGMII3_TD3 |  |  | GPIO0_57 | UART4_RXD |  |  |  | MCASP0_AXR10 |  |  | 
- |P9_37B |0x04301C138 | WKUP_PADCONFIG78 | K28 | MCU_ADC0_AIN2 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
- |P9_38A |0x00011C0EC | PADCONFIG59 | AG27 | PRG0_PRU0_GPO15 | PRG0_PRU0_GPI15 | PRG0_RGMII1_TX_CTL | PRG0_PWM0_B1 | RGMII3_TX_CTL |  |  | GPIO0_58 | UART4_TXD |  | DSS_FSYNC3 |  | MCASP0_AXR11 |  |  | 
- |P9_38B |0x04301C13C | WKUP_PADCONFIG79 | L28 | MCU_ADC0_AIN3 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
- |P9_39A |0x04301C130 | WKUP_PADCONFIG76 | K25 | MCU_ADC0_AIN0 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
- |P9_39B |0x00011C0DC | PADCONFIG55 | AJ28 | PRG0_PRU0_GPO11 | PRG0_PRU0_GPI11 | PRG0_RGMII1_TD0 | PRG0_PWM3_TZ_OUT | RGMII3_TD0 |  |  | GPIO0_54 |  | CLKOUT |  |  | MCASP0_AXR7 |  |  | 
- |P9_40A |0x00011C148 | PADCONFIG82 | AA26 | PRG0_PRU1_GPO18 | PRG0_PRU1_GPI18 | PRG0_IEP1_EDC_LATCH_IN0 | PRG0_PWM1_TZ_IN | SPI3_D0 |  | MCAN12_TX | GPIO0_81 | GPMC0_AD14 |  |  |  | MCASP2_AFSX |  | UART2_RXD | 
- |P9_40B |0x04301C134 | WKUP_PADCONFIG77 | K26 | MCU_ADC0_AIN1 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
- |P9_41 |0x00011C204 | PADCONFIG129 | AD5 | UART1_RTSn | MCAN3_TX |  |  | SPI2_D1 | EQEP0_I |  | GPIO1_0 |  |  |  |  |  |  |  | 
- |P9_42A |0x00011C1F0 | PADCONFIG124 | AC2 | UART0_CTSn | TIMER_IO6 | SPI0_CS2 | MCAN2_RX | SPI2_CS0 | EQEP0_A |  | GPIO0_123 |  |  |  |  |  |  |  | 
- |P9_42B |0x00011C04C | PADCONFIG19 | AJ21 | PRG1_PRU0_GPO17 | PRG1_PRU0_GPI17 | PRG1_IEP0_EDC_SYNC_OUT1 | PRG1_PWM0_B2 |  | RMII5_TXD1 | MCAN5_TX | GPIO0_18 |  |  |  | VPFE0_DATA6 | MCASP3_AXR3 |  |  | |
+..
+  #TODO# this is a total mess!
+  | *PIN No.* | *ADDRESS* | *REGISTER NAME* | *BALL NUMBER* | *MUXMODE[14:0] SETTINGS* |||||||||||||||
+  | *PIN No.* | *ADDRESS* | *REGISTER NAME* | *BALL NUMBER* | *0* | *1* | *2* | *3* | *4* | *5* | *6* | *7* | *8* | *9* | *10* | *11* | *12* | *13* | *14* | *Bootstrap*  |
+  | P8_03 | 0x00011C054 | PADCONFIG21 | AH21 | PRG1_PRU0_GPO19 | PRG1_PRU0_GPI19 | PRG1_IEP0_EDC_SYNC_OUT0 | PRG1_PWM0_TZ_OUT |  | RMII5_TXD0 | MCAN6_TX | GPIO0_20 |  |  | VOUT0_EXTPCLKIN | VPFE0_PCLK | MCASP4_AFSX |  |  | 
+   |P8_04 |0x00011C0C4 | PADCONFIG49 | AC29 | PRG0_PRU0_GPO5 | PRG0_PRU0_GPI5 |  | PRG0_PWM3_B2 |  | RMII3_TXD0 |  | GPIO0_48 | GPMC0_AD0 |  |  |  | MCASP0_AXR3 |  |  | BOOTMODE2
+   |P8_05 |0x00011C088 | PADCONFIG34 | AH25 | PRG1_PRU1_GPO12 | PRG1_PRU1_GPI12 | PRG1_RGMII2_TD1 | PRG1_PWM1_A0 | RGMII2_TD1 |  | MCAN7_TX | GPIO0_33 | RGMII8_TD1 |  | VOUT0_DATA12 |  | MCASP9_AFSX |  |  | 
+   |P8_06 |0x00011C08C | PADCONFIG35 | AG25 | PRG1_PRU1_GPO13 | PRG1_PRU1_GPI13 | PRG1_RGMII2_TD2 | PRG1_PWM1_B0 | RGMII2_TD2 |  | MCAN7_RX | GPIO0_34 | RGMII8_TD2 |  | VOUT0_DATA13 | VPFE0_DATA8 | MCASP9_AXR0 | MCASP4_ACLKR |  | 
+   |P8_07 |0x00011C03C | PADCONFIG15 | AD24 | PRG1_PRU0_GPO14 | PRG1_PRU0_GPI14 | PRG1_RGMII1_TD3 | PRG1_PWM0_A1 | RGMII1_TD3 |  | MCAN5_RX | GPIO0_15 |  | RGMII7_TD3 | VOUT0_DATA19 | VPFE0_DATA3 | MCASP7_AXR1 |  |  | 
+   |P8_08 |0x00011C038 | PADCONFIG14 | AG24 | PRG1_PRU0_GPO13 | PRG1_PRU0_GPI13 | PRG1_RGMII1_TD2 | PRG1_PWM0_B0 | RGMII1_TD2 |  | MCAN5_TX | GPIO0_14 |  | RGMII7_TD2 | VOUT0_DATA18 | VPFE0_DATA2 | MCASP7_AXR0 |  |  | 
+   |P8_09 |0x00011C044 | PADCONFIG17 | AE24 | PRG1_PRU0_GPO16 | PRG1_PRU0_GPI16 | PRG1_RGMII1_TXC | PRG1_PWM0_A2 | RGMII1_TXC |  | MCAN6_RX | GPIO0_17 |  | RGMII7_TXC | VOUT0_DATA21 | VPFE0_DATA5 | MCASP7_AXR3 | MCASP7_AFSR |  | 
+   |P8_10 |0x00011C040 | PADCONFIG16 | AC24 | PRG1_PRU0_GPO15 | PRG1_PRU0_GPI15 | PRG1_RGMII1_TX_CTL | PRG1_PWM0_B1 | RGMII1_TX_CTL |  | MCAN6_TX | GPIO0_16 |  | RGMII7_TX_CTL | VOUT0_DATA20 | VPFE0_DATA4 | MCASP7_AXR2 | MCASP7_ACLKR |  | 
+   |P8_11 |0x00011C0F4 | PADCONFIG61 | AB24 | PRG0_PRU0_GPO17 | PRG0_PRU0_GPI17 | PRG0_IEP0_EDC_SYNC_OUT1 | PRG0_PWM0_B2 | PRG0_ECAP0_SYNC_OUT |  |  | GPIO0_60 | GPMC0_AD5 | OBSCLK1 |  |  | MCASP0_AXR13 |  |  | BOOTMODE7
+   |P8_12 |0x00011C0F0 | PADCONFIG60 | AH28 | PRG0_PRU0_GPO16 | PRG0_PRU0_GPI16 | PRG0_RGMII1_TXC | PRG0_PWM0_A2 | RGMII3_TXC |  |  | GPIO0_59 |  |  | DSS_FSYNC1 |  | MCASP0_AXR12 |  |  | 
+   |P8_13 |0x00011C168 | PADCONFIG90 | V27 | RGMII5_TD1 | RMII7_TXD1 | I2C3_SCL |  | VOUT1_DATA4 | TRC_DATA2 | EHRPWM0_B | GPIO0_89 | GPMC0_A5 |  |  |  | MCASP11_ACLKX |  |  | 
+   |P8_14 |0x00011C130 | PADCONFIG76 | AF27 | PRG0_PRU1_GPO12 | PRG0_PRU1_GPI12 | PRG0_RGMII2_TD1 | PRG0_PWM1_A0 | RGMII4_TD1 |  |  | GPIO0_75 |  |  |  |  | MCASP1_AXR8 |  | UART8_CTSn | 
+   |P8_15 |0x00011C0F8 | PADCONFIG62 | AB29 | PRG0_PRU0_GPO18 | PRG0_PRU0_GPI18 | PRG0_IEP0_EDC_LATCH_IN0 | PRG0_PWM0_TZ_IN | PRG0_ECAP0_IN_APWM_OUT |  |  | GPIO0_61 | GPMC0_AD6 |  |  |  | MCASP0_AXR14 |  |  | 
+   |P8_16 |0x00011C0FC | PADCONFIG63 | AB28 | PRG0_PRU0_GPO19 | PRG0_PRU0_GPI19 | PRG0_IEP0_EDC_SYNC_OUT0 | PRG0_PWM0_TZ_OUT |  |  |  | GPIO0_62 | GPMC0_AD7 |  |  |  | MCASP0_AXR15 |  |  | 
+   |P8_17 |0x00011C00C | PADCONFIG3 | AF22 | PRG1_PRU0_GPO2 | PRG1_PRU0_GPI2 | PRG1_RGMII1_RD2 | PRG1_PWM2_A0 | RGMII1_RD2 | RMII1_CRS_DV |  | GPIO0_3 | GPMC0_WAIT1 | RGMII7_RD2 |  |  | MCASP6_AXR0 |  | UART1_RXD | 
+   |P8_18 |0x00011C010 | PADCONFIG4 | AJ23 | PRG1_PRU0_GPO3 | PRG1_PRU0_GPI3 | PRG1_RGMII1_RD3 | PRG1_PWM3_A2 | RGMII1_RD3 | RMII1_RX_ER |  | GPIO0_4 | GPMC0_DIR | RGMII7_RD3 |  |  | MCASP6_AXR1 |  | UART1_TXD | 
+   |P8_19 |0x00011C164 | PADCONFIG89 | V29 | RGMII5_TD2 | UART3_TXD |  | SYNC3_OUT | VOUT1_DATA3 | TRC_DATA1 | EHRPWM0_A | GPIO0_88 | GPMC0_A4 |  |  |  | MCASP10_AXR1 |  |  | 
+   |P8_20 |0x00011C134 | PADCONFIG77 | AF26 | PRG0_PRU1_GPO13 | PRG0_PRU1_GPI13 | PRG0_RGMII2_TD2 | PRG0_PWM1_B0 | RGMII4_TD2 |  |  | GPIO0_76 |  |  |  |  | MCASP1_AXR9 |  | UART8_RTSn | 
+   |P8_21 |0x00011C07C | PADCONFIG31 | AF21 | PRG1_PRU1_GPO9 | PRG1_PRU1_GPI9 | PRG1_UART0_RXD |  | SPI6_CS3 | RMII6_RXD1 | MCAN8_TX | GPIO0_30 | GPMC0_CSn0 | PRG1_IEP0_EDIO_DATA_IN_OUT30 | VOUT0_DATA9 |  | MCASP4_AXR3 |  |  | 
+   |P8_22 |0x00011C014 | PADCONFIG5 | AH23 | PRG1_PRU0_GPO4 | PRG1_PRU0_GPI4 | PRG1_RGMII1_RX_CTL | PRG1_PWM2_B0 | RGMII1_RX_CTL | RMII1_TXD0 |  | GPIO0_5 | GPMC0_CSn2 | RGMII7_RX_CTL |  |  | MCASP6_AXR2 | MCASP6_ACLKR | UART2_RXD | 
+   |P8_23 |0x00011C080 | PADCONFIG32 | AB23 | PRG1_PRU1_GPO10 | PRG1_PRU1_GPI10 | PRG1_UART0_TXD | PRG1_PWM2_TZ_IN |  | RMII6_CRS_DV | MCAN8_RX | GPIO0_31 | GPMC0_CLKOUT | PRG1_IEP0_EDIO_DATA_IN_OUT31 | VOUT0_DATA10 | GPMC0_FCLK_MUX | MCASP5_ACLKX |  |  | 
+   |P8_24 |0x00011C018 | PADCONFIG6 | AD20 | PRG1_PRU0_GPO5 | PRG1_PRU0_GPI5 |  | PRG1_PWM3_B2 |  | RMII1_TX_EN |  | GPIO0_6 | GPMC0_WEn |  |  |  | MCASP3_AXR0 |  |  | BOOTMODE0
+   |P8_25 |0x00011C090 | PADCONFIG36 | AH26 | PRG1_PRU1_GPO14 | PRG1_PRU1_GPI14 | PRG1_RGMII2_TD3 | PRG1_PWM1_A1 | RGMII2_TD3 |  | MCAN8_TX | GPIO0_35 | RGMII8_TD3 |  | VOUT0_DATA14 |  | MCASP9_AXR1 | MCASP4_AFSR |  | 
+   |P8_26 |0x00011C0D0 | PADCONFIG52 | AC27 | PRG0_PRU0_GPO8 | PRG0_PRU0_GPI8 |  | PRG0_PWM2_A1 |  |  | MCAN9_RX | GPIO0_51 | GPMC0_AD2 |  |  |  | MCASP0_AXR6 |  | UART6_RXD | 
+   |P8_27 |0x00011C120 | PADCONFIG72 | AA28 | PRG0_PRU1_GPO8 | PRG0_PRU1_GPI8 |  | PRG0_PWM2_TZ_OUT |  |  | MCAN11_RX | GPIO0_71 | GPMC0_AD10 |  |  |  | MCASP1_AFSX |  |  | 
+   |P8_28 |0x00011C124 | PADCONFIG73 | Y24 | PRG0_PRU1_GPO9 | PRG0_PRU1_GPI9 | PRG0_UART0_RXD |  | SPI3_CS3 |  | PRG0_IEP0_EDIO_DATA_IN_OUT30 | GPIO0_72 | GPMC0_AD11 |  | DSS_FSYNC3 |  | MCASP1_AXR5 |  | UART8_RXD | 
+   |P8_29 |0x00011C128 | PADCONFIG74 | AA25 | PRG0_PRU1_GPO10 | PRG0_PRU1_GPI10 | PRG0_UART0_TXD | PRG0_PWM2_TZ_IN |  |  | PRG0_IEP0_EDIO_DATA_IN_OUT31 | GPIO0_73 | GPMC0_AD12 | CLKOUT |  |  | MCASP1_AXR6 |  | UART8_TXD | 
+   |P8_30 |0x00011C12C | PADCONFIG75 | AG26 | PRG0_PRU1_GPO11 | PRG0_PRU1_GPI11 | PRG0_RGMII2_TD0 |  | RGMII4_TD0 | RMII4_TX_EN |  | GPIO0_74 | GPMC0_A26 |  |  |  | MCASP1_AXR7 |  |  | 
+   |P8_31A |0x00011C084 | PADCONFIG33 | AJ25 | PRG1_PRU1_GPO11 | PRG1_PRU1_GPI11 | PRG1_RGMII2_TD0 |  | RGMII2_TD0 | RMII2_TX_EN |  | GPIO0_32 | RGMII8_TD0 | EQEP1_I | VOUT0_DATA11 |  | MCASP9_ACLKX |  |  | 
+   |P8_31B |0x00011C100 | PADCONFIG64 | AE29 | PRG0_PRU1_GPO0 | PRG0_PRU1_GPI0 | PRG0_RGMII2_RD0 |  | RGMII4_RD0 | RMII4_RXD0 |  | GPIO0_63 | UART4_CTSn |  |  |  | MCASP1_AXR0 |  | UART5_RXD | 
+   |P8_32A |0x00011C06C | PADCONFIG27 | AG21 | PRG1_PRU1_GPO5 | PRG1_PRU1_GPI5 |  |  |  | RMII5_TX_EN | MCAN6_RX | GPIO0_26 | GPMC0_WPn | EQEP1_S | VOUT0_DATA5 |  | MCASP4_AXR0 |  | TIMER_IO4 | 
+   |P8_32B |0x00011C104 | PADCONFIG65 | AD28 | PRG0_PRU1_GPO1 | PRG0_PRU1_GPI1 | PRG0_RGMII2_RD1 |  | RGMII4_RD1 | RMII4_RXD1 |  | GPIO0_64 | UART4_RTSn |  |  |  | MCASP1_AXR1 |  | UART5_TXD | 
+   |P8_33A |0x00011C068 | PADCONFIG26 | AH24 | PRG1_PRU1_GPO4 | PRG1_PRU1_GPI4 | PRG1_RGMII2_RX_CTL | PRG1_PWM2_B2 | RGMII2_RX_CTL | RMII2_TXD0 |  | GPIO0_25 | RGMII8_RX_CTL | EQEP1_B | VOUT0_DATA4 | VPFE0_DATA13 | MCASP8_AXR2 | MCASP8_ACLKR | TIMER_IO3 | 
+   |P8_33B |0x00011C1C0 | PADCONFIG112 | AA2 | SPI0_CS0 | UART0_RTSn |  |  |  |  |  | GPIO0_111 |  |  |  |  |  |  |  | 
+   |P8_34 |0x00011C01C | PADCONFIG7 | AD22 | PRG1_PRU0_GPO6 | PRG1_PRU0_GPI6 | PRG1_RGMII1_RXC | PRG1_PWM3_A1 | RGMII1_RXC | RMII1_TXD1 | AUDIO_EXT_REFCLK0 | GPIO0_7 | GPMC0_CSn3 | RGMII7_RXC |  |  | MCASP6_AXR3 | MCASP6_AFSR | UART2_TXD | 
+   |P8_35A |0x00011C064 | PADCONFIG25 | AD23 | PRG1_PRU1_GPO3 | PRG1_PRU1_GPI3 | PRG1_RGMII2_RD3 |  | RGMII2_RD3 | RMII2_RX_ER |  | GPIO0_24 | RGMII8_RD3 | EQEP1_A | VOUT0_DATA3 | VPFE0_WEN | MCASP8_AXR1 | MCASP3_AFSR | TIMER_IO2 | 
+   |P8_35B |0x00011C1D4 | PADCONFIG117 | Y3 | SPI1_CS0 | UART0_CTSn |  | UART5_RXD |  |  | PRG0_IEP0_EDIO_OUTVALID | GPIO0_116 | PRG0_IEP0_EDC_LATCH_IN0 |  |  |  |  |  |  | 
+   |P8_36 |0x00011C020 | PADCONFIG8 | AE20 | PRG1_PRU0_GPO7 | PRG1_PRU0_GPI7 | PRG1_IEP0_EDC_LATCH_IN1 | PRG1_PWM3_B1 |  | AUDIO_EXT_REFCLK1 | MCAN4_TX | GPIO0_8 |  |  |  |  | MCASP3_AXR1 |  |  | 
+   |P8_37A |0x00011C1AC | PADCONFIG107 | Y27 | RGMII6_RD2 | UART4_RTSn |  | UART5_TXD |  | TRC_DATA19 | EHRPWM5_A | GPIO0_106 | GPMC0_A22 |  |  |  | MCASP11_AXR5 |  |  | 
+   |P8_37B |0x00011C02C | PADCONFIG11 | AD21 | PRG1_PRU0_GPO10 | PRG1_PRU0_GPI10 | PRG1_UART0_RTSn | PRG1_PWM2_B1 | SPI6_CS2 | RMII5_CRS_DV |  | GPIO0_11 | GPMC0_BE0n_CLE | PRG1_IEP0_EDIO_DATA_IN_OUT29 | OBSCLK2 |  | MCASP3_AFSX |  |  | 
+   |P8_38A |0x00011C1A8 | PADCONFIG106 | Y29 | RGMII6_RD3 | UART4_CTSn |  | UART5_RXD | CLKOUT | TRC_DATA18 | EHRPWM_TZn_IN4 | GPIO0_105 | GPMC0_A21 |  |  |  | MCASP11_AXR4 |  |  | 
+   |P8_38B |0x00011C024 | PADCONFIG9 | AJ20 | PRG1_PRU0_GPO8 | PRG1_PRU0_GPI8 |  | PRG1_PWM2_A1 |  | RMII5_RXD0 | MCAN4_RX | GPIO0_9 | GPMC0_OEn_REn |  | VOUT0_DATA22 |  | MCASP3_AXR2 |  |  | 
+   |P8_39 |0x00011C118 | PADCONFIG70 | AC26 | PRG0_PRU1_GPO6 | PRG0_PRU1_GPI6 | PRG0_RGMII2_RXC |  | RGMII4_RXC | RMII4_TXD0 |  | GPIO0_69 | GPMC0_A25 |  |  |  | MCASP1_AXR3 |  |  | 
+   |P8_40 |0x00011C11C | PADCONFIG71 | AA24 | PRG0_PRU1_GPO7 | PRG0_PRU1_GPI7 | PRG0_IEP1_EDC_LATCH_IN1 |  | SPI3_CS0 |  | MCAN11_TX | GPIO0_70 | GPMC0_AD9 |  |  |  | MCASP1_AXR4 |  | UART2_TXD | 
+   |P8_41 |0x00011C110 | PADCONFIG68 | AD29 | PRG0_PRU1_GPO4 | PRG0_PRU1_GPI4 | PRG0_RGMII2_RX_CTL | PRG0_PWM2_B2 | RGMII4_RX_CTL | RMII4_TXD1 |  | GPIO0_67 | GPMC0_A24 |  |  |  | MCASP1_AXR2 |  |  | 
+   |P8_42 |0x00011C114 | PADCONFIG69 | AB27 | PRG0_PRU1_GPO5 | PRG0_PRU1_GPI5 |  |  |  |  |  | GPIO0_68 | GPMC0_AD8 |  |  |  | MCASP1_ACLKX |  |  | BOOTMODE6
+   |P8_43 |0x00011C108 | PADCONFIG66 | AD27 | PRG0_PRU1_GPO2 | PRG0_PRU1_GPI2 | PRG0_RGMII2_RD2 | PRG0_PWM2_A2 | RGMII4_RD2 | RMII4_CRS_DV |  | GPIO0_65 | GPMC0_A23 |  |  |  | MCASP1_ACLKR | MCASP1_AXR10 |  | 
+   |P8_44 |0x00011C10C | PADCONFIG67 | AC25 | PRG0_PRU1_GPO3 | PRG0_PRU1_GPI3 | PRG0_RGMII2_RD3 |  | RGMII4_RD3 | RMII4_RX_ER |  | GPIO0_66 |  |  |  |  | MCASP1_AFSR | MCASP1_AXR11 |  | 
+   |P8_45 |0x00011C140 | PADCONFIG80 | AG29 | PRG0_PRU1_GPO16 | PRG0_PRU1_GPI16 | PRG0_RGMII2_TXC | PRG0_PWM1_A2 | RGMII4_TXC |  |  | GPIO0_79 |  |  |  |  | MCASP2_AXR2 |  |  | 
+   |P8_46 |0x00011C144 | PADCONFIG81 | Y25 | PRG0_PRU1_GPO17 | PRG0_PRU1_GPI17 | PRG0_IEP1_EDC_SYNC_OUT1 | PRG0_PWM1_B2 | SPI3_CLK |  |  | GPIO0_80 | GPMC0_AD13 |  |  |  | MCASP2_AXR3 |  |  | BOOTMODE3
+   |P9_11 |0x00011C004 | PADCONFIG1 | AC23 | PRG1_PRU0_GPO0 | PRG1_PRU0_GPI0 | PRG1_RGMII1_RD0 | PRG1_PWM3_A0 | RGMII1_RD0 | RMII1_RXD0 |  | GPIO0_1 | GPMC0_BE1n | RGMII7_RD0 |  |  | MCASP6_ACLKX |  | UART0_RXD | 
+   |P9_12 |0x00011C0B8 | PADCONFIG46 | AE27 | PRG0_PRU0_GPO2 | PRG0_PRU0_GPI2 | PRG0_RGMII1_RD2 | PRG0_PWM2_A0 | RGMII3_RD2 | RMII3_CRS_DV |  | GPIO0_45 | UART3_RXD |  |  |  | MCASP0_ACLKR |  |  | 
+   |P9_13 |0x00011C008 | PADCONFIG2 | AG22 | PRG1_PRU0_GPO1 | PRG1_PRU0_GPI1 | PRG1_RGMII1_RD1 | PRG1_PWM3_B0 | RGMII1_RD1 | RMII1_RXD1 |  | GPIO0_2 | GPMC0_WAIT0 | RGMII7_RD1 |  |  | MCASP6_AFSX |  | UART0_TXD | 
+   |P9_14 |0x00011C178 | PADCONFIG94 | U27 | RGMII5_RD3 | UART3_CTSn |  | UART6_RXD | VOUT1_DATA8 | TRC_DATA6 | EHRPWM2_A | GPIO0_93 | GPMC0_A9 |  |  |  | MCASP11_AXR0 |  |  | 
+   |P9_15 |0x00011C0C0 | PADCONFIG48 | AD25 | PRG0_PRU0_GPO4 | PRG0_PRU0_GPI4 | PRG0_RGMII1_RX_CTL | PRG0_PWM2_B0 | RGMII3_RX_CTL | RMII3_TXD1 |  | GPIO0_47 |  |  |  |  | MCASP0_AXR2 |  |  | 
+   |P9_16A |0x00011C17C | PADCONFIG95 | U24 | RGMII5_RD2 | UART3_RTSn |  | UART6_TXD | VOUT1_DATA9 | TRC_DATA7 | EHRPWM2_B | GPIO0_94 | GPMC0_A10 |  |  |  | MCASP11_AXR1 |  |  | 
+   |P9_16B |0x00011C1DC | PADCONFIG119 | Y1 | SPI1_CLK | UART5_CTSn | I2C4_SDA | UART2_RXD |  |  |  | GPIO0_118 | PRG0_IEP0_EDC_SYNC_OUT0 |  |  |  |  |  |  | 
+   |P9_17A |0x00011C074 | PADCONFIG29 | AC21 | PRG1_PRU1_GPO7 | PRG1_PRU1_GPI7 | PRG1_IEP1_EDC_LATCH_IN1 |  | SPI6_CS0 | RMII6_RX_ER | MCAN7_TX | GPIO0_28 |  |  | VOUT0_DATA7 | VPFE0_DATA15 | MCASP4_AXR1 |  | UART3_TXD | 
+   |P9_17B |0x00011C1D0 | PADCONFIG116 | AA3 | SPI0_D1 |  | I2C6_SCL |  |  |  |  | GPIO0_115 |  |  |  |  |  |  |  | 
+   |P9_18A |0x00011C0A4 | PADCONFIG41 | AH22 | PRG1_PRU1_GPO19 | PRG1_PRU1_GPI19 | PRG1_IEP1_EDC_SYNC_OUT0 | PRG1_PWM1_TZ_OUT | SPI6_D1 | RMII6_TXD1 | PRG1_ECAP0_IN_APWM_OUT | GPIO0_40 |  |  | VOUT0_PCLK |  | MCASP5_AXR1 |  |  | 
+   |P9_18B |0x00011C1E4 | PADCONFIG121 | Y2 | SPI1_D1 |  | I2C6_SDA |  |  |  |  | GPIO0_120 | PRG0_IEP1_EDC_SYNC_OUT0 |  |  |  |  |  |  | 
+   |P9_19A |0x00011C208 | PADCONFIG130 | W5 | MCAN0_RX |  |  |  | I2C2_SCL |  |  | GPIO1_1 |  |  |  |  |  |  |  | 
+   |P9_19B |0x00011C13C | PADCONFIG79 | AF29 | PRG0_PRU1_GPO15 | PRG0_PRU1_GPI15 | PRG0_RGMII2_TX_CTL | PRG0_PWM1_B1 | RGMII4_TX_CTL |  |  | GPIO0_78 |  |  |  |  | MCASP2_AXR1 |  | UART2_RTSn | 
+   |P9_20A |0x00011C20C | PADCONFIG131 | W6 | MCAN0_TX |  |  |  | I2C2_SDA |  |  | GPIO1_2 |  |  |  |  |  |  |  | 
+   |P9_21A |0x00011C0A0 | PADCONFIG40 | AJ22 | PRG1_PRU1_GPO18 | PRG1_PRU1_GPI18 | PRG1_IEP1_EDC_LATCH_IN0 | PRG1_PWM1_TZ_IN | SPI6_D0 | RMII6_TXD0 | PRG1_ECAP0_SYNC_IN | GPIO0_39 |  | VOUT0_VP2_VSYNC | VOUT0_VSYNC |  | MCASP5_AXR0 |  | VOUT0_VP0_VSYNC | 
+   |P9_22A |0x00011C09C | PADCONFIG39 | AC22 | PRG1_PRU1_GPO17 | PRG1_PRU1_GPI17 | PRG1_IEP1_EDC_SYNC_OUT1 | PRG1_PWM1_B2 | SPI6_CLK | RMII6_TX_EN | PRG1_ECAP0_SYNC_OUT | GPIO0_38 |  | VOUT0_VP2_DE | VOUT0_DE | VPFE0_DATA10 | MCASP5_AFSX |  | VOUT0_VP0_DE | BOOTMODE1
+   |P9_22B |0x00011C170 | PADCONFIG92 | U29 | RGMII5_TXC | RMII7_TX_EN | I2C6_SCL |  | VOUT1_DATA6 | TRC_DATA4 | EHRPWM1_B | GPIO0_91 | GPMC0_A7 |  |  |  | MCASP10_AXR2 |  |  | 
+   |P9_23 |0x00011C028 | PADCONFIG10 | AG20 | PRG1_PRU0_GPO9 | PRG1_PRU0_GPI9 | PRG1_UART0_CTSn | PRG1_PWM3_TZ_IN | SPI6_CS1 | RMII5_RXD1 |  | GPIO0_10 | GPMC0_ADVn_ALE | PRG1_IEP0_EDIO_DATA_IN_OUT28 | VOUT0_DATA23 |  | MCASP3_ACLKX |  |  | 
+   |P9_24A |0x00011C034 | PADCONFIG13 | AJ24 | PRG1_PRU0_GPO12 | PRG1_PRU0_GPI12 | PRG1_RGMII1_TD1 | PRG1_PWM0_A0 | RGMII1_TD1 |  | MCAN4_RX | GPIO0_13 |  | RGMII7_TD1 | VOUT0_DATA17 | VPFE0_DATA1 | MCASP7_AFSX |  |  | 
+   |P9_24B |0x00011C1E0 | PADCONFIG120 | Y5 | SPI1_D0 | UART5_RTSn | I2C4_SCL | UART2_TXD |  |  |  | GPIO0_119 | PRG0_IEP1_EDC_LATCH_IN0 |  |  |  |  |  |  | 
+   |P9_25A |0x00011C200 | PADCONFIG128 | AC4 | UART1_CTSn | MCAN3_RX |  |  | SPI2_D0 | EQEP0_S |  | GPIO0_127 |  |  |  |  |  |  |  | 
+   |P9_25B |0x00011C1A4 | PADCONFIG105 | W26 | RGMII6_RXC |  |  | AUDIO_EXT_REFCLK2 | VOUT1_DE | TRC_DATA17 | EHRPWM4_B | GPIO0_104 | GPMC0_A20 | VOUT1_VP0_DE |  |  | MCASP10_AXR7 |  |  | 
+   |P9_26A |0x00011C030 | PADCONFIG12 | AF24 | PRG1_PRU0_GPO11 | PRG1_PRU0_GPI11 | PRG1_RGMII1_TD0 | PRG1_PWM3_TZ_OUT | RGMII1_TD0 |  | MCAN4_TX | GPIO0_12 |  | RGMII7_TD0 | VOUT0_DATA16 | VPFE0_DATA0 | MCASP7_ACLKX |  |  | 
+   |P9_27A |0x00011C0BC | PADCONFIG47 | AD26 | PRG0_PRU0_GPO3 | PRG0_PRU0_GPI3 | PRG0_RGMII1_RD3 | PRG0_PWM3_A2 | RGMII3_RD3 | RMII3_RX_ER |  | GPIO0_46 | UART3_TXD |  |  |  | MCASP0_AFSR |  |  | 
+   |P9_27B |0x00011C1F4 | PADCONFIG125 | AB1 | UART0_RTSn | TIMER_IO7 | SPI0_CS3 | MCAN2_TX | SPI2_CLK | EQEP0_B |  | GPIO0_124 |  |  |  |  |  |  |  | 
+   |P9_28A |0x00011C230 | PADCONFIG140 | U2 | ECAP0_IN_APWM_OUT | SYNC0_OUT | CPTS0_RFT_CLK |  | SPI2_CS3 | I3C0_SDAPULLEN | SPI7_CS0 | GPIO1_11 |  |  |  |  |  |  |  | 
+   |P9_28B |0x00011C0B0 | PADCONFIG44 | AF28 | PRG0_PRU0_GPO0 | PRG0_PRU0_GPI0 | PRG0_RGMII1_RD0 | PRG0_PWM3_A0 | RGMII3_RD0 | RMII3_RXD1 |  | GPIO0_43 |  |  |  |  | MCASP0_AXR0 |  |  | 
+   |P9_29A |0x00011C0D8 | PADCONFIG54 | AB25 | PRG0_PRU0_GPO10 | PRG0_PRU0_GPI10 | PRG0_UART0_RTSn | PRG0_PWM2_B1 | SPI3_CS2 | PRG0_IEP0_EDIO_DATA_IN_OUT29 | MCAN10_RX | GPIO0_53 | GPMC0_AD4 |  |  |  | MCASP0_AFSX |  |  | 
+   |P9_29B |0x00011C23C | PADCONFIG143 | V5 | TIMER_IO1 | ECAP2_IN_APWM_OUT | OBSCLK0 |  |  |  | SPI7_D1 | GPIO1_14 |  |  |  |  |  |  |  | BOOTMODE5
+   |P9_30A |0x00011C0B4 | PADCONFIG45 | AE28 | PRG0_PRU0_GPO1 | PRG0_PRU0_GPI1 | PRG0_RGMII1_RD1 | PRG0_PWM3_B0 | RGMII3_RD1 | RMII3_RXD0 |  | GPIO0_44 |  |  |  |  | MCASP0_AXR1 |  |  | 
+   |P9_30B |0x00011C238 | PADCONFIG142 | V6 | TIMER_IO0 | ECAP1_IN_APWM_OUT | SYSCLKOUT0 |  |  |  | SPI7_D0 | GPIO1_13 |  |  |  |  |  |  |  | BOOTMODE4
+   |P9_31A |0x00011C0D4 | PADCONFIG53 | AB26 | PRG0_PRU0_GPO9 | PRG0_PRU0_GPI9 | PRG0_UART0_CTSn | PRG0_PWM3_TZ_IN | SPI3_CS1 | PRG0_IEP0_EDIO_DATA_IN_OUT28 | MCAN10_TX | GPIO0_52 | GPMC0_AD3 |  |  |  | MCASP0_ACLKX |  | UART6_TXD | 
+   |P9_31B |0x00011C234 | PADCONFIG141 | U3 | EXT_REFCLK1 | SYNC1_OUT |  |  |  |  | SPI7_CLK | GPIO1_12 |  |  |  |  |  |  |  | 
+   |P9_33A |0x00011C0CC | PADCONFIG51 | AC28 | PRG0_PRU0_GPO7 | PRG0_PRU0_GPI7 | PRG0_IEP0_EDC_LATCH_IN1 | PRG0_PWM3_B1 | PRG0_ECAP0_SYNC_IN |  | MCAN9_TX | GPIO0_50 | GPMC0_AD1 |  |  |  | MCASP0_AXR5 |  |  | 
+   |P9_33B |0x04301C140 | WKUP_PADCONFIG80 | K24 | MCU_ADC0_AIN4 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
+   |P9_35A |0x00011C0E0 | PADCONFIG56 | AH27 | PRG0_PRU0_GPO12 | PRG0_PRU0_GPI12 | PRG0_RGMII1_TD1 | PRG0_PWM0_A0 | RGMII3_TD1 |  |  | GPIO0_55 |  |  | DSS_FSYNC0 |  | MCASP0_AXR8 |  |  | 
+   |P9_35B |0x04301C148 | WKUP_PADCONFIG82 | K29 | MCU_ADC0_AIN6 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
+   |P9_36A |0x00011C0E4 | PADCONFIG57 | AH29 | PRG0_PRU0_GPO13 | PRG0_PRU0_GPI13 | PRG0_RGMII1_TD2 | PRG0_PWM0_B0 | RGMII3_TD2 |  |  | GPIO0_56 |  |  | DSS_FSYNC2 |  | MCASP0_AXR9 |  |  | 
+   |P9_36B |0x04301C144 | WKUP_PADCONFIG81 | K27 | MCU_ADC0_AIN5 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
+   |P9_37A |0x00011C0E8 | PADCONFIG58 | AG28 | PRG0_PRU0_GPO14 | PRG0_PRU0_GPI14 | PRG0_RGMII1_TD3 | PRG0_PWM0_A1 | RGMII3_TD3 |  |  | GPIO0_57 | UART4_RXD |  |  |  | MCASP0_AXR10 |  |  | 
+   |P9_37B |0x04301C138 | WKUP_PADCONFIG78 | K28 | MCU_ADC0_AIN2 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
+   |P9_38A |0x00011C0EC | PADCONFIG59 | AG27 | PRG0_PRU0_GPO15 | PRG0_PRU0_GPI15 | PRG0_RGMII1_TX_CTL | PRG0_PWM0_B1 | RGMII3_TX_CTL |  |  | GPIO0_58 | UART4_TXD |  | DSS_FSYNC3 |  | MCASP0_AXR11 |  |  | 
+   |P9_38B |0x04301C13C | WKUP_PADCONFIG79 | L28 | MCU_ADC0_AIN3 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
+   |P9_39A |0x04301C130 | WKUP_PADCONFIG76 | K25 | MCU_ADC0_AIN0 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
+   |P9_39B |0x00011C0DC | PADCONFIG55 | AJ28 | PRG0_PRU0_GPO11 | PRG0_PRU0_GPI11 | PRG0_RGMII1_TD0 | PRG0_PWM3_TZ_OUT | RGMII3_TD0 |  |  | GPIO0_54 |  | CLKOUT |  |  | MCASP0_AXR7 |  |  | 
+   |P9_40A |0x00011C148 | PADCONFIG82 | AA26 | PRG0_PRU1_GPO18 | PRG0_PRU1_GPI18 | PRG0_IEP1_EDC_LATCH_IN0 | PRG0_PWM1_TZ_IN | SPI3_D0 |  | MCAN12_TX | GPIO0_81 | GPMC0_AD14 |  |  |  | MCASP2_AFSX |  | UART2_RXD | 
+   |P9_40B |0x04301C134 | WKUP_PADCONFIG77 | K26 | MCU_ADC0_AIN1 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
+   |P9_41 |0x00011C204 | PADCONFIG129 | AD5 | UART1_RTSn | MCAN3_TX |  |  | SPI2_D1 | EQEP0_I |  | GPIO1_0 |  |  |  |  |  |  |  | 
+   |P9_42A |0x00011C1F0 | PADCONFIG124 | AC2 | UART0_CTSn | TIMER_IO6 | SPI0_CS2 | MCAN2_RX | SPI2_CS0 | EQEP0_A |  | GPIO0_123 |  |  |  |  |  |  |  | 
+   |P9_42B |0x00011C04C | PADCONFIG19 | AJ21 | PRG1_PRU0_GPO17 | PRG1_PRU0_GPI17 | PRG1_IEP0_EDC_SYNC_OUT1 | PRG1_PWM0_B2 |  | RMII5_TXD1 | MCAN5_TX | GPIO0_18 |  |  |  | VPFE0_DATA6 | MCASP3_AXR3 |  |  | |
 
 
 .. _power-jack:
@@ -390,4 +391,4 @@ board. To use this, a connector will need to be soldered onto the board.
 
 If you need the JTAG connector you can solder it on yourself. No other
 components are needed. The connector is made by Samtec and the part
-number is FTR-110-03-G-D-06. You can purchase it from `www.digikey.com <http://www.digikey.com/>`_
\ No newline at end of file
+number is FTR-110-03-G-D-06. You can purchase it from `www.digikey.com <http://www.digikey.com/>`_
diff --git a/boards/pocketbeagle/original/index.rst b/boards/pocketbeagle/original/index.rst
index a1e39ded..47e5cc18 100644
--- a/boards/pocketbeagle/original/index.rst
+++ b/boards/pocketbeagle/original/index.rst
@@ -18,19 +18,17 @@ making PocketBeagle the ideal development board for beginners and professionals
    :height: 400
    :alt: PocketBeagle
 
-
-
 .. toctree::
    :maxdepth: 1
 
-   /boards/boards/pocketbeagle/original/ch01.rst
-   /boards/boards/pocketbeagle/original/ch02.rst
-   /boards/boards/pocketbeagle/original/ch03.rst
-   /boards/boards/pocketbeagle/original/ch04.rst
-   /boards/boards/pocketbeagle/original/ch05.rst
-   /boards/boards/pocketbeagle/original/ch06.rst
-   /boards/boards/pocketbeagle/original/ch07.rst
-   /boards/boards/pocketbeagle/original/ch08.rst
-   /boards/boards/pocketbeagle/original/ch09.rst
-   /boards/boards/pocketbeagle/original/ch10.rst
-   /boards/boards/pocketbeagle/original/ch11.rst
+   /boards/pocketbeagle/original/ch01.rst
+   /boards/pocketbeagle/original/ch02.rst
+   /boards/pocketbeagle/original/ch03.rst
+   /boards/pocketbeagle/original/ch04.rst
+   /boards/pocketbeagle/original/ch05.rst
+   /boards/pocketbeagle/original/ch06.rst
+   /boards/pocketbeagle/original/ch07.rst
+   /boards/pocketbeagle/original/ch08.rst
+   /boards/pocketbeagle/original/ch09.rst
+   /boards/pocketbeagle/original/ch10.rst
+   /boards/pocketbeagle/original/ch11.rst
diff --git a/books/beaglebone-cookbook/10parts/parts.rst b/books/beaglebone-cookbook/10parts/parts.rst
index ea216041..2e6e6faf 100644
--- a/books/beaglebone-cookbook/10parts/parts.rst
+++ b/books/beaglebone-cookbook/10parts/parts.rst
@@ -3,7 +3,8 @@
 Parts and Suppliers
 ####################
 
-// Do we really need this?
+.. note::
+   #TODO#: (Mark) Do we really need this? (Jason) Yeah, I think it is helpful.
 
 Parts
 ----------
@@ -108,11 +109,11 @@ If you don't need an entire kit of resistors, you can order a la carte from a nu
 `RadioShack has 5-packs <http://shack.net/1E5NoIC>`_, and DigiKey has more than a quarter million 
 `through-hole resistors <http://bit.ly/1C6WQjZ>`_ at good prices, but make sure you are ordering the right one.
 
-You can find the 10 k trimpot (or variable resistor) at `SparkFun <http://bit.ly/18ACvpm>`_,  
-`Adafruit <http://bit.ly/1NKg1Tv>`_, or `RadioShack <http://shack.net/1Ag286e>`_.
+You can find the 10 k trimpot (or variable resistor) at `SparkFun 10k POT <http://bit.ly/18ACvpm>`_,  
+`Adafruit 10k POT <http://bit.ly/1NKg1Tv>`_, or `RadioShack 10k POT <http://shack.net/1Ag286e>`_.
 
 Flex resistors (sometimes called *flex sensors* or *bend sensors*) are available at 
-`SparkFun <http://bit.ly/1Br7HD2>`_ and `Adafruit <http://bit.ly/1HCGoql>`_.
+`SparkFun flex resistors <http://bit.ly/1Br7HD2>`_ and `Adafruit flex resistors <http://bit.ly/1HCGoql>`_.
 
 .. _app_transistor:
 
@@ -120,13 +121,13 @@ Transistors and Diodes
 -----------------------
 
 The `2N3904 <http://bit.ly/1B4J8H4>`_ is a common NPN transistor that you can get almost anywhere. 
-Even `Amazon <http://amzn.to/1AjvcsD>`_ has it. `Adafruit <http://bit.ly/1b2dgxT>`_ has a nice 10-pack. 
-`SparkFun <http://bit.ly/1GrZj5P>`_ lets you buy them one at a time.  `DigiKey <http://bit.ly/1GF8H9K>`_
+Even `Amazon NPN transitor <http://amzn.to/1AjvcsD>`_ has it. `Adafruit NPN transitor <http://bit.ly/1b2dgxT>`_ has a nice 10-pack. 
+`SparkFun NPN transitor <http://bit.ly/1GrZj5P>`_ lets you buy them one at a time.  `DigiKey NPN transitor <http://bit.ly/1GF8H9K>`_
 will gladly sell you 100,000.
 
-The `1N4001 <http://bit.ly/1EbRzF6>`_ is a popular 1A diode. Buy one at `SparkFun <http://bit.ly/1Ajw54G>`_, 
-10 at `Adafruit <http://bit.ly/1Gs05zP>`_, 25 at `RadioShack <http://shack.net/1E5OTXi>`_, 
-or 40,000 at `DigiKey <http://bit.ly/18ADlT2>`_.
+The `1N4001 <http://bit.ly/1EbRzF6>`_ is a popular 1A diode. Buy one at `SparkFun diode <http://bit.ly/1Ajw54G>`_, 
+10 at `Adafruit diode <http://bit.ly/1Gs05zP>`_, 25 at `RadioShack diode <http://shack.net/1E5OTXi>`_, 
+or 40,000 at `DigiKey diode <http://bit.ly/18ADlT2>`_.
 
 .. _app_ic:
 
@@ -134,23 +135,23 @@ Integrated Circuits
 ---------------------
 
 The PCA9306 is a small integrated circuit (IC) that converts voltage levels between 3.3 V and 5 V. You can get it 
-cheaply in large quantities from `DigiKey <http://bit.ly/1Fb8REd>`_, but it's in a very small, hard-to-use, surface-mount 
-package. Instead, you can get it from `SparkFun on a Breakout board <http://bit.ly/19ceTsd>`_, which plugs into a breadboard.
+cheaply in large quantities from `DigiKey PCA9306 <http://bit.ly/1Fb8REd>`_, but it's in a very small, hard-to-use, surface-mount 
+package. Instead, you can get it from `SparkFun PCA9306 on a Breakout board <http://bit.ly/19ceTsd>`_, which plugs into a breadboard.
 
 The L293D is an `H-bridge IC <http://bit.ly/1wujQqk>`_ with which you can control large loads (such as motors) in 
-both directions.  `SparkFun <http://bit.ly/18bXChR>`_, `Adafruit <http://bit.ly/1xd43Yh>`_, and 
-`DigiKey <http://bit.ly/18bXKOk>`_ all have it in a DIP package that easily plugs into a breadboard.
+both directions.  `SparkFun L393D <http://bit.ly/18bXChR>`_, `Adafruit L393D <http://bit.ly/1xd43Yh>`_, and 
+`DigiKey L393D <http://bit.ly/18bXKOk>`_ all have it in a DIP package that easily plugs into a breadboard.
 
 The ULN2003 is a 7 darlington NPN transistor IC array used to drive motors one way. You can get it from  
-`DigiKey <http://bit.ly/1D5UQIB>`_. A possible substitution is ULN2803 available from 
-`SparkFun <http://bit.ly/1xd4oKy>`_ and `Adafruit <http://bit.ly/1EXWhaU>`_.
+`DigiKey ULN2003 <http://bit.ly/1D5UQIB>`_. A possible substitution is ULN2803 available from 
+`SparkFun ULN2003 <http://bit.ly/1xd4oKy>`_ and `Adafruit ULN2003 <http://bit.ly/1EXWhaU>`_.
 
 The TMP102 is an I^2^C-based digital temperature sensor. You can buy them in bulk from 
-`DigiKey <http://bit.ly/1EA02Vx>`_, but it's too small for a breadboard. `SparkFun <http://bit.ly/1GFafAE>`_
+`DigiKey TMP102 <http://bit.ly/1EA02Vx>`_, but it's too small for a breadboard. `SparkFun TMP102 <http://bit.ly/1GFafAE>`_
 sells it on a breakout board that works well with a breadboard.
 
 The DS18B20 is a one-wire digital temperature sensor that looks like a three-terminal transistor. 
-Both `SparkFun <http://bit.ly/1Fba7Hv>`_ and `Adafruit <http://bit.ly/1EbSYvC>`_ carry it.
+Both `SparkFun DS18B20 <http://bit.ly/1Fba7Hv>`_ and `Adafruit DS18B20 <http://bit.ly/1EbSYvC>`_ carry it.
 
 .. _app_opto:
 
@@ -158,11 +159,11 @@ Opto-Electronics
 -----------------
 
 `LEDs <http://bit.ly/1BwZvQj>`_ are *light-emitting diodes*. LEDs come in a wide range of colors, 
-brightnesses, and styles. You can get a basic red LED at `SparkFun <http://bit.ly/1GFaHPi>`_, 
-`Adafuit <http://bit.ly/1GFaH1M>`_, `RadioShack <http://shack.net/1KWVVGE>`_, and `DigiKey <http://bit.ly/1b2f2PD>`_.
+brightnesses, and styles. You can get a basic red LED at `SparkFun red LED <http://bit.ly/1GFaHPi>`_, 
+`Adafuit red LED <http://bit.ly/1GFaH1M>`_, `RadioShack red LED <http://shack.net/1KWVVGE>`_, and `DigiKey red LED <http://bit.ly/1b2f2PD>`_.
 
 Many places carry bicolor LED matrices, but be sure to get one with an I^2^C interface. 
-`Adafruit <http://bit.ly/18AENVn>`_ is where I got mine.
+`Adafruit LED matrix <http://bit.ly/18AENVn>`_ is where I got mine.
 
 .. _app_capes:
 
@@ -170,7 +171,7 @@ Capes
 ------
 
 There are a number of sources for capes for BeagleBone Black. 
-`BeagleBoard.org <http://bit.ly/1AjlXJ9>`_ keeps a current list.
+`eLinux.org BeagleBoard.org capes page <http://bit.ly/1AjlXJ9>`_ keeps a current list.
 
 
 .. _app_misc:
@@ -185,83 +186,83 @@ Here are some things that don't fit in the other categories.
 .. table::
 
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | 3.3 V FTDI cable                                    | `SparkFun  <http://bit.ly/1FMeXsG>`_,                                     |
-    |                                                     | `Adafruit <http://bit.ly/18AF1Mm>`_                                       |
+    | 3.3 V FTDI cable                                    | `SparkFun FTDI cable <http://bit.ly/1FMeXsG>`_,                                     |
+    |                                                     | `Adafruit FTDI cable <http://bit.ly/18AF1Mm>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | USB WiFi adapter                                    | `Adafruit <http://www.adafruit.com/products/814>`_                        |
+    | USB WiFi adapter                                    | `Adafruit WiFi adapter <http://www.adafruit.com/products/814>`_                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Female HDMI to male microHDMI adapter               | `Amazon <http://amzn.to/1C5BcLp>`_                                        |
+    | Female HDMI to male microHDMI adapter               | `Amazon HDMI to microHDMI adapter <http://amzn.to/1C5BcLp>`_                                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | HDMI cable                                          | `SparkFun <https://www.sparkfun.com/products/11572>`_                     |
+    | HDMI cable                                          | `SparkFun HDMI cable <https://www.sparkfun.com/products/11572>`_                     |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Micro HDMI to HDMI cable                            | `Adafruit <http://www.adafruit.com/products/1322>`_                       |
+    | Micro HDMI to HDMI cable                            | `Adafruit HDMI to microHDMI cable <http://www.adafruit.com/products/1322>`_                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | HDMI to DVI Cable                                   | `SparkFun <https://www.sparkfun.com/products/12612>`_                     |
+    | HDMI to DVI Cable                                   | `SparkFun HDMI to DVI cable <https://www.sparkfun.com/products/12612>`_                     |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | HDMI monitor                                        | `Amazon <http://amzn.to/1B4MABD>`_                                        |
+    | HDMI monitor                                        | `Amazon HDMI monitor <http://amzn.to/1B4MABD>`_                                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Powered USB hub                                     | `Amazon <http://amzn.to/1NKm2zB>`_,                                       |
-    |                                                     | `Adafruit <http://www.adafruit.com/products/961>`_                        |
+    | Powered USB hub                                     | `Amazon power USB hub <http://amzn.to/1NKm2zB>`_,                                       |
+    |                                                     | `Adafruit power USB hub <http://www.adafruit.com/products/961>`_                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Keyboard with USB hub                               | `Amazon <http://amzn.to/1FbblSX>`_                                        |
+    | Keyboard with USB hub                               | `Amazon keyboard with USB hub <http://amzn.to/1FbblSX>`_                                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Soldering iron                                      | `SparkFun <http://bit.ly/1FMfUkP>`_,                                      |
-    |                                                     | `Adafruit <http://bit.ly/1EXZ6J1>`_                                       |
+    | Soldering iron                                      | `SparkFun soldering iron <http://bit.ly/1FMfUkP>`_,                                      |
+    |                                                     | `Adafruit soldering iron <http://bit.ly/1EXZ6J1>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Oscilloscope                                        | `Adafruit <https://www.adafruit.com/products/468>`_                       |
+    | Oscilloscope                                        | `Adafruit oscilloscope <https://www.adafruit.com/products/468>`_                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Multimeter                                          | `SparkFun <http://bit.ly/1C5BUbu>`_,                                      |
-    |                                                     | `Adafruit <http://bit.ly/1wXX3np>`_                                       |
+    | Multimeter                                          | `SparkFun multimeter <http://bit.ly/1C5BUbu>`_,                                      |
+    |                                                     | `Adafruit multimeter <http://bit.ly/1wXX3np>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | PowerSwitch Tail II                                 | `SparkFun <http://bit.ly/1Ag5bLP>`_,                                      | 
-    |                                                     | `Adafruit <http://bit.ly/1wXX8aF>`_                                       |
+    | PowerSwitch Tail II                                 | `SparkFun PowerSwitch Tail II <http://bit.ly/1Ag5bLP>`_,                                      | 
+    |                                                     | `Adafruit PowerSwitch Tail II <http://bit.ly/1wXX8aF>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Servo motor                                         | `SparkFun <http://bit.ly/1C72cvw>`_,                                      |
-    |                                                     | `Adafruit <http://bit.ly/1HCPQdl>`_                                       |
+    | Servo motor                                         | `SparkFun servo motor <http://bit.ly/1C72cvw>`_,                                      |
+    |                                                     | `Adafruit servo motor <http://bit.ly/1HCPQdl>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | 5 V power supply                                    | `SparkFun <http://bit.ly/1C72q5C>`_,                                      |
-    |                                                     | `Adafruit <http://bit.ly/18c0n2D>`_                                       |
+    | 5 V power supply                                    | `SparkFun 5V power supply <http://bit.ly/1C72q5C>`_,                                      |
+    |                                                     | `Adafruit 5V power supply <http://bit.ly/18c0n2D>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | 3 V to 5 V motor                                    | `SparkFun <http://bit.ly/1b2g65Y>`_,                                      |
-    |                                                     | `Adafruit <http://bit.ly/1C72DWF>`_                                       |
+    | 3 V to 5 V motor                                    | `SparkFun 3V-5V motor <http://bit.ly/1b2g65Y>`_,                                      |
+    |                                                     | `Adafruit 3V-5V motor <http://bit.ly/1C72DWF>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | 3 V to 5 V bipolar stepper motor                    | `SparkFun <http://bit.ly/1Bx2hVU>`_,                                      |
-    |                                                     | `Adafruit <http://bit.ly/18c0HhV>`_                                       |
+    | 3 V to 5 V bipolar stepper motor                    | `SparkFun 3V-5V bipolar stepper motor <http://bit.ly/1Bx2hVU>`_,                                      |
+    |                                                     | `Adafruit 3V-5V bipolar stepper motor <http://bit.ly/18c0HhV>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | 3 V to 5 V unipolar stepper motor                   | `Adafruit <http://www.adafruit.com/products/858>`_                        |
+    | 3 V to 5 V unipolar stepper motor                   | `Adafruit 3V-5V unipolar stepper motor <http://www.adafruit.com/products/858>`_                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Pushbutton switch                                   | `SparkFun <http://bit.ly/1AjDf90>`_,                                      |
-    |                                                     | `Adafruit <http://bit.ly/1b2glhw>`_                                       |
+    | Pushbutton switch                                   | `SparkFun pushbutton switch <http://bit.ly/1AjDf90>`_,                                      |
+    |                                                     | `Adafruit pushbutton switch <http://bit.ly/1b2glhw>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Magnetic reed switch                                | `SparkFun <https://www.sparkfun.com/products/8642>`_                      |
+    | Magnetic reed switch                                | `SparkFun magnetic reed switch <https://www.sparkfun.com/products/8642>`_                      |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | LV-MaxSonar-EZ1 Sonar Range Finder                  | `SparkFun <http://bit.ly/1C73dDH>`_,                                      |
-    |                                                     | `Amazon <http://amzn.to/1wXXvlP>`_                                        |
+    | LV-MaxSonar-EZ1 Sonar Range Finder                  | `SparkFun LV-MaxSonar-EZ1 <http://bit.ly/1C73dDH>`_,                                      |
+    |                                                     | `Amazon LV-MaxSonar-EZ1 <http://amzn.to/1wXXvlP>`_                                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | HC-SR04 Ultrsonic Range Sensor                      | `Amazon <http://amzn.to/1FbcPNa>`_                                        |
+    | HC-SR04 Ultrsonic Range Sensor                      | `Amazon HC-SR04 <http://amzn.to/1FbcPNa>`_                                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Rotary encoder                                      | `SparkFun <http://bit.ly/1D5ZypK>`_,                                      |
-    |                                                     | `Adafruit <http://bit.ly/1D5ZGp3>`_                                       |
+    | Rotary encoder                                      | `SparkFun rotary encoder <http://bit.ly/1D5ZypK>`_,                                      |
+    |                                                     | `Adafruit rotary encoder <http://bit.ly/1D5ZGp3>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | GPS receiver                                        | `SparkFun <http://bit.ly/1EA2sn0>`_,                                      |
-    |                                                     | `Adafruit <http://bit.ly/1MrS2VV>`_                                       |
+    | GPS receiver                                        | `SparkFun GPS <http://bit.ly/1EA2sn0>`_,                                      |
+    |                                                     | `Adafruit GPS <http://bit.ly/1MrS2VV>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | BLE USB dongle                                      | `Adafruit <http://www.adafruit.com/products/1327>`_                       |
+    | BLE USB dongle                                      | `Adafruit BLE USB dongle <http://www.adafruit.com/products/1327>`_                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | SensorTag                                           | `DigiKey <http://bit.ly/18AGPVt>`_,                                       |
-    |                                                     | `Amazon <http://amzn.to/1EA2B9U>`_,                                       |
-    |                                                     | `TI <https://store.ti.com/CC2541-SensorTag-Development-Kit-P3192.aspx>`_  |
+    | SensorTag                                           | `DigiKey SensorTag <http://bit.ly/18AGPVt>`_,                                       |
+    |                                                     | `Amazon SensorTag <http://amzn.to/1EA2B9U>`_,                                       |
+    |                                                     | `TI SensorTag <https://store.ti.com/CC2541-SensorTag-Development-Kit-P3192.aspx>`_  |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Syba SD-CM-UAUD USB Stereo Audio Adapter            | `Amazon <http://amzn.to/1EA2GdI>`_                                        |
+    | Syba SD-CM-UAUD USB Stereo Audio Adapter            | `Amazon USB audio adapter <http://amzn.to/1EA2GdI>`_                                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Sabrent External Sound Box USB-SBCV                 | `Amazon <http://amzn.to/1C74kTU>`_                                        |
+    | Sabrent External Sound Box USB-SBCV                 | `Amazon USB audio adapter (alt) <http://amzn.to/1C74kTU>`_                                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Vantec USB External 7.1 Channel Audio Adapter       | `Amazon <http://amzn.to/19cinev>`_                                        |
+    | Vantec USB External 7.1 Channel Audio Adapter       | `Amazon USB audio adapter (alt2) <http://amzn.to/19cinev>`_                                        |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | Nokia 5110 LCD                                      | `Adafruit <http://bit.ly/1Ag6LgG>`_,                                      |
-    |                                                     | `SparkFun <http://bit.ly/19cizdu>`_                                       |
+    | Nokia 5110 LCD                                      | `Adafruit 5110 LCD <http://bit.ly/1Ag6LgG>`_,                                      |
+    |                                                     | `SparkFun 5110 LCD <http://bit.ly/19cizdu>`_                                       |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | BeagleBone LCD7                                     | `eLinux <http://elinux.org/CircuitCo:BeagleBone_LCD7#Distributors>`_      |
+    | BeagleBone LCD7                                     | `eLinux LCD7 <http://elinux.org/CircuitCo:BeagleBone_LCD7#Distributors>`_      |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
-    | MiniDisplay Cape                                    | `eLinux <http://elinux.org/CircuitCo:MiniDisplay_Cape>`_                  |
+    | MiniDisplay Cape                                    | `eLinux minidisplay <http://elinux.org/CircuitCo:MiniDisplay_Cape>`_                  |
     +-----------------------------------------------------+---------------------------------------------------------------------------+
diff --git a/books/beaglebone-cookbook/index.rst b/books/beaglebone-cookbook/index.rst
index f8f394ae..ebc0977f 100644
--- a/books/beaglebone-cookbook/index.rst
+++ b/books/beaglebone-cookbook/index.rst
@@ -22,3 +22,4 @@ A cookbook for programming Beagles
    07kernel/kernel.rst
    08realtime/realtime.rst
    09capes/capes.rst
+   10parts/parts.rst
diff --git a/books/pru-cookbook/03details/code/am335x_pru.cmd b/books/pru-cookbook/03details/code/am335x_pru.cmd
new file mode 100644
index 00000000..67005475
--- /dev/null
+++ b/books/pru-cookbook/03details/code/am335x_pru.cmd
@@ -0,0 +1,87 @@
+/****************************************************************************/
+/*  AM335x_PRU.cmd                                                          */
+/*  Copyright (c) 2015  Texas Instruments Incorporated                      */
+/*                                                                          */
+/*    Description: This file is a linker command file that can be used for  */
+/*                 linking PRU programs built with the C compiler and       */
+/*                 the resulting .out file on an AM335x device.             */
+/****************************************************************************/
+
+-cr								/* Link using C conventions */
+
+/* Specify the System Memory Map */
+MEMORY
+{
+      PAGE 0:
+	PRU_IMEM		: org = 0x00000000 len = 0x00002000  /* 8kB PRU0 Instruction RAM */
+
+      PAGE 1:
+
+	/* RAM */
+
+	PRU_DMEM_0_1	: org = 0x00000000 len = 0x00002000 CREGISTER=24 /* 8kB PRU Data RAM 0_1 */
+	PRU_DMEM_1_0	: org = 0x00002000 len = 0x00002000	CREGISTER=25 /* 8kB PRU Data RAM 1_0 */
+
+	  PAGE 2:
+	PRU_SHAREDMEM	: org = 0x00010000 len = 0x00003000 CREGISTER=28 /* 12kB Shared RAM */
+
+	DDR			    : org = 0x80000000 len = 0x00000100	CREGISTER=31
+	L3OCMC			: org = 0x40000000 len = 0x00010000	CREGISTER=30
+
+
+	/* Peripherals */
+
+	PRU_CFG			: org = 0x00026000 len = 0x00000044	CREGISTER=4
+	PRU_ECAP		: org = 0x00030000 len = 0x00000060	CREGISTER=3
+	PRU_IEP			: org = 0x0002E000 len = 0x0000031C	CREGISTER=26
+	PRU_INTC		: org = 0x00020000 len = 0x00001504	CREGISTER=0
+	PRU_UART		: org = 0x00028000 len = 0x00000038	CREGISTER=7
+
+	DCAN0			: org = 0x481CC000 len = 0x000001E8	CREGISTER=14
+	DCAN1			: org = 0x481D0000 len = 0x000001E8	CREGISTER=15
+	DMTIMER2		: org = 0x48040000 len = 0x0000005C	CREGISTER=1
+	PWMSS0			: org = 0x48300000 len = 0x000002C4	CREGISTER=18
+	PWMSS1			: org = 0x48302000 len = 0x000002C4	CREGISTER=19
+	PWMSS2			: org = 0x48304000 len = 0x000002C4	CREGISTER=20
+	GEMAC			: org = 0x4A100000 len = 0x0000128C	CREGISTER=9
+	I2C1			: org = 0x4802A000 len = 0x000000D8	CREGISTER=2
+	I2C2			: org = 0x4819C000 len = 0x000000D8	CREGISTER=17
+	MBX0			: org = 0x480C8000 len = 0x00000140	CREGISTER=22
+	MCASP0_DMA		: org = 0x46000000 len = 0x00000100	CREGISTER=8
+	MCSPI0			: org = 0x48030000 len = 0x000001A4	CREGISTER=6
+	MCSPI1			: org = 0x481A0000 len = 0x000001A4	CREGISTER=16
+	MMCHS0			: org = 0x48060000 len = 0x00000300	CREGISTER=5
+	SPINLOCK		: org = 0x480CA000 len = 0x00000880	CREGISTER=23
+	TPCC			: org = 0x49000000 len = 0x00001098	CREGISTER=29
+	UART1			: org = 0x48022000 len = 0x00000088	CREGISTER=11
+	UART2			: org = 0x48024000 len = 0x00000088	CREGISTER=12
+
+	RSVD10			: org = 0x48318000 len = 0x00000100	CREGISTER=10
+	RSVD13			: org = 0x48310000 len = 0x00000100	CREGISTER=13
+	RSVD21			: org = 0x00032400 len = 0x00000100	CREGISTER=21
+	RSVD27			: org = 0x00032000 len = 0x00000100	CREGISTER=27
+
+}
+
+/* Specify the sections allocation into memory */
+SECTIONS {
+	/* Forces _c_int00 to the start of PRU IRAM. Not necessary when loading
+	   an ELF file, but useful when loading a binary */
+	.text:_c_int00*	>  0x0, PAGE 0
+
+	.text		>  PRU_IMEM, PAGE 0
+	.stack		>  PRU_DMEM_0_1, PAGE 1
+	.bss		>  PRU_DMEM_0_1, PAGE 1
+	.cio		>  PRU_DMEM_0_1, PAGE 1
+	.data		>  PRU_DMEM_0_1, PAGE 1
+	.switch		>  PRU_DMEM_0_1, PAGE 1
+	.sysmem		>  PRU_DMEM_0_1, PAGE 1
+	.cinit		>  PRU_DMEM_0_1, PAGE 1
+	.rodata		>  PRU_DMEM_0_1, PAGE 1
+	.rofardata	>  PRU_DMEM_0_1, PAGE 1
+	.farbss		>  PRU_DMEM_0_1, PAGE 1
+	.fardata	>  PRU_DMEM_0_1, PAGE 1
+
+	.resource_table > PRU_DMEM_0_1, PAGE 1
+	.init_pins > PRU_DMEM_0_1, PAGE 1
+}
\ No newline at end of file
diff --git a/books/pru-cookbook/03details/details.rst b/books/pru-cookbook/03details/details.rst
index d7ba2058..24aa20a4 100644
--- a/books/pru-cookbook/03details/details.rst
+++ b/books/pru-cookbook/03details/details.rst
@@ -8,9 +8,9 @@ Fortunately those details are captured in a common `Makefile` that is
 used througout this book. This chapter shows how to use the `Makefile` to 
 compile code and also start and stop the PRUs.
 
-The following are resources used in this chapter.
-
 .. note::
+   The following are resources used in this chapter:
+
    * `PRU Code Generation Tools - Compiler <http://software-dl.ti.com/codegen/esd/cgt_ai_64_lic_sw/PRU/2.1.5/ti_cgt_pru_2.1.5_armlinuxa8hf_busybox_installer.sh>`_
    * `PRU Software Support Package <http://git.ti.com/pru-software-support-package>`_
    * `PRU Optimizing C/C++ Compiler <http://www.ti.com/lit/ug/spruhv7b/spruhv7b.pdf>`_
@@ -18,6 +18,7 @@ The following are resources used in this chapter.
    * `AM572x Technical Reference Manual <http://www.ti.com/lit/pdf/spruhz6l>`_ (AI)
    * `AM335x Technical Reference Manual <http://www.ti.com/lit/pdf/spruh73>`_ (All others)
 
+
 Getting Example Code
 =====================
 
@@ -260,7 +261,7 @@ It's easy, if you already have ``TARGET`` set up:
     -    Starting PRU 0
     start
 
-See :ref:`_dmesg_hw` to see how to tell if the PRU
+See :ref:`dmesg_hw` to see how to tell if the PRU
 is stopped.
 
 This assumes ``TARGET`` is set to the PRU you are using.
@@ -350,7 +351,7 @@ AM335x_PRU.cmd important things
     |Line | Explanation                                                                             |
     +=====+=========================================================================================+
     |16   | This is where the instructions are stored. See page 206 of the                          |
-    |     | `AM335x Technical Reference Manual <https://www.ti.com/lit/ug/spruh73p/spruh73p.pdf>`_  |
+    |     | `AM335x Technical Reference Manual rev. P <https://www.ti.com/lit/ug/spruh73p/spruh73p.pdf>`_  |
     |     | Or see page 417 of                                                                      |
     |     | `AM572x Technical Reference Manual <http://www.ti.com/lit/pdf/spruhz6l>`_ for the AI.   |
     +-----+-----------------------------------------------------------------------------------------+
diff --git a/projects/simppru/examples/index.rst b/projects/simppru/examples/index.rst
index d5d5fcf6..0b1b49e1 100644
--- a/projects/simppru/examples/index.rst
+++ b/projects/simppru/examples/index.rst
@@ -26,6 +26,7 @@ These are the examples which have been tested on simpPRU.These examples will ser
    led_blink_for.rst
    led_blink_while.rst
    led_blink.rst
+   led_blink_counter.rst
    read_counter.rst
    rpmsg_example.rst
    rpmsg_pru_calculator.rst
-- 
GitLab


From ef4f094b1460f00cabb2ba82932ad4eccaf2914b Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 30 Aug 2022 10:01:47 -0400
Subject: [PATCH 18/83] WIP reorganize

* List all boards in top-level ToC
* Fix BeagleConnect headings and general clean-up
---
 boards/beagleboard/index.rst              |   2 +-
 boards/beaglebone/index.rst               |  16 +--
 boards/beagleconnect/freedom/index.rst    |  82 +++++++-------
 boards/beagleconnect/freedom/usage.rst    | 124 ++++++++++++----------
 boards/beagleconnect/freedom/zephyr.rst   |  25 +++--
 boards/beagleconnect/technology/index.rst |   6 +-
 index.rst                                 |  11 +-
 projects/index.rst                        |   4 +-
 8 files changed, 135 insertions(+), 135 deletions(-)

diff --git a/boards/beagleboard/index.rst b/boards/beagleboard/index.rst
index f17a613c..beb56cd1 100644
--- a/boards/beagleboard/index.rst
+++ b/boards/beagleboard/index.rst
@@ -1,4 +1,4 @@
-BeagleBoard
+BeagleBoard (all)
 ###################
 
 BeagleBoard boards are low-cost, ARM-based development boards suitable for rapid prototyping and 
diff --git a/boards/beaglebone/index.rst b/boards/beaglebone/index.rst
index f67b8752..958bf1fb 100644
--- a/boards/beaglebone/index.rst
+++ b/boards/beaglebone/index.rst
@@ -1,4 +1,4 @@
-BeagleBone
+BeagleBone (all)
 ###################
 
 BeagleBone boards are intended to be bare-bones, with a balance of features to enable
@@ -19,14 +19,8 @@ with links to their latest PDF-formatted System Reference Manual and the latest
 included both here and in the downloadable beagleboard-docs.pdf linked on the bottom-left
 of your screen.
 
-* `BeagleBone (original) <https://git.beagleboard.org/beagleboard/beaglebone/-/blob/master/BeagleBone_SRM_A6_0_1.pdf>`_
-
-
-.. toctree::
-   :maxdepth: 1
-   :caption: Boards
-
-   /boards/beaglebone/black/index
-   /boards/beaglebone/ai-64/index
-   /boards/beaglebone/blue/index
+* `BeagleBone (original) <https://git.beagleboard.org/beagleboard/beaglebone/-/blob/master/BeagleBone_SRM_A6_0_1.pdf>`__
+* `BeagleBone Black </boards/beaglebone/black/index.html>`__
+* `BeagleBone Blue </boards/beaglebone/blue/index.html>`__
+* `BeagleBone AI-64 </boards/beaglebone/ai-64/index.html>`__
 
diff --git a/boards/beagleconnect/freedom/index.rst b/boards/beagleconnect/freedom/index.rst
index 79ce3fec..bd602d22 100644
--- a/boards/beagleconnect/freedom/index.rst
+++ b/boards/beagleconnect/freedom/index.rst
@@ -1,4 +1,4 @@
-BeagleConnectâ„¢ Freedom
+BeagleConnect Freedom
 ######################
 
 .. image:: media/image1.jpg
@@ -7,10 +7,6 @@ BeagleConnectâ„¢ Freedom
    :height: 400
    :alt: BeagleConnect-Freedom-C5-HandPhoto
 
-Important: BeagleConnectâ„¢ Freedom enables wirelessly adding new device nodes 
-and is targeted to cost initially around US$20 with a roadmap to variants as 
-low as US$1. 
-
 The initial BeagleConnectâ„¢ Freedom production release will:
 
 * Support at least 100 mikroBUS-based Click boards from Mikroelectronika
@@ -25,41 +21,14 @@ Future releases will be collaborated with the community, evolve dynamically,
 and contain additional functionality. The goal is to support over 500 add-on 
 devices within the first year after the initial release.
 
-BeagleConnectâ„¢ Freedom beta kit
-*******************************
-
-A small number of beta kits have been assembled with BeagleConnectâ„¢ Freedom 
-rev C5 boards, which is the version that should be taken to production.
-
-The kit includes:
-
-* 1x `Seeed BeagleBone® Green Gateway <https://wiki.seeedstudio.com/BeagleBone-Green-Gateway/>`_ (board, USB cable)
-* 3x BeagleConnectâ„¢ Freedom (board, attenna, USB cable)
-* 1x `Mikroelectronika Click ID Board <https://www.mikroe.com/unique-id-click>`_
-
-To get started with this kit, see [demo-1].
-
-
-BeagleConnectâ„¢ Mobile Gateway
-#############################
-
-This is a work-in-progress that will be released as the first integrated 
-BeagleConnectâ„¢ gateway. It is possible to assemble a gateway with any Linux 
-computer, but this computer will ship setup and ready to go.
-
-The gateway is built from:
-
-* BeagleBoard.org PocketBeagle,
-* BeagleConnectâ„¢ Freedom,
-* a cellular modem,
-* a USB WiFi dongle,
-* antennas, and
-* an enclosure.
+.. important::
+   BeagleConnectâ„¢ Freedom enables wirelessly adding new device nodes 
+   and is targeted to cost initially around US$20 with a roadmap to variants as 
+   low as US$1. 
 
-Architecture
-************
 BeagleConnectâ„¢ Freedom
 **********************
+
 BeagleConnectâ„¢ Freedom is based on the `TI CC1352 <https://www.ti.com/product/CC1352R>`_ 
 and is the first available BeagleConnectâ„¢ solution. It implements:
 
@@ -73,13 +42,30 @@ and is the first available BeagleConnectâ„¢ solution. It implements:
 
 #TODO: provide image of BeagleConnectâ„¢ Freedom in a case with a hand for size perspective
 
+BeagleConnectâ„¢ Freedom beta kit
+*******************************
+
+A small number of beta kits have been assembled with BeagleConnectâ„¢ Freedom 
+rev C5 boards, which is the version that should be taken to production.
+
+The kit includes:
+
+* 1x `Seeed BeagleBone® Green Gateway <https://wiki.seeedstudio.com/BeagleBone-Green-Gateway/>`_ (board, USB cable)
+* 3x BeagleConnectâ„¢ Freedom (board, attenna, USB cable)
+* 1x `Mikroelectronika Click ID Board <https://www.mikroe.com/unique-id-click>`_
+
+To get started with this kit, see [demo-1].
+
+
 What makes BeagleConnectâ„¢ new and different?
 ********************************************
-Important: BeagleConnectâ„¢ solves IoT in a different and better way than any 
-previous solution.
+
+.. important::
+  BeagleConnectâ„¢ solves IoT in a different and better way than any 
+  previous solution.
 
 The device interface software is already done
-*********************************************
+=============================================
 
 BeagleConnectâ„¢ uses the collaboratively developed Linux kernel to contain the 
 intelligence required to speak to these devices (sensors, actuators, and 
@@ -108,7 +94,7 @@ microcontroller firmware and the Linux kernel, which is highly peer reviewed
 under a `highly-regarded governance model <https://wiki.p2pfoundation.net/Linux_-_Governance>`_. 
 
 On-going maintenance
-********************
+====================
 
 Because there isn't code specific to any given network-of-devices configuration
 , we can all leverage the same software code base. This means that when someone
@@ -122,7 +108,7 @@ potential for bugs is kept low. With large user base, the potential for
 discovering and resolving bugs is high.
 
 Rapid prototyping without wiring
-********************************
+================================
 
 BeagleConnectâ„¢ utilizes the `mikroBUS standard <https://elinux.org/Mikrobus>`_.
 The mikroBUS standard interface is flexible enough for almost any typical 
@@ -136,7 +122,7 @@ available Click mikroBUS add-on boards will be supported as well as the
 hundreds of compliant boards developed every year. 
 
 Long-range, low-power wireless
-******************************
+==============================
 
 BeagleConnectâ„¢ Freedom wireless hardware is built around a 
 `TI CC1352 <http://www.ti.com/product/CC1352R>`_ multiprotocol and multi-band 
@@ -146,7 +132,7 @@ ultra-low leakage SRAM, and `Over-the-Air <https://en.wikipedia.org/wiki/Over-th
 upgrades (OTA).
 
 Full customization possible
-***************************
+===========================
 
 BeagleConnectâ„¢ utilizes `open source hardware <https://www.oshwa.org/definition/>`_ 
 and `open source software <https://en.wikipedia.org/wiki/Open-source_software>`_, 
@@ -171,9 +157,15 @@ Each BeagleBoard.org BeagleConnectâ„¢ solution will be:
   to secure your own network, and
 * Fully FCC/CE certified.
 
+Getting Started
+***************
+
+* `Typical usage with a Linux host </boards/beagleconnect/freedom/usage.html>`__
+* `Programming with Zephyr </boards/beagleconnect/freedom/zephyr.html>`__
+
 .. toctree::
    :maxdepth: 1
+   :hidden:
 
    usage.rst
    zephyr.rst
-
diff --git a/boards/beagleconnect/freedom/usage.rst b/boards/beagleconnect/freedom/usage.rst
index 6b71fc20..b55d5dd5 100644
--- a/boards/beagleconnect/freedom/usage.rst
+++ b/boards/beagleconnect/freedom/usage.rst
@@ -1,122 +1,132 @@
 .. _beagleconnect-Usage:
 
-********************
-BeagleConnectâ„¢ Usage
-********************
+BeagleConnect Freedom Usage
+###########################
 
-
-
-This section describes the usage model we are developing. To use the current 
+This section describes the usage model we are developing. To use the current
 code in development, please refer to the [development] section.
 
 
-BeagleConnectâ„¢ wireless user experience
-#######################################
-
-Enable a Linux host with BeagleConnectâ„¢
+BeagleConnect wireless user experience
 ***************************************
+
+Enable a Linux host with BeagleConnect
+=======================================
 .. image:: media/ProvStep1.jpg
    :width: 600
    :align: center
    :height: 400
    :alt: ProvStep1
 
-Log into a host system running Linux that is BeagleConnectâ„¢ enabled. Enable a 
-Linux host with BeagleConnectâ„¢ by plugging a **BeagleConnectâ„¢ gateway device** 
-into it’s USB port. You’ll also want to have a **BeagleConnect™ node device** 
+Log into a host system running Linux that is BeagleConnectâ„¢ enabled. Enable a
+Linux host with BeagleConnectâ„¢ by plugging a **BeagleConnectâ„¢ gateway device**
+into it’s USB port. You’ll also want to have a **BeagleConnect™ node device**
 with a sensor, actuator or indicator device connected.
 
-Note: BeagleConnectâ„¢ Freedom can act as either a BeagleConnectâ„¢ gateway device 
-or a BeagleConnectâ„¢ node device. 
+.. note::
+  BeagleConnectâ„¢ Freedom can act as either a BeagleConnectâ„¢ gateway device
+  or a BeagleConnectâ„¢ node device.
 
-Important: The Linux host will need to run the BeagleConnectâ„¢ management 
-software, most of which is incorporated into the Linux kernel. Support will be 
-provided for BeagleBoard and BeagleBone boards, x86 hosts, and Raspberry Pi. 
+.. important::
+  The Linux host will need to run the BeagleConnectâ„¢ management
+  software, most of which is incorporated into the Linux kernel. Support will be
+  provided for BeagleBoard and BeagleBone boards, x86 hosts, and Raspberry Pi.
 
-TODO: Clean up images
+#TODO#: Clean up images
 
 Connect host and device
-***********************
+=======================
+
 .. image:: media/ProvStep2.jpg
    :width: 600
    :align: center
    :height: 400
    :alt: ProvStep2
-Initiate a connection between the host and devices by pressing the discovery 
+
+Initiate a connection between the host and devices by pressing the discovery
 button(s).
 
 Device data shows up as files
-*****************************
+=============================
+
 .. image:: media/ProvStep3.jpg
    :width: 600
    :align: center
    :height: 400
    :alt: ProvStep3
-New streams of self-describing data show up on the host system using native 
+
+New streams of self-describing data show up on the host system using native
 device drivers.
 
-High-level applications, like Node-RED, can directly read/write these 
-high-level data streams (including data-type information) to Internet-based 
-`MQTT <https://mqtt.org/>`_ brokers, live dashboards, or other logical 
-operations without requiring any sensor-specific coding. Business logic can be 
-applied using simple if-this-then-that style operations or be made as complex 
+High-level applications, like Node-RED, can directly read/write these
+high-level data streams (including data-type information) to Internet-based
+`MQTT <https://mqtt.org/>`_ brokers, live dashboards, or other logical
+operations without requiring any sensor-specific coding. Business logic can be
+applied using simple if-this-then-that style operations or be made as complex
 as desired using virtually any programming language or environment.
 
 Components
-##########
-BeagleConnectâ„¢ enabled host Linux computer, possibly single-board computer 
-(SBC), with BeagleConnectâ„¢ management software and BeagleConnectâ„¢ gateway 
-function. BeagleConnectâ„¢ gateway function can be provided by a BeagleConnectâ„¢ 
-compatible interface or by connecting a BeagleConnectâ„¢ gateway device over USB.
+**********
+
+BeagleConnectâ„¢ enabled host Linux computer, possibly single-board computer
+(SBC), with BeagleConnectâ„¢ management software and BeagleConnectâ„¢ gateway
+function. BeagleConnectâ„¢ gateway function can be provided by a BeagleConnectâ„¢
+compatible interface or by connecting a BeagleConnectâ„¢ **gateway** device over USB.
 
-Note: If the Linux host has BLE, the BeagleConnectâ„¢ is optional for short 
-distances
+.. note::
+  If the Linux host has BLE, the BeagleConnectâ„¢ **gateway** is optional for short
+  distances
 
 BeagleConnectâ„¢ Freedom Board, case, and wireless MCU with Zephyr based firmware
-for acting as either a BeagleConnectâ„¢ gateway device or BeagleConnectâ„¢ node 
-device. 
-* In BeagleConnectâ„¢ gateway device mode: Provides long-range, low-power
-  wireless communications, Connects with the host via USB and an associated 
-  Linux kernel driver, and is powered by the USB connector. 
-* In BeagleConnectâ„¢ node device mode: Powered by a battery or USB connector 
-  Provides 2 mikroBUS connectors for connecting any of hundreds of `Click Board <https://bbb.io/click>`_ 
-  mikroBUS add-on devices Provides new Linux host controllers for SPI, I2C, 
+for acting as either a BeagleConnectâ„¢ gateway device or BeagleConnectâ„¢ node
+device.
+
+* In BeagleConnectâ„¢ **gateway** device mode: Provides long-range, low-power
+  wireless communications, Connects with the host via USB and an associated
+  Linux kernel driver, and is powered by the USB connector.
+* In BeagleConnectâ„¢ **node** device mode: Powered by a battery or USB connector
+  Provides 2 mikroBUS connectors for connecting any of hundreds of `Click Board <https://bbb.io/click>`_
+  mikroBUS add-on devices Provides new Linux host controllers for SPI, I2C,
   UART, PWM, ADC, and GPIO with interrupts via Greybus
 
-**BeagleConnectâ„¢ gateway device**
+BeagleConnect **gateway** device
+==================================
 
-Provides a BeagleConnectâ„¢ compatible interface to a host. This could be a 
+Provides a BeagleConnectâ„¢ compatible interface to a host. This could be a
 built-in interface device or one connected over USB. BeagleConnectâ„¢ Freedom can
 provide this function.
 
-**BeagleConnectâ„¢ node device**
+BeagleConnect **node** device
+==============================
 
 Utilizes a BeagleConnectâ„¢ compatible interface and TODO
 
-**BeagleConnectâ„¢ compatible interface**
+BeagleConnect compatible interface
+==================================
 
 Immediate plans are to support Bluetooth Low Energy (BLE), 2.4GHz IEEE 802.15.4
-, and Sub-GHz IEEE 802.15.4 wireless interfaces. A built-in BLE interface is 
-suitable for this at short range, whereas IEEE 802.15.4 is typically 
-significantly better at long ranges. Other wired interfaces, such as CAN and 
-RS-485, are being considered for future BeagleConnectâ„¢ gateway device and 
+, and Sub-GHz IEEE 802.15.4 wireless interfaces. A built-in BLE interface is
+suitable for this at short range, whereas IEEE 802.15.4 is typically
+significantly better at long ranges. Other wired interfaces, such as CAN and
+RS-485, are being considered for future BeagleConnectâ„¢ gateway device and
 BeagleConnectâ„¢ node device designs.
 
-**Greybus**
+Greybus
+-------
 
 TODO
 
 #TODO: Find a place for the following notes:
 
-* The device interfaces get exposed to the host via Greybus BRIDGED_PHY 
+* The device interfaces get exposed to the host via Greybus BRIDGED_PHY
   protocol
-* The I2C bus is probed for a an identifier EEPROM and appropriate device 
+* The I2C bus is probed for a an identifier EEPROM and appropriate device
   drivers are loaded on the host
-* Unsupported Click Boards connected are exposed via userspace drivers on the 
+* Unsupported Click Boards connected are exposed via userspace drivers on the
   host for development
 
-What’s different
-################
+What’s different?
+*****************
 
 So, in summary, what is so different with this approach?
 
diff --git a/boards/beagleconnect/freedom/zephyr.rst b/boards/beagleconnect/freedom/zephyr.rst
index 8edad82f..2836c00a 100644
--- a/boards/beagleconnect/freedom/zephyr.rst
+++ b/boards/beagleconnect/freedom/zephyr.rst
@@ -1,11 +1,10 @@
 .. _beagleconnect-connectivity:
 
-*******************************
-BeagleConnectâ„¢ Freedom & Zephyr
-*******************************
+BeagleConnect Freedom & Zephyr
+###############################
 
-Develop for BeagleConnectâ„¢ Freedom with Zephyr
-##############################################
+Develop for BeagleConnect Freedom with Zephyr
+**********************************************
 
 Developing directly in Zephyr will not be ultimately required for end-users 
 who won't touch the firmware running on BeagleConnectâ„¢ Freedom and will instead
@@ -15,7 +14,7 @@ source design. If you are one of those people, this is a good place to get
 started.
 
 Equipment to begin development
-******************************
+==============================
 
 There are many options, but let's get started with one recommended set for the beta users.
 
@@ -55,7 +54,7 @@ Optional
 
 
 Install the latest software image for BeagleBone Green Gateway
-**************************************************************
+==============================================================
 
 Download and install the Debian Linux operating system image for the Seeed 
 BeagleBone® Green Gateway host.
@@ -75,7 +74,7 @@ BeagleBone® Green Gateway host.
 #TODO: describe how to know it is working
 
 Log into BeagleBone Green Gateway
-*********************************
+=================================
 
 These instructions assume an x86_64 computer runing Ubuntu 20.04.3 LTS, but any
 computer can be used to connect to your BeagleBone Green Gateway.
@@ -128,7 +127,7 @@ establishment procedure easy.
 TODO: Simplify and elaborate on this section, add boot session debugging walkthrough
 
 Install Zephyr development tools on BeagleBone Green Gateway
-************************************************************
+============================================================
 
 #. Update the system.
     .. code-block:: bash
@@ -189,7 +188,7 @@ Install Zephyr development tools on BeagleBone Green Gateway
         source $HOME/.bashrc
     
 Build applications for BeagleConnect Freedom on BeagleBone Green Gateway
-************************************************************************
+========================================================================
 
 Now you can build various Zephyr applications
 
@@ -226,7 +225,7 @@ Now you can build various Zephyr applications
 
 
 Flash applications to BeagleConnect Freedom from BeagleBone Green Gateway
-*************************************************************************
+=========================================================================
 
 And then you can flash the BeagleConnect Freedom boards over USB
 
@@ -241,6 +240,6 @@ And then you can flash the BeagleConnect Freedom boards over USB
         cc2538-bsl.py build/blinky
 
 Debug applications over the serial terminal
-*******************************************
+===========================================
 
-#TODO
+#TODO#
diff --git a/boards/beagleconnect/technology/index.rst b/boards/beagleconnect/technology/index.rst
index b224c487..3f24588d 100644
--- a/boards/beagleconnect/technology/index.rst
+++ b/boards/beagleconnect/technology/index.rst
@@ -1,9 +1,9 @@
 .. _beagleconnect-overview:
 
-BeagleConnect Overview
-#######################
+BeagleConnect Technology
+########################
 
-This is the deep-dive introduction to BeagleConnect technology and software
+This is the deep-dive introduction to BeagleConnectâ„¢ technology and software
 architecture.
 
 .. note:: 
diff --git a/index.rst b/index.rst
index c98ff056..a3d14cdd 100644
--- a/index.rst
+++ b/index.rst
@@ -48,9 +48,14 @@ from source using appropriate design tools.
    :hidden:
    :caption: Boards
 
-   /boards/beaglebone/black/index
    /boards/beaglebone/ai-64/index
-   more... </boards/index.rst>
+   /boards/beaglebone/black/index
+   /boards/beaglebone/blue/index
+   /boards/beaglebone/index
+   /boards/capes/index
+   /boards/pocketbeagle/original/index
+   /boards/beagleconnect/freedom/index
+   /boards/beagleboard/index
 
 
 Projects
@@ -65,7 +70,7 @@ developers. Some developers choose to host documentation for their projects `her
    :caption: Projects
 
    /projects/simppru/index
-   more... </projects/index.rst>
+   /boards/beagleconnect/technology/index
 
 Books
 *****
diff --git a/projects/index.rst b/projects/index.rst
index d86b7bf2..78b5def7 100644
--- a/projects/index.rst
+++ b/projects/index.rst
@@ -6,5 +6,5 @@ This is a collection of reasonably well-supported projects useful to Beagle deve
 .. toctree::
    :maxdepth: 1
 
-   simppru/index.rst
-
+   /projects/simppru/index.rst
+   /boards/beagleconnect/technology/index.rst
-- 
GitLab


From 4cdd0fc36fd944957863c87d4c7475d2ba84a7c7 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 30 Aug 2022 12:02:10 -0400
Subject: [PATCH 19/83] missed capes index

---
 boards/capes/index.rst | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 boards/capes/index.rst

diff --git a/boards/capes/index.rst b/boards/capes/index.rst
new file mode 100644
index 00000000..d2fba272
--- /dev/null
+++ b/boards/capes/index.rst
@@ -0,0 +1,17 @@
+Capes
+#####
+
+.. note::
+   This page is under development.
+
+Capes are add-on boards for BeagleBone or PocketBeagle families of boards.
+
+* Learn about our compatibility layer on: `BeagleBone Cape Interface Specification </boards/capes/cape-interface-spec.html>`__
+
+
+.. toctree::
+   :maxdepth: 2
+   :hidden:
+
+   /boards/capes/cape-interface-spec
+
-- 
GitLab


From 86c19c6ad86054dd103ea0968d71f40593ce2a75 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 30 Aug 2022 14:52:31 -0400
Subject: [PATCH 20/83] Link to contribution page in the docs

Tried to move the outline over and get some stuff started. This is
pretty rough.
---
 CONTRIBUTING.md              | 28 ++++++-------------
 intro/contribution/index.rst | 53 +++++++++++++++++++++++++++++++++++-
 2 files changed, 61 insertions(+), 20 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7946a6f5..5ca37905 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,30 +2,20 @@
 
 **First off, thanks for taking the time to think about contributing!**
 
-The following is a set of guidelines for contributing to docs.beagleboard.io, which is hosted by the BeagleBoard.org Foundation at https://git.beagleboard.org/docs/docs.beagleboard.io. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
+The following is a set of guidelines for contributing to docs.beagleboard.io, which is hosted by
+the BeagleBoard.org Foundation at https://git.beagleboard.org/docs/docs.beagleboard.io. These are
+mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this
+document in a pull request.
 
 ## Code of Conduct
 
-This project and everyone participating in it is governed by the [BeagleBoard.org Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [coc@bbb.io](mailto:coc@bbb.io) or contact one of the administrators on https://forum.beagleboard.org.
+This project and everyone participating in it is governed by
+the [BeagleBoard.org Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to
+uphold this code. Please report unacceptable behavior to [coc@bbb.io](mailto:coc@bbb.io) or
+contact one of the administrators on https://forum.beagleboard.org.
 
 ## FAQ
 
 * [Frequently Asked Questions category on the BeagleBoard.org Forum](https://forum.beagleboard.org/c/faq/19)
 
-## What should I know before I get started?
-
-## How can I contribute?
-
-### Reporting bugs
-
-### Suggesting enhancements
-
-### Submitting pull requests
-
-## Style guides
-
-### Git commit messages
-
-### RST style guide
-
-## Additional notes
+See more at https://docs.beagleboard.org/en/latest/intro/contribution/.
diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index 3a1cb77a..83fedd49 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -3,7 +3,58 @@
 Contribution 
 ###############
 
-.. note:: This section is under developmement right now.
+.. note::
+   This section is under developmement right now.
+
+.. important::
+   First off, thanks for taking the time to think about contributing!
+
+The BeagleBoard.org Foundation maintains source for many open source projects.
+
+Example projects suitable for first contributions:
+* `BeagleBoard project documentation <https://git.beagleboard.org/docs/docs.beagleboard.io>`__
+* `Debian image bug repository <https://git.beagleboard.org/beagleboard/Latest-Images>`__
+* `Debian image builder <https://git.beagleboard.org/beagleboard/image-builder>`__
+
+These guidelines are mostly suggestions, not hard-set rules. Use your best judgment, and feel free
+to propose changes to this document in a pull request.
+
+Code of Conduct
+***************
+
+This project and everyone participating in it is governed by
+the `BeagleBoard.org Code of Conduct </intro/contribution/code_of_conduct.html>`. By
+participating, you are expected to
+uphold this code. Please report unacceptable behavior to [coc@bbb.io](mailto:coc@bbb.io) or
+contact one of the administrators on https://forum.beagleboard.org.
+
+## FAQ
+
+* [Frequently Asked Questions category on the BeagleBoard.org Forum](https://forum.beagleboard.org/c/faq/19)
+
+What should I know before I get started?
+****************************************
+
+How can I contribute?
+*********************
+
+Reporting bugs
+===============
+
+Suggesting enhancements
+=======================
+
+Submitting pull requests
+========================
+
+Style guides
+************
+
+* Git commit messages
+* `RST style guide </intro/contribution/style.html>`__
+
+Additional notes
+****************
 
 .. toctree::
    :maxdepth: 1
-- 
GitLab


From 0bf25131d8d202fca2b514d308250cfb390080fb Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 30 Aug 2022 15:06:38 -0400
Subject: [PATCH 21/83] link coc and contact to forum

---
 intro/contribution/index.rst | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index 83fedd49..52f8cef2 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -12,6 +12,7 @@ Contribution
 The BeagleBoard.org Foundation maintains source for many open source projects.
 
 Example projects suitable for first contributions:
+
 * `BeagleBoard project documentation <https://git.beagleboard.org/docs/docs.beagleboard.io>`__
 * `Debian image bug repository <https://git.beagleboard.org/beagleboard/Latest-Images>`__
 * `Debian image builder <https://git.beagleboard.org/beagleboard/image-builder>`__
@@ -22,15 +23,19 @@ to propose changes to this document in a pull request.
 Code of Conduct
 ***************
 
-This project and everyone participating in it is governed by
-the `BeagleBoard.org Code of Conduct </intro/contribution/code_of_conduct.html>`. By
-participating, you are expected to
-uphold this code. Please report unacceptable behavior to [coc@bbb.io](mailto:coc@bbb.io) or
-contact one of the administrators on https://forum.beagleboard.org.
+This project and everyone participating in it is governed by the same code of conduct.
+
+.. note::
+   Check out https://forum.beagleboard.org/faq as a starting place to unify our code of conduct.
+
+By participating, you are expected to
+uphold this code. Please report unacceptable behavior to
+contact one of our administrators or moderators on https://forum.beagleboard.org/about.
 
-## FAQ
+Frequently Asked Questions
+**************************
 
-* [Frequently Asked Questions category on the BeagleBoard.org Forum](https://forum.beagleboard.org/c/faq/19)
+* `Frequently asked questions contribution category on the BeagleBoard.org Forum <https://forum.beagleboard.org/c/faq/19>`__
 
 What should I know before I get started?
 ****************************************
-- 
GitLab


From a6cfee69c09ce997d4572ab9fb86684216881dae Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 30 Aug 2022 15:44:57 -0400
Subject: [PATCH 22/83] Update note index about BeagleBoard.org Foundation

---
 index.rst | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/index.rst b/index.rst
index a3d14cdd..8054b03d 100644
--- a/index.rst
+++ b/index.rst
@@ -8,9 +8,11 @@ BeagleBoard Documentation
 
 Welcome to the `BeagleBoard project documentation <https://git.beagleboard.org/docs/docs.beagleboard.io>`__.
 
-.. note:: BeagleBoard.org is a US-based 501(c)3 non-profit organization providing open hardware
+.. note:: 
+   The BeagleBoard.org Foundation is a US-based 501(c)3 non-profit organization providing open hardware
    computing solutions for a community of makers, educators and professionals that enable
-   rapid prototyping without barriers to creating real-world embedded systems.
+   rapid prototyping without barriers to creating real-world embedded systems. The BeagleBoard.org Foundation
+   supports the BeagleBoard community through efforts like developing this documentation.
 
 Introduction
 ************
-- 
GitLab


From 2a3fa93fcc60a9fbc3c2a6ff1c151c3ed73a205a Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 30 Aug 2022 19:46:02 -0400
Subject: [PATCH 23/83] boards/beaglebone: quick link addition

This link won't work on the PDF. :-(
---
 boards/beaglebone/index.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/boards/beaglebone/index.rst b/boards/beaglebone/index.rst
index 3956a3bf..4ccbda47 100644
--- a/boards/beaglebone/index.rst
+++ b/boards/beaglebone/index.rst
@@ -10,7 +10,7 @@ embedded Linux single board computer.
 `BeagleBone AI-64 <ai-64>`__ is our most powerful design with tremendous machine learning inference
 performance and 
 
-For simplicity of developing small, mobile robotics, check out BeagleBone Blue, a highly
+For simplicity of developing small, mobile robotics, check out `BeagleBone Blue <blue>`__, a highly
 integrated board with motor drivers, battery support, altimeter, gyroscope, accelerometer,
 and much more to get started developing quickly.
 
-- 
GitLab


From 706ab213293f1e6a88a10a40934b6821e063470b Mon Sep 17 00:00:00 2001
From: Deepak Khatri <lorforlinux@beagleboard.org>
Date: Wed, 31 Aug 2022 10:39:37 +0530
Subject: [PATCH 24/83] Add 0.0.7 build

---
 .gitlab-ci.yml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3b6c2965..25ea47e0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,5 +12,6 @@ pages:
   artifacts:
     paths:
     - public
-  rules:
-    - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
+  only:
+    - main
+    - 0.0.7
-- 
GitLab


From 7cfd5fe9f2436571cedba2fa15336b729aaa2ecb Mon Sep 17 00:00:00 2001
From: Deepak Khatri <lorforlinux@beagleboard.org>
Date: Wed, 31 Aug 2022 10:57:25 +0530
Subject: [PATCH 25/83] chache files

---
 .gitlab-ci.yml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 25ea47e0..22bd52b3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,11 @@ image: beagle/sphinx-build-env:latest
 stages:
   - deploy
 
+cache:
+  paths:
+    - public
+    - public/0.0.7
+
 pages:
   stage: deploy
   script:
-- 
GitLab


From 21a4c24392d06a8828341a49de1ac56361262d29 Mon Sep 17 00:00:00 2001
From: Dhruva Gole <d-gole@ti.com>
Date: Fri, 12 Aug 2022 21:25:20 +0530
Subject: [PATCH 26/83] docs: contribution: Start writing linux contrib

Also create index.rst inside /intro/contribution/.
Add Linux kernel (upstream) contribution guidelines.
This will help newcomers to understand in a much more
friendly and simpler manner about the process of
upstreaming.

Signed-off-by: Dhruva Gole <goledhruva@gmail.com>
---
 intro/contribution/index.rst               |   1 +
 intro/contribution/upstream-guidelines.rst | 100 +++++++++++++++++++++
 2 files changed, 101 insertions(+)
 create mode 100644 intro/contribution/upstream-guidelines.rst

diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index 3a1cb77a..ce028561 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -10,3 +10,4 @@ Contribution
 
    /intro/contribution/git-usage
    /intro/contribution/style
+   /intro/contribution/upstream-guidelines
\ No newline at end of file
diff --git a/intro/contribution/upstream-guidelines.rst b/intro/contribution/upstream-guidelines.rst
new file mode 100644
index 00000000..188c31b1
--- /dev/null
+++ b/intro/contribution/upstream-guidelines.rst
@@ -0,0 +1,100 @@
+.. _beagleboard-contribute:
+
+Upstream Kernel Contributions
+#########
+
+.. note::
+    For detailed information on Kernel Developmement checkout the official
+    `kernel.org <https://www.kernel.org/doc/html/latest/>`_
+    kernel docs.
+
+For a person or company who wishes to submit a change to the Linux kernel,
+the process can sometimes be daunting if you’re not familiar with “the system.”
+This text is a collection of suggestions which can help you get started and greatly increase the chances
+of your change being accepted.
+
+.. note:: This version is an unofficial draft and is subject to change.
+
+Pre-requisites
+---------------
+
+The following are the skills that are needed before you actually start to contribute to the linux kernel:
+    - git
+    - C-Programming
+    - Cross-arch Development
+    - Basics of embedded buses (I2C, UART, SPI, etc.)
+    - Device Trees
+    - Drivers in Embedded Systems
+
+More Git!
+---------
+
+It is highly recommended that you go through
+`Git Usage <https://docs.beagleboard.io/contribution/git-usage.html>`_ before starting
+to read and follow these guidelines. You will need to have a proper git setup on your
+computer inorder to effectively follow these steps.
+
+Creating your first patch
+*************************
+
+When you first enter the world of Linux Kernel development from a background in
+contributing over gitlab or github, the terminologies slightly change.
+
+Your Pull Requests (PRs) now become Patches or Patch Series. You no longer just
+go to some website and click on a "Create Pull Request" button. Whatever code/changes you
+want to add will have to be sent as patches via emails.
+
+As an example, let's consider a commit to add the git section to these docs.
+I stage these changes first using ``git add -p``.
+
+.. code-block::
+
+    diff --git a/contribution/contribute.rst b/contribution/contribute.rst
+    index def100b..0af08c5 100644
+    --- a/contribution/contribute.rst
+    +++ b/contribution/contribute.rst
+
+Then, commit the above changes.
+
+**Note:** Don't forget to make your commit message descriptive of the feature
+you are adding or the work that you have done in that commit. The commit
+has to be self explanatory in itself. Link any references if you have used
+and paste any logs to prove your code works or if there is a fix.
+
+.. code-block::
+
+    git commit -vs
+
+    [linux-contrib 3bc0821] contribute.rst: Add git section
+     1 file changed, 27 insertions(+), 1 deletion(-)
+
+Now, let's say we want to send this new feature to upstream kernel. You then have to create
+a patch file using the following command:
+
+.. code-block::
+
+    git format-patch -1 HEAD
+
+    0001-contribute.rst-Add-git-section.patch
+
+This will generate one file that is generally referred to as the patch file.
+This is what you will now be sending upstream inorder to get your patch merged.
+But wait, there are a few more things we need to setup for sending a patch via e-mail.
+That is, ofcourse your email!
+
+For configuring your email ID for sending patches refer to this excellent stackoverflow thread,
+`configure git-send-email
+<https://stackoverflow.com/questions/68238912/how-to-configure-and-use-git-send-email-to-work-with-gmail-to-email-patches-to>`_.
+
+Finally, after you have configured you email properly, you can send out a patch using:
+
+.. code-block::
+    git send-email 0001-contribute.rst-Add-git-section.patch
+
+replacing ofcourse the above patchfile name with whatever was your own patch.
+This command will then ask you ``To whom should the emails be sent (if anyone)?``
+Here, you have to write the email address of the list you want to send out the patch to.
+
+``git send-email`` also has command line options like ``--to`` and ``--cc`` that you can also use
+to add more email addresses of whoever you want to keep in CC. Generally it is a good idea to keep yourself
+in CC.
\ No newline at end of file
-- 
GitLab


From 98ca3e6442d8dd92850dd4fa47fed3258d155c5c Mon Sep 17 00:00:00 2001
From: Dhruva Gole <goledhruva@gmail.com>
Date: Wed, 31 Aug 2022 21:43:23 +0530
Subject: [PATCH 27/83] Add more sections

Also added extra reference links

Signed-off-by: Dhruva Gole <goledhruva@gmail.com>
---
 intro/contribution/upstream-guidelines.rst | 72 +++++++++++++++++++++-
 1 file changed, 71 insertions(+), 1 deletion(-)

diff --git a/intro/contribution/upstream-guidelines.rst b/intro/contribution/upstream-guidelines.rst
index 188c31b1..c2e3f847 100644
--- a/intro/contribution/upstream-guidelines.rst
+++ b/intro/contribution/upstream-guidelines.rst
@@ -97,4 +97,74 @@ Here, you have to write the email address of the list you want to send out the p
 
 ``git send-email`` also has command line options like ``--to`` and ``--cc`` that you can also use
 to add more email addresses of whoever you want to keep in CC. Generally it is a good idea to keep yourself
-in CC.
\ No newline at end of file
+in CC.
+
+C-Programming
+-------------
+
+It is highly recommended that you have proficiency in C-Programming, because well the kernel is mostly
+written in C! For starters, you can go through Dennis Ritchie's C Programming book to understand
+the language and also solve the excercises given there for getting hands on.
+
+Cross-arch Development
+----------------------
+
+While working with the kernel, you'll most likely not be compiling it on the machine
+that you intend to actually boot it on.
+For example if you are compiling the Kernel for BeageBone Black it's probably not ideal
+for you to actually clone the entire kernel on BBB and then compile it there.
+What you'd do instead is pick a much powerful machine like a Desktop PC or laptop and
+then use cross arch compilers like the arm-gcc for instance to compile the kernel for your
+target device.
+
+Embedded buses
+--------------
+
+In the world of embedded, you often need to communicate with peripherals over very low level protocols.
+To name a few, I2C, UART, SPI, etc. are all serial protocols used to communicate with a variety of devices and
+peripherals.
+
+It's recommended to understand atleast the basics of each of the protocol so you know what's actually going
+on when you write for instance an I2C or SPI driver to communicate with let's say a sensor.
+
+Device Drivers
+-------
+
+I used the term "Drivers" in the above section, but what does it really mean?
+
+**Why "device" drivers?**
+
+TODO
+
+**Why do we need drivers?**
+
+TODO
+
+**What do drivers look like?**
+
+TODO
+
+Device Trees
+------------
+
+We just learned about drivers, and it's time that once you have written a driver in the kernel,
+you obviously want it to work! So how do we really tell the kernel which drivers to load?
+How do we, at boot time, instruct which devices are present on the board you are booting on?
+
+The kernel does not contain the description of the hardware,
+it is located in a separate binary: the device tree blob.
+
+**What is a Device Tree?**
+
+A device tree is used to describe system hardware. A boot program loads a device tree into a
+client program’s memory and passes a pointer to the device tree to the client.
+
+A device tree is a tree data structure with nodes that describe
+the physical devices in a system.
+
+Additional Resources
+--------------------
+
+1. `Device Trees for Dummies PDF <https://elinux.org/images/f/f9/Petazzoni-device-tree-dummies_0.pdf>`_
+2. `What are Device Drivers <https://tldp.org/LDP/tlk/dd/drivers.html>`_
+3. `Submitting your patches upstream <https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html>`_
-- 
GitLab


From 4e124b58c7bb2fd0c0e4301c333462136201bdbf Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 13:21:14 -0400
Subject: [PATCH 28/83] attempt to name directories

---
 .gitlab-ci.yml | 49 ++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 38 insertions(+), 11 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 22bd52b3..d4bcc3b1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,22 +1,49 @@
 image: beagle/sphinx-build-env:latest
 
 stages:
-  - deploy
+  - deploy-main
+  - deploy-branch
+  - deploy-tag
 
-cache:
-  paths:
+pages:
+  stage: deploy-main
+  script:
+  - sphinx-build -b html . public/latest/
+  - sphinx-build -M latexpdf . public/latest/
+  - mv public/latex/beagleboard-docs.pdf public/latest/
+  - echo "/ /latest/ 302" > public/latest/_redirects
+  artifacts:
+    paths:
+    - public
+  rules:
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+      when: always
+
+pages:
+  stage: deploy-branch
+  script:
+  - sphinx-build -b html . public/$CI_COMMIT_BRANCH/
+  - sphinx-build -M latexpdf . public/$CI_COMMIT_BRANCH/
+  - mv public/latex/beagleboard-docs.pdf public/$CI_COMMIT_BRANCH/
+  artifacts:
+    paths:
     - public
-    - public/0.0.7
+  rules:
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+      when: never
+    - if: $CI_COMMIT_BRANCH
+      when: always
 
 pages:
-  stage: deploy
+  stage: deploy-tag
   script:
-  - sphinx-build -b html . public
-  - sphinx-build -M latexpdf . public
-  - mv public/latex/beagleboard-docs.pdf public/
+  - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///'`
+  - sphinx-build -b html . public/$GIT_BRANCH/
+  - sphinx-build -M latexpdf . public/$GIT_BRANCH/
+  - mv public/latex/beagleboard-docs.pdf public/$GIT_BRANCH/
   artifacts:
     paths:
     - public
-  only:
-    - main
-    - 0.0.7
+  rules:
+    - if: $CI_COMMIT_TAG
+      when: always
-- 
GitLab


From 5d8f702941b8801bbe84497156c833b6ff05d2e7 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 13:28:41 -0400
Subject: [PATCH 29/83] Update .gitlab-ci.yml

---
 .gitlab-ci.yml | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d4bcc3b1..1b41e83c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,12 +1,12 @@
 image: beagle/sphinx-build-env:latest
 
 stages:
-  - deploy-main
+  - deploy-latest
   - deploy-branch
   - deploy-tag
 
 pages:
-  stage: deploy-main
+  stage: deploy-latest
   script:
   - sphinx-build -b html . public/latest/
   - sphinx-build -M latexpdf . public/latest/
@@ -16,7 +16,7 @@ pages:
     paths:
     - public
   rules:
-    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
       when: always
 
 pages:
@@ -29,7 +29,7 @@ pages:
     paths:
     - public
   rules:
-    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
       when: never
     - if: $CI_COMMIT_BRANCH
       when: always
@@ -40,7 +40,8 @@ pages:
   - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///'`
   - sphinx-build -b html . public/$GIT_BRANCH/
   - sphinx-build -M latexpdf . public/$GIT_BRANCH/
-  - mv public/latex/beagleboard-docs.pdf public/$GIT_BRANCH/
+  - mv public/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs-$CI_COMMIT_TAG.pdf
+  - ln -s public/latex/beagleboard-docs-$CI_COMMIT_TAG.pdf public/$GIT_BRANCH/beagleboard-docs.pdf
   artifacts:
     paths:
     - public
-- 
GitLab


From 33c97713d8244e7563d9f566555330915c08cb08 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 13:33:50 -0400
Subject: [PATCH 30/83] Update .gitlab-ci.yml

---
 .gitlab-ci.yml | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1b41e83c..c045c2e8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,8 +16,7 @@ pages:
     paths:
     - public
   rules:
-    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
-      when: always
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
 
 pages:
   stage: deploy-branch
@@ -29,10 +28,7 @@ pages:
     paths:
     - public
   rules:
-    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
-      when: never
-    - if: $CI_COMMIT_BRANCH
-      when: always
+    - if: ($CI_COMMIT_BRANCH && ($CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH))
 
 pages:
   stage: deploy-tag
@@ -47,4 +43,3 @@ pages:
     - public
   rules:
     - if: $CI_COMMIT_TAG
-      when: always
-- 
GitLab


From 0e056d44429ca172b80524634589141ff562aa14 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 13:36:53 -0400
Subject: [PATCH 31/83] Update .gitlab-ci.yml file

---
 .gitlab-ci.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c045c2e8..3607e16c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,7 +5,7 @@ stages:
   - deploy-branch
   - deploy-tag
 
-pages:
+pages-latest:
   stage: deploy-latest
   script:
   - sphinx-build -b html . public/latest/
@@ -18,7 +18,7 @@ pages:
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
 
-pages:
+pages-deploy:
   stage: deploy-branch
   script:
   - sphinx-build -b html . public/$CI_COMMIT_BRANCH/
@@ -30,7 +30,7 @@ pages:
   rules:
     - if: ($CI_COMMIT_BRANCH && ($CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH))
 
-pages:
+pages-tag:
   stage: deploy-tag
   script:
   - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///'`
-- 
GitLab


From 2645344b951c8c429a19d8ae070f71449dd29823 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 13:48:35 -0400
Subject: [PATCH 32/83] Update .gitlab-ci.yml

---
 .gitlab-ci.yml | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3607e16c..08d64864 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,16 +1,10 @@
 image: beagle/sphinx-build-env:latest
 
-stages:
-  - deploy-latest
-  - deploy-branch
-  - deploy-tag
-
-pages-latest:
-  stage: deploy-latest
+on_latest:
   script:
   - sphinx-build -b html . public/latest/
   - sphinx-build -M latexpdf . public/latest/
-  - mv public/latex/beagleboard-docs.pdf public/latest/
+  - mv public/latest/latex/beagleboard-docs.pdf public/latest/
   - echo "/ /latest/ 302" > public/latest/_redirects
   artifacts:
     paths:
@@ -18,25 +12,23 @@ pages-latest:
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
 
-pages-deploy:
-  stage: deploy-branch
+on_branch:
   script:
   - sphinx-build -b html . public/$CI_COMMIT_BRANCH/
   - sphinx-build -M latexpdf . public/$CI_COMMIT_BRANCH/
-  - mv public/latex/beagleboard-docs.pdf public/$CI_COMMIT_BRANCH/
+  - mv public/$CI_COMMIT_BRANCH/latex/beagleboard-docs.pdf public/$CI_COMMIT_BRANCH/
   artifacts:
     paths:
     - public
   rules:
     - if: ($CI_COMMIT_BRANCH && ($CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH))
 
-pages-tag:
-  stage: deploy-tag
+pm_tag:
   script:
   - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///'`
   - sphinx-build -b html . public/$GIT_BRANCH/
   - sphinx-build -M latexpdf . public/$GIT_BRANCH/
-  - mv public/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs-$CI_COMMIT_TAG.pdf
+  - mv public/$GIT_BRANCH/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs-$CI_COMMIT_TAG.pdf
   - ln -s public/latex/beagleboard-docs-$CI_COMMIT_TAG.pdf public/$GIT_BRANCH/beagleboard-docs.pdf
   artifacts:
     paths:
-- 
GitLab


From 9ede065e7b68929d7a89c5710ff523b401101c25 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 14:18:55 -0400
Subject: [PATCH 33/83] CI fix _redirects

---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 08d64864..fc8608f1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,7 +5,7 @@ on_latest:
   - sphinx-build -b html . public/latest/
   - sphinx-build -M latexpdf . public/latest/
   - mv public/latest/latex/beagleboard-docs.pdf public/latest/
-  - echo "/ /latest/ 302" > public/latest/_redirects
+  - echo "/ /latest/ 302" > public/_redirects
   artifacts:
     paths:
     - public
-- 
GitLab


From 689638f82a10c5e8888b0d559d331653922a1277 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 14:39:51 -0400
Subject: [PATCH 34/83] CI: at least 'on_tag' is likely to be broken

---
 .gitlab-ci.yml | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fc8608f1..e81eabb9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,6 +7,7 @@ on_latest:
   - mv public/latest/latex/beagleboard-docs.pdf public/latest/
   - echo "/ /latest/ 302" > public/_redirects
   artifacts:
+    name: "latest"
     paths:
     - public
   rules:
@@ -18,19 +19,21 @@ on_branch:
   - sphinx-build -M latexpdf . public/$CI_COMMIT_BRANCH/
   - mv public/$CI_COMMIT_BRANCH/latex/beagleboard-docs.pdf public/$CI_COMMIT_BRANCH/
   artifacts:
+    name: "$CI_COMMIT_BRANCH"
     paths:
     - public
   rules:
     - if: ($CI_COMMIT_BRANCH && ($CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH))
 
-pm_tag:
+on_tag:
   script:
-  - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///'`
+  - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///')
   - sphinx-build -b html . public/$GIT_BRANCH/
   - sphinx-build -M latexpdf . public/$GIT_BRANCH/
   - mv public/$GIT_BRANCH/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs-$CI_COMMIT_TAG.pdf
   - ln -s public/latex/beagleboard-docs-$CI_COMMIT_TAG.pdf public/$GIT_BRANCH/beagleboard-docs.pdf
   artifacts:
+    name: "$GIT_BRANCH"
     paths:
     - public
   rules:
-- 
GitLab


From e52750af2788b5194d0e8b958b70b9c6620225fe Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 15:44:52 -0400
Subject: [PATCH 35/83] Add a bone101 placeholder and qwiic article

---
 intro/bone101/index.rst                     |  27 ++++
 intro/bone101/qwiic-stemma-grove-addons.rst | 146 ++++++++++++++++++++
 intro/index.rst                             |   1 +
 3 files changed, 174 insertions(+)
 create mode 100644 intro/bone101/index.rst
 create mode 100644 intro/bone101/qwiic-stemma-grove-addons.rst

diff --git a/intro/bone101/index.rst b/intro/bone101/index.rst
new file mode 100644
index 00000000..bd1bab0b
--- /dev/null
+++ b/intro/bone101/index.rst
@@ -0,0 +1,27 @@
+.. _intro_bone101:
+
+bone101
+#######
+
+.. note::
+   This page is under construction. Most of the information here is drastically out of date.
+
+I don't want to completely lose the useful documentation we had at:
+
+* https://beagleboard.github.io/bone101/Support/bone101/
+
+Most of the useful information has moved to :ref:`_bone-cook-book-home`, but this has been
+the place I've most brainstormed free-form about introducing people to BeagleBone.  For now,
+it can serve as a place to put some introductory information that is meant to be
+from a bit of a different approach.
+
+Articles under construction:
+
+* `QWIIC, STEMMA, and Grove add-ons under Linux <quiic-stemma-grove-addons>`__
+
+.. toctree::
+   :maxdepth: 1
+   :hidden:
+
+   qwiic-stemma-grove-addons.rst
+
diff --git a/intro/bone101/qwiic-stemma-grove-addons.rst b/intro/bone101/qwiic-stemma-grove-addons.rst
new file mode 100644
index 00000000..617e33bf
--- /dev/null
+++ b/intro/bone101/qwiic-stemma-grove-addons.rst
@@ -0,0 +1,146 @@
+QWIIC, STEMMA and Grove on Linux
+################################
+
+.. note::
+
+   This article is under construction.
+
+I'm creating a place for me to start taking notes on how to load drivers for I2C devices (mostly), but also other Grove add-ons.
+
+For simplicity sake, I'll use these definitions
+
+* **add-on**: the QWIIC, STEMMA (QT) or Grove add-on separate from your Linux computer
+* **device**: the "smart" IC on the add-on to which we will interface from your Linux computer
+* **board**: the Linux single board computer with the embedded interface controller you are using
+* **module**: a kernel module that might contain the driver
+
+I2C
+***
+
+Linux has a ton of drivers for I2C devices. We just need a few parameters to load them.
+
+Using a Linux I2C kernel driver module can be super simple, like in the below example for
+monitoring a digital light sensor.
+
+.. code-block:: bash
+
+  cd /sys/bus/i2c/devices/i2c-1
+  echo tsl2561 0x29 > new_device
+  watch -n0 cat "1-0029/iio:device0/in_illuminance0_input"
+
+Once you issue this, your screen continuously refresh with luminance values from the
+add-on sensor.
+
+In the above example, `/sys/bus/i2c/devices/i2c-1` comes from which I2C controller
+we are using on the board and there are specific pins on the board where you can
+access it.
+
+`tsl2561` is the name of the driver we want to load and `0x29` is the address of the
+device on the I2C bus. If you want to know about I2C device addresses, the
+`Sparkfun I2C tutorial <https://learn.sparkfun.com/tutorials/i2c>`__ isn't a bad
+place to start. The `new_device` virtual file is documented in the
+`Linux kernel documentation on instantiating I2C devices <https://www.kernel.org/doc/html/v5.19/i2c/instantiating-devices.html>`__.
+
+On the last line, `watch <https://manpages.debian.org/bullseye/procps/watch.1.en.html>`__
+is a program that will repeatedly run the command that follows. The `-n0` sets the refresh 
+rate. The program `cat <https://manpages.debian.org/bullseye/coreutils/cat.1.en.html>`__
+will share the contents of the file `1-0029/iio\:device0/in_illuminance0_input`.
+
+`1-0029/iio:device0/in_illuminance0_input` is not a file on a disk, but output directly
+from the driver. The 1 in `1-0029` represents the I2C controller index. The `0029`
+represents the device I2C address. Most small sensor and actuator drivers will show up as
+`Industrial I/O (IIO) devices <https://www.kernel.org/doc/html/v5.19/driver-api/iio/index.html>`__.
+New IIO devices get incrementing indexes. In this case, `iio:device0` is the first IIO device
+driver loaded. Finally, `in_illuminance0_input` comes from the
+`SYSFS <https://www.kernel.org/doc/html/v5.19/filesystems/sysfs.html>`__ 
+`application binary interface <https://www.kernel.org/doc/html/v5.19/admin-guide/abi.html>`__
+for this type of device, a light sensor. The
+`Linux kernel ABI documentation for sysfs-bus-iio <https://www.kernel.org/doc/html/v5.19/admin-guide/abi-testing.html#abi-sys-iio-devicex-in-illuminance-input>`__ provides the definition of available data often provided by light sensor drivers.
+
+.. code-block::
+
+  What:		/sys/.../iio:deviceX/in_illuminance_input
+  What:		/sys/.../iio:deviceX/in_illuminance_raw
+  What:		/sys/.../iio:deviceX/in_illuminanceY_input
+  What:		/sys/.../iio:deviceX/in_illuminanceY_raw
+  What:		/sys/.../iio:deviceX/in_illuminanceY_mean_raw
+  What:		/sys/.../iio:deviceX/in_illuminance_ir_raw
+  What:		/sys/.../iio:deviceX/in_illuminance_clear_raw
+  KernelVersion:	3.4
+  Contact:	linux-iio@vger.kernel.org
+  Description:
+		Illuminance measurement, units after application of scale
+		and offset are lux.
+
+Read further to discover how to find these bits of magic text used above.
+
+Loading the Linux driver
+========================
+
+The generic steps are fairly simple:
+
+1. Identify the name and address used to load the appropriate driver for your add-on
+2. Ensure the driver is included in your kernel build
+3. Identify the location of the I2C signals on the board and the controller link in Linux
+4. Ensure the board pinmux is set properly to expose the I2C peripheral
+5. Ensure the board to add-on connection is good
+6. Issue the Linux command to load the driver
+7. Identify and utilize the interface provided by the driver
+
+Driver name
+-----------
+
+One resource that is very helpful is the list that Vaishnav put together for supporting
+Mikroelektronika Click add-ons. His `list of Click add-ons with driver information <https://git.beagleboard.org/jkridner/manifesto/-/blob/main/click_info.csv>`__ can help a lot with matching
+a device to the driver name, device address, and kernel configuration setting.
+
+.. note::
+
+  Documentation for your particular add-on might indicate a different device address than is
+  configured on Click add-ons.
+
+I'm not aware of a trivial way of discovering the mapping that Vaishnav created outside
+of looking at the kernel sources. As an example, let's look at the 
+`Grove Digital Light Sensor add-on <https://wiki.seeedstudio.com/Grove-Digital_Light_Sensor/>`__ 
+which is documented to utilize a TSL2561.
+
+Searching through the kernel sources, we can find the driver code at
+`drivers/iio/light/tsl2563.c`. There is a list of driver names in a
+`i2c_device_id table <https://elixir.bootlin.com/linux/v5.19.5/source/drivers/iio/light/tsl2563.c#L862>`__:
+
+.. code-block::
+
+  static const struct i2c_device_id tsl2563_id[] = {
+  	{ "tsl2560", 0 },
+  	{ "tsl2561", 1 },
+  	{ "tsl2562", 2 },
+  	{ "tsl2563", 3 },
+  	{}
+  };
+
+.. important::
+
+  Don't miss that the driver is a superset (tsl253) 
+
+
+Kernel configuration
+--------------------
+
+Devices
+=======
+
+.. note::
+
+  There are some great resources out there:
+
+  * `Adafruit list of I2C devices <https://learn.adafruit.com/i2c-addresses/the-list>`__
+  * `Sparkfun list of QWIIC devices <https://www.sparkfun.com/qwiic>`__
+  * `Adafruit STEMMA QT introduction <https://learn.adafruit.com/introducing-adafruit-stemma-qt/sparkfun-qwiic>`__
+
+
+Pitfalls
+========
+
+Not all I2C devices with drivers in the Linux kernel can be loaded this way. The most common
+reason is that the device driver expects an interrupt signal or other GPIO along with the I2C
+communication. In these cases, a device tree overlay or driver modification may be necessary.
diff --git a/intro/index.rst b/intro/index.rst
index 2e2e5e91..939be496 100644
--- a/intro/index.rst
+++ b/intro/index.rst
@@ -15,5 +15,6 @@ projects on-going on our `Contribution Page <contribution>`__.
    :maxdepth: 2
 
    /intro/support/index
+   /intro/bone101/index
    /intro/contribution/index
 
-- 
GitLab


From 30f3f2fddb03a9d49fc79730e9f6d07ecf0b96b6 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 16:39:36 -0400
Subject: [PATCH 36/83] link to bone101/qwiic

---
 .gitlab-ci.yml                              |  5 ++++-
 index.rst                                   |  1 +
 intro/bone101/index.rst                     | 11 ++++++-----
 intro/bone101/qwiic-stemma-grove-addons.rst |  7 +++++--
 4 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e81eabb9..a81067aa 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,6 +6,7 @@ on_latest:
   - sphinx-build -M latexpdf . public/latest/
   - mv public/latest/latex/beagleboard-docs.pdf public/latest/
   - echo "/ /latest/ 302" > public/_redirects
+  - rm -rf public/latest/latex
   artifacts:
     name: "latest"
     paths:
@@ -18,6 +19,7 @@ on_branch:
   - sphinx-build -b html . public/$CI_COMMIT_BRANCH/
   - sphinx-build -M latexpdf . public/$CI_COMMIT_BRANCH/
   - mv public/$CI_COMMIT_BRANCH/latex/beagleboard-docs.pdf public/$CI_COMMIT_BRANCH/
+  - rm -rf public/$CI_COMMIT_BRANCH/latex
   artifacts:
     name: "$CI_COMMIT_BRANCH"
     paths:
@@ -31,7 +33,8 @@ on_tag:
   - sphinx-build -b html . public/$GIT_BRANCH/
   - sphinx-build -M latexpdf . public/$GIT_BRANCH/
   - mv public/$GIT_BRANCH/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs-$CI_COMMIT_TAG.pdf
-  - ln -s public/latex/beagleboard-docs-$CI_COMMIT_TAG.pdf public/$GIT_BRANCH/beagleboard-docs.pdf
+  - ln -s public/$GIT_BRANCH/latex/beagleboard-docs-$CI_COMMIT_TAG.pdf public/$GIT_BRANCH/beagleboard-docs.pdf
+  - rm -rf public/$GIT_BRANCH/latex
   artifacts:
     name: "$GIT_BRANCH"
     paths:
diff --git a/index.rst b/index.rst
index 783f87c0..92aa5513 100644
--- a/index.rst
+++ b/index.rst
@@ -28,6 +28,7 @@ Get started by `engaging the BealgeBoard.org developer community </intro/>`__.
    :caption: Introduction
 
    /intro/support/index
+   /intro/bone101/index
    /intro/contribution/index
 
 
diff --git a/intro/bone101/index.rst b/intro/bone101/index.rst
index bd1bab0b..01c69124 100644
--- a/intro/bone101/index.rst
+++ b/intro/bone101/index.rst
@@ -10,18 +10,19 @@ I don't want to completely lose the useful documentation we had at:
 
 * https://beagleboard.github.io/bone101/Support/bone101/
 
-Most of the useful information has moved to :ref:`_bone-cook-book-home`, but this has been
-the place I've most brainstormed free-form about introducing people to BeagleBone.  For now,
-it can serve as a place to put some introductory information that is meant to be
+Most of the useful information has moved to :ref:`bone-cook-book-home` , but this has been
+the place I've most brainstormed free-form to make articles introducing people to BeagleBone.
+For now, it can serve as a place to put some introductory information that is meant to be
 from a bit of a different approach.
 
 Articles under construction:
 
-* `QWIIC, STEMMA, and Grove add-ons under Linux <quiic-stemma-grove-addons>`__
+* :ref:`qwiic_stemma_grove_addons`
+
 
 .. toctree::
    :maxdepth: 1
    :hidden:
 
-   qwiic-stemma-grove-addons.rst
+   /intro/bone101/qwiic-stemma-grove-addons.rst
 
diff --git a/intro/bone101/qwiic-stemma-grove-addons.rst b/intro/bone101/qwiic-stemma-grove-addons.rst
index 617e33bf..ac446b81 100644
--- a/intro/bone101/qwiic-stemma-grove-addons.rst
+++ b/intro/bone101/qwiic-stemma-grove-addons.rst
@@ -1,5 +1,8 @@
-QWIIC, STEMMA and Grove on Linux
-################################
+.. _qwiic_stemma_grove_addons:
+
+
+QWIIC, STEMMA and Grove Add-ons in Linux
+########################################
 
 .. note::
 
-- 
GitLab


From 51b46bc808864ed66f99110b2fd26e9b50d16327 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 18:34:10 -0400
Subject: [PATCH 37/83] CI: disable /latest link for now

It isn't working
---
 .gitlab-ci.yml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a81067aa..3254ba58 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,11 +2,11 @@ image: beagle/sphinx-build-env:latest
 
 on_latest:
   script:
-  - sphinx-build -b html . public/latest/
-  - sphinx-build -M latexpdf . public/latest/
-  - mv public/latest/latex/beagleboard-docs.pdf public/latest/
-  - echo "/ /latest/ 302" > public/_redirects
-  - rm -rf public/latest/latex
+  - rm -rf public
+  - sphinx-build -b html . public
+  - sphinx-build -M latexpdf . public
+  - mv public/latex/beagleboard-docs.pdf public
+  - rm -rf public/latex
   artifacts:
     name: "latest"
     paths:
-- 
GitLab


From 7667b304600259f305e35274015b6f036301df4a Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 18:45:06 -0400
Subject: [PATCH 38/83] CI: remove artifact name

---
 .gitlab-ci.yml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3254ba58..bfeea1cb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,7 +8,6 @@ on_latest:
   - mv public/latex/beagleboard-docs.pdf public
   - rm -rf public/latex
   artifacts:
-    name: "latest"
     paths:
     - public
   rules:
-- 
GitLab


From edc272e42ee66076b9d88698e754d2be3824d411 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 20:42:26 -0400
Subject: [PATCH 39/83] CI add stage: deploy

---
 .gitlab-ci.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bfeea1cb..71cc938c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,7 @@
 image: beagle/sphinx-build-env:latest
 
 on_latest:
+  stage: deploy
   script:
   - rm -rf public
   - sphinx-build -b html . public
@@ -14,6 +15,7 @@ on_latest:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
 
 on_branch:
+  stage: deploy
   script:
   - sphinx-build -b html . public/$CI_COMMIT_BRANCH/
   - sphinx-build -M latexpdf . public/$CI_COMMIT_BRANCH/
@@ -27,6 +29,7 @@ on_branch:
     - if: ($CI_COMMIT_BRANCH && ($CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH))
 
 on_tag:
+  stage: deploy
   script:
   - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///')
   - sphinx-build -b html . public/$GIT_BRANCH/
-- 
GitLab


From 27eaf29a6d7f5fca94169a84f0bfc8b3689b0f61 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 21:07:16 -0400
Subject: [PATCH 40/83] CI .gitlab-ci.yml hacking

---
 .gitlab-ci.yml | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 71cc938c..985608b1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,20 +1,25 @@
 image: beagle/sphinx-build-env:latest
 
-on_latest:
+stages:
+  - deploy
+
+pages:
   stage: deploy
   script:
   - rm -rf public
-  - sphinx-build -b html . public
-  - sphinx-build -M latexpdf . public
-  - mv public/latex/beagleboard-docs.pdf public
-  - rm -rf public/latex
+  - sphinx-build -b html . public/latest/
+  - sphinx-build -M latexpdf . public/latest/
+  - mv public/latest/latex/beagleboard-docs.pdf public/latest
+  - rm -rf public/latest/latex
+  - echo "/ /latest 302" > public/_redirects
   artifacts:
+    name: "latest"
     paths:
     - public
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
 
-on_branch:
+pages:
   stage: deploy
   script:
   - sphinx-build -b html . public/$CI_COMMIT_BRANCH/
@@ -28,7 +33,7 @@ on_branch:
   rules:
     - if: ($CI_COMMIT_BRANCH && ($CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH))
 
-on_tag:
+pages:
   stage: deploy
   script:
   - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///')
-- 
GitLab


From 66c90eebcd8bc5d8b9d2e25130eb4c88d9eeb1df Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 21:10:16 -0400
Subject: [PATCH 41/83] Update .gitlab-ci.yml file

Comment out non-latest.
---
 .gitlab-ci.yml | 62 +++++++++++++++++++++++++-------------------------
 1 file changed, 31 insertions(+), 31 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 985608b1..19064691 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,9 +9,9 @@ pages:
   - rm -rf public
   - sphinx-build -b html . public/latest/
   - sphinx-build -M latexpdf . public/latest/
-  - mv public/latest/latex/beagleboard-docs.pdf public/latest
+  - mv public/latest/latex/beagleboard-docs.pdf public/latest/
   - rm -rf public/latest/latex
-  - echo "/ /latest 302" > public/_redirects
+  - echo "/ /latest/ 302" > public/_redirects
   artifacts:
     name: "latest"
     paths:
@@ -19,32 +19,32 @@ pages:
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
 
-pages:
-  stage: deploy
-  script:
-  - sphinx-build -b html . public/$CI_COMMIT_BRANCH/
-  - sphinx-build -M latexpdf . public/$CI_COMMIT_BRANCH/
-  - mv public/$CI_COMMIT_BRANCH/latex/beagleboard-docs.pdf public/$CI_COMMIT_BRANCH/
-  - rm -rf public/$CI_COMMIT_BRANCH/latex
-  artifacts:
-    name: "$CI_COMMIT_BRANCH"
-    paths:
-    - public
-  rules:
-    - if: ($CI_COMMIT_BRANCH && ($CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH))
-
-pages:
-  stage: deploy
-  script:
-  - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///')
-  - sphinx-build -b html . public/$GIT_BRANCH/
-  - sphinx-build -M latexpdf . public/$GIT_BRANCH/
-  - mv public/$GIT_BRANCH/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs-$CI_COMMIT_TAG.pdf
-  - ln -s public/$GIT_BRANCH/latex/beagleboard-docs-$CI_COMMIT_TAG.pdf public/$GIT_BRANCH/beagleboard-docs.pdf
-  - rm -rf public/$GIT_BRANCH/latex
-  artifacts:
-    name: "$GIT_BRANCH"
-    paths:
-    - public
-  rules:
-    - if: $CI_COMMIT_TAG
+#pages:
+#  stage: deploy
+#  script:
+#  - sphinx-build -b html . public/$CI_COMMIT_BRANCH/
+#  - sphinx-build -M latexpdf . public/$CI_COMMIT_BRANCH/
+#  - mv public/$CI_COMMIT_BRANCH/latex/beagleboard-docs.pdf public/$CI_COMMIT_BRANCH/
+#  - rm -rf public/$CI_COMMIT_BRANCH/latex
+#  artifacts:
+#    name: "$CI_COMMIT_BRANCH"
+#    paths:
+#    - public
+#  rules:
+#    - if: ($CI_COMMIT_BRANCH && ($CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH))
+#
+#pages:
+#  stage: deploy
+#  script:
+#  - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///')
+#  - sphinx-build -b html . public/$GIT_BRANCH/
+#  - sphinx-build -M latexpdf . public/$GIT_BRANCH/
+#  - mv public/$GIT_BRANCH/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs-$CI_COMMIT_TAG.pdf
+#  - ln -s public/$GIT_BRANCH/latex/beagleboard-docs-$CI_COMMIT_TAG.pdf public/$GIT_BRANCH/beagleboard-docs.pdf
+#  - rm -rf public/$GIT_BRANCH/latex
+#  artifacts:
+#    name: "$GIT_BRANCH"
+#    paths:
+#    - public
+#  rules:
+#    - if: $CI_COMMIT_TAG
\ No newline at end of file
-- 
GitLab


From 72c2d8718c8559139d8abb63d4a673db57beb0fe Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 21:14:32 -0400
Subject: [PATCH 42/83] fix path for pru-cookbook code files

---
 .../pru-cookbook}/04debug/code/AM335x_PRU.cmd |  0
 .../pru-cookbook/common}/am335x_pru.cmd       |  0
 .../pru-cookbook}/common/am57xx_pru.cmd       |  0
 pru-cookbook/common/am335x_pru.cmd            | 87 -------------------
 4 files changed, 87 deletions(-)
 rename {pru-cookbook => books/pru-cookbook}/04debug/code/AM335x_PRU.cmd (100%)
 rename {pru-cookbook/03details/code => books/pru-cookbook/common}/am335x_pru.cmd (100%)
 rename {pru-cookbook => books/pru-cookbook}/common/am57xx_pru.cmd (100%)
 delete mode 100644 pru-cookbook/common/am335x_pru.cmd

diff --git a/pru-cookbook/04debug/code/AM335x_PRU.cmd b/books/pru-cookbook/04debug/code/AM335x_PRU.cmd
similarity index 100%
rename from pru-cookbook/04debug/code/AM335x_PRU.cmd
rename to books/pru-cookbook/04debug/code/AM335x_PRU.cmd
diff --git a/pru-cookbook/03details/code/am335x_pru.cmd b/books/pru-cookbook/common/am335x_pru.cmd
similarity index 100%
rename from pru-cookbook/03details/code/am335x_pru.cmd
rename to books/pru-cookbook/common/am335x_pru.cmd
diff --git a/pru-cookbook/common/am57xx_pru.cmd b/books/pru-cookbook/common/am57xx_pru.cmd
similarity index 100%
rename from pru-cookbook/common/am57xx_pru.cmd
rename to books/pru-cookbook/common/am57xx_pru.cmd
diff --git a/pru-cookbook/common/am335x_pru.cmd b/pru-cookbook/common/am335x_pru.cmd
deleted file mode 100644
index 67005475..00000000
--- a/pru-cookbook/common/am335x_pru.cmd
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************/
-/*  AM335x_PRU.cmd                                                          */
-/*  Copyright (c) 2015  Texas Instruments Incorporated                      */
-/*                                                                          */
-/*    Description: This file is a linker command file that can be used for  */
-/*                 linking PRU programs built with the C compiler and       */
-/*                 the resulting .out file on an AM335x device.             */
-/****************************************************************************/
-
--cr								/* Link using C conventions */
-
-/* Specify the System Memory Map */
-MEMORY
-{
-      PAGE 0:
-	PRU_IMEM		: org = 0x00000000 len = 0x00002000  /* 8kB PRU0 Instruction RAM */
-
-      PAGE 1:
-
-	/* RAM */
-
-	PRU_DMEM_0_1	: org = 0x00000000 len = 0x00002000 CREGISTER=24 /* 8kB PRU Data RAM 0_1 */
-	PRU_DMEM_1_0	: org = 0x00002000 len = 0x00002000	CREGISTER=25 /* 8kB PRU Data RAM 1_0 */
-
-	  PAGE 2:
-	PRU_SHAREDMEM	: org = 0x00010000 len = 0x00003000 CREGISTER=28 /* 12kB Shared RAM */
-
-	DDR			    : org = 0x80000000 len = 0x00000100	CREGISTER=31
-	L3OCMC			: org = 0x40000000 len = 0x00010000	CREGISTER=30
-
-
-	/* Peripherals */
-
-	PRU_CFG			: org = 0x00026000 len = 0x00000044	CREGISTER=4
-	PRU_ECAP		: org = 0x00030000 len = 0x00000060	CREGISTER=3
-	PRU_IEP			: org = 0x0002E000 len = 0x0000031C	CREGISTER=26
-	PRU_INTC		: org = 0x00020000 len = 0x00001504	CREGISTER=0
-	PRU_UART		: org = 0x00028000 len = 0x00000038	CREGISTER=7
-
-	DCAN0			: org = 0x481CC000 len = 0x000001E8	CREGISTER=14
-	DCAN1			: org = 0x481D0000 len = 0x000001E8	CREGISTER=15
-	DMTIMER2		: org = 0x48040000 len = 0x0000005C	CREGISTER=1
-	PWMSS0			: org = 0x48300000 len = 0x000002C4	CREGISTER=18
-	PWMSS1			: org = 0x48302000 len = 0x000002C4	CREGISTER=19
-	PWMSS2			: org = 0x48304000 len = 0x000002C4	CREGISTER=20
-	GEMAC			: org = 0x4A100000 len = 0x0000128C	CREGISTER=9
-	I2C1			: org = 0x4802A000 len = 0x000000D8	CREGISTER=2
-	I2C2			: org = 0x4819C000 len = 0x000000D8	CREGISTER=17
-	MBX0			: org = 0x480C8000 len = 0x00000140	CREGISTER=22
-	MCASP0_DMA		: org = 0x46000000 len = 0x00000100	CREGISTER=8
-	MCSPI0			: org = 0x48030000 len = 0x000001A4	CREGISTER=6
-	MCSPI1			: org = 0x481A0000 len = 0x000001A4	CREGISTER=16
-	MMCHS0			: org = 0x48060000 len = 0x00000300	CREGISTER=5
-	SPINLOCK		: org = 0x480CA000 len = 0x00000880	CREGISTER=23
-	TPCC			: org = 0x49000000 len = 0x00001098	CREGISTER=29
-	UART1			: org = 0x48022000 len = 0x00000088	CREGISTER=11
-	UART2			: org = 0x48024000 len = 0x00000088	CREGISTER=12
-
-	RSVD10			: org = 0x48318000 len = 0x00000100	CREGISTER=10
-	RSVD13			: org = 0x48310000 len = 0x00000100	CREGISTER=13
-	RSVD21			: org = 0x00032400 len = 0x00000100	CREGISTER=21
-	RSVD27			: org = 0x00032000 len = 0x00000100	CREGISTER=27
-
-}
-
-/* Specify the sections allocation into memory */
-SECTIONS {
-	/* Forces _c_int00 to the start of PRU IRAM. Not necessary when loading
-	   an ELF file, but useful when loading a binary */
-	.text:_c_int00*	>  0x0, PAGE 0
-
-	.text		>  PRU_IMEM, PAGE 0
-	.stack		>  PRU_DMEM_0_1, PAGE 1
-	.bss		>  PRU_DMEM_0_1, PAGE 1
-	.cio		>  PRU_DMEM_0_1, PAGE 1
-	.data		>  PRU_DMEM_0_1, PAGE 1
-	.switch		>  PRU_DMEM_0_1, PAGE 1
-	.sysmem		>  PRU_DMEM_0_1, PAGE 1
-	.cinit		>  PRU_DMEM_0_1, PAGE 1
-	.rodata		>  PRU_DMEM_0_1, PAGE 1
-	.rofardata	>  PRU_DMEM_0_1, PAGE 1
-	.farbss		>  PRU_DMEM_0_1, PAGE 1
-	.fardata	>  PRU_DMEM_0_1, PAGE 1
-
-	.resource_table > PRU_DMEM_0_1, PAGE 1
-	.init_pins > PRU_DMEM_0_1, PAGE 1
-}
\ No newline at end of file
-- 
GitLab


From 7c3717bb98f2572505bef8a95468dadbc4bfa1af Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 21:58:11 -0400
Subject: [PATCH 43/83] CI: add CI build script

---
 .gitlab-ci.yml  | 40 +---------------------------------------
 conf.py         |  3 +++
 gitlab-build.sh | 41 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 39 deletions(-)
 create mode 100755 gitlab-build.sh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 19064691..35888673 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,45 +6,7 @@ stages:
 pages:
   stage: deploy
   script:
-  - rm -rf public
-  - sphinx-build -b html . public/latest/
-  - sphinx-build -M latexpdf . public/latest/
-  - mv public/latest/latex/beagleboard-docs.pdf public/latest/
-  - rm -rf public/latest/latex
-  - echo "/ /latest/ 302" > public/_redirects
+  - ./gitlab_build.sh
   artifacts:
-    name: "latest"
     paths:
     - public
-  rules:
-    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
-
-#pages:
-#  stage: deploy
-#  script:
-#  - sphinx-build -b html . public/$CI_COMMIT_BRANCH/
-#  - sphinx-build -M latexpdf . public/$CI_COMMIT_BRANCH/
-#  - mv public/$CI_COMMIT_BRANCH/latex/beagleboard-docs.pdf public/$CI_COMMIT_BRANCH/
-#  - rm -rf public/$CI_COMMIT_BRANCH/latex
-#  artifacts:
-#    name: "$CI_COMMIT_BRANCH"
-#    paths:
-#    - public
-#  rules:
-#    - if: ($CI_COMMIT_BRANCH && ($CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH))
-#
-#pages:
-#  stage: deploy
-#  script:
-#  - export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///')
-#  - sphinx-build -b html . public/$GIT_BRANCH/
-#  - sphinx-build -M latexpdf . public/$GIT_BRANCH/
-#  - mv public/$GIT_BRANCH/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs-$CI_COMMIT_TAG.pdf
-#  - ln -s public/$GIT_BRANCH/latex/beagleboard-docs-$CI_COMMIT_TAG.pdf public/$GIT_BRANCH/beagleboard-docs.pdf
-#  - rm -rf public/$GIT_BRANCH/latex
-#  artifacts:
-#    name: "$GIT_BRANCH"
-#    paths:
-#    - public
-#  rules:
-#    - if: $CI_COMMIT_TAG
\ No newline at end of file
diff --git a/conf.py b/conf.py
index f09fb5ec..6e713339 100644
--- a/conf.py
+++ b/conf.py
@@ -126,6 +126,9 @@ latex_documents = [
 vcs_link_version = f"v{version}" if is_release else "main"
 vcs_link_base_url = f"https://git.beagleboard.org/docs/docs.beagleboard.io/blob/{vcs_link_version}"
 
+#language = 'en'
+#locales_dir = ['locale/']
+#gettext_compact = True
 
 def setup(app):
     # theme customizations
diff --git a/gitlab-build.sh b/gitlab-build.sh
new file mode 100755
index 00000000..7890a3d4
--- /dev/null
+++ b/gitlab-build.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+env
+
+if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then
+
+rm -rf public
+sphinx-build -b html . public/latest/
+sphinx-build -M latexpdf . public/latest/
+mv public/latest/latex/beagleboard-docs.pdf public/latest/
+rm -rf public/latest/latex
+cat <<HERE > public/index.html
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta http-equiv="refresh" content="7; url='https://www.w3docs.com'" />
+  </head>
+  <body>
+    <p>Please follow <a href="https://www.w3docs.com">this link</a>.</p>
+  </body>
+</html>
+HERE
+
+elif [ "$CI_COMMIT_BRANCH" != "" ]; then
+
+sphinx-build -b html . public/$CI_COMMIT_BRANCH/
+sphinx-build -M latexpdf . public/$CI_COMMIT_BRANCH/
+mv public/$CI_COMMIT_BRANCH/latex/beagleboard-docs.pdf public/$CI_COMMIT_BRANCH/
+rm -rf public/$CI_COMMIT_BRANCH/latex
+
+elif [ "$CI_COMMIT_TAG" != "" ]; then
+
+export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///')
+sphinx-build -b html . public/$GIT_BRANCH/
+sphinx-build -M latexpdf . public/$GIT_BRANCH/
+mv public/$GIT_BRANCH/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs-$CI_COMMIT_TAG.pdf
+ln -s public/$GIT_BRANCH/latex/beagleboard-docs-$CI_COMMIT_TAG.pdf public/$GIT_BRANCH/beagleboard-docs.pdf
+rm -rf public/$GIT_BRANCH/latex
+
+fi
+
-- 
GitLab


From d4618ca0ba7210fe904066675aedd2fac2478ccf Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 21:59:06 -0400
Subject: [PATCH 44/83] CI: fix path to script

---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 35888673..abf6e568 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,7 +6,7 @@ stages:
 pages:
   stage: deploy
   script:
-  - ./gitlab_build.sh
+  - ./gitlab-build.sh
   artifacts:
     paths:
     - public
-- 
GitLab


From 57e3cf17f99e50d4c87fe051541bddd154a05a64 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 22:08:13 -0400
Subject: [PATCH 45/83] fix latest redirect link

---
 gitlab-build.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gitlab-build.sh b/gitlab-build.sh
index 7890a3d4..c7f39c08 100755
--- a/gitlab-build.sh
+++ b/gitlab-build.sh
@@ -13,10 +13,10 @@ cat <<HERE > public/index.html
 <!DOCTYPE html>
 <html>
   <head>
-    <meta http-equiv="refresh" content="7; url='https://www.w3docs.com'" />
+    <meta http-equiv="refresh" content="0; url='latest/'" />
   </head>
   <body>
-    <p>Please follow <a href="https://www.w3docs.com">this link</a>.</p>
+    <p>Please follow <a href="latest/">this link</a>.</p>
   </body>
 </html>
 HERE
-- 
GitLab


From 9bc9a04c42901a8ae760bceb510faa33be371931 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 22:15:01 -0400
Subject: [PATCH 46/83] bone101: capitalize

---
 intro/bone101/index.rst | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/intro/bone101/index.rst b/intro/bone101/index.rst
index 01c69124..05794524 100644
--- a/intro/bone101/index.rst
+++ b/intro/bone101/index.rst
@@ -1,24 +1,22 @@
 .. _intro_bone101:
 
-bone101
+Bone101
 #######
 
 .. note::
    This page is under construction. Most of the information here is drastically out of date.
 
-I don't want to completely lose the useful documentation we had at:
-
-* https://beagleboard.github.io/bone101/Support/bone101/
-
-Most of the useful information has moved to :ref:`bone-cook-book-home` , but this has been
-the place I've most brainstormed free-form to make articles introducing people to BeagleBone.
-For now, it can serve as a place to put some introductory information that is meant to be
-from a bit of a different approach.
+Most of the useful information has moved to :ref:`bone-cook-book-home` , but this can be
+to be a place for nice introductory articles on using Bealges and Linux from a different
+approach.
 
 Articles under construction:
 
 * :ref:`qwiic_stemma_grove_addons`
 
+Also, I don't want to completely lose the useful documentation we had at:
+
+* https://beagleboard.github.io/bone101/Support/bone101/
 
 .. toctree::
    :maxdepth: 1
-- 
GitLab


From 09c778f7123e341b276c9d57f6f0b8e79d5de777 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 22:35:17 -0400
Subject: [PATCH 47/83] intro/bone101/qwiic: add inner links

---
 intro/bone101/qwiic-stemma-grove-addons.rst | 54 ++++++++++++++++-----
 1 file changed, 43 insertions(+), 11 deletions(-)

diff --git a/intro/bone101/qwiic-stemma-grove-addons.rst b/intro/bone101/qwiic-stemma-grove-addons.rst
index ac446b81..98e9c4b3 100644
--- a/intro/bone101/qwiic-stemma-grove-addons.rst
+++ b/intro/bone101/qwiic-stemma-grove-addons.rst
@@ -1,6 +1,5 @@
 .. _qwiic_stemma_grove_addons:
 
-
 QWIIC, STEMMA and Grove Add-ons in Linux
 ########################################
 
@@ -82,13 +81,15 @@ Loading the Linux driver
 
 The generic steps are fairly simple:
 
-1. Identify the name and address used to load the appropriate driver for your add-on
-2. Ensure the driver is included in your kernel build
-3. Identify the location of the I2C signals on the board and the controller link in Linux
-4. Ensure the board pinmux is set properly to expose the I2C peripheral
-5. Ensure the board to add-on connection is good
-6. Issue the Linux command to load the driver
-7. Identify and utilize the interface provided by the driver
+1. :ref:`Identify the name and address used to load the appropriate driver for your add-on <bone101_i2c_driver_name>`
+2. :ref:`Ensure the driver is included in your kernel build <bone101_i2c_kernel_cfg>`
+3. :ref:`Identify the location of the I2C signals on the board and the controller link in Linux <bone101_i2c_dev>`
+4. :ref:`Ensure the board pinmux is set properly to expose the I2C peripheral <bone101_i2c_pinmux>`
+5. :ref:`Ensure the board to add-on connection is good <bone101_i2c_wiring>`
+6. :ref:`Issue the Linux command to load the driver <bone101_i2c_command>`
+7. :ref:`Identify and utilize the interface provided by the driver <bone101_i2c_iio>`
+
+.. _bone101_i2c_driver_name:
 
 Driver name
 -----------
@@ -123,14 +124,44 @@ Searching through the kernel sources, we can find the driver code at
 
 .. important::
 
-  Don't miss that the driver is a superset (tsl253) 
+  Don't miss that the driver, `tsl2561` , is actually part of a a superset driver, `tsl2563` . This can make things a bit trickier to find, so you have to look
+  within the text of the driver source, not just the filenames.
 
 
+.. _bone101_i2c_kernel_cfg:
+
 Kernel configuration
 --------------------
 
-Devices
-=======
+.. _bone101_i2c_dev:
+
+I2C signals and controller
+--------------------------
+
+.. _bone101_i2c_pinmux:
+
+Pinmuxing
+---------
+
+.. _bone101_i2c_wiring:
+
+Wiring
+------
+
+.. _bone101_i2c_command:
+
+Load driver
+-----------
+
+.. _bone101_i2c_iio:
+
+Interface
+---------
+
+.. _bone101_i2c_addons:
+
+Add-on modules
+==============
 
 .. note::
 
@@ -140,6 +171,7 @@ Devices
   * `Sparkfun list of QWIIC devices <https://www.sparkfun.com/qwiic>`__
   * `Adafruit STEMMA QT introduction <https://learn.adafruit.com/introducing-adafruit-stemma-qt/sparkfun-qwiic>`__
 
+.. _bone101_i2c_pitfalls:
 
 Pitfalls
 ========
-- 
GitLab


From 58522cdcd635714b0ed844ae0abf418914f61e42 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 22:40:09 -0400
Subject: [PATCH 48/83] intro/bone101/i2c reduce heading depth

---
 intro/bone101/qwiic-stemma-grove-addons.rst | 27 ++++++++++-----------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/intro/bone101/qwiic-stemma-grove-addons.rst b/intro/bone101/qwiic-stemma-grove-addons.rst
index 98e9c4b3..ad11a0cd 100644
--- a/intro/bone101/qwiic-stemma-grove-addons.rst
+++ b/intro/bone101/qwiic-stemma-grove-addons.rst
@@ -16,8 +16,10 @@ For simplicity sake, I'll use these definitions
 * **board**: the Linux single board computer with the embedded interface controller you are using
 * **module**: a kernel module that might contain the driver
 
-I2C
-***
+.. _bone101_i2c:
+
+Using I2C with Linux drivers
+****************************
 
 Linux has a ton of drivers for I2C devices. We just need a few parameters to load them.
 
@@ -76,9 +78,6 @@ for this type of device, a light sensor. The
 
 Read further to discover how to find these bits of magic text used above.
 
-Loading the Linux driver
-========================
-
 The generic steps are fairly simple:
 
 1. :ref:`Identify the name and address used to load the appropriate driver for your add-on <bone101_i2c_driver_name>`
@@ -92,7 +91,7 @@ The generic steps are fairly simple:
 .. _bone101_i2c_driver_name:
 
 Driver name
------------
+===========
 
 One resource that is very helpful is the list that Vaishnav put together for supporting
 Mikroelektronika Click add-ons. His `list of Click add-ons with driver information <https://git.beagleboard.org/jkridner/manifesto/-/blob/main/click_info.csv>`__ can help a lot with matching
@@ -131,37 +130,37 @@ Searching through the kernel sources, we can find the driver code at
 .. _bone101_i2c_kernel_cfg:
 
 Kernel configuration
---------------------
+====================
 
 .. _bone101_i2c_dev:
 
 I2C signals and controller
---------------------------
+==========================
 
 .. _bone101_i2c_pinmux:
 
 Pinmuxing
----------
+=========
 
 .. _bone101_i2c_wiring:
 
 Wiring
-------
+======
 
 .. _bone101_i2c_command:
 
 Load driver
------------
+===========
 
 .. _bone101_i2c_iio:
 
 Interface
----------
+=========
 
 .. _bone101_i2c_addons:
 
-Add-on modules
-==============
+Finding I2C add-on modules
+==========================
 
 .. note::
 
-- 
GitLab


From cc082d373c35a60517627d215bfeb87f877443bd Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 31 Aug 2022 22:52:36 -0400
Subject: [PATCH 49/83] intro/contribution: cleanup

---
 intro/contribution/index.rst | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index 52f8cef2..bd4ecc99 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -52,17 +52,16 @@ Suggesting enhancements
 Submitting pull requests
 ========================
 
-Style guides
-************
+Style and usage guidelines
+**************************
 
+* :ref:`beagleboard-git-usage`
 * Git commit messages
-* `RST style guide </intro/contribution/style.html>`__
-
-Additional notes
-****************
+* :ref:`beagleboard-doc-style`
 
 .. toctree::
    :maxdepth: 1
+   :hidden:
 
    /intro/contribution/git-usage
    /intro/contribution/style
-- 
GitLab


From 7f688329acf04909c83fc2cc6db15d4f67ccd8d3 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 6 Sep 2022 12:41:56 -0400
Subject: [PATCH 50/83] cookbook: remove introduction headers

* All of the subsequent headers are at the wrong level. Fix by simply
  removing the first header which is superfluous anyway.
---
 books/beaglebone-cookbook/01basics/basics.rst     | 3 ---
 books/beaglebone-cookbook/02sensors/sensors.rst   | 3 ---
 books/beaglebone-cookbook/03displays/displays.rst | 3 ---
 books/beaglebone-cookbook/04motors/motors.rst     | 3 ---
 books/beaglebone-cookbook/05tips/tips.rst         | 3 ---
 books/beaglebone-cookbook/06iot/iot.rst           | 3 ---
 books/beaglebone-cookbook/07kernel/kernel.rst     | 3 ---
 books/beaglebone-cookbook/08realtime/realtime.rst | 3 ---
 books/beaglebone-cookbook/09capes/capes.rst       | 3 ---
 books/beaglebone-cookbook/10parts/parts.rst       | 3 ---
 10 files changed, 30 deletions(-)

diff --git a/books/beaglebone-cookbook/01basics/basics.rst b/books/beaglebone-cookbook/01basics/basics.rst
index e60dcd0a..8ff3dddc 100644
--- a/books/beaglebone-cookbook/01basics/basics.rst
+++ b/books/beaglebone-cookbook/01basics/basics.rst
@@ -3,9 +3,6 @@
 Basics
 #######
 
-Introduction
-*************
-
 When you buy BeagleBone Black, pretty much everything you need to get going comes with it. 
 You can just plug it into the USB of a host computer, and it works. The goal of this 
 chapter is to show what you can do with your Bone, right out of the box. It has enough 
diff --git a/books/beaglebone-cookbook/02sensors/sensors.rst b/books/beaglebone-cookbook/02sensors/sensors.rst
index 6a80812e..9ddb94d7 100644
--- a/books/beaglebone-cookbook/02sensors/sensors.rst
+++ b/books/beaglebone-cookbook/02sensors/sensors.rst
@@ -3,9 +3,6 @@
 Sensors
 ########
 
-Introduction
-*************
-
 In this chapter, you will learn how to sense the physical world with BeagleBone Black. 
 Various types of electronic sensors, such as cameras and microphones, can be connected 
 to the Bone using one or more interfaces provided by the standard USB 2.0 host port, 
diff --git a/books/beaglebone-cookbook/03displays/displays.rst b/books/beaglebone-cookbook/03displays/displays.rst
index a4d56809..2ce70cef 100644
--- a/books/beaglebone-cookbook/03displays/displays.rst
+++ b/books/beaglebone-cookbook/03displays/displays.rst
@@ -3,9 +3,6 @@
 Displays and Other Outputs
 ###########################
 
-Introduction
-*************
-
 In this chapter, you will learn how to control physical hardware via 
 BeagleBone Black's general-purpose input/output (GPIO) pins. The Bone has 
 65 GPIO pins that are brought out on two 46-pin headers, called 
diff --git a/books/beaglebone-cookbook/04motors/motors.rst b/books/beaglebone-cookbook/04motors/motors.rst
index eff2f3e0..481a684f 100644
--- a/books/beaglebone-cookbook/04motors/motors.rst
+++ b/books/beaglebone-cookbook/04motors/motors.rst
@@ -3,9 +3,6 @@
 Motors
 ########
 
-Introduction
-**************
-
 One of the many fun things about embedded computers is that you can move physical things with motors.
 But there are so many different kinds of motors (``servo``, ``stepper``, ``DC``), so how do you select the right one?
 
diff --git a/books/beaglebone-cookbook/05tips/tips.rst b/books/beaglebone-cookbook/05tips/tips.rst
index a78e2dcf..1e3e0b27 100644
--- a/books/beaglebone-cookbook/05tips/tips.rst
+++ b/books/beaglebone-cookbook/05tips/tips.rst
@@ -3,9 +3,6 @@
 Beyond the Basics
 ##################
 
-Introduction
-*************
-
 In :ref:`beaglebone-cookbook-basics`, you learned how to set up BeagleBone Black, and 
 :ref:`beaglebone-cookbook-sensors`, :ref:`beaglebone-cookbook-displays`, 
 and :ref:`beaglebone-cookbook-motors` showed how to 
diff --git a/books/beaglebone-cookbook/06iot/iot.rst b/books/beaglebone-cookbook/06iot/iot.rst
index 8c1f61e4..4886a0e8 100644
--- a/books/beaglebone-cookbook/06iot/iot.rst
+++ b/books/beaglebone-cookbook/06iot/iot.rst
@@ -3,9 +3,6 @@
 Internet of Things
 ####################
 
-Introduction
-*************
-
 You can easily connect BeagleBone Black to the Internet via a wire (:ref:`networking_wired`), wirelessly 
 (:ref:`networking_wireless`), or through the USB to a host and then to the Internet (:ref:`networking_usb`). 
 Either way, it opens up a world of possibilities for the "Internet of Things" (IoT). 
diff --git a/books/beaglebone-cookbook/07kernel/kernel.rst b/books/beaglebone-cookbook/07kernel/kernel.rst
index 88cf1e10..c18a91ef 100644
--- a/books/beaglebone-cookbook/07kernel/kernel.rst
+++ b/books/beaglebone-cookbook/07kernel/kernel.rst
@@ -3,9 +3,6 @@
 The Kernel
 ###########
 
-Introduction
-*************
-
 The kernel is the heart of the Linux operating system. It's the software that takes the 
 low-level requests, such as reading or writing files, or reading and writing general-purpose 
 input/output (GPIO) pins, and maps them to the hardware. When you install a new version of the 
diff --git a/books/beaglebone-cookbook/08realtime/realtime.rst b/books/beaglebone-cookbook/08realtime/realtime.rst
index 4f894ee4..79fe98b2 100644
--- a/books/beaglebone-cookbook/08realtime/realtime.rst
+++ b/books/beaglebone-cookbook/08realtime/realtime.rst
@@ -3,9 +3,6 @@
 Real-Time I/O
 ###############
 
-Introduction
-*************
-
 Sometimes, when BeagleBone Black interacts with the physical world, it needs to respond in a timely manner. 
 For example, your robot has just detected that one of the driving motors needs to turn a bit faster. 
 Systems that can respond quickly to a real event are known as ``real-time`` systems. There are two broad 
diff --git a/books/beaglebone-cookbook/09capes/capes.rst b/books/beaglebone-cookbook/09capes/capes.rst
index 0285e96f..d4ce5f73 100644
--- a/books/beaglebone-cookbook/09capes/capes.rst
+++ b/books/beaglebone-cookbook/09capes/capes.rst
@@ -3,9 +3,6 @@
 Capes
 #####
 
-Introduction
-**************
-
 Previous chapters of this book show a variety of ways to interface BeagleBone Black 
 to the physical world by using a breadboard and wiring to the +P8+ and +P9+ headers. 
 This is a great approach because it's easy to modify your circuit to debug it or try 
diff --git a/books/beaglebone-cookbook/10parts/parts.rst b/books/beaglebone-cookbook/10parts/parts.rst
index 18e1f84c..a952cf1d 100644
--- a/books/beaglebone-cookbook/10parts/parts.rst
+++ b/books/beaglebone-cookbook/10parts/parts.rst
@@ -3,9 +3,6 @@
 Parts and Suppliers
 ####################
 
-Parts
-******
-
 The following tables list where you can find the parts used in this book. 
 We have listed only one or two sources here, but you can often find a given part in many places.
 
-- 
GitLab


From 7139931a1ece04e654f4f980a6553068883c2f4c Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 6 Sep 2022 20:28:40 -0400
Subject: [PATCH 51/83] Fix a number of links

---
 boards/beagleboard/index.rst |  2 ++
 boards/beaglebone/index.rst  |  2 +-
 boards/capes/index.rst       |  2 ++
 boards/index.rst             | 12 +++++++-----
 books/index.rst              |  2 ++
 index.rst                    | 19 +++++++++----------
 intro/contribution/index.rst |  2 +-
 intro/index.rst              |  6 ++++--
 8 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/boards/beagleboard/index.rst b/boards/beagleboard/index.rst
index beb56cd1..bcd643cd 100644
--- a/boards/beagleboard/index.rst
+++ b/boards/beagleboard/index.rst
@@ -1,3 +1,5 @@
+.. _beagleboard-boards-home:
+
 BeagleBoard (all)
 ###################
 
diff --git a/boards/beaglebone/index.rst b/boards/beaglebone/index.rst
index cd47c0d1..7e8b32ef 100644
--- a/boards/beaglebone/index.rst
+++ b/boards/beaglebone/index.rst
@@ -1,4 +1,4 @@
-.. _beaglebone-blue-home::
+.. _beaglebone-all-home:
 
 BeagleBone (all)
 ###################
diff --git a/boards/capes/index.rst b/boards/capes/index.rst
index d2fba272..18631319 100644
--- a/boards/capes/index.rst
+++ b/boards/capes/index.rst
@@ -1,3 +1,5 @@
+.. _capes:
+
 Capes
 #####
 
diff --git a/boards/index.rst b/boards/index.rst
index b4659047..519d98e1 100644
--- a/boards/index.rst
+++ b/boards/index.rst
@@ -1,21 +1,23 @@
+.. _boards:
+
 Boards
 ######
 
-`BeagleBone <beaglebone>`__ is a family of ARM-based, Linux-capable boards intended to be
+:ref:`BeagleBone <beaglebone-all-home>` is a family of ARM-based, Linux-capable boards intended to be
 bare-bones, with a balance of features to enable rapid prototyping and provide a solid
 reference for building end products.
 
-`PocketBeagle <pocketbeagle>`__ boards are ultra-tiny ARM-based, Linux-capable boards intended to be
+:ref:`pocketbeagle-home` boards are ultra-tiny ARM-based, Linux-capable boards intended to be
 very low cost, with minimal features suitable for beginners and attractive to professionals
 looking for a more minimal starting point.
 
-`BeagleBone and PocketBeagle Capes <capes>`__ are add-on boards for BeagleBone and PocketBeagle boards.
+BeagleBone and PocketBeagle :ref:`capes` are add-on boards for BeagleBone and PocketBeagle boards.
 
-`BeagleConnect <beagleconnect>`__ boards are ARM microcontroller-based, Zephyr-capable boards meant
+:ref:`beagleconnect-home` boards are ARM microcontroller-based, Zephyr-capable boards meant
 to act as ultra low cost smart peripherals to their Linux-capable counterparts, with connectivity
 options that enable almost endless sensing and actuation expansion.
 
-`BeagleBoard <beagleboard>`__ is a family of ARM-based, Linux-capable boards where this project
+:ref:`BeagleBoard <beagleboard-boards-home>` is a family of ARM-based, Linux-capable boards where this project
 started.
 
 .. toctree::
diff --git a/books/index.rst b/books/index.rst
index 1cf8a938..4640aed0 100644
--- a/books/index.rst
+++ b/books/index.rst
@@ -1,3 +1,5 @@
+.. _books-home:
+
 Books
 *****
 
diff --git a/index.rst b/index.rst
index 5bf6fc53..258aa959 100644
--- a/index.rst
+++ b/index.rst
@@ -17,10 +17,10 @@ Welcome to the `BeagleBoard project documentation <https://git.beagleboard.org/d
 Introduction
 ************
 
-Get started by `engaging the BealgeBoard.org developer community </intro/>`__.
+Get started engaging the BeagleBoard.org developer community by reading our :ref:`introduction` page.
 
-* Read about how to: `get started and get help </intro/support>`__
-* Learn how to: `contribute to the project </intro/contribution>`__
+* Read about how to get started and get help on our :ref:`support` page.
+* Learn how to contribute to the project on our :ref:`contribution` page.
 
 .. toctree::
    :maxdepth: 2
@@ -42,9 +42,9 @@ design, including the
 `materials <https://git.beagleboard.org/explore/projects/topics/boards>`__ to modify the designs
 from source using appropriate design tools.
 
-* Check out our most popular board at: `BeagleBone Black </boards/beaglebone/black>`__
-* Check out our latest board at: `BeagleBone AI-64 </boards/beaglebone/ai-64>`__
-* Find all of our on: `our boards page </boards/index>`__
+* Check out our most popular board at: :ref:`beagleboneblack-home`
+* Check out our latest board at: :ref:`bbai64-home`
+* Find all of our on: :ref:`boards`
 
 .. grid:: 1 1 1 2
    :margin: 4 4 0 0
@@ -322,11 +322,10 @@ developers. Some developers choose to host documentation for their projects `her
 Books
 *****
 
-This project hosts a
-`collection of open-source books written to help Beagle developers </books/index>`__.
+This project hosts a collection of open-source :ref:`books-home` books written to help Beagle developers.
 
-* Find a great introduction to BeagleBone at: `BeagleBone Cookbook </books/beaglebone-cookbook>`__
-* Learn one of the most amazing Beagle features at: `PRU Cookbook </books/pru-cookbook>`__
+* Find a great introduction to BeagleBone at: :ref:`bone-cook-book-home`
+* Learn one of the most amazing Beagle features at: :ref:`pru-cookbook-home`
 
 .. toctree::
    :maxdepth: 1
diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index bd4ecc99..d2dd9ad5 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -1,4 +1,4 @@
-.. _beagleboard-contributoin:
+.. _contribution:
 
 Contribution 
 ###############
diff --git a/intro/index.rst b/intro/index.rst
index 939be496..22fbdbc7 100644
--- a/intro/index.rst
+++ b/intro/index.rst
@@ -1,15 +1,17 @@
+.. _introduction:
+
 Introduction
 #############
 
 Welcome to the BeagleBoard documentation project. If you are looking for help with your Beagle
 open-hardware development platform, you've found the right place!
 
-Please check out our `Support Page <support>`__ to find out how to get started, resolve issues,
+Please check out our :ref:`support` page` to find out how to get started, resolve issues,
 and engage the developer community.
 
 Don't forget that this is an open-source project! Your contributions are welcome. Learn about how
 to contribute to the BeagleBoard documentation project and any of the many open-source Beagle
-projects on-going on our `Contribution Page <contribution>`__.
+projects on-going on our :ref:`contribution` page.
 
 .. toctree::
    :maxdepth: 2
-- 
GitLab


From 5c179936966aa4ff973dddc4c1a58ace44cdf448 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 6 Sep 2022 20:34:29 -0400
Subject: [PATCH 52/83] Refer to releases as stable

---
 _templates/layout.html | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/_templates/layout.html b/_templates/layout.html
index cd42441b..c6be8a80 100644
--- a/_templates/layout.html
+++ b/_templates/layout.html
@@ -7,9 +7,9 @@
     </div>
   {% else %}
     <div class="wy-alert wy-alert-danger">
-     This is the latest (main) BeagleBoard documentation. 
-     If you are looking for the previous releases, use the 
-     drop-down menu on the left and select the desired version.
+     This is the latest (main) BeagleBoard documentation.
+     If you are looking for stable releases, use the
+     drop-down menu on the bottom-left and select the desired version.
     </div>
   {% endif %}
   {{ super() }}
-- 
GitLab


From 6f6c5b135e1c64927fb468d104309ef4354b9d23 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 6 Sep 2022 20:38:37 -0400
Subject: [PATCH 53/83] Fix FAQ link

---
 conf.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/conf.py b/conf.py
index 5a04178d..ab559160 100644
--- a/conf.py
+++ b/conf.py
@@ -120,8 +120,8 @@ html_context = {
     "versions": ("latest", "0.0", "0.1"),
     "reference_links": {
         "About": "https://beagleboard.org/about",
-        "Donate": "https://beagleboard.org/donate/",
-        "FAQ": "https://beagleboard.org/Support/FAQ"
+        "Donate": "https://beagleboard.org/donate",
+        "FAQ": "forum.beagleboard.org/c/faq"
     }
 }
 
-- 
GitLab


From 226be8ccd1071a9713a2f5d9275e43bf4b74b957 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 6 Sep 2022 22:39:55 -0400
Subject: [PATCH 54/83] Fixing more links

---
 index.rst          | 6 +++---
 projects/index.rst | 4 +++-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/index.rst b/index.rst
index 258aa959..0e288395 100644
--- a/index.rst
+++ b/index.rst
@@ -308,8 +308,8 @@ Capes
 Projects
 ********
 
-A number of software projects, like `SimpPRU </projects/simppru/index>`__ exist to help Beagle
-developers. Some developers choose to host documentation for their projects `here </projects/index>`__.
+A number of software projects, like :ref:`simppru_home` exist to help Beagle
+developers. Some developers choose to host documentation for their :ref:`projects-home` .
 
 .. toctree::
    :maxdepth: 1
@@ -317,7 +317,7 @@ developers. Some developers choose to host documentation for their projects `her
    :caption: Projects
 
    /projects/simppru/index
-   /boards/beagleconnect/technology/index
+   /boards/beagleconnect/index
 
 Books
 *****
diff --git a/projects/index.rst b/projects/index.rst
index 78b5def7..4e583175 100644
--- a/projects/index.rst
+++ b/projects/index.rst
@@ -1,3 +1,5 @@
+.. _projects-home:
+
 Projects
 ********
 
@@ -7,4 +9,4 @@ This is a collection of reasonably well-supported projects useful to Beagle deve
    :maxdepth: 1
 
    /projects/simppru/index.rst
-   /boards/beagleconnect/technology/index.rst
+   /boards/beagleconnect/index.rst
-- 
GitLab


From c2e5399611a8457fd17287e1e399d2cdf865ee08 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 6 Sep 2022 22:47:12 -0400
Subject: [PATCH 55/83] beagleconnect: update

---
 boards/beagleconnect/technology/index.rst | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/boards/beagleconnect/technology/index.rst b/boards/beagleconnect/technology/index.rst
index 3f24588d..a01e4ad5 100644
--- a/boards/beagleconnect/technology/index.rst
+++ b/boards/beagleconnect/technology/index.rst
@@ -15,12 +15,8 @@ architecture.
    :height: 400
    :alt: BeagleConnect
 
-BeagleConnectâ„¢ Greybus Stack
-****************************
-
-Work in progress
-================
-
+BeagleConnectâ„¢ is built using `Greybus <https://kernel-recipes.org/en/2015/talks/an-introduction-to-greybus/>`__
+code in the Linux kernel originally designed for mobile phones.
 To understand a bit more about how the BeagleConnectâ„¢ Greybus stack is being
 built, this section helps describe the development currently in progress and
 the principles of operation.
@@ -65,16 +61,18 @@ Software architecture
 TODO items
 ----------
 
-* Linux kernel driver
+* :strike:`Linux kernel driver` (wpanusb and bcfserial still need to be upstreamed)
 
 * Provisioning
 
-* Firmware for host CC13x
+* :strike:`Firmware for host CC13x`
+
+* :strike:`Firmware for device CC13x`
 
-* Firmware for device CC13x
+* Unify firmware for host/device CC13x
 
-* Click Board drivers and device tree formatted metadata for 100 or so Click 
-  Boards
+* :strike:`Click Board drivers and device tree formatted metadata for 100 or so Click 
+  Boards`
 
 * Click Board plug-ins for node-red for the same 100 or so Click Boards
 
@@ -110,7 +108,7 @@ User experience concerns
   provisioning is completed
 
 BeagleConnectâ„¢ Greybus demo using BeagleConnectâ„¢ Freedom
-========================================================
+########################################################
 BeagleConnectâ„¢ Freedom runs a subGHz IEEE 802.15.4 network. This BeagleConnectâ„¢
 Greybus demo shows how to interact with GPIO, I2C and mikroBUS add-on boards 
 remotely connected over a BeagleConnectâ„¢ Freedom.
-- 
GitLab


From 44be7c35e3d2ffa942920895e67d07b7e691e660 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 6 Sep 2022 23:08:05 -0400
Subject: [PATCH 56/83] beagleconnect: fix some links

---
 boards/beagleconnect/freedom/index.rst  | 8 ++++----
 boards/beagleconnect/freedom/usage.rst  | 2 +-
 boards/beagleconnect/freedom/zephyr.rst | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/boards/beagleconnect/freedom/index.rst b/boards/beagleconnect/freedom/index.rst
index bd602d22..e4199e02 100644
--- a/boards/beagleconnect/freedom/index.rst
+++ b/boards/beagleconnect/freedom/index.rst
@@ -160,12 +160,12 @@ Each BeagleBoard.org BeagleConnectâ„¢ solution will be:
 Getting Started
 ***************
 
-* `Typical usage with a Linux host </boards/beagleconnect/freedom/usage.html>`__
-* `Programming with Zephyr </boards/beagleconnect/freedom/zephyr.html>`__
+* :ref:`Typical BeagleConnect Freedom usage with a Linux host <beagleconnect-usage>`
+* :ref:`Programming BeagleConnect Freedom with Zephyr <beagleconnect-zephyr>`
 
 .. toctree::
    :maxdepth: 1
    :hidden:
 
-   usage.rst
-   zephyr.rst
+   /boards/beagleconnect/freedom/usage.rst
+   /boards/beagleconnect/freedom/zephyr.rst
diff --git a/boards/beagleconnect/freedom/usage.rst b/boards/beagleconnect/freedom/usage.rst
index b55d5dd5..862e8974 100644
--- a/boards/beagleconnect/freedom/usage.rst
+++ b/boards/beagleconnect/freedom/usage.rst
@@ -1,4 +1,4 @@
-.. _beagleconnect-Usage:
+.. _beagleconnect-usage:
 
 BeagleConnect Freedom Usage
 ###########################
diff --git a/boards/beagleconnect/freedom/zephyr.rst b/boards/beagleconnect/freedom/zephyr.rst
index 2836c00a..f08d7e4a 100644
--- a/boards/beagleconnect/freedom/zephyr.rst
+++ b/boards/beagleconnect/freedom/zephyr.rst
@@ -1,4 +1,4 @@
-.. _beagleconnect-connectivity:
+.. _beagleconnect-zephyr:
 
 BeagleConnect Freedom & Zephyr
 ###############################
-- 
GitLab


From 2c8b0205a64ba30bd16892a0ef417caed401438c Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 6 Sep 2022 23:10:48 -0400
Subject: [PATCH 57/83] beagleconnect: note usage of CC1352P7

---
 boards/beagleconnect/freedom/index.rst | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/boards/beagleconnect/freedom/index.rst b/boards/beagleconnect/freedom/index.rst
index e4199e02..f78d9d9e 100644
--- a/boards/beagleconnect/freedom/index.rst
+++ b/boards/beagleconnect/freedom/index.rst
@@ -29,7 +29,7 @@ devices within the first year after the initial release.
 BeagleConnectâ„¢ Freedom
 **********************
 
-BeagleConnectâ„¢ Freedom is based on the `TI CC1352 <https://www.ti.com/product/CC1352R>`_ 
+BeagleConnectâ„¢ Freedom is based on the `TI CC1352 <https://www.ti.com/product/CC1352P7>`_ 
 and is the first available BeagleConnectâ„¢ solution. It implements:
 
 * BeagleConnectâ„¢ gateway device function for Sub-GHz 802.15.4 long-range 
@@ -125,9 +125,9 @@ Long-range, low-power wireless
 ==============================
 
 BeagleConnectâ„¢ Freedom wireless hardware is built around a 
-`TI CC1352 <http://www.ti.com/product/CC1352R>`_ multiprotocol and multi-band 
+`TI CC1352 <http://www.ti.com/product/CC1352P7>`_ multiprotocol and multi-band 
 Sub-1 GHz and 2.4-GHz wireless microcontroller (MCU). CC1352R includes a 48-MHz
-Arm® Cortex®-M4F processor, 352KB Flash, 256KB ROM, 8KB Cache SRAM, 80KB of 
+Arm® Cortex®-M4F processor, 704KB Flash, 256KB ROM, 8KB Cache SRAM, 144KB of 
 ultra-low leakage SRAM, and `Over-the-Air <https://en.wikipedia.org/wiki/Over-the-air_programming>`_ 
 upgrades (OTA).
 
-- 
GitLab


From 89ca167ef18a2ad163405bf26c48f2d540a0f999 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 6 Sep 2022 23:11:30 -0400
Subject: [PATCH 58/83] beagleconnect: note usage of CC1352P7

---
 boards/beagleconnect/freedom/index.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/boards/beagleconnect/freedom/index.rst b/boards/beagleconnect/freedom/index.rst
index f78d9d9e..48115ae3 100644
--- a/boards/beagleconnect/freedom/index.rst
+++ b/boards/beagleconnect/freedom/index.rst
@@ -126,7 +126,7 @@ Long-range, low-power wireless
 
 BeagleConnectâ„¢ Freedom wireless hardware is built around a 
 `TI CC1352 <http://www.ti.com/product/CC1352P7>`_ multiprotocol and multi-band 
-Sub-1 GHz and 2.4-GHz wireless microcontroller (MCU). CC1352R includes a 48-MHz
+Sub-1 GHz and 2.4-GHz wireless microcontroller (MCU). CC1352P7 includes a 48-MHz
 Arm® Cortex®-M4F processor, 704KB Flash, 256KB ROM, 8KB Cache SRAM, 144KB of 
 ultra-low leakage SRAM, and `Over-the-Air <https://en.wikipedia.org/wiki/Over-the-air_programming>`_ 
 upgrades (OTA).
-- 
GitLab


From 40db3d1ff4fbf51f5d20306405fb5b8df25da98d Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 7 Sep 2022 14:26:23 -0400
Subject: [PATCH 59/83] beagleconnect: adjust ToC again

---
 _static/css/custom.css                    |  6 +++++-
 boards/beagleconnect/index.rst            | 18 ++++++------------
 boards/beagleconnect/technology/index.rst |  3 +++
 boards/beagleconnect/technology/story.rst |  2 +-
 4 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/_static/css/custom.css b/_static/css/custom.css
index 20417d54..0a0f69e9 100644
--- a/_static/css/custom.css
+++ b/_static/css/custom.css
@@ -64,4 +64,8 @@
  * fixing larger font size for paragraphs in the kconfig tables */
  .wy-table-responsive td p {
     font-size: 100%;
-}
\ No newline at end of file
+}
+
+span.strike {
+    text-decoration: line-through;
+}
diff --git a/boards/beagleconnect/index.rst b/boards/beagleconnect/index.rst
index 7c2ee09f..8172f053 100644
--- a/boards/beagleconnect/index.rst
+++ b/boards/beagleconnect/index.rst
@@ -38,6 +38,12 @@ BeagleConnectâ„¢ technology solves:
 * The need to produce high-volume custom hardware cost-optimized for your 
   requirements.
 
+.. toctree::
+   :maxdepth: 2
+
+   /boards/beagleconnect/technology/index.rst
+   /boards/beagleconnect/technology/story.rst
+
 BeagleConnect Experience
 *************************
 
@@ -88,18 +94,6 @@ For home automaters, integration into WebThings…
    :alt: BeagleConnect
 
 
-BeagleConnect Technology
-************************
-
-Learn about the technology behind BeagleConnect.
-
-.. toctree::
-   :maxdepth: 2
-
-   /boards/beagleconnect/technology/index.rst
-   /boards/beagleconnect/technology/story.rst
-
-
 BeagleConnect Boards
 ********************
 
diff --git a/boards/beagleconnect/technology/index.rst b/boards/beagleconnect/technology/index.rst
index a01e4ad5..06196ee5 100644
--- a/boards/beagleconnect/technology/index.rst
+++ b/boards/beagleconnect/technology/index.rst
@@ -1,3 +1,6 @@
+.. role:: strike
+   :class: strike
+
 .. _beagleconnect-overview:
 
 BeagleConnect Technology
diff --git a/boards/beagleconnect/technology/story.rst b/boards/beagleconnect/technology/story.rst
index 4a907c06..a4f77d55 100644
--- a/boards/beagleconnect/technology/story.rst
+++ b/boards/beagleconnect/technology/story.rst
@@ -1,4 +1,4 @@
-.. _beagleconnect-home:
+.. _beagleconnect-story:
 
 BeagleConnectâ„¢ Story
 *********************
-- 
GitLab


From 6b9503a58498824f17433f5b9677673909eba107 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 7 Sep 2022 14:37:28 -0400
Subject: [PATCH 60/83] pru-cookbook: remove redundant heading

---
 books/pru-cookbook/projects.rst | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/books/pru-cookbook/projects.rst b/books/pru-cookbook/projects.rst
index 39263b91..808d06b1 100644
--- a/books/pru-cookbook/projects.rst
+++ b/books/pru-cookbook/projects.rst
@@ -7,9 +7,6 @@ Users of TI processors with PRU-ICSS have created application for many different
 A list of a few are shared below. For additional support resources, software and 
 documentation visit the PRU-ICSS wiki.
 
-PRU projects
-~~~~~~~~~~~~~~
-
 .. dropdown:: **LEDscape** 
     :open:
 
@@ -308,4 +305,4 @@ PRU projects
     **Type:**  Code Library
     
     **References:**
-        * https://github.com/deepakkarki/pruspeak
\ No newline at end of file
+        * https://github.com/deepakkarki/pruspeak
-- 
GitLab


From dbb5b615abd57b372c3fd5033ec23d18260b51d1 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 7 Sep 2022 14:38:00 -0400
Subject: [PATCH 61/83] fix FAQ link

---
 conf.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/conf.py b/conf.py
index ab559160..448c9712 100644
--- a/conf.py
+++ b/conf.py
@@ -121,7 +121,7 @@ html_context = {
     "reference_links": {
         "About": "https://beagleboard.org/about",
         "Donate": "https://beagleboard.org/donate",
-        "FAQ": "forum.beagleboard.org/c/faq"
+        "FAQ": "https://forum.beagleboard.org/c/faq"
     }
 }
 
-- 
GitLab


From 29cc4015752f886355b759bce18715f2057efaf4 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Wed, 7 Sep 2022 16:23:57 -0400
Subject: [PATCH 62/83] pru-cookbook: some indentation and external references

---
 books/pru-cookbook/01case/case.rst     |  4 ++--
 books/pru-cookbook/05blocks/blocks.rst | 17 +++++++++--------
 books/pru-cookbook/06io/io.rst         | 17 +++++++++--------
 books/pru-cookbook/07more/more.rst     | 11 ++++++-----
 books/pru-cookbook/08ai/ai.rst         |  9 +++++----
 books/pru-cookbook/projects.rst        |  2 +-
 6 files changed, 32 insertions(+), 28 deletions(-)

diff --git a/books/pru-cookbook/01case/case.rst b/books/pru-cookbook/01case/case.rst
index 5f5cbd44..27b035e7 100644
--- a/books/pru-cookbook/01case/case.rst
+++ b/books/pru-cookbook/01case/case.rst
@@ -35,7 +35,7 @@ Here we present:
 
 .. TODO Switch from LEDscape to FPP
 
-* `Robotics Control Library <http://strawsondesign.com/docs/roboticscape/>`_
+* `Robotics Control Library <https://beagleboard.org/librobotcontrol>`_
 * `BeagleLogic <https://github.com/abhishek-kakkar/BeagleLogic/wiki>`_
 * `NeoPixels -- 5050 RGB LEDs with Integrated Drivers (Falcon Christmas) <http://falconchristmas.com>`_
 * `RGB LED Matrix (Falcon Christmas) <http://falconchristmas.com>`_
@@ -77,7 +77,7 @@ in :ref:`case_blue`.
 
    Blue balancing
 
-The `Robotics Control Library <http://strawsondesign.com/docs/roboticscape/>`_ is a 
+The `Robotics Control Library <https://beagleboard.org/librobotcontrol>`_ is a 
 package that is already installed on the Beagle 
 that contains a C library and example/testing programs. It uses the PRU to extend the 
 real-time hardware of the Bone by adding eight addional servo channels and one 
diff --git a/books/pru-cookbook/05blocks/blocks.rst b/books/pru-cookbook/05blocks/blocks.rst
index 1b62a966..f675235c 100644
--- a/books/pru-cookbook/05blocks/blocks.rst
+++ b/books/pru-cookbook/05blocks/blocks.rst
@@ -7,14 +7,15 @@ Here are some examples that use the basic PRU building blocks.
 
 The following are resources used in this chapter.
 
-Resources
-~~~~~~~~~~
-
-* `PRU Optimizing C/C++ Compiler, v2.2, User's Guide <http://www.ti.com/lit/ug/spruhv7b/spruhv7b.pdf>`_
-* `AM572x Technical Reference Manual <http://www.ti.com/lit/pdf/spruhz6l>`_ (AI)
-* `AM335x Technical Reference Manual <http://www.ti.com/lit/pdf/spruh73>`_ (All others)
-* `Exploring BeagleBone by Derek Molloy <http://exploringbeaglebone.com/>`_
-* `WS2812 Data Sheet <https://cdn-shop.adafruit.com/datasheets/WS2812.pdf>`_
+.. note::
+
+   *Resources*
+
+   * `PRU Optimizing C/C++ Compiler, v2.2, User's Guide <http://www.ti.com/lit/ug/spruhv7b/spruhv7b.pdf>`_
+   * `AM572x Technical Reference Manual <http://www.ti.com/lit/pdf/spruhz6l>`_ (AI)
+   * `AM335x Technical Reference Manual <http://www.ti.com/lit/pdf/spruh73>`_ (All others)
+   * `Exploring BeagleBone by Derek Molloy <http://exploringbeaglebone.com/>`_
+   * `WS2812 Data Sheet <https://cdn-shop.adafruit.com/datasheets/WS2812.pdf>`_
 
 .. _memory_allocation:
 
diff --git a/books/pru-cookbook/06io/io.rst b/books/pru-cookbook/06io/io.rst
index 2d019de0..80f20a53 100644
--- a/books/pru-cookbook/06io/io.rst
+++ b/books/pru-cookbook/06io/io.rst
@@ -8,14 +8,15 @@ through the ``pass:[__]R30`` register.  Below shows how more GPIO pins can be ac
 
 The following are resources used in this chapter.
 
-Resources
-~~~~~~~~~~
-
-* `P8 Header Table <https://github.com/derekmolloy/exploringBB/blob/master/chp06/docs/BeagleboneBlackP8HeaderTable.pdf>`_
-* `P9 Header Table <https://github.com/derekmolloy/exploringBB/blob/master/chp06/docs/BeagleboneBlackP9HeaderTable.pdf>`_
-* `AM572x Technical Reference Manual <http://www.ti.com/lit/pdf/spruhz6l>`_ (AI)
-* `AM335x Technical Reference Manual <http://www.ti.com/lit/pdf/spruh73>`_ (All others)
-* `PRU Assembly Language Tools <http://www.ti.com/lit/ug/spruhv6a/spruhv6a.pdf>`_
+.. note::
+
+   *Resources*
+
+   * `P8 Header Table <https://github.com/derekmolloy/exploringBB/blob/master/chp06/docs/BeagleboneBlackP8HeaderTable.pdf>`_
+   * `P9 Header Table <https://github.com/derekmolloy/exploringBB/blob/master/chp06/docs/BeagleboneBlackP9HeaderTable.pdf>`_
+   * `AM572x Technical Reference Manual <http://www.ti.com/lit/pdf/spruhz6l>`_ (AI)
+   * `AM335x Technical Reference Manual <http://www.ti.com/lit/pdf/spruh73>`_ (All others)
+   * `PRU Assembly Language Tools <http://www.ti.com/lit/ug/spruhv6a/spruhv6a.pdf>`_
 
 Editing /boot/uEnv.txt to Access the P8 Header on the Black
 ************************************************************
diff --git a/books/pru-cookbook/07more/more.rst b/books/pru-cookbook/07more/more.rst
index 4bae78b1..f70501a8 100644
--- a/books/pru-cookbook/07more/more.rst
+++ b/books/pru-cookbook/07more/more.rst
@@ -14,12 +14,13 @@ C. Detailing on how to program in assembly are beyond the scope of this text.
 
 The following are resources used in this chapter.
 
-Resources
-~~~~~~~~~~
+.. note::
 
-* `PRU Optimizing C/C++ Compiler, v2.2, User's Guide <http://www.ti.com/lit/ug/spruhv7b/spruhv7b.pdf>`_
-* `PRU Assembly Language Tools User's Guide <http://www.ti.com/lit/ug/spruhv6b/spruhv6b.pdf>`_
-* `PRU Assembly Instruction User Guide <http://www.ti.com/lit/ug/spruij2/spruij2.pdf>`_
+   *Resources*
+
+   * `PRU Optimizing C/C++ Compiler, v2.2, User's Guide <http://www.ti.com/lit/ug/spruhv7b/spruhv7b.pdf>`_
+   * `PRU Assembly Language Tools User's Guide <http://www.ti.com/lit/ug/spruhv6b/spruhv6b.pdf>`_
+   * `PRU Assembly Instruction User Guide <http://www.ti.com/lit/ug/spruij2/spruij2.pdf>`_
 
 Calling Assembly from C
 ************************
diff --git a/books/pru-cookbook/08ai/ai.rst b/books/pru-cookbook/08ai/ai.rst
index ca507562..d2e055c0 100644
--- a/books/pru-cookbook/08ai/ai.rst
+++ b/books/pru-cookbook/08ai/ai.rst
@@ -11,11 +11,12 @@ four PRUs.
 
 The following are resources used in this chapter.
 
-Resources
-~~~~~~~~~~~
+.. note::
 
-* `AM572x Technical Reference Manual <http://www.ti.com/lit/pdf/spruhz6l>`_ (AI)
-* `BeagleBone AI PRU pins <https://docs.google.com/spreadsheets/d/1dFSBVem86vAUD7MLXvqdS-N0Efi8_g_O1iTqzql8DAo/edit#gid=0>`_
+   *Resources*
+
+   * `AM572x Technical Reference Manual <http://www.ti.com/lit/pdf/spruhz6l>`_ (AI)
+   * `BeagleBone AI PRU pins <https://docs.google.com/spreadsheets/d/1dFSBVem86vAUD7MLXvqdS-N0Efi8_g_O1iTqzql8DAo/edit#gid=0>`_
 
 Moving from two to four PRUs
 *****************************
diff --git a/books/pru-cookbook/projects.rst b/books/pru-cookbook/projects.rst
index 808d06b1..60a2482b 100644
--- a/books/pru-cookbook/projects.rst
+++ b/books/pru-cookbook/projects.rst
@@ -155,7 +155,7 @@ documentation visit the PRU-ICSS wiki.
     **Type:** Code Library Reference
     
     **References:**
-        * http://processors.wiki.ti.com/index.php/Soft-UART_Implementation_on_AM335X_PRU_-_Software_Users_Guide
+        * https://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components/PRU-ICSS/Linux_Drivers/pru-sw-uart.html
 
 .. dropdown:: **Deviant LCD**
     :open:
-- 
GitLab


From af02c80200561ed71cf578951ca7c60c465369e7 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Fri, 9 Sep 2022 13:11:50 -0400
Subject: [PATCH 63/83] beaglebone-cookbook: try to fix I2C superscript

---
 books/beaglebone-cookbook/02sensors/sensors.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/books/beaglebone-cookbook/02sensors/sensors.rst b/books/beaglebone-cookbook/02sensors/sensors.rst
index 9ddb94d7..6f15d0ad 100644
--- a/books/beaglebone-cookbook/02sensors/sensors.rst
+++ b/books/beaglebone-cookbook/02sensors/sensors.rst
@@ -648,7 +648,7 @@ Solution
 The TMP101 sensor is a common digital temperature 
 sensor that uses a standard |I2C|-based serial protocol.
 
-.. |I2C| replace:: I\ :sub:`2`\ C
+.. |I2C| replace:: I\ :sup:`2`\ C
 
 To make this recipe, you will need:
 
-- 
GitLab


From 88f534c6b4fac0d6e6369321dc94303638e922f8 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Fri, 9 Sep 2022 13:12:27 -0400
Subject: [PATCH 64/83] beaglebone-cookbook: try to fix I2C superscript

---
 books/beaglebone-cookbook/03displays/displays.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/books/beaglebone-cookbook/03displays/displays.rst b/books/beaglebone-cookbook/03displays/displays.rst
index 2ce70cef..3abec72f 100644
--- a/books/beaglebone-cookbook/03displays/displays.rst
+++ b/books/beaglebone-cookbook/03displays/displays.rst
@@ -315,7 +315,7 @@ The LED matrix is a 5 V device, but you can drive it from 3.3 V. Wire, as shown
 
 :ref:`sensors_i2c_temp` shows how to use *i2cdetect* to discover the address of an |I2C| device.
 
-.. |I2C| replace:: I\ :sub:`2`\ C
+.. |I2C| replace:: I\ :sup:`2`\ C
 
 Run the *i2cdetect -y -r 2* command to discover the address of the display on |I2C| bus 2, as shown in :ref:`displays_i2cdetect`.
 
-- 
GitLab


From a6990900e4812d1f79c978257364ce7dd67bfcca Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Fri, 9 Sep 2022 13:19:47 -0400
Subject: [PATCH 65/83] boards/beaglebone: fix references

---
 boards/beaglebone/index.rst | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/boards/beaglebone/index.rst b/boards/beaglebone/index.rst
index 7e8b32ef..a63ca813 100644
--- a/boards/beaglebone/index.rst
+++ b/boards/beaglebone/index.rst
@@ -22,8 +22,8 @@ included both here and in the downloadable beagleboard-docs.pdf linked on the bo
 of your screen.
 
 * `BeagleBone (original) <https://git.beagleboard.org/beagleboard/beaglebone/-/blob/master/BeagleBone_SRM_A6_0_1.pdf>`__
-* `BeagleBone Black </boards/beaglebone/black/index.html>`__
-* `BeagleBone Blue </boards/beaglebone/blue/index.html>`__
-* `BeagleBone AI-64 </boards/beaglebone/ai-64/index.html>`__
-* `BeagleBone AI </boards/beaglebone/ai/index.html>`__
+* :ref:`beagleboneblack-home`
+* :ref:`beaglebone-blue-home`
+* :ref:`bbai64-home`
+* :ref:`beaglebone-ai-home`
 
-- 
GitLab


From 28eef498ac6594ce0654856fc6140a1ce67f2df2 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Fri, 9 Sep 2022 13:22:46 -0400
Subject: [PATCH 66/83] boards/capes: fix reference

---
 boards/capes/index.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/boards/capes/index.rst b/boards/capes/index.rst
index 18631319..9b1adeb6 100644
--- a/boards/capes/index.rst
+++ b/boards/capes/index.rst
@@ -8,7 +8,7 @@ Capes
 
 Capes are add-on boards for BeagleBone or PocketBeagle families of boards.
 
-* Learn about our compatibility layer on: `BeagleBone Cape Interface Specification </boards/capes/cape-interface-spec.html>`__
+* Learn about our compatibility layer on: :ref:`beaglebone-cape-interface-spec`
 
 
 .. toctree::
-- 
GitLab


From 537c8c6eb8b4812d5bb43df21541ceb0aeabb9dc Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Fri, 9 Sep 2022 13:23:41 -0400
Subject: [PATCH 67/83] intro/contribution: simplify FAQ URL

---
 intro/contribution/index.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index d2dd9ad5..c7f1818b 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -35,7 +35,7 @@ contact one of our administrators or moderators on https://forum.beagleboard.org
 Frequently Asked Questions
 **************************
 
-* `Frequently asked questions contribution category on the BeagleBoard.org Forum <https://forum.beagleboard.org/c/faq/19>`__
+* `Frequently asked questions contribution category on the BeagleBoard.org Forum <https://forum.beagleboard.org/c/faq>`__
 
 What should I know before I get started?
 ****************************************
-- 
GitLab


From fcbad9a38ed8ce735ce828befdf828e54f7d7e2a Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Fri, 9 Sep 2022 13:26:15 -0400
Subject: [PATCH 68/83] intro/support: fix some references

---
 intro/support/index.rst | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/intro/support/index.rst b/intro/support/index.rst
index 40ec9248..1e49197f 100644
--- a/intro/support/index.rst
+++ b/intro/support/index.rst
@@ -10,7 +10,7 @@ Getting started
 
 The starting experience for all Beagles has been made to be as
 consistent as is possible. For any of the Beagle Linux-based open
-hardware computers, visit our `getting started guide <getting-started>`__.
+hardware computers, visit :ref:`beagleboard-getting-started`.
 
 .. toctree::
    :maxdepth: 2
@@ -109,7 +109,7 @@ Understanding Your Beagle
 Working with Cape Add-on Boards
 *******************************
 
-- `Cape Documentation </boards/capes/>`__
-- `BeagleBone Cape Interface Specification </boards/capes/cape-interface-spec.html>`__
+- :ref:`capes`
+- :ref:`beaglebone-cape-interface-spec`
 
 
-- 
GitLab


From 34cfce890a055d8dbb41dd52e01c0e53fa458021 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sat, 10 Sep 2022 18:23:51 -0400
Subject: [PATCH 69/83] boards/capes/overlays: move

---
 {capes => boards/capes}/overlays/basics.rst | 0
 {capes => boards/capes}/overlays/index.rst  | 0
 {capes => boards/capes}/overlays/relay.rst  | 0
 index.rst                                   | 2 +-
 4 files changed, 1 insertion(+), 1 deletion(-)
 rename {capes => boards/capes}/overlays/basics.rst (100%)
 rename {capes => boards/capes}/overlays/index.rst (100%)
 rename {capes => boards/capes}/overlays/relay.rst (100%)

diff --git a/capes/overlays/basics.rst b/boards/capes/overlays/basics.rst
similarity index 100%
rename from capes/overlays/basics.rst
rename to boards/capes/overlays/basics.rst
diff --git a/capes/overlays/index.rst b/boards/capes/overlays/index.rst
similarity index 100%
rename from capes/overlays/index.rst
rename to boards/capes/overlays/index.rst
diff --git a/capes/overlays/relay.rst b/boards/capes/overlays/relay.rst
similarity index 100%
rename from capes/overlays/relay.rst
rename to boards/capes/overlays/relay.rst
diff --git a/index.rst b/index.rst
index 14375446..9b5ebe11 100644
--- a/index.rst
+++ b/index.rst
@@ -300,7 +300,7 @@ Capes
    /boards/beaglebone/blue/index
    /boards/beaglebone/index
    /boards/capes/index
-   cape/overlays/index.rst
+   /boards/capes/overlays/index
    /boards/pocketbeagle/original/index
    /boards/beagleconnect/freedom/index
    /boards/beagleboard/index
-- 
GitLab


From 7db29b47432dca5fd77587302aeb01624d133d7a Mon Sep 17 00:00:00 2001
From: Kai Yamada <gpioblink@gmail.com>
Date: Thu, 11 Aug 2022 02:12:57 +0900
Subject: [PATCH 70/83] fix full path

---
 boards/capes/overlays/relay.rst | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/boards/capes/overlays/relay.rst b/boards/capes/overlays/relay.rst
index 7f133a44..85e99be1 100644
--- a/boards/capes/overlays/relay.rst
+++ b/boards/capes/overlays/relay.rst
@@ -36,9 +36,8 @@ by adding the following to the U-Boot options
 
 .. code-block::
 
-    uboot_overlay_addr0=/boot/dtbs/X.XX.XXX-ti-rXX/overlays/BBORG_RELAY-00A2.dtbo
+    uboot_overlay_addr0=BBORG_RELAY-00A2.dtbo
 
-Enter the kernel version specified by uname in the `X.XX.XXX-ti-rXX` part.
 
 Usage
 ******
-- 
GitLab


From 8d030cf3a29c11a9245ca175ce1a54129700605c Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sat, 10 Sep 2022 18:28:53 -0400
Subject: [PATCH 71/83] capes/overlays/relay: fix headers

---
 boards/capes/overlays/relay.rst | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/boards/capes/overlays/relay.rst b/boards/capes/overlays/relay.rst
index 85e99be1..834aef36 100644
--- a/boards/capes/overlays/relay.rst
+++ b/boards/capes/overlays/relay.rst
@@ -1,7 +1,7 @@
 .. _bone-cape-relay:
 
 BeagleBoard.org BeagleBone Relay Cape
-#########
+#####################################
 
 Relay Cape, as the name suggests, is a simple Cape with a relay on it.
 It contains four relays, each of which can be operated independently from the BeagleBone.
@@ -16,7 +16,7 @@ How to Use
 ---------------
 
 Installation
-******
+************
 
 No special configuration is required. When you plug Cape into your BeagleBoard, 
 it is automatically recognized by the Cape Universal function.
@@ -57,4 +57,4 @@ This allows you to adjust the brightness;
 entering 1 for brightness turns it ON, and entering 0 for OFF.
 
 The four relays can be changed individually 
-by changing the number after "relay.
\ No newline at end of file
+by changing the number after "relay.
-- 
GitLab


From 5af996bd3d2b4ed3deab7a9de4df0152b32cc8a4 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sat, 10 Sep 2022 18:29:40 -0400
Subject: [PATCH 72/83] intro/support: remove todo directive

---
 intro/support/index.rst | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/intro/support/index.rst b/intro/support/index.rst
index 1e49197f..f374c31c 100644
--- a/intro/support/index.rst
+++ b/intro/support/index.rst
@@ -53,9 +53,6 @@ Diagnostic tools
 Best to be prepared with good diagnostic information to aide with
 support.
 
-.. todo::
-   Need a reference to how to run `beagle-version`.
-
 .. note::
    #TODO#: Need a reference to how to run `beagle-version`.
 
-- 
GitLab


From 4f7b87ada410497ce0770ec5afc4c5ce2bb39772 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sat, 10 Sep 2022 21:09:49 -0400
Subject: [PATCH 73/83] boards/capes/overlays: integrated it a bit better with
 our current documentation

---
 boards/capes/index.rst                | 22 ++++++++++++++++++++--
 boards/capes/overlays/basics.rst      | 25 -------------------------
 boards/capes/{overlays => }/relay.rst |  5 +----
 3 files changed, 21 insertions(+), 31 deletions(-)
 delete mode 100644 boards/capes/overlays/basics.rst
 rename boards/capes/{overlays => }/relay.rst (93%)

diff --git a/boards/capes/index.rst b/boards/capes/index.rst
index 9b1adeb6..c33d5166 100644
--- a/boards/capes/index.rst
+++ b/boards/capes/index.rst
@@ -6,14 +6,32 @@ Capes
 .. note::
    This page is under development.
 
-Capes are add-on boards for BeagleBone or PocketBeagle families of boards.
+Capes are add-on boards for BeagleBone or PocketBeagle families of boards.  Using a Cape add-on board, you can easily add
+sensors, communication peripherals, and more.
 
-* Learn about our compatibility layer on: :ref:`beaglebone-cape-interface-spec`
+Please visit `BeagleBoard.org - Cape <https://beagleboard.org/capes>`_ for the list of currently available Cape add-on boards.
 
+In the BeagleBone board family, there are many variants, such as :ref:`beagleboneblack-home`, :ref:`beaglebone-ai-home`,
+:ref:`bbai64-home` and compatibles such as `SeeedStudio BeagleBone Green <https://beagleboard.org/green>`_,
+`SeeedStudio BeagleBone Green Wireless <https://beagleboard.org/green-wireless>`_, `SeeedStudio BeagleBone Green Gateway
+<https://wiki.seeedstudio.com/BeagleBone-Green-Gateway/>`_ and more.
+
+The :ref:`beaglebone-cape-interface-spec` enables a common set of device tree overlays and software to be utilized
+on each of these different BeagleBone boards.
+
+Each hardware has different internal pin assignments 
+and the number of peripherals in the SoC, but the device tree overlay absorbs these differences.
+
+The user of the Cape add-on boards are essentially able to use it 
+across the corresponding Boards without changing any code at all.
+
+Find the instructions below on using each cape:
+* :ref:`bone-cape-relay`
 
 .. toctree::
    :maxdepth: 2
    :hidden:
 
    /boards/capes/cape-interface-spec
+   /boards/capes/relay
 
diff --git a/boards/capes/overlays/basics.rst b/boards/capes/overlays/basics.rst
deleted file mode 100644
index a9ae5d04..00000000
--- a/boards/capes/overlays/basics.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-.. _bone-cape-basics:
-
-Basics
-#######
-
-BeagleBone has sold a module called Cape, which connects to the BeagleBoard and the PocketBeagle. 
-
-Using Cape, you can easily add sensors, communication peripherals, etc. with ease.
-
-Please see below for Cape available to date.
-
-`BeagleBoard.org - Cape <https://beagleboard.org/capes>`_
-
-Features
-=============
-
-For example, BeagleBoard has various variants such as Black, Green, and AI.
-The device tree overlay feature allows BeagleBone capes 
-to be identical across these different pieces of hardware.
-
-Each hardware has different internal pin assignments 
-and the number of peripherals in the SoC, but the device tree overlay absorbs these differences.
-
-The user of Cape are essentially able to use it 
-across the corresponding Boards without changing any code at all.
\ No newline at end of file
diff --git a/boards/capes/overlays/relay.rst b/boards/capes/relay.rst
similarity index 93%
rename from boards/capes/overlays/relay.rst
rename to boards/capes/relay.rst
index 834aef36..f44d1e24 100644
--- a/boards/capes/overlays/relay.rst
+++ b/boards/capes/relay.rst
@@ -6,15 +6,12 @@ BeagleBoard.org BeagleBone Relay Cape
 Relay Cape, as the name suggests, is a simple Cape with a relay on it.
 It contains four relays, each of which can be operated independently from the BeagleBone.
 
-`Schematic <https://github.com/beagleboard/capes/tree/master/beaglebone/Relay>`_
+`Schematic <https://git.beagleboard.org/beagleboard/capes/-/tree/master/beaglebone/Relay>`_
 
 .. note:: 
     The following describes how to use the device tree overlay under development.
     The description may not be suitable for those using older firmware.
 
-How to Use
----------------
-
 Installation
 ************
 
-- 
GitLab


From 80c0812331a7e037741bddd7b5fe4240dccdb5d7 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sat, 10 Sep 2022 21:17:23 -0400
Subject: [PATCH 74/83] boards/capes: cleanup

---
 boards/capes/index.rst          |  1 +
 boards/capes/overlays/index.rst | 12 ------------
 boards/capes/relay.rst          |  6 +++++-
 index.rst                       |  1 -
 4 files changed, 6 insertions(+), 14 deletions(-)
 delete mode 100644 boards/capes/overlays/index.rst

diff --git a/boards/capes/index.rst b/boards/capes/index.rst
index c33d5166..e675e038 100644
--- a/boards/capes/index.rst
+++ b/boards/capes/index.rst
@@ -26,6 +26,7 @@ The user of the Cape add-on boards are essentially able to use it
 across the corresponding Boards without changing any code at all.
 
 Find the instructions below on using each cape:
+
 * :ref:`bone-cape-relay`
 
 .. toctree::
diff --git a/boards/capes/overlays/index.rst b/boards/capes/overlays/index.rst
deleted file mode 100644
index 9b01043a..00000000
--- a/boards/capes/overlays/index.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-.. _beagleboard-cape:
-
-Capes Overlays
-###############
-
-.. note:: This section is under developmement right now.
-
-.. toctree::
-   :maxdepth: 1
-
-   basics.rst
-   relay.rst
diff --git a/boards/capes/relay.rst b/boards/capes/relay.rst
index f44d1e24..6f09fdfc 100644
--- a/boards/capes/relay.rst
+++ b/boards/capes/relay.rst
@@ -3,10 +3,14 @@
 BeagleBoard.org BeagleBone Relay Cape
 #####################################
 
+.. image:: images/BeagleBoneRelayCapeA2-400x274.png
+   :align: center
+
 Relay Cape, as the name suggests, is a simple Cape with a relay on it.
 It contains four relays, each of which can be operated independently from the BeagleBone.
 
-`Schematic <https://git.beagleboard.org/beagleboard/capes/-/tree/master/beaglebone/Relay>`_
+* `Order page <https://beagleboard.org/capes#relay>`_
+* `Schematic <https://git.beagleboard.org/beagleboard/capes/-/tree/master/beaglebone/Relay>`_
 
 .. note:: 
     The following describes how to use the device tree overlay under development.
diff --git a/index.rst b/index.rst
index 9b5ebe11..0e288395 100644
--- a/index.rst
+++ b/index.rst
@@ -300,7 +300,6 @@ Capes
    /boards/beaglebone/blue/index
    /boards/beaglebone/index
    /boards/capes/index
-   /boards/capes/overlays/index
    /boards/pocketbeagle/original/index
    /boards/beagleconnect/freedom/index
    /boards/beagleboard/index
-- 
GitLab


From a0332cd81fd4600c707a18c16c3aa93301cdb264 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sat, 10 Sep 2022 21:27:52 -0400
Subject: [PATCH 75/83] boards/capes/relay: moved picture down so it looks
 better

---
 boards/capes/relay.rst | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/boards/capes/relay.rst b/boards/capes/relay.rst
index 6f09fdfc..fe9b9b6a 100644
--- a/boards/capes/relay.rst
+++ b/boards/capes/relay.rst
@@ -3,12 +3,12 @@
 BeagleBoard.org BeagleBone Relay Cape
 #####################################
 
-.. image:: images/BeagleBoneRelayCapeA2-400x274.png
-   :align: center
-
 Relay Cape, as the name suggests, is a simple Cape with a relay on it.
 It contains four relays, each of which can be operated independently from the BeagleBone.
 
+.. image:: images/BeagleBoneRelayCapeA2-400x274.png
+   :align: center
+
 * `Order page <https://beagleboard.org/capes#relay>`_
 * `Schematic <https://git.beagleboard.org/beagleboard/capes/-/tree/master/beaglebone/Relay>`_
 
-- 
GitLab


From 4b7edc2d217038c848adad084485abe3a32308bc Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sun, 11 Sep 2022 13:55:55 -0400
Subject: [PATCH 76/83] link to relay cape

---
 index.rst | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/index.rst b/index.rst
index 0e288395..872f7eea 100644
--- a/index.rst
+++ b/index.rst
@@ -183,6 +183,8 @@ Capes
       movement, sensing, power management and communication
 
    .. grid-item-card::
+      :link: bone-cape-relay
+      :link-type: ref
 
       **BeagleBone® Relay Cape**
       ^^^
-- 
GitLab


From 4171c16a8db6edaa928de23ae5c8cbb86d182ae9 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sun, 11 Sep 2022 14:34:58 -0400
Subject: [PATCH 77/83] intro/contribution: add donate link

---
 intro/contribution/index.rst | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index c7f1818b..843fa001 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -9,6 +9,9 @@ Contribution
 .. important::
    First off, thanks for taking the time to think about contributing!
 
+.. note::
+   For donations, see `BeagleBoard.org - Donate <https://beagleboard.org/donate>`__.
+
 The BeagleBoard.org Foundation maintains source for many open source projects.
 
 Example projects suitable for first contributions:
-- 
GitLab


From 44db389d706a8e6ca44bee4848702ef87d6fcc67 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sun, 11 Sep 2022 14:51:16 -0400
Subject: [PATCH 78/83] contribution: WIP fixes with errors

---
 intro/contribution/index.rst                  |  2 +-
 ...ream-guidelines.rst => linux-upstream.rst} | 59 ++++++++++++-------
 2 files changed, 39 insertions(+), 22 deletions(-)
 rename intro/contribution/{upstream-guidelines.rst => linux-upstream.rst} (85%)

diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index 7278650c..f9e0ce82 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -68,4 +68,4 @@ Style and usage guidelines
 
    /intro/contribution/git-usage
    /intro/contribution/style
-   /intro/contribution/upstream-guidelines
\ No newline at end of file
+   /intro/contribution/linux-upstream
diff --git a/intro/contribution/upstream-guidelines.rst b/intro/contribution/linux-upstream.rst
similarity index 85%
rename from intro/contribution/upstream-guidelines.rst
rename to intro/contribution/linux-upstream.rst
index c2e3f847..267f4698 100644
--- a/intro/contribution/upstream-guidelines.rst
+++ b/intro/contribution/linux-upstream.rst
@@ -1,7 +1,7 @@
-.. _beagleboard-contribute:
+.. _beagleboard-linux-upstream:
 
 Upstream Kernel Contributions
-#########
+#############################
 
 .. note::
     For detailed information on Kernel Developmement checkout the official
@@ -16,26 +16,30 @@ of your change being accepted.
 .. note:: This version is an unofficial draft and is subject to change.
 
 Pre-requisites
----------------
+***************
 
 The following are the skills that are needed before you actually start to contribute to the linux kernel:
-    - git
-    - C-Programming
-    - Cross-arch Development
-    - Basics of embedded buses (I2C, UART, SPI, etc.)
-    - Device Trees
-    - Drivers in Embedded Systems
+
+    - :ref:`linux-upstream-more-git`
+    - :ref:`linux-upstream-c-programming`
+    - :ref:`linux-upstream-cross-arch`
+    - :ref:`linux-upstream-embedded-busses`
+    - :ref:`linux-upstream-drivers`
+    - :ref:`linux-upstream-device-trees`
+
+For more guidance, check out the :ref:`linux-upstream-additional-resources`.
+
+.. _linux-upstream-more-git:
 
 More Git!
----------
+*********
 
-It is highly recommended that you go through
-`Git Usage <https://docs.beagleboard.io/contribution/git-usage.html>`_ before starting
+It is highly recommended that you go through :ref:`beagleboard-git-usage` before starting
 to read and follow these guidelines. You will need to have a proper git setup on your
 computer inorder to effectively follow these steps.
 
 Creating your first patch
-*************************
+=========================
 
 When you first enter the world of Linux Kernel development from a background in
 contributing over gitlab or github, the terminologies slightly change.
@@ -89,6 +93,7 @@ For configuring your email ID for sending patches refer to this excellent stacko
 Finally, after you have configured you email properly, you can send out a patch using:
 
 .. code-block::
+
     git send-email 0001-contribute.rst-Add-git-section.patch
 
 replacing ofcourse the above patchfile name with whatever was your own patch.
@@ -99,15 +104,19 @@ Here, you have to write the email address of the list you want to send out the p
 to add more email addresses of whoever you want to keep in CC. Generally it is a good idea to keep yourself
 in CC.
 
+.. _linux-upstream-c-programming:
+
 C-Programming
--------------
+*************
 
 It is highly recommended that you have proficiency in C-Programming, because well the kernel is mostly
 written in C! For starters, you can go through Dennis Ritchie's C Programming book to understand
 the language and also solve the excercises given there for getting hands on.
 
+.. _linux-upstream-cross-arch:
+
 Cross-arch Development
-----------------------
+**********************
 
 While working with the kernel, you'll most likely not be compiling it on the machine
 that you intend to actually boot it on.
@@ -117,8 +126,10 @@ What you'd do instead is pick a much powerful machine like a Desktop PC or lapto
 then use cross arch compilers like the arm-gcc for instance to compile the kernel for your
 target device.
 
-Embedded buses
---------------
+.. _linux-upstream-embedded-busses:
+
+Basics of embedded busses (I2C, UART, SPI, etc.)
+************************************************
 
 In the world of embedded, you often need to communicate with peripherals over very low level protocols.
 To name a few, I2C, UART, SPI, etc. are all serial protocols used to communicate with a variety of devices and
@@ -127,8 +138,10 @@ peripherals.
 It's recommended to understand atleast the basics of each of the protocol so you know what's actually going
 on when you write for instance an I2C or SPI driver to communicate with let's say a sensor.
 
-Device Drivers
--------
+.. _linux-upstream-drivers:
+
+Device Drivers in Embedded Systems
+**********************************
 
 I used the term "Drivers" in the above section, but what does it really mean?
 
@@ -144,8 +157,10 @@ TODO
 
 TODO
 
+.. _linux-upstream-device-trees:
+
 Device Trees
-------------
+************
 
 We just learned about drivers, and it's time that once you have written a driver in the kernel,
 you obviously want it to work! So how do we really tell the kernel which drivers to load?
@@ -162,8 +177,10 @@ client program’s memory and passes a pointer to the device tree to the client.
 A device tree is a tree data structure with nodes that describe
 the physical devices in a system.
 
+.. _linux-upstream-additional-resources:
+
 Additional Resources
---------------------
+********************
 
 1. `Device Trees for Dummies PDF <https://elinux.org/images/f/f9/Petazzoni-device-tree-dummies_0.pdf>`_
 2. `What are Device Drivers <https://tldp.org/LDP/tlk/dd/drivers.html>`_
-- 
GitLab


From a01c8ef98c7923651463e2aa35712c7dd7876da4 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sun, 11 Sep 2022 19:43:53 -0400
Subject: [PATCH 79/83] intro: fixes, elaborations

---
 intro/contribution/index.rst | 29 ++++++++++++++++++++++++-----
 intro/support/index.rst      | 19 +++++++++++--------
 2 files changed, 35 insertions(+), 13 deletions(-)

diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index f9e0ce82..2905bce1 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -26,10 +26,10 @@ to propose changes to this document in a pull request.
 Code of Conduct
 ***************
 
-This project and everyone participating in it is governed by the same code of conduct.
+This project and everyone participating are governed by the same code of conduct.
 
 .. note::
-   Check out https://forum.beagleboard.org/faq as a starting place to unify our code of conduct.
+   Check out https://forum.beagleboard.org/faq as a starting place for our code of conduct.
 
 By participating, you are expected to
 uphold this code. Please report unacceptable behavior to
@@ -38,22 +38,42 @@ contact one of our administrators or moderators on https://forum.beagleboard.org
 Frequently Asked Questions
 **************************
 
+Please refer to the technical and contribution frequently asked questions pages before posting any of your own questions. Please
+feel encouraged to ask follow-up questions if any of the answers are not clear enough.
+
 * `Frequently asked questions contribution category on the BeagleBoard.org Forum <https://forum.beagleboard.org/c/faq>`__
 
 What should I know before I get started?
 ****************************************
 
+The more you know about Linux and contributing to upstream projects, the better, but this knowledge isn't strictly required. Simply
+reading about contributing to Linux and upstream projects can help build your vocabulary in a meaningful way to help out. Learn about
+Linux contributions in the :ref:`beagleboard-linux-upstream` section.
+
+The most useful thing to know is how to ask smart questions. Read about this in the :ref:`intro-getting-support` section. If you ask
+smart questions on the issue trackers and forum, you'll be doing a lot to help us improve the designs and documentation.
+
+.. toctree::
+   :maxdepth: 1
+   :hidden:
+
+   /intro/contribution/linux-upstream
+
 How can I contribute?
 *********************
 
+The most obvious way to contribute is using the `git.beagleboard.org Gitlab server <https://git.beagleboard.org>`_ to report
+bugs, suggest enhancements and providing merge requests, also called pull requests, the provide fixes to software, hardware
+designs and documentation.
+
 Reporting bugs
 ===============
 
 Suggesting enhancements
 =======================
 
-Submitting pull requests
-========================
+Submitting merge requests
+=========================
 
 Style and usage guidelines
 **************************
@@ -68,4 +88,3 @@ Style and usage guidelines
 
    /intro/contribution/git-usage
    /intro/contribution/style
-   /intro/contribution/linux-upstream
diff --git a/intro/support/index.rst b/intro/support/index.rst
index f374c31c..99265041 100644
--- a/intro/support/index.rst
+++ b/intro/support/index.rst
@@ -17,6 +17,7 @@ hardware computers, visit :ref:`beagleboard-getting-started`.
 
    /intro/support/getting-started
 
+.. _intro-getting-support:
 
 Getting support
 ***************
@@ -36,16 +37,16 @@ there.
 Be sure to ask `smart questions <http://www.catb.org/~esr/faqs/smart-questions.html>`__
 that provide the following:
 
-*  What am I trying to accomplish?
-*  What did find when researching how to accomplish it?
-*  What are the detailed results of what I tried?
-*  How did these results differ from what I expected?
-*  What would I consider to be a success?
+*  What are you trying to accomplish?
+*  What did you find when researching how to accomplish it?
+*  What are the detailed results of what you tried?
+*  How did these results differ from what you expected?
+*  What would you consider to be a success?
 
-.. note::
+.. important::
    Remember that community developers are volunteering their expertise. If you
-   want paid support, there are options for that. Respect developers time and
-   expertise and they might be happy to share with you.
+   want paid support, there are :ref:`consulting-resources` options for that. Respect
+   developers time and expertise and they might be happy to share with you.
 
 Diagnostic tools
 ================
@@ -72,6 +73,8 @@ of the entire community.
 -  `Mailing List <https://forum.beagleboard.org>`__
 -  `Live Chat <https://beagleboard.org/chat>`__
 
+.. _consulting-resources:
+
 Consulting and other resources
 ==============================
 
-- 
GitLab


From 04cfab263e4632a7175bed7a35b1c6dc9f3dffb4 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sun, 11 Sep 2022 19:46:32 -0400
Subject: [PATCH 80/83] intro/contribution: linux prerequisites

---
 intro/contribution/index.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/intro/contribution/index.rst b/intro/contribution/index.rst
index 2905bce1..642543c0 100644
--- a/intro/contribution/index.rst
+++ b/intro/contribution/index.rst
@@ -48,7 +48,7 @@ What should I know before I get started?
 
 The more you know about Linux and contributing to upstream projects, the better, but this knowledge isn't strictly required. Simply
 reading about contributing to Linux and upstream projects can help build your vocabulary in a meaningful way to help out. Learn about
-Linux contributions in the :ref:`beagleboard-linux-upstream` section.
+the skills required for Linux contributions in the :ref:`beagleboard-linux-upstream` section.
 
 The most useful thing to know is how to ask smart questions. Read about this in the :ref:`intro-getting-support` section. If you ask
 smart questions on the issue trackers and forum, you'll be doing a lot to help us improve the designs and documentation.
-- 
GitLab


From 9ea9a0287485c240c324ecb1f88b1d362094fde5 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sun, 11 Sep 2022 20:05:06 -0400
Subject: [PATCH 81/83] books/beaglebone-cookbook: quick capes page fixes

---
 books/beaglebone-cookbook/09capes/capes.rst | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/books/beaglebone-cookbook/09capes/capes.rst b/books/beaglebone-cookbook/09capes/capes.rst
index d4ce5f73..47eeb513 100644
--- a/books/beaglebone-cookbook/09capes/capes.rst
+++ b/books/beaglebone-cookbook/09capes/capes.rst
@@ -292,7 +292,7 @@ In most cases, the same pin should never be used on two different capes, though
 - I2C2_SCL and I2C2_SDA
     - |I2C| is a shared bus, and the *I2C2_SCL* and *I2C2_SDA* pins default to having this bus enabled for use by cape expansion ID EEPROMs.
 
-.. |I2C| replace:: I\ :sub:`2`\ C
+.. |I2C| replace:: I\ :sup:`2`\ C
 
 .. _capes_soldering:
 
@@ -667,7 +667,7 @@ Outline SVG for BeagleBone cape (beaglebone_cape_boardoutline.svg)
 .. </dl>
 .. ++++
 
-The measurements are taken from the `BeagleBone Black System Reference Manual <http://bit.ly/1C5rSa8>`_, as shown in :ref:`capes_dimensions_fig`.
+The measurements are taken from the :ref:`beagleboneblack-mechanical` section of the :ref:`BeagleBone Black System Reference Manual <beagleboneblack-home>`, as shown in :ref:`capes_dimensions_fig`.
 
 .. _capes_dimensions_fig:
 
@@ -1227,15 +1227,10 @@ There's no real substitute for getting to know your contract manufacturer, its c
 communication style, strengths, and weaknesses. Look around your town to see if anyone is 
 doing this type of work and see if they'll give you a tour.
 
-.. note:: ?
-
-.. To DO
-    fix this
-
-Don't confuse CircuitHub and CircuitCo. CircuitCo is the official contract manufacturer of 
-BeagleBoard.org and not the same company as CircuitHub, the online contract manufacturing 
-service. CircuitCo would be an excellent choice for you to consider to perform your contract 
-manufacturing, but it doesn't offer an online quote service at this point, so it isn't as easy 
-to include details on how to engage with it in this book.
-
+.. note::
 
+   Don't confuse CircuitHub and CircuitCo. CircuitCo is the official contract manufacturer of 
+   BeagleBoard.org and not the same company as CircuitHub, the online contract manufacturing 
+   service. CircuitCo would be an excellent choice for you to consider to perform your contract 
+   manufacturing, but it doesn't offer an online quote service at this point, so it isn't as easy 
+   to include details on how to engage with it in this book.
-- 
GitLab


From 4051a3bf52f96b1854af4eb83c3dba3c21024c45 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Sun, 11 Sep 2022 20:38:00 -0400
Subject: [PATCH 82/83] beaglebone-cookbook: circuitco updates

---
 books/beaglebone-cookbook/09capes/capes.rst | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/books/beaglebone-cookbook/09capes/capes.rst b/books/beaglebone-cookbook/09capes/capes.rst
index 47eeb513..1843037d 100644
--- a/books/beaglebone-cookbook/09capes/capes.rst
+++ b/books/beaglebone-cookbook/09capes/capes.rst
@@ -31,6 +31,8 @@ You want to display the Bone's desktop on a portable LCD.
 Solution
 --------
 
+.. note:: #TODO# The 4D Systems LCD capes would make a better example. CircuitCo is out of business.
+
 A number of `LCD capes <http://bit.ly/1AjlXJ9>`_ are built for the Bone, ranging in size from three 
 to seven inches. This recipe attaches a seven-inch `BeagleBone LCD7 <http://bit.ly/1NK8Hra>`_ 
 from `CircuitCo <http://circuitco.com/>`_ (shown in :ref:`capes_7inLCD_fig`) to the Bone.
@@ -257,6 +259,8 @@ LCD Backside
     Back side of LCD7 cape, :ref:`capes_lcd_backside` was originally posted by CircuitCo at http://elinux.org/File:BeagleBone-LCD-Backside.jpg under 
     a `Creative Commons Attribution-ShareAlike 3.0 Unported License <http://creativecommons.org/licenses/by-sa/3.0/>`_.
 
+.. note:: #TODO# One of the 4D Systems LCD capes would make a better example for an LCD cape. The CircuitCo cape is no longer available.
+
 .. figure:: figures/LCD7back.png
     :align: center
     :alt: 
@@ -264,6 +268,8 @@ LCD Backside
 Next, take a note of each pin utilized by each cape. The `BeagleBone Capes catalog <http://beaglebonecapes.com>`_ 
 provides a graphical representation for the pin usage of most capes, as shown in :ref:`Audio_cape_pins_fig` for the Circuitco Audio Cape.
 
+.. note:: #TODO# Bela would make a better example for an audio cape. The CircuitCo cape is no longer available.
+
 .. _Audio_cape_pins_fig:
 
 Audio cape pins
@@ -1229,8 +1235,4 @@ doing this type of work and see if they'll give you a tour.
 
 .. note::
 
-   Don't confuse CircuitHub and CircuitCo. CircuitCo is the official contract manufacturer of 
-   BeagleBoard.org and not the same company as CircuitHub, the online contract manufacturing 
-   service. CircuitCo would be an excellent choice for you to consider to perform your contract 
-   manufacturing, but it doesn't offer an online quote service at this point, so it isn't as easy 
-   to include details on how to engage with it in this book.
+   Don't confuse CircuitHub and CircuitCo. CircuitCo is closed.
-- 
GitLab


From 7fc0b6465018bbe7c861174f94a532e49d1a226b Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Tue, 13 Sep 2022 15:20:13 -0400
Subject: [PATCH 83/83] books/beaglebone-cookbook/capes: update callouts

Using style from https://github.com/ray-project/ray/pull/28376

The extension code would need to be added for this to work.
---
 books/beaglebone-cookbook/09capes/capes.rst | 332 ++++++++++----------
 1 file changed, 166 insertions(+), 166 deletions(-)

diff --git a/books/beaglebone-cookbook/09capes/capes.rst b/books/beaglebone-cookbook/09capes/capes.rst
index 1843037d..0e38696e 100644
--- a/books/beaglebone-cookbook/09capes/capes.rst
+++ b/books/beaglebone-cookbook/09capes/capes.rst
@@ -85,7 +85,7 @@ You want to use a small LCD to display things other than the desktop.
 Solution
 ---------
 
-The `MiniDisplay <http://bit.ly/1xd0r8>`p_ is a 128 x 128 full-color LCD cape that just fits on the 
+The `MiniDisplay <http://bit.ly/1xd0r8p>`_ is a 128 x 128 full-color LCD cape that just fits on the 
 Bone, as shown in :ref:`capes_miniDisplay_fig`. 
 
 .. _capes_miniDisplay_fig:
@@ -122,7 +122,7 @@ Attach to the Bone and apply power. Then run the following commands:
 The MiniDisplay uses the Serial Peripheral Interface (SPI) interface, and it's not initialized. 
 The `manufacturer's website <http://bit.ly/1xd0r8p>`_ suggests enabling SPI0 by using the following commands:
 
-.. code-block:: bash
+.. code-block:: shell-session
 
     bone$ export SLOTS=/sys/devices/bone_capemgr.*/slots
     bone$ echo BB-SPIDEV0 &gt; $SLOTS
@@ -130,53 +130,54 @@ The `manufacturer's website <http://bit.ly/1xd0r8p>`_ suggests enabling SPI0 by
 
 Hmmm, something isn't working here. Here's how to see what happened:
 
-.. code-block:: bash
+.. callout::
+
+    .. code-block:: shell-session
     
-    bone$ dmesg | tail
-    [  625.334497] bone_capemgr.9: part_number 'BB-SPIDEV0', version 'N/A'
-    [  625.334673] bone_capemgr.9: slot #11: generic override
-    [  625.334720] bone_capemgr.9: bone: Using override eeprom data at slot 11
-    [  625.334769] bone_capemgr.9: slot #11: 'Override Board Name,00A0,Override \
-                Manuf,BB-SPIDEV0'
-    [  625.335026] bone_capemgr.9: slot #11: \Requesting part number/version based \
-                'BB-SPIDEV0-00A0.dtbo
-    [  625.335076] bone_capemgr.9: slot #11: Requesting firmware \
-                'BB-SPIDEV0-00A0.dtbo' \
-                for board-name 'Override Board Name', version '00A0'
-    [  625.335144] bone_capemgr.9: slot #11: dtbo 'BB-SPIDEV0-00A0.dtbo' loaded; \
-                converting to live tree
-    [  625.341842] bone_capemgr.9: slot #11: BB-SPIDEV0 conflict P9.21 \
-                (#10:bspwm_P9_21_b) <a class="co" id="capemgr_conflict_co" href="#capemgr_conflict" ><img src="callouts/1.png" alt="1"/></a>
-    [  625.351296] bone_capemgr.9: slot #11: Failed verification
+        bone$ dmesg | tail
+        [  625.334497] bone_capemgr.9: part_number 'BB-SPIDEV0', version 'N/A'
+        [  625.334673] bone_capemgr.9: slot #11: generic override
+        [  625.334720] bone_capemgr.9: bone: Using override eeprom data at slot 11
+        [  625.334769] bone_capemgr.9: slot #11: 'Override Board Name,00A0,Override \
+                    Manuf,BB-SPIDEV0'
+        [  625.335026] bone_capemgr.9: slot #11: \Requesting part number/version based \
+                    'BB-SPIDEV0-00A0.dtbo
+        [  625.335076] bone_capemgr.9: slot #11: Requesting firmware \
+                    'BB-SPIDEV0-00A0.dtbo' \
+                    for board-name 'Override Board Name', version '00A0'
+        [  625.335144] bone_capemgr.9: slot #11: dtbo 'BB-SPIDEV0-00A0.dtbo' loaded; \
+                    converting to live tree
+        [  625.341842] bone_capemgr.9: slot #11: BB-SPIDEV0 conflict P9.21 \
+                    (#10:bspwm_P9_21_b) # <1>
+        [  625.351296] bone_capemgr.9: slot #11: Failed verification
+
+    .. annotations::
+
+        <1> Shows there is a conflict for pin <code>P9_21</code>: it's already configured for pulse width modulation (PWM).
 
 
+Here's how to see what's already configured:
 
-.. <dl class="calloutlist">
-..  <dt><a class="co" id="capemgr_conflict" href="#capemgr_conflict_co"><img src="callouts/1.png" alt="1"/></a></dt>
-..   <dd>Shows there is a conflict for pin <code>P9_21</code>: it's already configured for pulse width modulation (PWM).</dd>
-.. </dl>
 
-Here's how to see what's already configured:
+.. callout::
 
-.. code-block:: bash
+    .. code-block:: shell-session
 
-    bone$ cat $SLOTS
-    0: 54:PF--- 
-    1: 55:PF--- 
-    2: 56:PF--- 
-    3: 57:PF--- 
-    4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
-    5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
-    7: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P9_42_27
-    8: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P9_41_27
-    9: ff:P-O-L Override Board Name,00A0,Override Manuf,am33xx_pwm
-    10: ff:P-O-L Override Board Name,00A0,Override Manuf,bspwm_P9_21_b <a class="co" id="capemgr_load_co" href="#capemgr_load"><img src="callouts/1.png" alt="1"/></a>
+        bone$ cat $SLOTS
+        0: 54:PF--- 
+        1: 55:PF--- 
+        2: 56:PF--- 
+        3: 57:PF--- 
+        4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
+        5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
+        7: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P9_42_27
+        8: ff:P-O-L Override Board Name,00A0,Override Manuf,bspm_P9_41_27
+        9: ff:P-O-L Override Board Name,00A0,Override Manuf,am33xx_pwm
+        10: ff:P-O-L Override Board Name,00A0,Override Manuf,bspwm_P9_21_b # <1>
 
+    .. annotations::
 
-.. <dl class="calloutlist">
-..  <dt><a id="capemgr_load" href="#capemgr_load_co"><img src="callouts/1.png" alt="1"/></a></dt>
-..   <dd>You can see the eMMC, HDMI, and three PWMs are already using some of the pins. Slot 10 shows <code>P9_21</code> is in use by a PWM.</dd>
-.. </dl>
+        <1> You can see the eMMC, HDMI, and three PWMs are already using some of the pins. Slot 10 shows <code>P9_21</code> is in use by a PWM.
 
 You can unconfigure it by using the following commands:
 
@@ -431,147 +432,146 @@ the test status with the code in :ref:`capes_quickBot_motor_test_code`.
 Testing the quickBot motors interface (quickBot_motor_test.js)
 ==============================================================
 
-.. code-block:: bash
+.. callout::
+
+    .. code-block:: javascript
+
+        #!/usr/bin/env node
+        var b = require('bonescript');
+        var M1_SPEED    = 'P9_16'; // <1>
+        var M1_FORWARD  = 'P8_15';
+        var M1_BACKWARD = 'P8_13';
+        var M2_SPEED    = 'P9_14';
+        var M2_FORWARD  = 'P8_9';
+        var M2_BACKWARD = 'P8_11';
+        var freq = 50; // <2>
+        var fast = 0.95;
+        var slow = 0.7;
+        var state = 0; // <3>
+
+        b.pinMode(M1_FORWARD, b.OUTPUT); // <4>
+        b.pinMode(M1_BACKWARD, b.OUTPUT);
+        b.pinMode(M2_FORWARD, b.OUTPUT);
+        b.pinMode(M2_BACKWARD, b.OUTPUT);
+        b.analogWrite(M1_SPEED, 0, freq); // <5>
+        b.analogWrite(M2_SPEED, 0, freq);
+
+        updateMotors(); // <6>
+
+        function updateMotors() {
+            //console.log("Setting state = " + state); // <7>
+            updateLEDs(state);
+            switch(state) { // <3>
+                case 0:
+                default:
+                    M1_set(0); // <8>
+                    M2_set(0);
+                    state = 1; // <3>
+                    break;
+                case 1:
+                    M1_set(slow);
+                    M2_set(slow);
+                    state = 2;
+                    break;
+                case 2:
+                    M1_set(slow);
+                    M2_set(-slow);
+                    state = 3;
+                    break;
+                case 3:
+                    M1_set(-slow);
+                    M2_set(slow);
+                    state = 4;
+                    break;
+                case 4:
+                    M1_set(fast);
+                    M2_set(fast);
+                    state = 0;
+                    break;
+            }
+            setTimeout(updateMotors, 2000); // <3>
+        }
 
-    #!/usr/bin/env node
-    var b = require('bonescript');
-    var M1_SPEED    = 'P9_16'; <a class="co" id="co_hello_CO1-1_unique" href="#callout_hello_CO1-1_unique"><img src="callouts/1.png" alt="1"/></a>
-    var M1_FORWARD  = 'P8_15';
-    var M1_BACKWARD = 'P8_13';
-    var M2_SPEED    = 'P9_14';
-    var M2_FORWARD  = 'P8_9';
-    var M2_BACKWARD = 'P8_11';
-    var freq = 50; <a class="co" id="co_hello_CO1-2_unique" href="#callout_hello_CO1-2_unique"><img src="callouts/2.png" alt="2"/></a>
-    var fast = 0.95;
-    var slow = 0.7;
-    var state = 0;  <a class="co" id="co_hello_CO1-3_unique" href="#callout_hello_CO1-3_unique"><img src="callouts/3.png" alt="3"/></a>
-
-    b.pinMode(M1_FORWARD, b.OUTPUT); <a class="co" id="co_hello_CO1-4_unique" href="#callout_hello_CO1-4_unique"><img src="callouts/4.png" alt="4"/></a>
-    b.pinMode(M1_BACKWARD, b.OUTPUT);
-    b.pinMode(M2_FORWARD, b.OUTPUT);
-    b.pinMode(M2_BACKWARD, b.OUTPUT);
-    b.analogWrite(M1_SPEED, 0, freq); <a class="co" id="co_hello_CO1-5_unique" href="#callout_hello_CO1-5_unique"><img src="callouts/5.png" alt="5"/></a>
-    b.analogWrite(M2_SPEED, 0, freq);
-
-    updateMotors(); <a class="co" id="co_hello_CO1-6_unique" href="#callout_hello_CO1-6_unique"><img src="callouts/6.png" alt="6"/></a>
-
-    function updateMotors() { <img src="callouts/6.png" alt="6"/>
-        //console.log("Setting state = " + state); <a class="co" id="co_hello_CO1-7_unique" href="#callout_hello_CO1-7_unique"><img src="callouts/7.png" alt="7"/></a>
-        updateLEDs(state); <img src="callouts/7.png" alt="7"/>
-        switch(state) { <img src="callouts/3.png" alt="3"/>
+        function updateLEDs(state) { // <7>
+            switch(state) {
             case 0:
-            default:
-                M1_set(0); <a class="co" id="co_hello_CO1-8_unique" href="#callout_hello_CO1-8_unique"><img src="callouts/8.png" alt="8"/></a>
-                M2_set(0);
-                state = 1; <img src="callouts/3.png" alt="3"/>
+                b.digitalWrite("USR0", b.LOW);
+                b.digitalWrite("USR1", b.LOW);
+                b.digitalWrite("USR2", b.LOW);
+                b.digitalWrite("USR3", b.LOW);
                 break;
             case 1:
-                M1_set(slow);
-                M2_set(slow);
-                state = 2;
+                b.digitalWrite("USR0", b.HIGH);
+                b.digitalWrite("USR1", b.LOW);
+                b.digitalWrite("USR2", b.LOW);
+                b.digitalWrite("USR3", b.LOW);
                 break;
             case 2:
-                M1_set(slow);
-                M2_set(-slow);
-                state = 3;
+                b.digitalWrite("USR0", b.LOW);
+                b.digitalWrite("USR1", b.HIGH);
+                b.digitalWrite("USR2", b.LOW);
+                b.digitalWrite("USR3", b.LOW);
                 break;
             case 3:
-                M1_set(-slow);
-                M2_set(slow);
-                state = 4;
+                b.digitalWrite("USR0", b.LOW);
+                b.digitalWrite("USR1", b.LOW);
+                b.digitalWrite("USR2", b.HIGH);
+                b.digitalWrite("USR3", b.LOW);
                 break;
             case 4:
-                M1_set(fast);
-                M2_set(fast);
-                state = 0;
+                b.digitalWrite("USR0", b.LOW);
+                b.digitalWrite("USR1", b.LOW);
+                b.digitalWrite("USR2", b.LOW);
+                b.digitalWrite("USR3", b.HIGH);
                 break;
+            }
         }
-        setTimeout(updateMotors, 2000); <img src="callouts/3.png" alt="3"/>
-    }
-
-    function updateLEDs(state) { <img src="callouts/7.png" alt="7"/>
-        switch(state) {
-        case 0:
-            b.digitalWrite("USR0", b.LOW);
-            b.digitalWrite("USR1", b.LOW);
-            b.digitalWrite("USR2", b.LOW);
-            b.digitalWrite("USR3", b.LOW);
-            break;
-        case 1:
-            b.digitalWrite("USR0", b.HIGH);
-            b.digitalWrite("USR1", b.LOW);
-            b.digitalWrite("USR2", b.LOW);
-            b.digitalWrite("USR3", b.LOW);
-            break;
-        case 2:
-            b.digitalWrite("USR0", b.LOW);
-            b.digitalWrite("USR1", b.HIGH);
-            b.digitalWrite("USR2", b.LOW);
-            b.digitalWrite("USR3", b.LOW);
-            break;
-        case 3:
-            b.digitalWrite("USR0", b.LOW);
-            b.digitalWrite("USR1", b.LOW);
-            b.digitalWrite("USR2", b.HIGH);
-            b.digitalWrite("USR3", b.LOW);
-            break;
-        case 4:
-            b.digitalWrite("USR0", b.LOW);
-            b.digitalWrite("USR1", b.LOW);
-            b.digitalWrite("USR2", b.LOW);
-            b.digitalWrite("USR3", b.HIGH);
-            break;
-        }
-    }
-
-    function M1_set(speed) { <img src="callouts/8.png" alt="8"/>
-        speed = (speed &gt; 1) ? 1 : speed; <a class="co" id="co_hello_CO1-9_unique" href="#callout_hello_CO1-9_unique"><img src="callouts/9.png" alt="9"/></a>
-        speed = (speed &lt; -1) ? -1 : speed;
-        b.digitalWrite(M1_FORWARD, b.LOW);
-        b.digitalWrite(M1_BACKWARD, b.LOW);
-        if(speed &gt; 0) {
-            b.digitalWrite(M1_FORWARD, b.HIGH);
-        } else if(speed &lt; 0) {
-            b.digitalWrite(M1_BACKWARD, b.HIGH);
-        }
-        b.analogWrite(M1_SPEED, Math.abs(speed), freq); <a class="co" id="co_hello_CO1-10_unique" href="#callout_hello_CO1-10_unique"><img src="callouts/10.png" alt="10"/></a>
-    }
-
-    function M2_set(speed) {
-        speed = (speed &gt; 1) ? 1 : speed;
-        speed = (speed &lt; -1) ? -1 : speed;
-        b.digitalWrite(M2_FORWARD, b.LOW);
-        b.digitalWrite(M2_BACKWARD, b.LOW);
-        if(speed &gt; 0) {
-            b.digitalWrite(M2_FORWARD, b.HIGH);
-        } else if(speed &lt; 0) {
-            b.digitalWrite(M2_BACKWARD, b.HIGH);
+
+        function M1_set(speed) { <img src="callouts/8.png" alt="8"/>
+            speed = (speed &gt; 1) ? 1 : speed; // <9>
+            speed = (speed &lt; -1) ? -1 : speed;
+            b.digitalWrite(M1_FORWARD, b.LOW);
+            b.digitalWrite(M1_BACKWARD, b.LOW);
+            if(speed &gt; 0) {
+                b.digitalWrite(M1_FORWARD, b.HIGH);
+            } else if(speed &lt; 0) {
+                b.digitalWrite(M1_BACKWARD, b.HIGH);
+            }
+            b.analogWrite(M1_SPEED, Math.abs(speed), freq); // <10>
         }
-        b.analogWrite(M2_SPEED, Math.abs(speed), freq);
 
+        function M2_set(speed) {
+            speed = (speed &gt; 1) ? 1 : speed;
+            speed = (speed &lt; -1) ? -1 : speed;
+            b.digitalWrite(M2_FORWARD, b.LOW);
+            b.digitalWrite(M2_BACKWARD, b.LOW);
+            if(speed &gt; 0) {
+                b.digitalWrite(M2_FORWARD, b.HIGH);
+            } else if(speed &lt; 0) {
+                b.digitalWrite(M2_BACKWARD, b.HIGH);
+            }
+            b.analogWrite(M2_SPEED, Math.abs(speed), freq);
 
-.. <dl class="calloutlist">
-.. <dt><a class="co" id="callout_hello_CO1-1_unique" href="#co_hello_CO1-1_unique"><img src="callouts/1.png" alt="1"/></a></dt>
-.. <dd><p>Define each pin as a variable. This makes it easy to change to another pin if you decide that is necessary.</p></dd>
-.. <dt><a class="co" id="callout_hello_CO1-2_unique" href="#co_hello_CO1-2_unique"><img src="callouts/2.png" alt="2"/></a></dt>
-.. <dd><p>Make other simple parameters variables. Again, this makes it easy to update them. When creating this test, I found that the PWM frequency to drive the motors needed to be relatively low to get over the kickback shown in <a data-type="xref" href="#quickBot_motor_kickback"/>. I also found that I needed to get up to about 70 percent duty cycle for my circuit to reliably start the motors turning.</p></dd>
-.. <dt><a class="co" id="callout_hello_CO1-3_unique" href="#co_hello_CO1-3_unique"><img src="callouts/3.png" alt="3"/></a></dt>
-.. <dd><p>Use a simple variable such as <code>state</code> to keep track of the test phase. This is used in a <code>switch</code> statement to jump to the code to configure for that test phase and updated after configuring for the current phase in order to select the next phase. Note that the next phase isn&#8217;t entered until after a two-second delay, as specified in the call to <code>setTimeout()</code>.</p></dd>
-.. <dt><a class="co" id="callout_hello_CO1-4_unique" href="#co_hello_CO1-4_unique"><img src="callouts/4.png" alt="4"/></a></dt>
-.. <dd><p>Perform the initial setup of all the pins.</p></dd>
-.. <dt><a class="co" id="callout_hello_CO1-5_unique" href="#co_hello_CO1-5_unique"><img src="callouts/5.png" alt="5"/></a></dt>
-.. <dd><p>The first time a PWM pin is used, it is configured with the update frequency. It is important to set this just once to the right frequency, because other PWM channels might use the same PWM controller, and attempts to reset the PWM frequency might fail. The <code>pinMode()</code> function doesn&#8217;t have an argument for providing the update frequency, so use the <code>analogWrite()</code> function, instead. You can review using the PWM in <a data-type="xref" href="#motors_servo"/>.</p></dd>
-.. <dt><a class="co" id="callout_hello_CO1-6_unique" href="#co_hello_CO1-6_unique"><img src="callouts/6.png" alt="6"/></a></dt>
-.. <dd><p><code>updateMotors()</code> is the test function for the motors and is defined after all the setup and initialization code. The code calls this function every two seconds using the <code>setTimeout()</code> JavaScript function. The first call is used to prime the loop.</p></dd>
-.. <dt><a class="co" id="callout_hello_CO1-7_unique" href="#co_hello_CO1-7_unique"><img src="callouts/7.png" alt="7"/></a></dt>
-.. <dd><p>The call to <code>console.log()</code> was initially here to observe the state transitions in the debug console, but it was replaced with the <code>updateLEDs()</code> call. Using the <code>USER</code> LEDs makes it possible to note the state transitions without having visibility of the debug console. <code>updateLEDs()</code> is defined later.</p></dd>
-.. <dt><a class="co" id="callout_hello_CO1-8_unique" href="#co_hello_CO1-8_unique"><img src="callouts/8.png" alt="8"/></a></dt>
-.. <dd><p>The <code>M1_set()</code> and <code>M2_set()</code> functions are defined near the bottom and do the work of configuring the motor drivers into a particular state. They take a single argument of <code>speed</code>, as defined between <code>-1</code> (maximum reverse), <code>0</code> (stop), and <code>1</code> (maximum forward).</p></dd>
-.. <dt><a class="co" id="callout_hello_CO1-9_unique" href="#co_hello_CO1-9_unique"><img src="callouts/9.png" alt="9"/></a></dt>
-.. <dd><p>Perform simple bounds checking to ensure that speed values are between <code>-1</code> and <code>1</code>.</p></dd>
-.. <dt><a class="co" id="callout_hello_CO1-10_unique" href="#co_hello_CO1-10_unique"><img src="callouts/10.png" alt="10"/></a></dt>
-.. <dd><p>The <code>analogWrite()</code> call uses the absolute value of <code>speed</code>, making any negative numbers a positive magnitude.</p></dd>
-.. </dl>
+
+    <1> Define each pin as a variable. This makes it easy to change to another pin if you decide that is necessary.
+
+    <2> Make other simple parameters variables. Again, this makes it easy to update them. When creating this test, I found that the PWM frequency to drive the motors needed to be relatively low to get over the kickback shown in :ref:`quickBot_motor_kickback`. I also found that I needed to get up to about 70 percent duty cycle for my circuit to reliably start the motors turning.
+
+    <3> Use a simple variable such as `state` to keep track of the test phase. This is used in a `switch` statement to jump to the code to configure for that test phase and updated after configuring for the current phase in order to select the next phase. Note that the next phase isn&#8217;t entered until after a two-second delay, as specified in the call to `setTimeout()`.
+
+    <4> Perform the initial setup of all the pins.
+
+    <5> The first time a PWM pin is used, it is configured with the update frequency. It is important to set this just once to the right frequency, because other PWM channels might use the same PWM controller, and attempts to reset the PWM frequency might fail. The <code>pinMode()</code> function doesn&#8217;t have an argument for providing the update frequency, so use the <code>analogWrite()</code> function, instead. You can review using the PWM in :ref:`motors_servo`.
+
+    <6> `updateMotors()` is the test function for the motors and is defined after all the setup and initialization code. The code calls this function every two seconds using the `setTimeout()` JavaScript function. The first call is used to prime the loop.
+
+    <7> The call to `console.log()` was initially here to observe the state transitions in the debug console, but it was replaced with the `updateLEDs()` call. Using the `USER` LEDs makes it possible to note the state transitions without having visibility of the debug console. `updateLEDs()` is defined later.
+
+    <8> The `M1_set()` and `M2_set()` functions are defined near the bottom and do the work of configuring the motor drivers into a particular state. They take a single argument of `speed`, as defined between `-1` (maximum reverse), `0` (stop), and `1` (maximum forward).
+
+    <9> Perform simple bounds checking to ensure that speed values are between `-1` and `1`.
+
+    <10> The `analogWrite()` call uses the absolute value of `speed`, making any negative numbers a positive magnitude.
 
 .. _quickBot_motor_kickback:
 
-- 
GitLab