From dbef778bd09303f1033b19349c05688fb136cc9d Mon Sep 17 00:00:00 2001
From: Deepak Khatri <deepaklorkhatri7@gmail.com>
Date: Mon, 18 Jul 2022 13:56:49 -0400
Subject: [PATCH] Add cape interface spec

---
 _static/css/custom.css                        |  23 +-
 support/cape-interface-spec.rst               | 820 ++++++++++++++++++
 support/index.rst                             |   1 +
 .../tables/BeagleBone cape interface spec.ods | Bin 0 -> 23770 bytes
 .../BeagleBone-Cape-header-definition.csv     |  27 +
 support/tables/Bone-LEDs-Overlays.csv         |   3 +
 support/tables/Bone-LEDs.csv                  |  78 ++
 7 files changed, 932 insertions(+), 20 deletions(-)
 create mode 100644 support/cape-interface-spec.rst
 create mode 100644 support/tables/BeagleBone cape interface spec.ods
 create mode 100644 support/tables/BeagleBone-Cape-header-definition.csv
 create mode 100644 support/tables/Bone-LEDs-Overlays.csv
 create mode 100644 support/tables/Bone-LEDs.csv

diff --git a/_static/css/custom.css b/_static/css/custom.css
index 1f6e12d0..19fa99ff 100644
--- a/_static/css/custom.css
+++ b/_static/css/custom.css
@@ -17,12 +17,11 @@
     max-width: 480px;
 }
 
-@media only screen and (min-width: 769px) {
-    .wy-nav-content {
-        max-width: 915px;
-    }
+.wy-nav-content {
+        max-width: 100%;
 }
 
+
 .wy-side-nav-search {
     background-color: #25282b;
     background-color: #25282b;
@@ -38,22 +37,6 @@
     background-color: #25282b;
 }
 
-/* Table display tweaks */
-
-.rst-content table.docutils,
-.wy-table-bordered-all td,
-.rst-content table.docutils td,
-.wy-table thead th,
-.rst-content table.docutils thead th,
-.rst-content table.field-list thead th {
-    border-color: var(--code-border-color);
-}
-
-.wy-table-odd td,
-.wy-table-striped tr:nth-child(2n-1) td,
-.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td {
-    background-color: var(--table-row-odd-background-color);
-}
 
 /* Override table no-wrap */
 /* The first column cells are not verbose, no need to wrap them */
diff --git a/support/cape-interface-spec.rst b/support/cape-interface-spec.rst
new file mode 100644
index 00000000..d970cbf3
--- /dev/null
+++ b/support/cape-interface-spec.rst
@@ -0,0 +1,820 @@
+.. _beaglebone-cape-interface-spec:
+
+BeagleBone cape interface spec
+###############################
+
+This page is a replica of `BeagleBone cape interface spec <https://elinux.org/Beagleboard:BeagleBone_cape_interface_spec>`_ page on elinux.
+
+See `this <https://beagleboard.org/blog/2022-03-31-device-tree-supporting-similar-boards-the-beaglebone-example>`_ blog post on BeagleBoard.org 
+for an introduction on Device Tree: Supporting Similar Boards - The BeagleBone Example. 
+`This <https://docs.google.com/spreadsheets/d/1fE-AsDZvJ-bBwzNBj1_sPDrutvEvsmARqFwvbw_HkrE/edit?usp=sharing>`_ 
+spreadsheet provides a summary of expansion header signals on various BeagleBoard.org board designs. 
+`This <https://elinux.org/Beagleboard:Cape_Expansion_Headers>`_ provides information on Cape Expansion Headers for BeagleBone designs.
+
+.. Note:: Below, when mentioning "Black", this is true for all AM3358-based BeagleBone boards. "AI" is AM5729-based. "AI-64" is TDA4VM-based.
+
+
+.. table:: Overall
+
+	+-----------------------------------------------+-----+------------------------------------+
+	| .. centered:: P8                              |     |    .. centered:: P8                |
+	+===============+=====+======+==================+=====+===========+=====+======+===========+
+	|   Functions   | odd | even |    Functions     |     | Functions | odd | even | Functions |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| USB D+        | E1  | E2   | USB D-           |     | -         | -   | -    | -         |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| 5V OUT        | E3  | E4   | GND              |     | -         | -   | -    | -         |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| GND           | 1   | 2    | GND              |     | GND       | 1   | 2    | GND       |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| 3V3 OUT       | 3   | 4    | 3V3 OUT          |     | D M       | 3   | 4    | D M       |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| 5V IN         | 5   | 6    | 5V IN            |     | D M       | 5   | 6    | D M       |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| 5V OUT        | 7   | 8    | 5V OUT           |     | C2r D     | 7   | 8    | C2t D     |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| PWR BUT       | 9   | 10   | RESET            |     | D         | 9   | 10   | D         |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D U4r         | 11  | 12   | D                |     | D P0o     | 11  | 12   | D Q2a P0o |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D U4t         | 13  | 14   | D E1a            |     | D E2b     | 13  | 14   | D         |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D             | 15  | 16   | D E1b            |     | D P0i     | 15  | 16   | D P0i     |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D I1c S00     | 17  | 18   | D I1d S0o        |     | D         | 17  | 18   | D         |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| C0r D I2c     | 19  | 20   | C0t D I2d        |     | D E2a     | 19  | 20   | D M P1    |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D E0b S0i U2t | 21  | 22   | D E0a S0c U2r    |     | D M P1    | 21  | 22   | D M Q2b   |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D S01         | 23  | 24   | C1r D I3c U1t    |     | D M       | 23  | 24   | D M       |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D P0          | 25  | 26   | C1t D I3d U1r    |     | D M       | 25  | 26   | D         |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D P0 Q0b      | 27  | 28   | D P0 S10         |     | D L P1    | 27  | 28   | D L P1    |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D E S1i P0    | 29  | 30   | D P0 S1o         |     | D L P1    | 29  | 30   | D L P1    |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D E S1c P0    | 31  | 32   | ADC VDD          |     | D L       | 31  | 32   | D L       |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| A4            | 33  | 34   | ADC GND          |     | D L Q1b   | 33  | 34   | D E L     |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| A6            | 35  | 36   | A5               |     | D L Q1a   | 35  | 36   | D E L     |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| A2            | 37  | 38   | A3               |     | D L U5t   | 37  | 38   | D L U5r   |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| A0            | 39  | 40   | A1               |     | D L P1    | 39  | 40   | D L P1    |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| D P0          | 41  | 42   | D Q0a S11 U3t P0 |     | D L P1    | 41  | 42   | D L P1    |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| GND           | 43  | 44   | GND              |     | D L P1    | 43  | 44   | D L P1    |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+	| GND           | 45  | 46   | GND              |     | D E L P1  | 45  | 46   | D E L P1  |
+	+---------------+-----+------+------------------+-----+-----------+-----+------+-----------+
+
+* A: ADC
+* C: CAN
+* D: Digital GPIO
+* E: EHRPWM
+* I: I2C
+* L: LCD
+* M: MMC/SDIO
+* P: PRU
+* Q: eQEP
+* S: SPI
+* U: UART
+
+LEDs
+------
+
+The compatibility layer comes with simple reference nodes for attaching LEDs to any gpio pin. The format followed for these nodes is **led_P8_## / led_P9_##**. The **gpio-leds** driver is used by these reference nodes internally and allows users to easily create compatible led nodes in overlays for Black, AI and AI-64. For the definitions, you can see `bbai-bone-buses.dtsi#L16 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbai-bone-buses.dtsi#L16>`_ & `bbb-bone-buses.dtsi#L16 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbb-bone-buses.dtsi#L16>`_.
+
+Example overlays
+*****************
+
+.. table:: Bone LEDs Overlays
+
+	+---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+	| Header  | Pin  | Overlay                                                                                                                                               |
+	+=========+======+=======================================================================================================================================================+
+	| P8      | 3    | `BONE-LED_P8_03.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BONE-LED_P8_03.dts>`_  |
+	+---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+	| P9      | 11   | `BONE-LED_P9_11.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BONE-LED_P9_11.dts>`_  |
+	+---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Definitions
+************
+
+.. table:: Bone LEDs
+
+	+----------------------------+-------------+----------+-----------+-----------+
+	| LED                        | Header pin  | Black    | AI        | AI-64     |
+	+============================+=============+==========+===========+===========+
+	| /sys/class/leds/led_P8_03  | P8_03       | gpio1_6  | gpio1_24  | gpio0_20  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_04  | P8_04       | gpio1_7  | gpio1_25  | gpio0_48  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_05  | P8_05       | gpio1_2  | gpio7_1   | gpio0_33  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_06  | P8_06       | gpio1_3  | gpio7_2   | gpio0_34  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_07  | P8_07       | gpio2_2  | gpio6_5   | gpio0_15  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_08  | P8_08       | gpio2_3  | gpio6_6   | gpio0_14  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_09  | P8_09       | gpio2_5  | gpio6_18  | gpio0_17  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_10  | P8_10       | gpio2_4  | gpio6_4   | gpio0_16  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_11  | P8_11       | gpio1_13 | gpio3_11  | gpio0_60  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_12  | P8_12       | gpio1_12 | gpio3_10  | gpio0_59  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_13  | P8_13       | gpio0_23 | gpio4_11  | gpio0_89  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_14  | P8_14       | gpio0_26 | gpio4_13  | gpio0_75  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_15  | P8_15       | gpio1_15 | gpio4_3   | gpio0_61  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_16  | P8_16       | gpio1_14 | gpio4_29  | gpio0_62  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_17  | P8_17       | gpio0_27 | gpio8_18  | gpio0_3   |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_18  | P8_18       | gpio2_1  | gpio4_9   | gpio0_4   |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_19  | P8_19       | gpio0_22 | gpio4_10  | gpio0_88  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_20  | P8_20       | gpio1_31 | gpio6_30  | gpio0_76  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_21  | P8_21       | gpio1_30 | gpio6_29  | gpio0_30  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_22  | P8_22       | gpio1_5  | gpio1_23  | gpio0_5   |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_23  | P8_23       | gpio1_4  | gpio1_22  | gpio0_31  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_24  | P8_24       | gpio1_1  | gpio7_0   | gpio0_6   |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_25  | P8_25       | gpio1_0  | gpio6_31  | gpio0_35  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_26  | P8_26       | gpio1_29 | gpio4_28  | gpio0_51  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_27  | P8_27       | gpio2_22 | gpio4_23  | gpio0_71  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_28  | P8_28       | gpio2_24 | gpio4_19  | gpio0_72  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_29  | P8_29       | gpio2_23 | gpio4_22  | gpio0_73  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_30  | P8_30       | gpio2_25 | gpio4_20  | gpio0_74  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_31  | P8_31       | gpio0_10 | gpio8_14  | gpio0_32  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_32  | P8_32       | gpio0_11 | gpio8_15  | gpio0_26  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_33  | P8_33       | gpio0_9  | gpio8_13  | gpio0_25  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_34  | P8_34       | gpio2_17 | gpio8_11  | gpio0_7   |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_35  | P8_35       | gpio0_8  | gpio8_12  | gpio0_24  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_36  | P8_36       | gpio2_16 | gpio8_10  | gpio0_8   |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_37  | P8_37       | gpio2_14 | gpio8_8   | gpio0_106 |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_38  | P8_38       | gpio2_15 | gpio8_9   | gpio0_105 |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_39  | P8_39       | gpio2_12 | gpio8_6   | gpio0_69  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_40  | P8_40       | gpio2_13 | gpio8_7   | gpio0_70  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_41  | P8_41       | gpio2_10 | gpio8_4   | gpio0_67  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_42  | P8_42       | gpio2_11 | gpio8_5   | gpio0_68  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_43  | P8_43       | gpio2_8  | gpio8_2   | gpio0_65  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_44  | P8_44       | gpio2_9  | gpio8_3   | gpio0_66  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_45  | P8_45       | gpio2_6  | gpio8_0   | gpio0_79  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P8_46  | P8_46       | gpio2_7  | gpio8_1   | gpio0_80  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_11  | P9_11       | gpio0_30 | gpio8_17  | gpio0_1   |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_12  | P9_12       | gpio1_28 | gpio5_0   | gpio0_45  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_13  | P9_13       | gpio0_31 | gpio6_12  | gpio0_2   |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_14  | P9_14       | gpio1_18 | gpio4_25  | gpio0_93  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_15  | P9_15       | gpio1_16 | gpio3_12  | gpio0_47  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_16  | P9_16       | gpio1_19 | gpio4_26  | gpio0_94  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_17  | P9_17       | gpio0_5  | gpio7_17  | gpio0_28  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_18  | P9_18       | gpio0_4  | gpio7_16  | gpio0_40  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_19  | P9_19       | gpio0_13 | gpio7_3   | gpio0_78  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_20  | P9_20       | gpio0_12 | gpio7_4   | gpio0_77  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_21  | P9_21       | gpio0_3  | gpio3_3   | gpio0_39  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_22  | P9_22       | gpio0_2  | gpio6_19  | gpio0_38  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_23  | P9_23       | gpio1_17 | gpio7_11  | gpio0_10  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_24  | P9_24       | gpio0_15 | gpio6_15  | gpio0_13  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_25  | P9_25       | gpio3_21 | gpio6_17  | gpio0_127 |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_26  | P9_26       | gpio0_14 | gpio6_14  | gpio0_12  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_27  | P9_27       | gpio3_19 | gpio4_15  | gpio0_46  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_28  | P9_28       | gpio3_17 | gpio4_17  | gpio1_11  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_29  | P9_29       | gpio3_15 | gpio5_11  | gpio0_53  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_30  | P9_30       | gpio3_16 | gpio5_12  | gpio0_44  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_31  | P9_31       | gpio3_14 | gpio5_10  | gpio0_52  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_33  | P9_33       | NA       | NA        | gpio0_50  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_35  | P9_35       | NA       | NA        | gpio0_55  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_36  | P9_36       | NA       | NA        | gpio0_56  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_37  | P9_37       | NA       | NA        | gpio0_57  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_38  | P9_38       | NA       | NA        | gpio0_58  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_39  | P9_39       | NA       | NA        | gpio0_54  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_40  | P9_40       | NA       | NA        | gpio0_81  |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_41  | P9_41       | gpio0_20 | gpio6_20  | gpio1_0   |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_91  | P9_91       | gpio3_20 | NA        | NA        |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_42  | P9_42       | gpio0_7  | gpio4_18  | gpio0_123 |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_P9_92  | P9_92       | gpio3_18 | NA        | NA        |
+	+----------------------------+-------------+----------+-----------+-----------+
+	| /sys/class/leds/led_A15    | A15         | gpio0_19 | NA        | NA        |
+	+----------------------------+-------------+----------+-----------+-----------+
+
+I2C
+----
+
+Compatibility layer provides simple I2C bone bus nodes for creating compatible overlays for Black, AI and AI-64. The format followed for these nodes is '''bone_i2c_#'''. For the definitions, you can see `bbai-bone-buses.dtsi#L388 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbai-bone-buses.dtsi#L388>`_ & `bbb-bone-buses.dtsi#L403 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbb-bone-buses.dtsi#L403>`_.
+
+.. table:: Bone bus I2C
+
+	+------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+
+	| SYSFS            | DT symbol    | Black  | AI    | AI-64      | SCL             | SDA    | Overlay                                                                                                   |
+	+==================+==============+========+=======+============+=================+========+===========================================================================================================+
+	| /dev/bone/i2c/0  | bone_i2c_0   | I2C0   | I2C1  | TBD        | .. centered:: NA (On-board)                                                                                                          |
+	+------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+
+	| /dev/bone/i2c/1  | bone_i2c_1   | I2C1   | I2C5  | MAIN_I2C6  | P9.17           | P9.18  | `BONE-I2C1.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C1.dts>`_     |
+	+------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+
+	| /dev/bone/i2c/2  | bone_i2c_2   | I2C2   | I2C4  | MAIN_I2C3  | P9.19           | P9.20  | `BONE-I2C2.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C2.dts>`_     |
+	+------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+
+	| /dev/bone/i2c/2a | bone_i2c_2a  | I2C2   | N/A   | TBD        | P9.21           | P9.22  | `BONE-I2C2A.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C2A.dts>`_   |
+	+------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+
+	| /dev/bone/i2c/3  | bone_i2c_3   | I2C1   | I2C3  | MAIN_I2C4  | P9.24           | P9.26  | `BONE-I2C3.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C3.dts>`_     |
+	+------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+
+
+
+SPI
+-----
+
+SPI bone bus nodes allow creating compatible overlays for Black, AI and AI-64. For the definitions, you can see `bbai-bone-buses.dtsi#L406 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbai-bone-buses.dtsi#L406>`_ & `bbb-bone-buses.dtsi#L423 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbb-bone-buses.dtsi#L423>`_.
+
+.. table:: Bone bus SPI
+
+	+--------------------+------------+--------+-------+------------+--------+--------+--------+---------------------------------------+--------------------------------------------------------------------------------------------------------------+
+	| Bone bus           | DT symbol  | Black  | AI    | AI-64      | SDO    | SDI    | CLK    | CS                                    | Overlay                                                                                                      |
+	+====================+============+========+=======+============+========+========+========+=======================================+==============================================================================================================+
+	| /dev/bone/spi/0.x  | bone_spi_0 | SPI0   | SPI2  | MAIN_SPI6  | P9.18  | P9.21  | P9.22  | - P9.17 (CS0)                         | - `BONE-SPI0_0.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_spi/src/arm/BONE-SPI0_0.dts>`_  |
+	|                    |            |        |       |            |        |        |        | - P9.23 (CS1 - BBAI and BBAI64 only)  | - `BONE-SPI0_0.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_spi/src/arm/BONE-SPI0_1.dts>`_  |
+	+--------------------+------------+--------+-------+------------+--------+--------+--------+---------------------------------------+--------------------------------------------------------------------------------------------------------------+
+	| /dev/bone/spi/1.x  | bone_spi_1 | SPI1   | SPI3  | MAIN_SPI7  | P9.30  | P9.29  | P9.31  | - P9.28 (CS0)                         | - `BONE-SPI0_0.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_spi/src/arm/BONE-SPI1_0.dts>`_  |
+	|                    |            |        |       |            |        |        |        | - P9.42 (CS1)                         | - `BONE-SPI0_0.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_spi/src/arm/BONE-SPI1_1.dts>`_  |
+	+--------------------+------------+--------+-------+------------+--------+--------+--------+---------------------------------------+--------------------------------------------------------------------------------------------------------------+
+
+UART
+-----
+
+UART bone bus nodes allow creating compatible overlays for Black, AI and AI-64. For the definitions, you can see `bbai-bone-buses.dtsi#L367 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbai-bone-buses.dtsi#L367>`_ & `bbb-bone-buses.dtsi#L382 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbb-bone-buses.dtsi#L382>`_
+
+.. table:: Bone bus UART
+
+	+-------------------+--------+--------+-----------------------+----------------------------------+--------+---------------------------------------------+---------------------------------------------+-----------------------------------------------------------------------------------------------------------+
+	| Bone bus          | Black  | AI     | AI-64                 | TX                               | RX     | RTSn                                        | CTSn                                        | Overlays                                                                                                  |
+	+===================+========+========+=======================+==================================+========+=============================================+=============================================+===========================================================================================================+
+	| /dev/bone/uart/0  | UART0  | UART1  | MAIN_UART0            | .. centered:: NA (console debug header pins)                                                                                                                                                                                                      |
+	+-------------------+--------+--------+-----------------------+----------------------------------+--------+---------------------------------------------+---------------------------------------------+-----------------------------------------------------------------------------------------------------------+
+	| /dev/bone/uart/1  | UART1  | UART10 | MAIN_UART2            | P9.24                            | P9.26  | P9.19 P8.4 (N/A on AM3358)                  | P9.20 P8.3 (N/A on AM3358)                  | `BONE-UART1.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_uart/src/arm/BONE-UART1.dts>`_  |
+	+-------------------+--------+--------+-----------------------+----------------------------------+--------+---------------------------------------------+---------------------------------------------+-----------------------------------------------------------------------------------------------------------+
+	| /dev/bone/uart/2  | UART2  | UART3  | -                     | P9.21                            | P9.22  | P8.38 (N/A on AM5729)                       | P8.37 (N/A on AM5729)                       | `BONE-UART2.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_uart/src/arm/BONE-UART2.dts>`_  |
+	+-------------------+--------+--------+-----------------------+----------------------------------+--------+---------------------------------------------+---------------------------------------------+-----------------------------------------------------------------------------------------------------------+
+	| /dev/bone/uart/3  | UART3  | -      | -                     | P9.42                            | NA    | -                                            | -                                           | `BONE-UART3.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_uart/src/arm/BONE-UART3.dts>`_  |
+	+-------------------+--------+--------+-----------------------+----------------------------------+--------+---------------------------------------------+---------------------------------------------+-----------------------------------------------------------------------------------------------------------+
+	| /dev/bone/uart/4  | UART4  | UART5  | MAIN_UART0 (console)  | P9.13                            | P9.11  | P8.33 (N/A on AM5729) P8.6 (N/A on AM3358)  | P8.35 (N/A on AM5729) P8.5 (N/A on AM3358)  | `BONE-UART4.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_uart/src/arm/BONE-UART4.dts>`_  |
+	+-------------------+--------+--------+-----------------------+----------------------------------+--------+---------------------------------------------+---------------------------------------------+-----------------------------------------------------------------------------------------------------------+
+	| /dev/bone/uart/5  | UART5  | UART8  | MAIN_UART5            | P8.37                            | P8.38  | P8.32                                       | P8.31                                       | `BONE-UART5.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_uart/src/arm/BONE-UART5.dts>`_  |
+	+-------------------+--------+--------+-----------------------+----------------------------------+--------+---------------------------------------------+---------------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+
+CAN
+-----
+
+CAN bone bus nodes allow creating compatible overlays for Black, AI and AI-64. For the definitions, you can see `bbai-bone-buses.dtsi#L440 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbai-bone-buses.dtsi#L440>`_ & `bbb-bone-buses.dtsi#L457 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbb-bone-buses.dtsi#L457>`_.
+
+.. table:: Bone bus CAN
+
+	+------------------+--------+--------------------------+--------+--------+--------+--------------------------------------------------------------------------------------------------------+
+	| Bone bus         | Black  | AI                       | AI-64  | TX     | RX     | Overlays                                                                                               |
+	+==================+========+==========================+========+========+========+========================================================================================================+
+	| /dev/bone/can/0  | CAN0   | -                        | TBD    | P9.20  | P9.19  | `BONE-CAN0.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_can/src/arm/BONE-CAN0.dts>`_  |
+	+------------------+--------+--------------------------+--------+--------+--------+--------------------------------------------------------------------------------------------------------+
+	| /dev/bone/can/1  | CAN1   | CAN2                     | TBD    | P9.26  | P9.24  | `BONE-CAN1.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_can/src/arm/BONE-CAN1.dts>`_  |
+	+------------------+--------+--------------------------+--------+--------+--------+--------------------------------------------------------------------------------------------------------+
+	| /dev/bone/can/2  | -      | CAN1 (rev A2 and later)  | TBD    | P8.8   | P8.7   |                                                                                                        |
+	+------------------+--------+--------------------------+--------+--------+--------+--------------------------------------------------------------------------------------------------------+
+
+ADC
+-------
+
+* TODO: We need a udev rule to make sure the ADC shows up at /dev/bone/adc! There's nothing for sure that IIO devices will show up in the same place.
+* TODO: I think we can also create symlinks for each channel based on which device is there, such that we can do /dev/bone/adc/Px_y 
+
+.. table:: Bone ADC
+
+	+--------+-------------+------------------+------------------+
+	| Index  | Header pin  | Black/AI-64      | AI               |
+	+========+=============+==================+==================+
+	| 0      | P9_39       | in_voltage0_raw  | in_voltage0_raw  |
+	+--------+-------------+------------------+------------------+
+	| 1      | P9_40       | in_voltage1_raw  | in_voltage1_raw  |
+	+--------+-------------+------------------+------------------+
+	| 2      | P9_37       | in_voltage2_raw  | in_voltage3_raw  |
+	+--------+-------------+------------------+------------------+
+	| 3      | P9_38       | in_voltage3_raw  | in_voltage2_raw  |
+	+--------+-------------+------------------+------------------+
+	| 4      | P9_33       | in_voltage4_raw  | in_voltage7_raw  |
+	+--------+-------------+------------------+------------------+
+	| 5      | P9_36       | in_voltage5_raw  | in_voltage6_raw  |
+	+--------+-------------+------------------+------------------+
+	| 6      | P9_35       | in_voltage6_raw  | in_voltage4_raw  |
+	+--------+-------------+------------------+------------------+
+
+
+.. table:: Bone ADC Overlay
+
+	+-----------+----------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------+
+	| Black     | AI                   | AI-64  | overlay                                                                                                                                   |
+	+===========+======================+========+===========================================================================================================================================+
+	| Internal  | External (STMPE811)  | TBD    | `BONE-ADC.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BONE-ADC.dts>`_  |
+	+-----------+----------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------+
+
+
+PWM
+-------
+
+PWM bone bus nodes allow creating compatible overlays for Black, AI and AI-64. For the definitions, you can see `bbai-bone-buses.dtsi#L415 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbai-bone-buses.dtsi#L415>`_ & `bbb-bone-buses.dtsi#L432 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbb-bone-buses.dtsi#L432>`_
+
+.. table:: Bone bus PWM
+
+	+------------------+--------+-------+--------+--------+--------+--------------------------------------------------------------------------------------------------------+
+	| Bone bus         | Black  | AI    | AI-64  | A      | B      | Overlay                                                                                                |
+	+==================+========+=======+========+========+========+========================================================================================================+
+	| /dev/bone/pwm/0  | PWM0   | -     | PWM1   | P9.22  | P9.21  | `BONE-PWM0.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_pwm/src/arm/BONE-PWM0.dts>`_  |
+	+------------------+--------+-------+--------+--------+--------+--------------------------------------------------------------------------------------------------------+
+	| /dev/bone/pwm/1  | PWM1   | PWM3  | PWM2   | P9.14  | P9.16  | `BONE-PWM1.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_pwm/src/arm/BONE-PWM1.dts>`_  |
+	+------------------+--------+-------+--------+--------+--------+--------------------------------------------------------------------------------------------------------+
+	| /dev/bone/pwm/2  | PWM2   | PWM2  | PWM0   | P8.19  | P8.13  | `BONE-PWM2.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_pwm/src/arm/BONE-PWM2.dts>`_  |
+	+------------------+--------+-------+--------+--------+--------+--------------------------------------------------------------------------------------------------------+
+
+TIMER PWM
+-------------
+
+TIMER PWM bone bus uses ti,omap-dmtimer-pwm driver, and timer nodes that allow creating compatible overlays for Black, AI and AI-64. For the timer node definitions, you can see `bbai-bone-buses.dtsi#L449 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbai-bone-buses.dtsi#L449>`_ & `bbb-bone-buses.dtsi#L466 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbb-bone-buses.dtsi#L466>`_.
+
+.. table:: Bone TIMER PWMs
+
+	+----------------------------------------------+-------------+--------+----------+-------------------------------------------------------------------------------------------------------------------------+
+	| Bone bus                                     | Header pin  | Black  | AI       | overlay                                                                                                                 |
+	+==============================================+=============+========+==========+=========================================================================================================================+
+	| /sys/bus/platform/devices/bone_timer_pwm_0/  | P8.10       | timer6 | timer10  | `BONE-TIMER_PWM_0.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_0.dts>`_   |
+	+----------------------------------------------+-------------+--------+----------+-------------------------------------------------------------------------------------------------------------------------+
+	| /sys/bus/platform/devices/bone_timer_pwm_1/  | P8.07       | timer4 | timer11  | `BONE-TIMER_PWM_1.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_1.dts>`_   |
+	+----------------------------------------------+-------------+--------+----------+-------------------------------------------------------------------------------------------------------------------------+
+	| /sys/bus/platform/devices/bone_timer_pwm_2/  | P8.08       | timer7 | timer12  | `BONE-TIMER_PWM_2.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_2.dts>`_   |
+	+----------------------------------------------+-------------+--------+----------+-------------------------------------------------------------------------------------------------------------------------+
+	| /sys/bus/platform/devices/bone_timer_pwm_3/  | P9.21       | -      | timer13  | `BONE-TIMER_PWM_3.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_3.dts>`_   |
+	+----------------------------------------------+-------------+--------+----------+-------------------------------------------------------------------------------------------------------------------------+
+	| /sys/bus/platform/devices/bone_timer_pwm_4/  | P8.09       | timer5 | timer14  | `BONE-TIMER_PWM_4.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_4.dts>`_   |
+	+----------------------------------------------+-------------+--------+----------+-------------------------------------------------------------------------------------------------------------------------+
+	| /sys/bus/platform/devices/bone_timer_pwm_5/  | P9.22       | -      | timer15  | `BONE-TIMER_PWM_5.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_timer/src/arm/BONE-TIMER_PWM_5.dts>`_   |
+	+----------------------------------------------+-------------+--------+----------+-------------------------------------------------------------------------------------------------------------------------+
+
+
+eCAP
+-------
+
+#TODO: This doesn't include any abstraction yet.
+
+.. table:: Black eCAP PWMs
+
+	+-----------------------------------------------+-------------+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+	| Bone bus                                      | Header pin  | peripheral         | overlay                                                                                                                                     |
+	+===============================================+=============+====================+=============================================================================================================================================+
+	| /sys/bus/platform/drivers/ecap/48302100.ecap  | P9.42       | eCAP0_in_PWM0_out  | `BBB-ECAP0.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BBB-ECAP0.dts>`_  |
+	+-----------------------------------------------+-------------+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+	| /sys/bus/platform/drivers/ecap/48304100.ecap  | P9.28       | eCAP2_in_PWM2_out  | `BBB-ECAP2.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BBB-ECAP2.dts>`_  |
+	+-----------------------------------------------+-------------+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. table:: AI eCAP PWMs
+
+	+-----------------------------------------------+-------------+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+	| Bone bus                                      | Header pin  | peripheral         | overlay                                                                                                                                        |
+	+===============================================+=============+====================+================================================================================================================================================+
+	| /sys/bus/platform/drivers/ecap/4843e100.ecap  | P8.15       | eCAP1_in_PWM1_out  | `BBAI-ECAP1.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BBAI-ECAP1.dts>`_   |
+	+-----------------------------------------------+-------------+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+	| /sys/bus/platform/drivers/ecap/48440100.ecap  | P8.14       | eCAP2_in_PWM2_out  | `BBAI-ECAP2.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BBAI-ECAP2.dts>`_   |
+	+-----------------------------------------------+-------------+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+	| /sys/bus/platform/drivers/ecap/48440100.ecap  | P8.20       | eCAP2_in_PWM2_out  | `BBAI-ECAP2A.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BBAI-ECAP2A.dts>`_ |
+	+-----------------------------------------------+-------------+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+	| /sys/bus/platform/drivers/ecap/48442100.ecap  | P8.04       | eCAP3_in_PWM3_out  | `BBAI-ECAP3.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BBAI-ECAP3.dts>`_   |
+	+-----------------------------------------------+-------------+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+	| /sys/bus/platform/drivers/ecap/48442100.ecap  | P8.26       | eCAP3_in_PWM3_out  | `BBAI-ECAP3A.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BBAI-ECAP3A.dts>`_ |
+	+-----------------------------------------------+-------------+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+
+
+eMMC
+------
+
+.. table:: Bone eMMC
+
+	+-------------+--------------+
+	| Header pin  | Description  |
+	+=============+==============+
+	| P8.3        | DAT6         |
+	+-------------+--------------+
+	| P8.4        | DAT7         |
+	+-------------+--------------+
+	| P8.5        | DAT2         |
+	+-------------+--------------+
+	| P8.6        | DAT3         |
+	+-------------+--------------+
+	| P8.20       | CMD          |
+	+-------------+--------------+
+	| P8.21       | CLK          |
+	+-------------+--------------+
+	| P8.22       | DAT5         |
+	+-------------+--------------+
+	| P8.23       | DAT4         |
+	+-------------+--------------+
+	| P8.24       | DAT1         |
+	+-------------+--------------+
+	| P8.25       | DAT0         |
+	+-------------+--------------+
+
+.. table:: Bone eMMC Overlay
+
+	+--------+-------+---------------------------------------------------------------------------------------------------------------------------------------------+
+	| Black  | AI    | overlay                                                                                                                                     |
+	+========+=======+=============================================================================================================================================+
+	| MMC2   | MMC3  | `BONE-eMMC.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BONE-eMMC.dts>`_  |
+	+--------+-------+---------------------------------------------------------------------------------------------------------------------------------------------+
+
+
+LCD
+------
+
+.. table:: 16bit LCD interface
+
+	+-------------+-----------------+
+	| Header pin  | Description     |
+	+=============+=================+
+	| P8_45       | lcd_data0       |
+	+-------------+-----------------+
+	| P8_46       | lcd_data1       |
+	+-------------+-----------------+
+	| P8_43       | lcd_data2       |
+	+-------------+-----------------+
+	| P8_44       | lcd_data3       |
+	+-------------+-----------------+
+	| P8_41       | lcd_data4       |
+	+-------------+-----------------+
+	| P8_42       | lcd_data5       |
+	+-------------+-----------------+
+	| P8_39       | lcd_data6       |
+	+-------------+-----------------+
+	| P8_40       | lcd_data7       |
+	+-------------+-----------------+
+	| P8_37       | lcd_data8       |
+	+-------------+-----------------+
+	| P8_38       | lcd_data9       |
+	+-------------+-----------------+
+	| P8_36       | lcd_data10      |
+	+-------------+-----------------+
+	| P8_34       | lcd_data11      |
+	+-------------+-----------------+
+	| P8_35       | lcd_data12      |
+	+-------------+-----------------+
+	| P8_33       | lcd_data13      |
+	+-------------+-----------------+
+	| P8_31       | lcd_data14      |
+	+-------------+-----------------+
+	| P8_32       | lcd_data15      |
+	+-------------+-----------------+
+	| P8_27       | lcd_vsync       |
+	+-------------+-----------------+
+	| P8_29       | lcd_hsync       |
+	+-------------+-----------------+
+	| P8_28       | lcd_pclk        |
+	+-------------+-----------------+
+	| P8_30       | lcd_ac_bias_en  |
+	+-------------+-----------------+
+
+.. table:: 16bit LCD interface Overlay
+
+	+--------+-----+----------+
+	| Black  | AI  | overlay  |
+	+========+=====+==========+
+	| lcdc   | dss |          |
+	+--------+-----+----------+
+
+
+eQEP
+--------
+
+On BeagleBone's without an eQEP on specific pins, consider using the PRU to perform a software counter function.
+
+.. table:: Bone eQEP
+
+	+----------------------+--------+--------+--------+--------+--------+-------------------------------+-------------------------------+----------+
+	| Bone bus             | Black  | AI     | AI-64  | A      | B      | strobe                        | index                         | overlay  |
+	+======================+========+========+========+========+========+===============================+===============================+==========+
+	| /dev/bone/counter/0  | eQEP0  | eQEP2  | eQEP0  | P9.42  | P9.27  | - Black/AI-64: P9.25          | - Black/AI-64: P9.41          |          |
+	|                      |        |        |        |        |        | - AI: P8.06                   | - AI: P8.05                   |          |
+	+----------------------+--------+--------+--------+--------+--------+-------------------------------+-------------------------------+----------+
+	| /dev/bone/counter/1  | eQEP1  | eQEP0  | eQEP1  | P8.35  | P8.33  | - Black/AI-64: P8.32          | - Black/AI-64: P8.31          |          |
+	|                      |        |        |        |        |        | - AI: P9.21                   | - AI: ‒                       |          |
+	+----------------------+--------+--------+--------+--------+--------+-------------------------------+-------------------------------+----------+
+	| /dev/bone/counter/2  | eQEP2  | eQEP1  | ‒      | P8.12  | P8.22  | - Black: P8.15                | - Black: P8.16                |          |
+	|                      |        |        |        |        |        | - AI: P8.18                   | - AI: P9.15                   |          |
+	+----------------------+--------+--------+--------+--------+--------+-------------------------------+-------------------------------+----------+
+
+
+McASP
+---------
+
+.. table:: Bone McASP0
+
+	+-------------+-----------------------+
+	| Header pin  | Description           |
+	+=============+=======================+
+	| P9.12       | aclkr                 |
+	+-------------+-----------------------+
+	| P9.25       | ahclkx                |
+	+-------------+-----------------------+
+	| P9.27       | fsr                   |
+	+-------------+-----------------------+
+	| P9.28       | Black: axr2 AI: axr9  |
+	+-------------+-----------------------+
+	| P9.29       | fsx                   |
+	+-------------+-----------------------+
+	| P9.30       | Black: axr0 AI: axr10 |
+	+-------------+-----------------------+
+	| P9.31       | aclkx                 |
+	+-------------+-----------------------+
+
+.. table:: Bone McASP0 Overlay
+
+	+--------+---------+----------+
+	| Black  | AI      | overlay  |
+	+========+=========+==========+
+	| McASP0 | McASP1  |          |
+	+--------+---------+----------+
+
+PRU
+-------
+
+The overlay situation for PRUs is a bit more complex than with other peripherals. The mechanism for loading, starting and stopping the PRUs can go through either [https://www.kernel.org/doc/html/latest/driver-api/uio-howto.html UIO] or [https://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components/PRU-ICSS/Linux_Drivers/RemoteProc_and_RPMsg.html RemoteProc].
+
+* /dev/remoteproc/prussX-coreY (AM3358 X = "", other x = "1|2")
+
+.. table:: Bone PRU eCAP
+
+	+-------------+------------+------------+
+	| Header Pin  | Black      | AI         |
+	+=============+============+============+
+	| P8.15       | pr1_ecap0  | pr1_ecap0  |
+	+-------------+------------+------------+
+	| P8.32       | -          | pr2_ecap0  |
+	+-------------+------------+------------+
+	| P9.42       | pr1_ecap0  | -          |
+	+-------------+------------+------------+
+
+.. table:: AI PRU UART
+
+	+-------------+--------+--------+-------+-------+-----------+
+	| UART        | TX     | RX     | RTSn  | CTSn  | Overlays  |
+	+=============+========+========+=======+=======+===========+
+	| PRU1 UART0  | P8_31  | P8_33  | P8_34 | P8_35 |           |
+	+-------------+--------+--------+-------+-------+-----------+
+	| PRU2 UART0  | P8_43  | P8_44  | P8_45 | P8_46 |           |
+	+-------------+--------+--------+-------+-------+-----------+
+
+.. table:: Bone PRU
+
+	+-------------+--------------------+------------------+
+	| Header Pin  | Black              | AI               |
+	+=============+====================+==================+
+	| P8.03       | -                  | pr2_pru0 10      |
+	+-------------+--------------------+------------------+
+	| P8.04       | -                  | pr2_pru0 11      |
+	+-------------+--------------------+------------------+
+	| P8.05       | -                  | pr2_pru0 06      |
+	+-------------+--------------------+------------------+
+	| P8.06       | -                  | pr2_pru0 07      |
+	+-------------+--------------------+------------------+
+	| P8.07       | -                  | pr2_pru1 16      |
+	+-------------+--------------------+------------------+
+	| P8.08       | -                  | pr2_pru0 20      |
+	+-------------+--------------------+------------------+
+	| P8.09       | -                  | pr2_pru1 06      |
+	+-------------+--------------------+------------------+
+	| P8.10       | -                  | pr2_pru1 15      |
+	+-------------+--------------------+------------------+
+	| P8.11       | pr1_pru0 15 (Out)  | pr1_pru0 04      |
+	+-------------+--------------------+------------------+
+	| P8.12       | pr1_pru0 14 (Out)  | pr1_pru0 03      |
+	+-------------+--------------------+------------------+
+	| P8.13       | -                  | pr1_pru1 07      |
+	+-------------+--------------------+------------------+
+	| P8.14       | -                  | pr1_pru1 09      |
+	+-------------+--------------------+------------------+
+	| P8.15       | pr1_pru0 15 (In)   | pr1_pru1 16      |
+	+-------------+--------------------+------------------+
+	| P8.16       | pr1_pru0 14 (In)   | pr1_pru1 18      |
+	+-------------+--------------------+------------------+
+	| P8.17       | -                  | pr2_pru0 15      |
+	+-------------+--------------------+------------------+
+	| P8.18       | -                  | pr1_pru1 05      |
+	+-------------+--------------------+------------------+
+	| P8.19       | -                  | pr1_pru1 06      |
+	+-------------+--------------------+------------------+
+	| P8.20       | -                  | pr2_pru0 03      |
+	+-------------+--------------------+------------------+
+	| P8.21       | -                  | pr2_pru0 02      |
+	+-------------+--------------------+------------------+
+	| P8.22       | -                  | pr2_pru0 09      |
+	+-------------+--------------------+------------------+
+	| P8.23       | -                  | pr2_pru0 08      |
+	+-------------+--------------------+------------------+
+	| P8.24       | -                  | pr2_pru0 05      |
+	+-------------+--------------------+------------------+
+	| P8.25       | -                  | pr2_pru0 04      |
+	+-------------+--------------------+------------------+
+	| P8.26       | -                  | pr1_pru1 17      |
+	+-------------+--------------------+------------------+
+	| P8.27       | -                  | pr2_pru1 17      |
+	+-------------+--------------------+------------------+
+	| P8.28       | -                  | pr2_pru0 17      |
+	+-------------+--------------------+------------------+
+	| P8.29       | -                  | pr2_pru0 18      |
+	+-------------+--------------------+------------------+
+	| P8.30       | -                  | pr2_pru0 19      |
+	+-------------+--------------------+------------------+
+	| P8.31       | -                  | pr2_pru0 11      |
+	+-------------+--------------------+------------------+
+	| P8.32       | -                  | pr2_pru1 00      |
+	+-------------+--------------------+------------------+
+	| P8.33       | -                  | pr2_pru0 10      |
+	+-------------+--------------------+------------------+
+	| P8.34       | -                  | pr2_pru0 08      |
+	+-------------+--------------------+------------------+
+	| P8.35       | -                  | pr2_pru0 09      |
+	+-------------+--------------------+------------------+
+	| P8.36       | -                  | pr2_pru0 07      |
+	+-------------+--------------------+------------------+
+	| P8.37       | -                  | pr2_pru0 05      |
+	+-------------+--------------------+------------------+
+	| P8.38       | -                  | pr2_pru0 06      |
+	+-------------+--------------------+------------------+
+	| P8.39       | -                  | pr2_pru0 03      |
+	+-------------+--------------------+------------------+
+	| P8.40       | -                  | pr2_pru0 04      |
+	+-------------+--------------------+------------------+
+	| P8.41       | -                  | pr2_pru0 01      |
+	+-------------+--------------------+------------------+
+	| P8.42       | -                  | pr2_pru0 02      |
+	+-------------+--------------------+------------------+
+	| P8.43       | -                  | pr2_pru1 20      |
+	+-------------+--------------------+------------------+
+	| P8.44       | -                  | pr2_pru0 00      |
+	+-------------+--------------------+------------------+
+	| P8.45       | -                  | pr2_pru1 18      |
+	+-------------+--------------------+------------------+
+	| P8.46       | -                  | pr2_pru1 19      |
+	+-------------+--------------------+------------------+
+	| P9.11       | -                  | pr2_pru0 14      |
+	+-------------+--------------------+------------------+
+	| P9.13       | -                  | pr2_pru0 15      |
+	+-------------+--------------------+------------------+
+	| P9.14       | -                  | pr1_pru1 14      |
+	+-------------+--------------------+------------------+
+	| P9.15       | -                  | pr1_pru0 5       |
+	+-------------+--------------------+------------------+
+	| P9.16       | -                  | pr1_pru1 15      |
+	+-------------+--------------------+------------------+
+	| P9.17       | -                  | pr2_pru1 09      |
+	+-------------+--------------------+------------------+
+	| P9.18       | -                  | pr2_pru1 08      |
+	+-------------+--------------------+------------------+
+	| P9.19       | -                  | pr1_pru1 02      |
+	+-------------+--------------------+------------------+
+	| P9.20       | -                  | pr1_pru1 01      |
+	+-------------+--------------------+------------------+
+	| P9.24       | pr1_pru0 16 (In)   | -                |
+	+-------------+--------------------+------------------+
+	| P9.25       | pr1_pru0 07        | pr2_pru1 05      |
+	+-------------+--------------------+------------------+
+	| P9.26       | pr1_pru1 16 (In)   | pr1_pru0 17      |
+	+-------------+--------------------+------------------+
+	| P9.27       | pr1_pru0 05        | pr1_pru1 11      |
+	+-------------+--------------------+------------------+
+	| P9.28       | pr1_pru0 03        | pr2_pru1 13      |
+	+-------------+--------------------+------------------+
+	| P9.29       | pr1_pru0 01        | pr2_pru1 11      |
+	+-------------+--------------------+------------------+
+	| P9.30       | pr1_pru0 02        | pr2_pru1 12      |
+	+-------------+--------------------+------------------+
+	| P9.31       | pr1_pru0 00        | pr2_pru1 10      |
+	+-------------+--------------------+------------------+
+	| P9.41       | pr1_pru0 06        | pr1_pru1 03      |
+	+-------------+--------------------+------------------+
+	| P9.42       | pr1_pru0 04        | pr1_pru1 10      |
+	+-------------+--------------------+------------------+
+
+GPIO
+----------
+
+TODO<br>
+For each of the pins with a GPIO, there should be a symlink that comes from the names 
+*
+
+Methodology
+---------------
+
+The methodology for applied in the kernel and software images to expose the software interfaces is to be documented here. The most fundamental elements are the device tree entries, including overlays, and udev rules.
+
+Device Trees
+-------------
+
+udev rules
+--------------
+
+10-of-symlink.rules
+**********************
+
+.. code-block::
+
+	#From: https://github.com/mvduin/py-uio/blob/master/etc/udev/rules.d/10-of-symlink.rules
+	# allow declaring a symlink for a device in DT
+	ATTR{device/of_node/symlink}!="", \
+		ENV{OF_SYMLINK}="%s{device/of_node/symlink}"
+
+	ENV{OF_SYMLINK}!="", ENV{DEVNAME}!="", \
+		SYMLINK+="%E{OF_SYMLINK}", \
+		TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/dev/%E{OF_SYMLINK}"
+
+TBD
+****************
+
+.. code-block::
+
+	# Also courtesy of mvduin
+	# create symlinks for gpios exported to sysfs by DT
+	SUBSYSTEM=="gpio", ACTION=="add", TEST=="value", ATTR{label}!="sysfs", \
+			RUN+="/bin/mkdir -p /dev/bone/gpio", \
+			RUN+="/bin/ln -sT '/sys/class/gpio/%k' /dev/bone/gpio/%s{label}"
+
+
+Verification
+----------------
+
+TODO: The steps used to verify all of these configurations is to be documented here. It will serve to document what has been tested, how to reproduce the configurations, and how to verify each major triannual release. All faults will be documented in the issue tracker.
+
+References
+-------------
+
+- `Device Tree: Supporting Similar Boards - The BeagleBone Example <https://beagleboard.org/blog/2022-03-31-device-tree-supporting-similar-boards-the-beaglebone-example>`_
+- `Google drive with summary of expansion signals on various BeagleBoard.org designs <https://docs.google.com/spreadsheets/d/1fE-AsDZvJ-bBwzNBj1_sPDrutvEvsmARqFwvbw_HkrE/edit?usp=sharing>`_
+- `Beagleboard:Cape Expansion Headers <https://elinux.org/Beagleboard:Cape_Expansion_Headers>`_
diff --git a/support/index.rst b/support/index.rst
index f44b8a58..3077a483 100644
--- a/support/index.rst
+++ b/support/index.rst
@@ -10,3 +10,4 @@ Support
 
    overview.rst
    getting-started.rst
+   cape-interface-spec.rst
diff --git a/support/tables/BeagleBone cape interface spec.ods b/support/tables/BeagleBone cape interface spec.ods
new file mode 100644
index 0000000000000000000000000000000000000000..30c5b7cf53325db42e636e55827bda7fc79d65d8
GIT binary patch
literal 23770
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

literal 0
HcmV?d00001

diff --git a/support/tables/BeagleBone-Cape-header-definition.csv b/support/tables/BeagleBone-Cape-header-definition.csv
new file mode 100644
index 00000000..7f7ddb13
--- /dev/null
+++ b/support/tables/BeagleBone-Cape-header-definition.csv
@@ -0,0 +1,27 @@
+P9,,,,  ,P8 ,,,
+Functions,odd,even,Functions, ,Functions,odd,even,Functions 
+USB D+,E1,E2,USB D-, ,-,-,-,- 
+5V OUT,E3,E4,GND, ,-,-,-,- 
+GND,1,2,GND, ,GND,1,2,GND 
+3V3 OUT,3,4,3V3 OUT, ,D M,3,4,D M 
+5V IN,5,6,5V IN, ,D M,5,6,D M 
+5V OUT,7,8,5V OUT, ,C2r D,7,8,C2t D 
+PWR BUT,9,10,RESET, ,D,9,10,D 
+D U4r,11,12,D, ,D P0o,11,12,D Q2a P0o 
+D U4t,13,14,D E1a, ,D E2b,13,14,D 
+D,15,16,D E1b, ,D P0i,15,16,D P0i 
+D I1c S00,17,18,D I1d S0o, ,D,17,18,D 
+C0r D I2c,19,20,C0t D I2d, ,D E2a,19,20,D M P1 
+D E0b S0i U2t,21,22,D E0a S0c U2r, ,D M P1,21,22,D M Q2b 
+D S01,23,24,C1r D I3c U1t, ,D M,23,24,D M 
+D P0,25,26,C1t D I3d U1r, ,D M,25,26,D 
+D P0 Q0b,27,28,D P0 S10, ,D L P1,27,28,D L P1 
+D E S1i P0,29,30,D P0 S1o, ,D L P1,29,30,D L P1 
+D E S1c P0,31,32,ADC VDD, ,D L,31,32,D L 
+A4,33,34,ADC GND, ,D L Q1b,33,34,D E L 
+A6,35,36,A5, ,D L Q1a,35,36,D E L 
+A2,37,38,A3, ,D L U5t,37,38,D L U5r 
+A0,39,40,A1, ,D L P1,39,40,D L P1 
+D P0,41,42,D Q0a S11 U3t P0, ,D L P1,41,42,D L P1 
+GND,43,44,GND, ,D L P1,43,44,D L P1 
+GND,45,46,GND, ,D E L P1,45,46,D E L P1 
diff --git a/support/tables/Bone-LEDs-Overlays.csv b/support/tables/Bone-LEDs-Overlays.csv
new file mode 100644
index 00000000..e5fda3aa
--- /dev/null
+++ b/support/tables/Bone-LEDs-Overlays.csv
@@ -0,0 +1,3 @@
+Header,Pin,Overlay 
+P8,3,`BONE-LED_P8_03.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BONE-LED_P8_03.dts>`_ 
+P9,11,`BONE-LED_P9_11.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BONE-LED_P9_11.dts>`_
diff --git a/support/tables/Bone-LEDs.csv b/support/tables/Bone-LEDs.csv
new file mode 100644
index 00000000..c43e24ad
--- /dev/null
+++ b/support/tables/Bone-LEDs.csv
@@ -0,0 +1,78 @@
+LED,Header pin,Black,AI,AI-64 
+/sys/class/leds/led_P8_03 ,P8_03,gpio1_6,gpio1_24,gpio0_20 
+/sys/class/leds/led_P8_04 ,P8_04,gpio1_7,gpio1_25,gpio0_48 
+/sys/class/leds/led_P8_05 ,P8_05,gpio1_2,gpio7_1,gpio0_33 
+/sys/class/leds/led_P8_06 ,P8_06,gpio1_3,gpio7_2,gpio0_34 
+/sys/class/leds/led_P8_07 ,P8_07,gpio2_2,gpio6_5,gpio0_15 
+/sys/class/leds/led_P8_08 ,P8_08,gpio2_3,gpio6_6,gpio0_14 
+/sys/class/leds/led_P8_09 ,P8_09,gpio2_5,gpio6_18,gpio0_17 
+/sys/class/leds/led_P8_10 ,P8_10,gpio2_4,gpio6_4,gpio0_16 
+/sys/class/leds/led_P8_11 ,P8_11,gpio1_13,gpio3_11,gpio0_60 
+/sys/class/leds/led_P8_12 ,P8_12,gpio1_12,gpio3_10,gpio0_59 
+/sys/class/leds/led_P8_13 ,P8_13,gpio0_23,gpio4_11,gpio0_89 
+/sys/class/leds/led_P8_14 ,P8_14,gpio0_26,gpio4_13,gpio0_75 
+/sys/class/leds/led_P8_15 ,P8_15,gpio1_15,gpio4_3,gpio0_61 
+/sys/class/leds/led_P8_16 ,P8_16,gpio1_14,gpio4_29,gpio0_62 
+/sys/class/leds/led_P8_17 ,P8_17,gpio0_27,gpio8_18,gpio0_3 
+/sys/class/leds/led_P8_18 ,P8_18,gpio2_1,gpio4_9,gpio0_4 
+/sys/class/leds/led_P8_19 ,P8_19,gpio0_22,gpio4_10,gpio0_88 
+/sys/class/leds/led_P8_20 ,P8_20,gpio1_31,gpio6_30,gpio0_76 
+/sys/class/leds/led_P8_21 ,P8_21,gpio1_30,gpio6_29,gpio0_30 
+/sys/class/leds/led_P8_22 ,P8_22,gpio1_5,gpio1_23,gpio0_5 
+/sys/class/leds/led_P8_23 ,P8_23,gpio1_4,gpio1_22,gpio0_31 
+/sys/class/leds/led_P8_24 ,P8_24,gpio1_1,gpio7_0,gpio0_6 
+/sys/class/leds/led_P8_25 ,P8_25,gpio1_0,gpio6_31,gpio0_35 
+/sys/class/leds/led_P8_26 ,P8_26,gpio1_29,gpio4_28,gpio0_51 
+/sys/class/leds/led_P8_27 ,P8_27,gpio2_22,gpio4_23,gpio0_71 
+/sys/class/leds/led_P8_28 ,P8_28,gpio2_24,gpio4_19,gpio0_72 
+/sys/class/leds/led_P8_29 ,P8_29,gpio2_23,gpio4_22,gpio0_73 
+/sys/class/leds/led_P8_30 ,P8_30,gpio2_25,gpio4_20,gpio0_74 
+/sys/class/leds/led_P8_31 ,P8_31,gpio0_10,gpio8_14,gpio0_32 
+/sys/class/leds/led_P8_32 ,P8_32,gpio0_11,gpio8_15,gpio0_26 
+/sys/class/leds/led_P8_33 ,P8_33,gpio0_9,gpio8_13,gpio0_25 
+/sys/class/leds/led_P8_34 ,P8_34,gpio2_17,gpio8_11,gpio0_7 
+/sys/class/leds/led_P8_35 ,P8_35,gpio0_8,gpio8_12,gpio0_24 
+/sys/class/leds/led_P8_36 ,P8_36,gpio2_16,gpio8_10,gpio0_8 
+/sys/class/leds/led_P8_37 ,P8_37,gpio2_14,gpio8_8,gpio0_106 
+/sys/class/leds/led_P8_38 ,P8_38,gpio2_15,gpio8_9,gpio0_105 
+/sys/class/leds/led_P8_39 ,P8_39,gpio2_12,gpio8_6,gpio0_69 
+/sys/class/leds/led_P8_40 ,P8_40,gpio2_13,gpio8_7,gpio0_70 
+/sys/class/leds/led_P8_41 ,P8_41,gpio2_10,gpio8_4,gpio0_67 
+/sys/class/leds/led_P8_42 ,P8_42,gpio2_11,gpio8_5,gpio0_68 
+/sys/class/leds/led_P8_43 ,P8_43,gpio2_8,gpio8_2,gpio0_65 
+/sys/class/leds/led_P8_44 ,P8_44,gpio2_9,gpio8_3,gpio0_66 
+/sys/class/leds/led_P8_45 ,P8_45,gpio2_6,gpio8_0,gpio0_79 
+/sys/class/leds/led_P8_46 ,P8_46,gpio2_7,gpio8_1,gpio0_80 
+/sys/class/leds/led_P9_11 ,P9_11,gpio0_30,gpio8_17,gpio0_1 
+/sys/class/leds/led_P9_12 ,P9_12,gpio1_28,gpio5_0,gpio0_45 
+/sys/class/leds/led_P9_13 ,P9_13,gpio0_31,gpio6_12,gpio0_2 
+/sys/class/leds/led_P9_14 ,P9_14,gpio1_18,gpio4_25,gpio0_93 
+/sys/class/leds/led_P9_15 ,P9_15,gpio1_16,gpio3_12,gpio0_47 
+/sys/class/leds/led_P9_16 ,P9_16,gpio1_19,gpio4_26,gpio0_94 
+/sys/class/leds/led_P9_17 ,P9_17,gpio0_5,gpio7_17,gpio0_28 
+/sys/class/leds/led_P9_18 ,P9_18,gpio0_4,gpio7_16,gpio0_40 
+/sys/class/leds/led_P9_19 ,P9_19,gpio0_13,gpio7_3,gpio0_78 
+/sys/class/leds/led_P9_20 ,P9_20,gpio0_12,gpio7_4,gpio0_77 
+/sys/class/leds/led_P9_21 ,P9_21,gpio0_3,gpio3_3,gpio0_39 
+/sys/class/leds/led_P9_22 ,P9_22,gpio0_2,gpio6_19,gpio0_38 
+/sys/class/leds/led_P9_23 ,P9_23,gpio1_17,gpio7_11,gpio0_10 
+/sys/class/leds/led_P9_24 ,P9_24,gpio0_15,gpio6_15,gpio0_13 
+/sys/class/leds/led_P9_25 ,P9_25,gpio3_21,gpio6_17,gpio0_127 
+/sys/class/leds/led_P9_26 ,P9_26,gpio0_14,gpio6_14,gpio0_12 
+/sys/class/leds/led_P9_27 ,P9_27,gpio3_19,gpio4_15,gpio0_46 
+/sys/class/leds/led_P9_28 ,P9_28,gpio3_17,gpio4_17,gpio1_11 
+/sys/class/leds/led_P9_29 ,P9_29,gpio3_15,gpio5_11,gpio0_53 
+/sys/class/leds/led_P9_30 ,P9_30,gpio3_16,gpio5_12,gpio0_44 
+/sys/class/leds/led_P9_31 ,P9_31,gpio3_14,gpio5_10,gpio0_52 
+/sys/class/leds/led_P9_33 ,P9_33,,,gpio0_50 
+/sys/class/leds/led_P9_35 ,P9_35,,,gpio0_55 
+/sys/class/leds/led_P9_36 ,P9_36,,,gpio0_56 
+/sys/class/leds/led_P9_37 ,P9_37,,,gpio0_57 
+/sys/class/leds/led_P9_38 ,P9_38,,,gpio0_58 
+/sys/class/leds/led_P9_39 ,P9_39,,,gpio0_54 
+/sys/class/leds/led_P9_40 ,P9_40,,,gpio0_81 
+/sys/class/leds/led_P9_41 ,P9_41,gpio0_20,gpio6_20,gpio1_0 
+/sys/class/leds/led_P9_91 ,P9_91,gpio3_20,,
+/sys/class/leds/led_P9_42 ,P9_42,gpio0_7,gpio4_18,gpio0_123 
+/sys/class/leds/led_P9_92 ,P9_92,gpio3_18,,
+/sys/class/leds/led_A15 ,A15,gpio0_19,,
-- 
GitLab