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] 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