From 24e3bfd3ab806e9b4fe7eb3b647dee9fd4074a56 Mon Sep 17 00:00:00 2001
From: Charles Steinkuehler <charles@steinkuehler.net>
Date: Sun, 23 Mar 2014 20:13:44 +0100
Subject: [PATCH] capes: Add cape-universal overlay files More details and
 full source can be found at:
 https://github.com/cdsteinkuehler/beaglebone-universal-io

Signed-off-by: Charles Steinkuehler <charles@steinkuehler.net>
---
 firmware/Makefile                       |    5 +-
 firmware/capes/cape-univ-emmc-00A0.dts  |  372 +++++++
 firmware/capes/cape-universal-00A0.dts  | 1730 +++++++++++++++++++++++++++++++
 firmware/capes/cape-universaln-00A0.dts | 1609 ++++++++++++++++++++++++++++
 4 files changed, 3715 insertions(+), 1 deletion(-)
 create mode 100644 firmware/capes/cape-univ-emmc-00A0.dts
 create mode 100644 firmware/capes/cape-universal-00A0.dts
 create mode 100644 firmware/capes/cape-universaln-00A0.dts

diff --git a/firmware/Makefile b/firmware/Makefile
index 56b0b50..134b1e9 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -198,7 +198,10 @@ fw-shipped-$(CONFIG_CAPE_BEAGLEBONE) += \
 	BB-BONE-BACONE2-00A0.dtbo \
 	DNIL-AMPCAPE-1-00R1.dtbo \
 	cape-bone-replicape-00A2.dtbo \
-	cape-bone-replicape-00A3.dtbo
+	cape-bone-replicape-00A3.dtbo \
+	cape-univ-emmc-00A0.dtbo \
+	cape-universal-00A0.dtbo \
+	cape-universaln-00A0.dtbo
 
 # the geiger cape
 fw-shipped-$(CONFIG_CAPE_BEAGLEBONE_GEIGER) += \
diff --git a/firmware/capes/cape-univ-emmc-00A0.dts b/firmware/capes/cape-univ-emmc-00A0.dts
new file mode 100644
index 0000000..766046d
--- /dev/null
+++ b/firmware/capes/cape-univ-emmc-00A0.dts
@@ -0,0 +1,372 @@
+// Copyright 2013
+// Charles Steinkuehler <charles@steinkuehler.net>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+/dts-v1/;
+/plugin/;
+
+/ {
+    compatible = "ti,beaglebone", "ti,beaglebone-black";
+
+    /* identification */
+    part-number = "cape-bone-universal";
+    version = "00A0";
+
+    /* state the resources this cape uses */
+    exclusive-use =
+
+        "P8.3",     /* emmc    */
+        "P8.4",     /* emmc    */
+        "P8.5",     /* emmc    */
+        "P8.6",     /* emmc    */
+        "P8.20",    /* emmc    */
+        "P8.21",    /* emmc    */
+        "P8.22",    /* emmc    */
+        "P8.23",    /* emmc    */
+        "P8.24",    /* emmc    */
+        "P8.25";    /* emmc    */
+
+    fragment@0 {
+        target = <&am33xx_pinmux>;
+        __overlay__ {
+
+            /************************/
+            /* P8 Header            */
+            /************************/
+
+            /* P8_01                GND     */
+            /* P8_02                GND     */
+            /* P8_03 (ZCZ ball R9 ) emmc    */
+            P8_03_default_pin: pinmux_P8_03_default_pin {
+                pinctrl-single,pins = <0x018  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_03_gpio_pin: pinmux_P8_03_gpio_pin {
+                pinctrl-single,pins = <0x018  0x2F>; };     /* Mode 7, RxActive */
+            P8_03_gpio_pu_pin: pinmux_P8_03_gpio_pu_pin {
+                pinctrl-single,pins = <0x018  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_03_gpio_pd_pin: pinmux_P8_03_gpio_pd_pin {
+                pinctrl-single,pins = <0x018  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P8_04 (ZCZ ball T9 ) emmc    */
+            P8_04_default_pin: pinmux_P8_04_default_pin {
+                pinctrl-single,pins = <0x01c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_04_gpio_pin: pinmux_P8_04_gpio_pin {
+                pinctrl-single,pins = <0x01c  0x2F>; };     /* Mode 7, RxActive */
+            P8_04_gpio_pu_pin: pinmux_P8_04_gpio_pu_pin {
+                pinctrl-single,pins = <0x01c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_04_gpio_pd_pin: pinmux_P8_04_gpio_pd_pin {
+                pinctrl-single,pins = <0x01c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P8_05 (ZCZ ball R8 ) emmc    */
+            P8_05_default_pin: pinmux_P8_05_default_pin {
+                pinctrl-single,pins = <0x008  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_05_gpio_pin: pinmux_P8_05_gpio_pin {
+                pinctrl-single,pins = <0x008  0x2F>; };     /* Mode 7, RxActive */
+            P8_05_gpio_pu_pin: pinmux_P8_05_gpio_pu_pin {
+                pinctrl-single,pins = <0x008  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_05_gpio_pd_pin: pinmux_P8_05_gpio_pd_pin {
+                pinctrl-single,pins = <0x008  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P8_06 (ZCZ ball T8 ) emmc    */
+            P8_06_default_pin: pinmux_P8_06_default_pin {
+                pinctrl-single,pins = <0x00c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_06_gpio_pin: pinmux_P8_06_gpio_pin {
+                pinctrl-single,pins = <0x00c  0x2F>; };     /* Mode 7, RxActive */
+            P8_06_gpio_pu_pin: pinmux_P8_06_gpio_pu_pin {
+                pinctrl-single,pins = <0x00c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_06_gpio_pd_pin: pinmux_P8_06_gpio_pd_pin {
+                pinctrl-single,pins = <0x00c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+
+            /* P8_20 (ZCZ ball V9 ) emmc    */
+            P8_20_default_pin: pinmux_P8_20_default_pin {
+                pinctrl-single,pins = <0x084  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_20_gpio_pin: pinmux_P8_20_gpio_pin {
+                pinctrl-single,pins = <0x084  0x2F>; };     /* Mode 7, RxActive */
+            P8_20_gpio_pu_pin: pinmux_P8_20_gpio_pu_pin {
+                pinctrl-single,pins = <0x084  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_20_gpio_pd_pin: pinmux_P8_20_gpio_pd_pin {
+                pinctrl-single,pins = <0x084  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_20_pruout_pin: pinmux_P8_20_pruout_pin {
+                pinctrl-single,pins = <0x084  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P8_20_pruin_pin: pinmux_P8_20_pruin_pin {
+                pinctrl-single,pins = <0x084  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+
+            /* P8_21 (ZCZ ball U9 ) emmc    */
+            P8_21_default_pin: pinmux_P8_21_default_pin {
+                pinctrl-single,pins = <0x080  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_21_gpio_pin: pinmux_P8_21_gpio_pin {
+                pinctrl-single,pins = <0x080  0x2F>; };     /* Mode 7, RxActive */
+            P8_21_gpio_pu_pin: pinmux_P8_21_gpio_pu_pin {
+                pinctrl-single,pins = <0x080  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_21_gpio_pd_pin: pinmux_P8_21_gpio_pd_pin {
+                pinctrl-single,pins = <0x080  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_21_pruout_pin: pinmux_P8_21_pruout_pin {
+                pinctrl-single,pins = <0x080  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P8_21_pruin_pin: pinmux_P8_21_pruin_pin {
+                pinctrl-single,pins = <0x080  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P8_22 (ZCZ ball V8 ) emmc    */
+            P8_22_default_pin: pinmux_P8_22_default_pin {
+                pinctrl-single,pins = <0x014  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_22_gpio_pin: pinmux_P8_22_gpio_pin {
+                pinctrl-single,pins = <0x014  0x2F>; };     /* Mode 7, RxActive */
+            P8_22_gpio_pu_pin: pinmux_P8_22_gpio_pu_pin {
+                pinctrl-single,pins = <0x014  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_22_gpio_pd_pin: pinmux_P8_22_gpio_pd_pin {
+                pinctrl-single,pins = <0x014  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P8_23 (ZCZ ball U8 ) emmc    */
+            P8_23_default_pin: pinmux_P8_23_default_pin {
+                pinctrl-single,pins = <0x010  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_23_gpio_pin: pinmux_P8_23_gpio_pin {
+                pinctrl-single,pins = <0x010  0x2F>; };     /* Mode 7, RxActive */
+            P8_23_gpio_pu_pin: pinmux_P8_23_gpio_pu_pin {
+                pinctrl-single,pins = <0x010  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_23_gpio_pd_pin: pinmux_P8_23_gpio_pd_pin {
+                pinctrl-single,pins = <0x010  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P8_24 (ZCZ ball V7 ) emmc    */
+            P8_24_default_pin: pinmux_P8_24_default_pin {
+                pinctrl-single,pins = <0x004  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_24_gpio_pin: pinmux_P8_24_gpio_pin {
+                pinctrl-single,pins = <0x004  0x2F>; };     /* Mode 7, RxActive */
+            P8_24_gpio_pu_pin: pinmux_P8_24_gpio_pu_pin {
+                pinctrl-single,pins = <0x004  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_24_gpio_pd_pin: pinmux_P8_24_gpio_pd_pin {
+                pinctrl-single,pins = <0x004  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P8_25 (ZCZ ball U7 ) emmc    */
+            P8_25_default_pin: pinmux_P8_25_default_pin {
+                pinctrl-single,pins = <0x000  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_25_gpio_pin: pinmux_P8_25_gpio_pin {
+                pinctrl-single,pins = <0x000  0x2F>; };     /* Mode 7, RxActive */
+            P8_25_gpio_pu_pin: pinmux_P8_25_gpio_pu_pin {
+                pinctrl-single,pins = <0x000  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_25_gpio_pd_pin: pinmux_P8_25_gpio_pd_pin {
+                pinctrl-single,pins = <0x000  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+        };
+    };
+
+
+    /************************/
+    /* Pin Multiplexing     */
+    /************************/
+
+    fragment@1 {
+        target = <&ocp>;
+        __overlay__ {
+
+            /************************/
+            /* P8 Header            */
+            /************************/
+
+            P8_03_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd";
+                pinctrl-0 = <&P8_03_default_pin>;
+                pinctrl-1 = <&P8_03_gpio_pin>;
+                pinctrl-2 = <&P8_03_gpio_pu_pin>;
+                pinctrl-3 = <&P8_03_gpio_pd_pin>;
+            };
+
+            P8_04_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd";
+                pinctrl-0 = <&P8_04_default_pin>;
+                pinctrl-1 = <&P8_04_gpio_pin>;
+                pinctrl-2 = <&P8_04_gpio_pu_pin>;
+                pinctrl-3 = <&P8_04_gpio_pd_pin>;
+            };
+
+            P8_05_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd";
+                pinctrl-0 = <&P8_05_default_pin>;
+                pinctrl-1 = <&P8_05_gpio_pin>;
+                pinctrl-2 = <&P8_05_gpio_pu_pin>;
+                pinctrl-3 = <&P8_05_gpio_pd_pin>;
+            };
+
+            P8_06_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd";
+                pinctrl-0 = <&P8_06_default_pin>;
+                pinctrl-1 = <&P8_06_gpio_pin>;
+                pinctrl-2 = <&P8_06_gpio_pu_pin>;
+                pinctrl-3 = <&P8_06_gpio_pd_pin>;
+            };
+
+            P8_20_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin";
+                pinctrl-0 = <&P8_20_default_pin>;
+                pinctrl-1 = <&P8_20_gpio_pin>;
+                pinctrl-2 = <&P8_20_gpio_pu_pin>;
+                pinctrl-3 = <&P8_20_gpio_pd_pin>;
+                pinctrl-4 = <&P8_20_pruout_pin>;
+                pinctrl-5 = <&P8_20_pruin_pin>;
+            };
+
+            P8_21_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin";
+                pinctrl-0 = <&P8_21_default_pin>;
+                pinctrl-1 = <&P8_21_gpio_pin>;
+                pinctrl-2 = <&P8_21_gpio_pu_pin>;
+                pinctrl-3 = <&P8_21_gpio_pd_pin>;
+                pinctrl-4 = <&P8_21_pruout_pin>;
+                pinctrl-5 = <&P8_21_pruin_pin>;
+            };
+
+            P8_22_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd";
+                pinctrl-0 = <&P8_22_default_pin>;
+                pinctrl-1 = <&P8_22_gpio_pin>;
+                pinctrl-2 = <&P8_22_gpio_pu_pin>;
+                pinctrl-3 = <&P8_22_gpio_pd_pin>;
+            };
+
+            P8_23_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd";
+                pinctrl-0 = <&P8_23_default_pin>;
+                pinctrl-1 = <&P8_23_gpio_pin>;
+                pinctrl-2 = <&P8_23_gpio_pu_pin>;
+                pinctrl-3 = <&P8_23_gpio_pd_pin>;
+            };
+
+            P8_24_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd";
+                pinctrl-0 = <&P8_24_default_pin>;
+                pinctrl-1 = <&P8_24_gpio_pin>;
+                pinctrl-2 = <&P8_24_gpio_pu_pin>;
+                pinctrl-3 = <&P8_24_gpio_pd_pin>;
+            };
+
+            P8_25_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd";
+                pinctrl-0 = <&P8_25_default_pin>;
+                pinctrl-1 = <&P8_25_gpio_pin>;
+                pinctrl-2 = <&P8_25_gpio_pu_pin>;
+                pinctrl-3 = <&P8_25_gpio_pd_pin>;
+            };
+        };
+    };
+    
+    fragment@2 {
+        target = <&ocp>;
+        __overlay__ {
+
+            // !!!WARNING!!!
+            // gpio-of-helper &gpio pointers are off-by-one vs. the hardware:
+            //   hardware GPIO bank 0 = &gpio1
+            cape-universal {
+                compatible = "gpio-of-helper";
+                status = "okay";
+                pinctrl-names = "default";
+                pinctrl-0 = <>;
+
+                P8_03 {
+                    gpio-name = "P8_03";
+                    gpio = <&gpio2 6 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_04 {
+                    gpio-name = "P8_04";
+                    gpio = <&gpio2 7 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_05 {
+                    gpio-name = "P8_05";
+                    gpio = <&gpio2 2 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_06 {
+                    gpio-name = "P8_06";
+                    gpio = <&gpio2 3 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_20 {
+                    gpio-name = "P8_20";
+                    gpio = <&gpio2 31 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_21 {
+                    gpio-name = "P8_21";
+                    gpio = <&gpio2 30 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_22 {
+                    gpio-name = "P8_22";
+                    gpio = <&gpio2 5 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_23 {
+                    gpio-name = "P8_23";
+                    gpio = <&gpio2 4 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_24 {
+                    gpio-name = "P8_24";
+                    gpio = <&gpio2 1 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_25 {
+                    gpio-name = "P8_25";
+                    gpio = <&gpio2 0 0>;
+                    input;
+                    dir-changeable;
+                };
+
+            };
+        };
+    };
+
+};
diff --git a/firmware/capes/cape-universal-00A0.dts b/firmware/capes/cape-universal-00A0.dts
new file mode 100644
index 0000000..ad5b388
--- /dev/null
+++ b/firmware/capes/cape-universal-00A0.dts
@@ -0,0 +1,1730 @@
+// Copyright 2013
+// Charles Steinkuehler <charles@steinkuehler.net>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+/dts-v1/;
+/plugin/;
+
+/ {
+    compatible = "ti,beaglebone", "ti,beaglebone-black";
+
+    /* identification */
+    part-number = "cape-bone-universal";
+    version = "00A0";
+
+    /* state the resources this cape uses */
+    exclusive-use =
+
+/*      "P8.1",     GND     */
+/*      "P8.2",     GND     */
+/*      "P8.3",     emmc    */
+/*      "P8.4",     emmc    */
+/*      "P8.5",     emmc    */
+/*      "P8.6",     emmc    */
+        "P8.7",
+        "P8.8",
+        "P8.9",
+        "P8.10",
+        "P8.11",
+        "P8.12",
+        "P8.13",
+        "P8.14",
+        "P8.15",
+        "P8.16",
+        "P8.17",
+        "P8.18",
+        "P8.19",
+/*      "P8.20",    emmc    */
+/*      "P8.21",    emmc    */
+/*      "P8.22",    emmc    */
+/*      "P8.23",    emmc    */
+/*      "P8.24",    emmc    */
+/*      "P8.25",    emmc    */
+        "P8.26",
+/*      "P8.27",    hdmi    */
+/*      "P8.28",    hdmi    */
+/*      "P8.29",    hdmi    */
+/*      "P8.30",    hdmi    */
+/*      "P8.31",    hdmi    */
+/*      "P8.32",    hdmi    */
+/*      "P8.33",    hdmi    */
+/*      "P8.34",    hdmi    */
+/*      "P8.35",    hdmi    */
+/*      "P8.36",    hdmi    */
+/*      "P8.37",    hdmi    */
+/*      "P8.38",    hdmi    */
+/*      "P8.39",    hdmi    */
+/*      "P8.40",    hdmi    */
+/*      "P8.41",    hdmi    */
+/*      "P8.42",    hdmi    */
+/*      "P8.43",    hdmi    */
+/*      "P8.44",    hdmi    */
+/*      "P8.45",    hdmi    */
+/*      "P8.46",    hdmi    */
+
+/*      "P9.1",     GND     */
+/*      "P9.2",     GND     */
+/*      "P9.3",     3.3V    */
+/*      "P9.4",     3.3V    */
+/*      "P9.5",     VDD_5V  */
+/*      "P9.6",     VDD_5V  */
+/*      "P9.7",     SYS_5V  */
+/*      "P9.8",     SYS_5V  */
+/*      "P9.9",     PWR_BUT */
+/*      "P9.10",    RESETn  */
+        "P9.11",
+        "P9.12",
+        "P9.13",
+        "P9.14",
+        "P9.15",
+        "P9.16",
+        "P9.17",
+        "P9.18",
+/*      "P9.19",    I2C     */
+/*      "P9.20",    I2C     */
+        "P9.21",
+        "P9.22",
+        "P9.23",
+        "P9.24",
+        "P9.25",
+        "P9.26",
+        "P9.27",
+        "P9.28",
+        "P9.29",
+        "P9.30",
+        "P9.31",
+/*      "P9.32",    VADC    */
+/*      "P9.33",    AIN4    */
+/*      "P9.34",    AGND    */
+/*      "P9.35",    AIN6    */
+/*      "P9.36",    AIN5    */
+/*      "P9.37",    AIN2    */
+/*      "P9.38",    AIN3    */
+/*      "P9.39",    AIN0    */
+/*      "P9.40",    AIN1    */
+        "P9.41",
+        "P9.41.1",
+        "P9.42",
+        "P9.42.1",
+/*      "P9.43",    GND     */
+/*      "P9.44",    GND     */
+/*      "P9.45",    GND     */
+/*      "P9.46",    GND     */
+
+        "uart1",
+        "uart2",
+        "uart4",
+//      "uart5",    /* Conflicts with HDMI  */
+
+        "ehrpwm0A",
+        "ehrpwm0B",
+        "ehrpwm1A",
+        "ehrpwm1B",
+        "ehrpwm2A",
+        "ehrpwm2B",
+
+//        "epwmss0",
+//        "ehrpwm0",
+//        "ecap0",
+//        "epwmss1",
+//        "ehrpwm1",
+//        "epwmss2",
+//        "ehrpwm2",
+//        "ecap2",
+
+        "i2c1",
+        "spi1",
+        "spi0",
+        "dcan0",
+        "dcan1",
+
+        "pru0",
+        "pru1",
+        "pruss";
+
+    fragment@0 {
+        target = <&am33xx_pinmux>;
+        __overlay__ {
+
+            /************************/
+            /* P8 Header            */
+            /************************/
+
+            /* P8_01                GND     */
+            /* P8_02                GND     */
+            /* P8_03 (ZCZ ball R9 ) emmc    */
+            /* P8_04 (ZCZ ball T9 ) emmc    */
+            /* P8_05 (ZCZ ball R8 ) emmc    */
+            /* P8_06 (ZCZ ball T8 ) emmc    */
+
+            /* P8_07 (ZCZ ball R7 ) */
+            P8_07_default_pin: pinmux_P8_07_default_pin {
+                pinctrl-single,pins = <0x090  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_07_gpio_pin: pinmux_P8_07_gpio_pin {
+                pinctrl-single,pins = <0x090  0x2F>; };     /* Mode 7, RxActive */
+            P8_07_gpio_pu_pin: pinmux_P8_07_gpio_pu_pin {
+                pinctrl-single,pins = <0x090  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_07_gpio_pd_pin: pinmux_P8_07_gpio_pd_pin {
+                pinctrl-single,pins = <0x090  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_07_timer_pin: pinmux_P8_07_timer_pin {
+                pinctrl-single,pins = <0x090  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+
+            /* P8_08 (ZCZ ball T7 ) */
+            P8_08_default_pin: pinmux_P8_08_default_pin {
+                pinctrl-single,pins = <0x094  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_08_gpio_pin: pinmux_P8_08_gpio_pin {
+                pinctrl-single,pins = <0x094  0x2F>; };     /* Mode 7, RxActive */
+            P8_08_gpio_pu_pin: pinmux_P8_08_gpio_pu_pin {
+                pinctrl-single,pins = <0x094  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_08_gpio_pd_pin: pinmux_P8_08_gpio_pd_pin {
+                pinctrl-single,pins = <0x094  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_08_timer_pin: pinmux_P8_08_timer_pin {
+                pinctrl-single,pins = <0x094  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+
+            /* P8_09 (ZCZ ball T6 ) */
+            P8_09_default_pin: pinmux_P8_09_default_pin {
+                pinctrl-single,pins = <0x09c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_09_gpio_pin: pinmux_P8_09_gpio_pin {
+                pinctrl-single,pins = <0x09c  0x2F>; };     /* Mode 7, RxActive */
+            P8_09_gpio_pu_pin: pinmux_P8_09_gpio_pu_pin {
+                pinctrl-single,pins = <0x09c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_09_gpio_pd_pin: pinmux_P8_09_gpio_pd_pin {
+                pinctrl-single,pins = <0x09c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_09_timer_pin: pinmux_P8_09_timer_pin {
+                pinctrl-single,pins = <0x09c  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+
+            /* P8_10 (ZCZ ball U6 ) */
+            P8_10_default_pin: pinmux_P8_10_default_pin {
+                pinctrl-single,pins = <0x098  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_10_gpio_pin: pinmux_P8_10_gpio_pin {
+                pinctrl-single,pins = <0x098  0x2F>; };     /* Mode 7, RxActive */
+            P8_10_gpio_pu_pin: pinmux_P8_10_gpio_pu_pin {
+                pinctrl-single,pins = <0x098  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_10_gpio_pd_pin: pinmux_P8_10_gpio_pd_pin {
+                pinctrl-single,pins = <0x098  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_10_timer_pin: pinmux_P8_10_timer_pin {
+                pinctrl-single,pins = <0x098  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+
+            /* P8_11 (ZCZ ball R12) */
+            P8_11_default_pin: pinmux_P8_11_default_pin {
+                pinctrl-single,pins = <0x034  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_11_gpio_pin: pinmux_P8_11_gpio_pin {
+                pinctrl-single,pins = <0x034  0x2F>; };     /* Mode 7, RxActive */
+            P8_11_gpio_pu_pin: pinmux_P8_11_gpio_pu_pin {
+                pinctrl-single,pins = <0x034  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_11_gpio_pd_pin: pinmux_P8_11_gpio_pd_pin {
+                pinctrl-single,pins = <0x034  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_11_pruout_pin: pinmux_P8_11_pruout_pin {
+                pinctrl-single,pins = <0x034  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+            P8_11_qep_pin: pinmux_P8_11_qep_pin {
+                pinctrl-single,pins = <0x034  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_12 (ZCZ ball T12) */
+            P8_12_default_pin: pinmux_P8_12_default_pin {
+                pinctrl-single,pins = <0x030  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_12_gpio_pin: pinmux_P8_12_gpio_pin {
+                pinctrl-single,pins = <0x030  0x2F>; };     /* Mode 7, RxActive */
+            P8_12_gpio_pu_pin: pinmux_P8_12_gpio_pu_pin {
+                pinctrl-single,pins = <0x030  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_12_gpio_pd_pin: pinmux_P8_12_gpio_pd_pin {
+                pinctrl-single,pins = <0x030  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_12_pruout_pin: pinmux_P8_12_pruout_pin {
+                pinctrl-single,pins = <0x030  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+            P8_12_qep_pin: pinmux_P8_12_qep_pin {
+                pinctrl-single,pins = <0x030  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_13 (ZCZ ball T10) */
+            P8_13_default_pin: pinmux_P8_13_default_pin {
+                pinctrl-single,pins = <0x024  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_13_gpio_pin: pinmux_P8_13_gpio_pin {
+                pinctrl-single,pins = <0x024  0x2F>; };     /* Mode 7, RxActive */
+            P8_13_gpio_pu_pin: pinmux_P8_13_gpio_pu_pin {
+                pinctrl-single,pins = <0x024  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_13_gpio_pd_pin: pinmux_P8_13_gpio_pd_pin {
+                pinctrl-single,pins = <0x024  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_13_pwm_pin: pinmux_P8_13_pwm_pin {
+                pinctrl-single,pins = <0x024  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_14 (ZCZ ball T11) */
+            P8_14_default_pin: pinmux_P8_14_default_pin {
+                pinctrl-single,pins = <0x028  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_14_gpio_pin: pinmux_P8_14_gpio_pin {
+                pinctrl-single,pins = <0x028  0x2F>; };     /* Mode 7, RxActive */
+            P8_14_gpio_pu_pin: pinmux_P8_14_gpio_pu_pin {
+                pinctrl-single,pins = <0x028  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_14_gpio_pd_pin: pinmux_P8_14_gpio_pd_pin {
+                pinctrl-single,pins = <0x028  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_14_pwm_pin: pinmux_P8_14_pwm_pin {
+                pinctrl-single,pins = <0x028  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_15 (ZCZ ball U13) */
+            P8_15_default_pin: pinmux_P8_15_default_pin {
+                pinctrl-single,pins = <0x03c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_15_gpio_pin: pinmux_P8_15_gpio_pin {
+                pinctrl-single,pins = <0x03c  0x2F>; };     /* Mode 7, RxActive */
+            P8_15_gpio_pu_pin: pinmux_P8_15_gpio_pu_pin {
+                pinctrl-single,pins = <0x03c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_15_gpio_pd_pin: pinmux_P8_15_gpio_pd_pin {
+                pinctrl-single,pins = <0x03c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_15_pruin_pin: pinmux_P8_15_pruin_pin {
+                pinctrl-single,pins = <0x03c  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+            P8_15_qep_pin: pinmux_P8_15_qep_pin {
+                pinctrl-single,pins = <0x03c  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_16 (ZCZ ball V13) */
+            P8_16_default_pin: pinmux_P8_16_default_pin {
+                pinctrl-single,pins = <0x038  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_16_gpio_pin: pinmux_P8_16_gpio_pin {
+                pinctrl-single,pins = <0x038  0x2F>; };     /* Mode 7, RxActive */
+            P8_16_gpio_pu_pin: pinmux_P8_16_gpio_pu_pin {
+                pinctrl-single,pins = <0x038  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_16_gpio_pd_pin: pinmux_P8_16_gpio_pd_pin {
+                pinctrl-single,pins = <0x038  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_16_pruin_pin: pinmux_P8_16_pruin_pin {
+                pinctrl-single,pins = <0x038  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+            P8_16_qep_pin: pinmux_P8_16_qep_pin {
+                pinctrl-single,pins = <0x038  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_17 (ZCZ ball U12) */
+            P8_17_default_pin: pinmux_P8_17_default_pin {
+                pinctrl-single,pins = <0x02c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_17_gpio_pin: pinmux_P8_17_gpio_pin {
+                pinctrl-single,pins = <0x02c  0x2F>; };     /* Mode 7, RxActive */
+            P8_17_gpio_pu_pin: pinmux_P8_17_gpio_pu_pin {
+                pinctrl-single,pins = <0x02c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_17_gpio_pd_pin: pinmux_P8_17_gpio_pd_pin {
+                pinctrl-single,pins = <0x02c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_17_pwm_pin: pinmux_P8_17_pwm_pin {
+                pinctrl-single,pins = <0x02c  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_18 (ZCZ ball V12) */
+            P8_18_default_pin: pinmux_P8_18_default_pin {
+                pinctrl-single,pins = <0x08c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_18_gpio_pin: pinmux_P8_18_gpio_pin {
+                pinctrl-single,pins = <0x08c  0x2F>; };     /* Mode 7, RxActive */
+            P8_18_gpio_pu_pin: pinmux_P8_18_gpio_pu_pin {
+                pinctrl-single,pins = <0x08c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_18_gpio_pd_pin: pinmux_P8_18_gpio_pd_pin {
+                pinctrl-single,pins = <0x08c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P8_19 (ZCZ ball U10) */
+            P8_19_default_pin: pinmux_P8_19_default_pin {
+                pinctrl-single,pins = <0x020  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_19_gpio_pin: pinmux_P8_19_gpio_pin {
+                pinctrl-single,pins = <0x020  0x2F>; };     /* Mode 7, RxActive */
+            P8_19_gpio_pu_pin: pinmux_P8_19_gpio_pu_pin {
+                pinctrl-single,pins = <0x020  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_19_gpio_pd_pin: pinmux_P8_19_gpio_pd_pin {
+                pinctrl-single,pins = <0x020  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_19_pwm_pin: pinmux_P8_19_pwm_pin {
+                pinctrl-single,pins = <0x020  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_20 (ZCZ ball V9 ) emmc    */
+            /* P8_21 (ZCZ ball U9 ) emmc    */
+            /* P8_22 (ZCZ ball V8 ) emmc    */
+            /* P8_23 (ZCZ ball U8 ) emmc    */
+            /* P8_24 (ZCZ ball V7 ) emmc    */
+            /* P8_25 (ZCZ ball U7 ) emmc    */
+
+            /* P8_26 (ZCZ ball V6 ) */
+            P8_26_default_pin: pinmux_P8_26_default_pin {
+                pinctrl-single,pins = <0x07c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_26_gpio_pin: pinmux_P8_26_gpio_pin {
+                pinctrl-single,pins = <0x07c  0x2F>; };     /* Mode 7, RxActive */
+            P8_26_gpio_pu_pin: pinmux_P8_26_gpio_pu_pin {
+                pinctrl-single,pins = <0x07c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_26_gpio_pd_pin: pinmux_P8_26_gpio_pd_pin {
+                pinctrl-single,pins = <0x07c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P8_27 (ZCZ ball U5 ) hdmi    */
+            /* P8_28 (ZCZ ball V5 ) hdmi    */
+            /* P8_29 (ZCZ ball R5 ) hdmi    */
+            /* P8_30 (ZCZ ball R6 ) hdmi    */
+            /* P8_31 (ZCZ ball V4 ) hdmi    */
+            /* P8_32 (ZCZ ball T5 ) hdmi    */
+            /* P8_33 (ZCZ ball V3 ) hdmi    */
+            /* P8_34 (ZCZ ball U4 ) hdmi    */
+            /* P8_35 (ZCZ ball V2 ) hdmi    */
+            /* P8_36 (ZCZ ball U3 ) hdmi    */
+            /* P8_37 (ZCZ ball U1 ) hdmi    */
+            /* P8_38 (ZCZ ball U2 ) hdmi    */
+            /* P8_39 (ZCZ ball T3 ) hdmi    */
+            /* P8_40 (ZCZ ball T4 ) hdmi    */
+            /* P8_41 (ZCZ ball T1 ) hdmi    */
+            /* P8_42 (ZCZ ball T2 ) hdmi    */
+            /* P8_43 (ZCZ ball R3 ) hdmi    */
+            /* P8_44 (ZCZ ball R4 ) hdmi    */
+            /* P8_45 (ZCZ ball R1 ) hdmi    */
+            /* P8_46 (ZCZ ball R2 ) hdmi    */
+
+
+            /************************/
+            /* P9 Header            */
+            /************************/
+
+            /* P9_01                GND     */
+            /* P9_02                GND     */
+            /* P9_03                3.3V    */
+            /* P9_04                3.3V    */
+            /* P9_05                VDD_5V  */
+            /* P9_06                VDD_5V  */
+            /* P9_07                SYS_5V  */
+            /* P9_08                SYS_5V  */
+            /* P9_09                PWR_BUT */
+            /* P9_10 (ZCZ ball A10) RESETn  */
+
+            /* P9_11 (ZCZ ball T17) */
+            P9_11_default_pin: pinmux_P9_11_default_pin {
+                pinctrl-single,pins = <0x070  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_11_gpio_pin: pinmux_P9_11_gpio_pin {
+                pinctrl-single,pins = <0x070  0x2F>; };     /* Mode 7, RxActive */
+            P9_11_gpio_pu_pin: pinmux_P9_11_gpio_pu_pin {
+                pinctrl-single,pins = <0x070  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_11_gpio_pd_pin: pinmux_P9_11_gpio_pd_pin {
+                pinctrl-single,pins = <0x070  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_11_uart_pin: pinmux_P9_11_uart_pin {
+                pinctrl-single,pins = <0x070  0x36>; };     /* Mode 6, Pull-Up, RxActive */
+
+            /* P9_12 (ZCZ ball U18) */
+            P9_12_default_pin: pinmux_P9_12_default_pin {
+                pinctrl-single,pins = <0x078  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_12_gpio_pin: pinmux_P9_12_gpio_pin {
+                pinctrl-single,pins = <0x078  0x2F>; };     /* Mode 7, RxActive */
+            P9_12_gpio_pu_pin: pinmux_P9_12_gpio_pu_pin {
+                pinctrl-single,pins = <0x078  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_12_gpio_pd_pin: pinmux_P9_12_gpio_pd_pin {
+                pinctrl-single,pins = <0x078  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P9_13 (ZCZ ball U17) */
+            P9_13_default_pin: pinmux_P9_13_default_pin {
+                pinctrl-single,pins = <0x074  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_13_gpio_pin: pinmux_P9_13_gpio_pin {
+                pinctrl-single,pins = <0x074  0x2F>; };     /* Mode 7, RxActive */
+            P9_13_gpio_pu_pin: pinmux_P9_13_gpio_pu_pin {
+                pinctrl-single,pins = <0x074  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_13_gpio_pd_pin: pinmux_P9_13_gpio_pd_pin {
+                pinctrl-single,pins = <0x074  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_13_uart_pin: pinmux_P9_13_uart_pin {
+                pinctrl-single,pins = <0x074  0x36>; };     /* Mode 6, Pull-Up, RxActive */
+
+            /* P9_14 (ZCZ ball U14) */
+            P9_14_default_pin: pinmux_P9_14_default_pin {
+                pinctrl-single,pins = <0x048  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_14_gpio_pin: pinmux_P9_14_gpio_pin {
+                pinctrl-single,pins = <0x048  0x2F>; };     /* Mode 7, RxActive */
+            P9_14_gpio_pu_pin: pinmux_P9_14_gpio_pu_pin {
+                pinctrl-single,pins = <0x048  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_14_gpio_pd_pin: pinmux_P9_14_gpio_pd_pin {
+                pinctrl-single,pins = <0x048  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_14_pwm_pin: pinmux_P9_14_pwm_pin {
+                pinctrl-single,pins = <0x048  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_15 (ZCZ ball R13) */
+            P9_15_default_pin: pinmux_P9_15_default_pin {
+                pinctrl-single,pins = <0x040  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_15_gpio_pin: pinmux_P9_15_gpio_pin {
+                pinctrl-single,pins = <0x040  0x2F>; };     /* Mode 7, RxActive */
+            P9_15_gpio_pu_pin: pinmux_P9_15_gpio_pu_pin {
+                pinctrl-single,pins = <0x040  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_15_gpio_pd_pin: pinmux_P9_15_gpio_pd_pin {
+                pinctrl-single,pins = <0x040  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_15_pwm_pin: pinmux_P9_15_pwm_pin {
+                pinctrl-single,pins = <0x040  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_16 (ZCZ ball T14) */
+            P9_16_default_pin: pinmux_P9_16_default_pin {
+                pinctrl-single,pins = <0x04c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_16_gpio_pin: pinmux_P9_16_gpio_pin {
+                pinctrl-single,pins = <0x04c  0x2F>; };     /* Mode 7, RxActive */
+            P9_16_gpio_pu_pin: pinmux_P9_16_gpio_pu_pin {
+                pinctrl-single,pins = <0x04c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_16_gpio_pd_pin: pinmux_P9_16_gpio_pd_pin {
+                pinctrl-single,pins = <0x04c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_16_pwm_pin: pinmux_P9_16_pwm_pin {
+                pinctrl-single,pins = <0x04c  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_17 (ZCZ ball A16) */
+            P9_17_default_pin: pinmux_P9_17_default_pin {
+                pinctrl-single,pins = <0x15c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_17_gpio_pin: pinmux_P9_17_gpio_pin {
+                pinctrl-single,pins = <0x15c  0x2F>; };     /* Mode 7, RxActive */
+            P9_17_gpio_pu_pin: pinmux_P9_17_gpio_pu_pin {
+                pinctrl-single,pins = <0x15c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_17_gpio_pd_pin: pinmux_P9_17_gpio_pd_pin {
+                pinctrl-single,pins = <0x15c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_17_spi_pin: pinmux_P9_17_spi_pin {
+                pinctrl-single,pins = <0x15c  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_17_i2c_pin: pinmux_P9_17_i2c_pin {
+                pinctrl-single,pins = <0x15c  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_17_pwm_pin: pinmux_P9_17_pwm_pin {
+                pinctrl-single,pins = <0x15c  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+
+            /* P9_18 (ZCZ ball B16) */
+            P9_18_default_pin: pinmux_P9_18_default_pin {
+                pinctrl-single,pins = <0x158  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_18_gpio_pin: pinmux_P9_18_gpio_pin {
+                pinctrl-single,pins = <0x158  0x2F>; };     /* Mode 7, RxActive */
+            P9_18_gpio_pu_pin: pinmux_P9_18_gpio_pu_pin {
+                pinctrl-single,pins = <0x158  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_18_gpio_pd_pin: pinmux_P9_18_gpio_pd_pin {
+                pinctrl-single,pins = <0x158  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_18_spi_pin: pinmux_P9_18_spi_pin {
+                pinctrl-single,pins = <0x158  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_18_i2c_pin: pinmux_P9_18_i2c_pin {
+                pinctrl-single,pins = <0x158  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_18_pwm_pin: pinmux_P9_18_pwm_pin {
+                pinctrl-single,pins = <0x158  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+
+            // Leave the cape I2C EEPROM bus alone
+            /* P9_19 (ZCZ ball D17) I2C     */
+            /* P9_20 (ZCZ ball D18) I2C     */
+
+            /* P9_21 (ZCZ ball B17) */
+            P9_21_default_pin: pinmux_P9_21_default_pin {
+                pinctrl-single,pins = <0x154  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_21_gpio_pin: pinmux_P9_21_gpio_pin {
+                pinctrl-single,pins = <0x154  0x2F>; };     /* Mode 7, RxActive */
+            P9_21_gpio_pu_pin: pinmux_P9_21_gpio_pu_pin {
+                pinctrl-single,pins = <0x154  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_21_gpio_pd_pin: pinmux_P9_21_gpio_pd_pin {
+                pinctrl-single,pins = <0x154  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_21_spi_pin: pinmux_P9_21_spi_pin {
+                pinctrl-single,pins = <0x154  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_21_uart_pin: pinmux_P9_21_uart_pin {
+                pinctrl-single,pins = <0x154  0x31>; };     /* Mode 1, Pull-Up, RxActive */
+            P9_21_i2c_pin: pinmux_P9_21_i2c_pin {
+                pinctrl-single,pins = <0x154  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_21_pwm_pin: pinmux_P9_21_pwm_pin {
+                pinctrl-single,pins = <0x154  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+
+            /* P9_22 (ZCZ ball A17) */
+            P9_22_default_pin: pinmux_P9_22_default_pin {
+                pinctrl-single,pins = <0x150  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_22_gpio_pin: pinmux_P9_22_gpio_pin {
+                pinctrl-single,pins = <0x150  0x2F>; };     /* Mode 7, RxActive */
+            P9_22_gpio_pu_pin: pinmux_P9_22_gpio_pu_pin {
+                pinctrl-single,pins = <0x150  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_22_gpio_pd_pin: pinmux_P9_22_gpio_pd_pin {
+                pinctrl-single,pins = <0x150  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_22_spi_pin: pinmux_P9_22_spi_pin {
+                pinctrl-single,pins = <0x150  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_22_uart_pin: pinmux_P9_22_uart_pin {
+                pinctrl-single,pins = <0x150  0x31>; };     /* Mode 1, Pull-Up, RxActive */
+            P9_22_i2c_pin: pinmux_P9_22_i2c_pin {
+                pinctrl-single,pins = <0x150  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_22_pwm_pin: pinmux_P9_22_pwm_pin {
+                pinctrl-single,pins = <0x150  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+
+            /* P9_23 (ZCZ ball V14) */
+            P9_23_default_pin: pinmux_P9_23_default_pin {
+                pinctrl-single,pins = <0x044  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_23_gpio_pin: pinmux_P9_23_gpio_pin {
+                pinctrl-single,pins = <0x044  0x2F>; };     /* Mode 7, RxActive */
+            P9_23_gpio_pu_pin: pinmux_P9_23_gpio_pu_pin {
+                pinctrl-single,pins = <0x044  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_23_gpio_pd_pin: pinmux_P9_23_gpio_pd_pin {
+                pinctrl-single,pins = <0x044  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_23_pwm_pin: pinmux_P9_23_pwm_pin {
+                pinctrl-single,pins = <0x044  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_24 (ZCZ ball D15) */
+            P9_24_default_pin: pinmux_P9_24_default_pin {
+                pinctrl-single,pins = <0x184  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_24_gpio_pin: pinmux_P9_24_gpio_pin {
+                pinctrl-single,pins = <0x184  0x2F>; };     /* Mode 7, RxActive */
+            P9_24_gpio_pu_pin: pinmux_P9_24_gpio_pu_pin {
+                pinctrl-single,pins = <0x184  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_24_gpio_pd_pin: pinmux_P9_24_gpio_pd_pin {
+                pinctrl-single,pins = <0x184  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_24_uart_pin: pinmux_P9_24_uart_pin {
+                pinctrl-single,pins = <0x184  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_24_can_pin: pinmux_P9_24_can_pin {
+                pinctrl-single,pins = <0x184  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_24_i2c_pin: pinmux_P9_24_i2c_pin {
+                pinctrl-single,pins = <0x184  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+            P9_24_pruin_pin: pinmux_P9_24_pruin_pin {
+                pinctrl-single,pins = <0x184  0x36>; };     /* Mode 6, Pull-Up, RxActive */
+
+            /* P9_25 (ZCZ ball A14) Audio   */
+            P9_25_default_pin: pinmux_P9_25_default_pin {
+                pinctrl-single,pins = <0x1ac  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_25_gpio_pin: pinmux_P9_25_gpio_pin {
+                pinctrl-single,pins = <0x1ac  0x2F>; };     /* Mode 7, RxActive */
+            P9_25_gpio_pu_pin: pinmux_P9_25_gpio_pu_pin {
+                pinctrl-single,pins = <0x1ac  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_25_gpio_pd_pin: pinmux_P9_25_gpio_pd_pin {
+                pinctrl-single,pins = <0x1ac  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_25_qep_pin: pinmux_P9_25_qep_pin {
+                pinctrl-single,pins = <0x1ac  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_25_pruout_pin: pinmux_P9_25_pruout_pin {
+                pinctrl-single,pins = <0x1ac  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_25_pruin_pin: pinmux_P9_25_pruin_pin {
+                pinctrl-single,pins = <0x1ac  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_26 (ZCZ ball D16) */
+            P9_26_default_pin: pinmux_P9_26_default_pin {
+                pinctrl-single,pins = <0x180  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_26_gpio_pin: pinmux_P9_26_gpio_pin {
+                pinctrl-single,pins = <0x180  0x2F>; };     /* Mode 7, RxActive */
+            P9_26_gpio_pu_pin: pinmux_P9_26_gpio_pu_pin {
+                pinctrl-single,pins = <0x180  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_26_gpio_pd_pin: pinmux_P9_26_gpio_pd_pin {
+                pinctrl-single,pins = <0x180  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_26_uart_pin: pinmux_P9_26_uart_pin {
+                pinctrl-single,pins = <0x180  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_26_can_pin: pinmux_P9_26_can_pin {
+                pinctrl-single,pins = <0x180  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_26_i2c_pin: pinmux_P9_26_i2c_pin {
+                pinctrl-single,pins = <0x180  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+            P9_26_pruin_pin: pinmux_P9_26_pruin_pin {
+                pinctrl-single,pins = <0x180  0x36>; };     /* Mode 6, Pull-Up, RxActive */
+
+            /* P9_27 (ZCZ ball C13) */
+            P9_27_default_pin: pinmux_P9_27_default_pin {
+                pinctrl-single,pins = <0x1a4  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_27_gpio_pin: pinmux_P9_27_gpio_pin {
+                pinctrl-single,pins = <0x1a4  0x2F>; };     /* Mode 7, RxActive */
+            P9_27_gpio_pu_pin: pinmux_P9_27_gpio_pu_pin {
+                pinctrl-single,pins = <0x1a4  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_27_gpio_pd_pin: pinmux_P9_27_gpio_pd_pin {
+                pinctrl-single,pins = <0x1a4  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_27_qep_pin: pinmux_P9_27_qep_pin {
+                pinctrl-single,pins = <0x1a4  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_27_pruout_pin: pinmux_P9_27_pruout_pin {
+                pinctrl-single,pins = <0x1a4  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_27_pruin_pin: pinmux_P9_27_pruin_pin {
+                pinctrl-single,pins = <0x1a4  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_28 (ZCZ ball C12) Audio   */
+            P9_28_default_pin: pinmux_P9_28_default_pin {
+                pinctrl-single,pins = <0x19c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_28_gpio_pin: pinmux_P9_28_gpio_pin {
+                pinctrl-single,pins = <0x19c  0x2F>; };     /* Mode 7, RxActive */
+            P9_28_gpio_pu_pin: pinmux_P9_28_gpio_pu_pin {
+                pinctrl-single,pins = <0x19c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_28_gpio_pd_pin: pinmux_P9_28_gpio_pd_pin {
+                pinctrl-single,pins = <0x19c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_28_pwm_pin: pinmux_P9_28_pwm_pin {
+                pinctrl-single,pins = <0x19c  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_28_spi_pin: pinmux_P9_28_spi_pin {
+                pinctrl-single,pins = <0x19c  0x23>; };     /* Mode 3, Pull-Down, RxActive */
+            P9_28_pwm2_pin: pinmux_P9_28_pwm2_pin {
+                pinctrl-single,pins = <0x19c  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+            P9_28_pruout_pin: pinmux_P9_28_pruout_pin {
+                pinctrl-single,pins = <0x19c  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_28_pruin_pin: pinmux_P9_28_pruin_pin {
+                pinctrl-single,pins = <0x19c  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_29 (ZCZ ball B13) Audio   */
+            P9_29_default_pin: pinmux_P9_29_default_pin {
+                pinctrl-single,pins = <0x194  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_29_gpio_pin: pinmux_P9_29_gpio_pin {
+                pinctrl-single,pins = <0x194  0x2F>; };     /* Mode 7, RxActive */
+            P9_29_gpio_pu_pin: pinmux_P9_29_gpio_pu_pin {
+                pinctrl-single,pins = <0x194  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_29_gpio_pd_pin: pinmux_P9_29_gpio_pd_pin {
+                pinctrl-single,pins = <0x194  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_29_pwm_pin: pinmux_P9_29_pwm_pin {
+                pinctrl-single,pins = <0x194  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_29_spi_pin: pinmux_P9_29_spi_pin {
+                pinctrl-single,pins = <0x194  0x23>; };     /* Mode 3, Pull-Down, RxActive */
+            P9_29_pruout_pin: pinmux_P9_29_pruout_pin {
+                pinctrl-single,pins = <0x194  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_29_pruin_pin: pinmux_P9_29_pruin_pin {
+                pinctrl-single,pins = <0x194  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_30 (ZCZ ball D12) */
+            P9_30_default_pin: pinmux_P9_30_default_pin {
+                pinctrl-single,pins = <0x198  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_30_gpio_pin: pinmux_P9_30_gpio_pin {
+                pinctrl-single,pins = <0x198  0x2F>; };     /* Mode 7, RxActive */
+            P9_30_gpio_pu_pin: pinmux_P9_30_gpio_pu_pin {
+                pinctrl-single,pins = <0x198  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_30_gpio_pd_pin: pinmux_P9_30_gpio_pd_pin {
+                pinctrl-single,pins = <0x198  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_30_pwm_pin: pinmux_P9_30_pwm_pin {
+                pinctrl-single,pins = <0x198  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_30_spi_pin: pinmux_P9_30_spi_pin {
+                pinctrl-single,pins = <0x198  0x23>; };     /* Mode 3, Pull-Down, RxActive */
+            P9_30_pruout_pin: pinmux_P9_30_pruout_pin {
+                pinctrl-single,pins = <0x198  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_30_pruin_pin: pinmux_P9_30_pruin_pin {
+                pinctrl-single,pins = <0x198  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_31 (ZCZ ball A13) Audio   */
+            P9_31_default_pin: pinmux_P9_31_default_pin {
+                pinctrl-single,pins = <0x190  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_31_gpio_pin: pinmux_P9_31_gpio_pin {
+                pinctrl-single,pins = <0x190  0x2F>; };     /* Mode 7, RxActive */
+            P9_31_gpio_pu_pin: pinmux_P9_31_gpio_pu_pin {
+                pinctrl-single,pins = <0x190  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_31_gpio_pd_pin: pinmux_P9_31_gpio_pd_pin {
+                pinctrl-single,pins = <0x190  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_31_pwm_pin: pinmux_P9_31_pwm_pin {
+                pinctrl-single,pins = <0x190  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_31_spi_pin: pinmux_P9_31_spi_pin {
+                pinctrl-single,pins = <0x190  0x23>; };     /* Mode 3, Pull-Down, RxActive */
+            P9_31_pruout_pin: pinmux_P9_31_pruout_pin {
+                pinctrl-single,pins = <0x190  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_31_pruin_pin: pinmux_P9_31_pruin_pin {
+                pinctrl-single,pins = <0x190  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_32                VADC    */
+            /* P9_33 (ZCZ ball C8 ) AIN4    */
+            /* P9_34                AGND    */
+            /* P9_35 (ZCZ ball A8 ) AIN6    */
+            /* P9_36 (ZCZ ball B8 ) AIN5    */
+            /* P9_37 (ZCZ ball B7 ) AIN2    */
+            /* P9_38 (ZCZ ball A7 ) AIN3    */
+            /* P9_39 (ZCZ ball B6 ) AIN0    */
+            /* P9_40 (ZCZ ball C7 ) AIN1    */
+
+            /* P9_41 (ZCZ ball D14) */
+            P9_41_default_pin: pinmux_P9_41_default_pin {
+                pinctrl-single,pins = <0x1b4  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_41_gpio_pin: pinmux_P9_41_gpio_pin {
+                pinctrl-single,pins = <0x1b4  0x2F>; };     /* Mode 7, RxActive */
+            P9_41_gpio_pu_pin: pinmux_P9_41_gpio_pu_pin {
+                pinctrl-single,pins = <0x1b4  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_41_gpio_pd_pin: pinmux_P9_41_gpio_pd_pin {
+                pinctrl-single,pins = <0x1b4  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_41_timer_pin: pinmux_P9_41_timer_pin {
+                pinctrl-single,pins = <0x1b4  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+            P9_41_pruin_pin: pinmux_P9_41_pruin_pin {
+                pinctrl-single,pins = <0x1b4  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+
+            /* P9_41.1              */
+            /* P9_91 (ZCZ ball D13) */
+            P9_91_default_pin: pinmux_P9_91_default_pin {
+                pinctrl-single,pins = <0x1a8  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_91_gpio_pin: pinmux_P9_91_gpio_pin {
+                pinctrl-single,pins = <0x1a8  0x2F>; };     /* Mode 7, RxActive */
+            P9_91_gpio_pu_pin: pinmux_P9_91_gpio_pu_pin {
+                pinctrl-single,pins = <0x1a8  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_91_gpio_pd_pin: pinmux_P9_91_gpio_pd_pin {
+                pinctrl-single,pins = <0x1a8  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_91_qep_pin: pinmux_P9_91_qep_pin {
+                pinctrl-single,pins = <0x1a8  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_91_pruout_pin: pinmux_P9_91_pruout_pin {
+                pinctrl-single,pins = <0x1a8  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_91_pruin_pin: pinmux_P9_91_pruin_pin {
+                pinctrl-single,pins = <0x1a8  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_42 (ZCZ ball C18) */
+            P9_42_default_pin: pinmux_P9_42_default_pin {
+                pinctrl-single,pins = <0x164  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_42_gpio_pin: pinmux_P9_42_gpio_pin {
+                pinctrl-single,pins = <0x164  0x2F>; };     /* Mode 7, RxActive */
+            P9_42_gpio_pu_pin: pinmux_P9_42_gpio_pu_pin {
+                pinctrl-single,pins = <0x164  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_42_gpio_pd_pin: pinmux_P9_42_gpio_pd_pin {
+                pinctrl-single,pins = <0x164  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_42_pwm_pin: pinmux_P9_42_pwm_pin {
+                pinctrl-single,pins = <0x164  0x20>; };     /* Mode 0, Pull-Down, RxActive */
+            P9_42_uart_pin: pinmux_P9_42_uart_pin {
+                pinctrl-single,pins = <0x164  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_42_spics_pin: pinmux_P9_42_spics_pin {
+                pinctrl-single,pins = <0x164  0x22>; };     /* Mode 2, Pull-Down, RxActive */
+            P9_42_spiclk_pin: pinmux_P9_42_spiclk_pin {
+                pinctrl-single,pins = <0x164  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P9_42.1              */
+            /* P9_92 (ZCZ ball B12) */
+            P9_92_default_pin: pinmux_P9_92_default_pin {
+                pinctrl-single,pins = <0x1a0  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_92_gpio_pin: pinmux_P9_92_gpio_pin {
+                pinctrl-single,pins = <0x1a0  0x2F>; };     /* Mode 7, RxActive */
+            P9_92_gpio_pu_pin: pinmux_P9_92_gpio_pu_pin {
+                pinctrl-single,pins = <0x1a0  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_92_gpio_pd_pin: pinmux_P9_92_gpio_pd_pin {
+                pinctrl-single,pins = <0x1a0  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_92_qep_pin: pinmux_P9_92_qep_pin {
+                pinctrl-single,pins = <0x1a0  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_92_pruout_pin: pinmux_P9_92_pruout_pin {
+                pinctrl-single,pins = <0x1a0  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_92_pruin_pin: pinmux_P9_92_pruin_pin {
+                pinctrl-single,pins = <0x1a0  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_43                GND     */
+            /* P9_44                GND     */
+            /* P9_45                GND     */
+            /* P9_46                GND     */
+
+        };
+    };
+
+
+    /************************/
+    /* Pin Multiplexing     */
+    /************************/
+
+    fragment@1 {
+        target = <&ocp>;
+        __overlay__ {
+
+            /************************/
+            /* P8 Header            */
+            /************************/
+
+            P8_07_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "timer";
+                pinctrl-0 = <&P8_07_default_pin>;
+                pinctrl-1 = <&P8_07_gpio_pin>;
+                pinctrl-2 = <&P8_07_gpio_pu_pin>;
+                pinctrl-3 = <&P8_07_gpio_pd_pin>;
+                pinctrl-4 = <&P8_07_timer_pin>;
+            };
+
+            P8_08_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "timer";
+                pinctrl-0 = <&P8_08_default_pin>;
+                pinctrl-1 = <&P8_08_gpio_pin>;
+                pinctrl-2 = <&P8_08_gpio_pu_pin>;
+                pinctrl-3 = <&P8_08_gpio_pd_pin>;
+                pinctrl-4 = <&P8_08_timer_pin>;
+            };
+
+            P8_09_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "timer";
+                pinctrl-0 = <&P8_09_default_pin>;
+                pinctrl-1 = <&P8_09_gpio_pin>;
+                pinctrl-2 = <&P8_09_gpio_pu_pin>;
+                pinctrl-3 = <&P8_09_gpio_pd_pin>;
+                pinctrl-4 = <&P8_09_timer_pin>;
+            };
+
+            P8_10_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "timer";
+                pinctrl-0 = <&P8_10_default_pin>;
+                pinctrl-1 = <&P8_10_gpio_pin>;
+                pinctrl-2 = <&P8_10_gpio_pu_pin>;
+                pinctrl-3 = <&P8_10_gpio_pd_pin>;
+                pinctrl-4 = <&P8_10_timer_pin>;
+            };
+
+            P8_11_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "qep";
+                pinctrl-0 = <&P8_11_default_pin>;
+                pinctrl-1 = <&P8_11_gpio_pin>;
+                pinctrl-2 = <&P8_11_gpio_pu_pin>;
+                pinctrl-3 = <&P8_11_gpio_pd_pin>;
+                pinctrl-4 = <&P8_11_pruout_pin>;
+                pinctrl-5 = <&P8_11_qep_pin>;
+            };
+
+            P8_12_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "qep";
+                pinctrl-0 = <&P8_12_default_pin>;
+                pinctrl-1 = <&P8_12_gpio_pin>;
+                pinctrl-2 = <&P8_12_gpio_pu_pin>;
+                pinctrl-3 = <&P8_12_gpio_pd_pin>;
+                pinctrl-4 = <&P8_12_pruout_pin>;
+                pinctrl-5 = <&P8_12_qep_pin>;
+            };
+
+            P8_13_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P8_13_default_pin>;
+                pinctrl-1 = <&P8_13_gpio_pin>;
+                pinctrl-2 = <&P8_13_gpio_pu_pin>;
+                pinctrl-3 = <&P8_13_gpio_pd_pin>;
+                pinctrl-4 = <&P8_13_pwm_pin>;
+            };
+
+            P8_14_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P8_14_default_pin>;
+                pinctrl-1 = <&P8_14_gpio_pin>;
+                pinctrl-2 = <&P8_14_gpio_pu_pin>;
+                pinctrl-3 = <&P8_14_gpio_pd_pin>;
+                pinctrl-4 = <&P8_14_pwm_pin>;
+            };
+
+            P8_15_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruin", "qep";
+                pinctrl-0 = <&P8_15_default_pin>;
+                pinctrl-1 = <&P8_15_gpio_pin>;
+                pinctrl-2 = <&P8_15_gpio_pu_pin>;
+                pinctrl-3 = <&P8_15_gpio_pd_pin>;
+                pinctrl-4 = <&P8_15_pruin_pin>;
+                pinctrl-5 = <&P8_15_qep_pin>;
+            };
+
+            P8_16_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruin", "qep";
+                pinctrl-0 = <&P8_16_default_pin>;
+                pinctrl-1 = <&P8_16_gpio_pin>;
+                pinctrl-2 = <&P8_16_gpio_pu_pin>;
+                pinctrl-3 = <&P8_16_gpio_pd_pin>;
+                pinctrl-4 = <&P8_16_pruin_pin>;
+                pinctrl-5 = <&P8_16_qep_pin>;
+            };
+
+            P8_17_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P8_17_default_pin>;
+                pinctrl-1 = <&P8_17_gpio_pin>;
+                pinctrl-2 = <&P8_17_gpio_pu_pin>;
+                pinctrl-3 = <&P8_17_gpio_pd_pin>;
+                pinctrl-4 = <&P8_17_pwm_pin>;
+            };
+
+            P8_18_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio";
+                pinctrl-0 = <&P8_18_default_pin>;
+                pinctrl-1 = <&P8_18_gpio_pin>;
+                pinctrl-2 = <&P8_18_gpio_pu_pin>;
+                pinctrl-3 = <&P8_18_gpio_pd_pin>;
+            };
+
+            P8_19_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P8_19_default_pin>;
+                pinctrl-1 = <&P8_19_gpio_pin>;
+                pinctrl-2 = <&P8_19_gpio_pu_pin>;
+                pinctrl-3 = <&P8_19_gpio_pd_pin>;
+                pinctrl-4 = <&P8_19_pwm_pin>;
+            };
+
+            P8_26_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio";
+                pinctrl-0 = <&P8_26_default_pin>;
+                pinctrl-1 = <&P8_26_gpio_pin>;
+                pinctrl-2 = <&P8_26_gpio_pu_pin>;
+                pinctrl-3 = <&P8_26_gpio_pd_pin>;
+            };
+
+
+            /************************/
+            /* P9 Header            */
+            /************************/
+
+            P9_11_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "uart";
+                pinctrl-0 = <&P9_11_default_pin>;
+                pinctrl-1 = <&P9_11_gpio_pin>;
+                pinctrl-2 = <&P9_11_gpio_pu_pin>;
+                pinctrl-3 = <&P9_11_gpio_pd_pin>;
+                pinctrl-4 = <&P9_11_uart_pin>;
+            };
+
+            P9_12_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio";
+                pinctrl-0 = <&P9_12_default_pin>;
+                pinctrl-1 = <&P9_12_gpio_pin>;
+                pinctrl-2 = <&P9_12_gpio_pu_pin>;
+                pinctrl-3 = <&P9_12_gpio_pd_pin>;
+            };
+
+            P9_13_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "uart";
+                pinctrl-0 = <&P9_13_default_pin>;
+                pinctrl-1 = <&P9_13_gpio_pin>;
+                pinctrl-2 = <&P9_13_gpio_pu_pin>;
+                pinctrl-3 = <&P9_13_gpio_pd_pin>;
+                pinctrl-4 = <&P9_13_uart_pin>;
+            };
+
+            P9_14_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P9_14_default_pin>;
+                pinctrl-1 = <&P9_14_gpio_pin>;
+                pinctrl-2 = <&P9_14_gpio_pu_pin>;
+                pinctrl-3 = <&P9_14_gpio_pd_pin>;
+                pinctrl-4 = <&P9_14_pwm_pin>;
+            };
+
+            P9_15_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P9_15_default_pin>;
+                pinctrl-1 = <&P9_15_gpio_pin>;
+                pinctrl-2 = <&P9_15_gpio_pu_pin>;
+                pinctrl-3 = <&P9_15_gpio_pd_pin>;
+                pinctrl-4 = <&P9_15_pwm_pin>;
+            };
+
+            P9_16_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P9_16_default_pin>;
+                pinctrl-1 = <&P9_16_gpio_pin>;
+                pinctrl-2 = <&P9_16_gpio_pu_pin>;
+                pinctrl-3 = <&P9_16_gpio_pd_pin>;
+                pinctrl-4 = <&P9_16_pwm_pin>;
+            };
+
+            P9_17_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "spi", "i2c", "pwm";
+                pinctrl-0 = <&P9_17_default_pin>;
+                pinctrl-1 = <&P9_17_gpio_pin>;
+                pinctrl-2 = <&P9_17_gpio_pu_pin>;
+                pinctrl-3 = <&P9_17_gpio_pd_pin>;
+                pinctrl-4 = <&P9_17_spi_pin>;
+                pinctrl-5 = <&P9_17_i2c_pin>;
+                pinctrl-6 = <&P9_17_pwm_pin>;
+            };
+
+            P9_18_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "spi", "i2c", "pwm";
+                pinctrl-0 = <&P9_18_default_pin>;
+                pinctrl-1 = <&P9_18_gpio_pin>;
+                pinctrl-2 = <&P9_18_gpio_pu_pin>;
+                pinctrl-3 = <&P9_18_gpio_pd_pin>;
+                pinctrl-4 = <&P9_18_spi_pin>;
+                pinctrl-5 = <&P9_18_i2c_pin>;
+                pinctrl-6 = <&P9_18_pwm_pin>;
+            };
+
+            // I2C Pins
+            // P9_19_pinmux
+            // P9_20_pinmux
+
+            P9_21_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "spi", "uart", "i2c", "pwm";
+                pinctrl-0 = <&P9_21_default_pin>;
+                pinctrl-1 = <&P9_21_gpio_pin>;
+                pinctrl-2 = <&P9_21_gpio_pu_pin>;
+                pinctrl-3 = <&P9_21_gpio_pd_pin>;
+                pinctrl-4 = <&P9_21_spi_pin>;
+                pinctrl-5 = <&P9_21_uart_pin>;
+                pinctrl-6 = <&P9_21_i2c_pin>;
+                pinctrl-7 = <&P9_21_pwm_pin>;
+            };
+
+            P9_22_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "spi", "uart", "i2c", "pwm";
+                pinctrl-0 = <&P9_22_default_pin>;
+                pinctrl-1 = <&P9_22_gpio_pin>;
+                pinctrl-2 = <&P9_22_gpio_pu_pin>;
+                pinctrl-3 = <&P9_22_gpio_pd_pin>;
+                pinctrl-4 = <&P9_22_spi_pin>;
+                pinctrl-5 = <&P9_22_uart_pin>;
+                pinctrl-6 = <&P9_22_i2c_pin>;
+                pinctrl-7 = <&P9_22_pwm_pin>;
+            };
+
+            P9_23_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P9_23_default_pin>;
+                pinctrl-1 = <&P9_23_gpio_pin>;
+                pinctrl-2 = <&P9_23_gpio_pu_pin>;
+                pinctrl-3 = <&P9_23_gpio_pd_pin>;
+                pinctrl-4 = <&P9_23_pwm_pin>;
+            };
+
+            P9_24_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "uart", "can", "i2c", "pruin";
+                pinctrl-0 = <&P9_24_default_pin>;
+                pinctrl-1 = <&P9_24_gpio_pin>;
+                pinctrl-2 = <&P9_24_gpio_pu_pin>;
+                pinctrl-3 = <&P9_24_gpio_pd_pin>;
+                pinctrl-4 = <&P9_24_uart_pin>;
+                pinctrl-5 = <&P9_24_can_pin>;
+                pinctrl-6 = <&P9_24_i2c_pin>;
+                pinctrl-7 = <&P9_24_pruin_pin>;
+            };
+
+            P9_25_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "qep", "pruout", "pruin";
+                pinctrl-0 = <&P9_25_default_pin>;
+                pinctrl-1 = <&P9_25_gpio_pin>;
+                pinctrl-2 = <&P9_25_gpio_pu_pin>;
+                pinctrl-3 = <&P9_25_gpio_pd_pin>;
+                pinctrl-4 = <&P9_25_qep_pin>;
+                pinctrl-5 = <&P9_25_pruout_pin>;
+                pinctrl-6 = <&P9_25_pruin_pin>;
+            };
+
+            P9_26_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "uart", "can", "i2c", "pruin";
+                pinctrl-0 = <&P9_26_default_pin>;
+                pinctrl-1 = <&P9_26_gpio_pin>;
+                pinctrl-2 = <&P9_26_gpio_pu_pin>;
+                pinctrl-3 = <&P9_26_gpio_pd_pin>;
+                pinctrl-4 = <&P9_26_uart_pin>;
+                pinctrl-5 = <&P9_26_can_pin>;
+                pinctrl-6 = <&P9_26_i2c_pin>;
+                pinctrl-7 = <&P9_26_pruin_pin>;
+            };
+
+            P9_27_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "qep", "pruout", "pruin";
+                pinctrl-0 = <&P9_27_default_pin>;
+                pinctrl-1 = <&P9_27_gpio_pin>;
+                pinctrl-2 = <&P9_27_gpio_pu_pin>;
+                pinctrl-3 = <&P9_27_gpio_pd_pin>;
+                pinctrl-4 = <&P9_27_qep_pin>;
+                pinctrl-5 = <&P9_27_pruout_pin>;
+                pinctrl-6 = <&P9_27_pruin_pin>;
+            };
+
+            P9_28_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm", "spi", "pwm2", "pruout", "pruin";
+                pinctrl-0 = <&P9_28_default_pin>;
+                pinctrl-1 = <&P9_28_gpio_pin>;
+                pinctrl-2 = <&P9_28_gpio_pu_pin>;
+                pinctrl-3 = <&P9_28_gpio_pd_pin>;
+                pinctrl-4 = <&P9_28_pwm_pin>;
+                pinctrl-5 = <&P9_28_spi_pin>;
+                pinctrl-6 = <&P9_28_pwm2_pin>;
+                pinctrl-7 = <&P9_28_pruout_pin>;
+                pinctrl-8 = <&P9_28_pruin_pin>;
+            };
+
+            P9_29_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm", "spi", "pruout", "pruin";
+                pinctrl-0 = <&P9_29_default_pin>;
+                pinctrl-1 = <&P9_29_gpio_pin>;
+                pinctrl-2 = <&P9_29_gpio_pu_pin>;
+                pinctrl-3 = <&P9_29_gpio_pd_pin>;
+                pinctrl-4 = <&P9_29_pwm_pin>;
+                pinctrl-5 = <&P9_29_spi_pin>;
+                pinctrl-6 = <&P9_29_pruout_pin>;
+                pinctrl-7 = <&P9_29_pruin_pin>;
+            };
+
+            P9_30_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm", "spi", "pruout", "pruin";
+                pinctrl-0 = <&P9_30_default_pin>;
+                pinctrl-1 = <&P9_30_gpio_pin>;
+                pinctrl-2 = <&P9_30_gpio_pu_pin>;
+                pinctrl-3 = <&P9_30_gpio_pd_pin>;
+                pinctrl-4 = <&P9_30_pwm_pin>;
+                pinctrl-5 = <&P9_30_spi_pin>;
+                pinctrl-6 = <&P9_30_pruout_pin>;
+                pinctrl-7 = <&P9_30_pruin_pin>;
+            };
+
+            P9_31_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm", "spi", "pruout", "pruin";
+                pinctrl-0 = <&P9_31_default_pin>;
+                pinctrl-1 = <&P9_31_gpio_pin>;
+                pinctrl-2 = <&P9_31_gpio_pu_pin>;
+                pinctrl-3 = <&P9_31_gpio_pd_pin>;
+                pinctrl-4 = <&P9_31_pwm_pin>;
+                pinctrl-5 = <&P9_31_spi_pin>;
+                pinctrl-6 = <&P9_31_pruout_pin>;
+                pinctrl-7 = <&P9_31_pruin_pin>;
+            };
+
+            P9_41_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "timer", "pruin";
+                pinctrl-0 = <&P9_41_default_pin>;
+                pinctrl-1 = <&P9_41_gpio_pin>;
+                pinctrl-2 = <&P9_41_gpio_pu_pin>;
+                pinctrl-3 = <&P9_41_gpio_pd_pin>;
+                pinctrl-4 = <&P9_41_timer_pin>;
+                pinctrl-5 = <&P9_41_pruin_pin>;
+            };
+
+            P9_91_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "qep", "pruout", "pruin";
+                pinctrl-0 = <&P9_91_default_pin>;
+                pinctrl-1 = <&P9_91_gpio_pin>;
+                pinctrl-2 = <&P9_91_gpio_pu_pin>;
+                pinctrl-3 = <&P9_91_gpio_pd_pin>;
+                pinctrl-4 = <&P9_91_qep_pin>;
+                pinctrl-5 = <&P9_91_pruout_pin>;
+                pinctrl-6 = <&P9_91_pruin_pin>;
+            };
+
+            P9_42_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm", "uart", "spics", "spiclk";
+                pinctrl-0 = <&P9_42_default_pin>;
+                pinctrl-1 = <&P9_42_gpio_pin>;
+                pinctrl-2 = <&P9_42_gpio_pu_pin>;
+                pinctrl-3 = <&P9_42_gpio_pd_pin>;
+                pinctrl-4 = <&P9_42_pwm_pin>;
+                pinctrl-5 = <&P9_42_uart_pin>;
+                pinctrl-6 = <&P9_42_spics_pin>;
+                pinctrl-7 = <&P9_42_spiclk_pin>;
+            };
+
+            P9_92_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "qep", "pruout", "pruin";
+                pinctrl-0 = <&P9_92_default_pin>;
+                pinctrl-1 = <&P9_92_gpio_pin>;
+                pinctrl-2 = <&P9_92_gpio_pu_pin>;
+                pinctrl-3 = <&P9_92_gpio_pd_pin>;
+                pinctrl-4 = <&P9_92_qep_pin>;
+                pinctrl-5 = <&P9_92_pruout_pin>;
+                pinctrl-6 = <&P9_92_pruin_pin>;
+            };
+        };
+    };
+    
+    fragment@2 {
+        target = <&ocp>;
+        __overlay__ {
+
+            // !!!WARNING!!!
+            // gpio-of-helper &gpio pointers are off-by-one vs. the hardware:
+            //   hardware GPIO bank 0 = &gpio1
+            cape-universal {
+                compatible = "gpio-of-helper";
+                status = "okay";
+                pinctrl-names = "default";
+                pinctrl-0 = <>;
+
+                P8_07 {
+                    gpio-name = "P8_07";
+                    gpio = <&gpio3 2 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_08 {
+                    gpio-name = "P8_08";
+                    gpio = <&gpio3 3 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_09 {
+                    gpio-name = "P8_09";
+                    gpio = <&gpio3 5 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_10 {
+                    gpio-name = "P8_10";
+                    gpio = <&gpio3 4 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_11 {
+                    gpio-name = "P8_11";
+                    gpio = <&gpio2 13 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_12 {
+                    gpio-name = "P8_12";
+                    gpio = <&gpio2 12 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_13 {
+                    gpio-name = "P8_13";
+                    gpio = <&gpio1 23 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_14 {
+                    gpio-name = "P8_14";
+                    gpio = <&gpio1 26 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_15 {
+                    gpio-name = "P8_15";
+                    gpio = <&gpio2 15 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_16 {
+                    gpio-name = "P8_16";
+                    gpio = <&gpio2 14 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_17 {
+                    gpio-name = "P8_17";
+                    gpio = <&gpio1 27 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_18 {
+                    gpio-name = "P8_18";
+                    gpio = <&gpio3 1 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_19 {
+                    gpio-name = "P8_19";
+                    gpio = <&gpio1 22 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_26 {
+                    gpio-name = "P8_26";
+                    gpio = <&gpio2 29 0>;
+                    input;
+                    dir-changeable;
+                };
+
+
+                P9_11 {
+                    gpio-name = "P9_11";
+                    gpio = <&gpio1 30 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_12 {
+                    gpio-name = "P9_12";
+                    gpio = <&gpio2 28 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_13 {
+                    gpio-name = "P9_13";
+                    gpio = <&gpio1 31 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_14 {
+                    gpio-name = "P9_14";
+                    gpio = <&gpio2 18 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_15 {
+                    gpio-name = "P9_15";
+                    gpio = <&gpio2 16 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_16 {
+                    gpio-name = "P9_16";
+                    gpio = <&gpio2 19 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_17 {
+                    gpio-name = "P9_17";
+                    gpio = <&gpio1 5 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_18 {
+                    gpio-name = "P9_18";
+                    gpio = <&gpio1 4 0>;
+                    input;
+                    dir-changeable;
+                };
+
+                // I2C pins
+                // P9_19
+                // P9_20
+
+                P9_21 {
+                    gpio-name = "P9_21";
+                    gpio = <&gpio1 3 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_22 {
+                    gpio-name = "P9_22";
+                    gpio = <&gpio1 2 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_23 {
+                    gpio-name = "P9_23";
+                    gpio = <&gpio2 17 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_24 {
+                    gpio-name = "P9_24";
+                    gpio = <&gpio1 15 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_25 {
+                    gpio-name = "P9_25";
+                    gpio = <&gpio4 21 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_26 {
+                    gpio-name = "P9_26";
+                    gpio = <&gpio1 14 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_27 {
+                    gpio-name = "P9_27";
+                    gpio = <&gpio4 19 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_28 {
+                    gpio-name = "P9_28";
+                    gpio = <&gpio4 17 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_29 {
+                    gpio-name = "P9_29";
+                    gpio = <&gpio4 15 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_30 {
+                    gpio-name = "P9_30";
+                    gpio = <&gpio4 16 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_31 {
+                    gpio-name = "P9_31";
+                    gpio = <&gpio4 14 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_41 {
+                    gpio-name = "P9_41";
+                    gpio = <&gpio1 20 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_91 {
+                    gpio-name = "P9_91";
+                    gpio = <&gpio4 20 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_42 {
+                    gpio-name = "P9_42";
+                    gpio = <&gpio1 7 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_92 {
+                    gpio-name = "P9_92";
+                    gpio = <&gpio4 18 0>;
+                    input;
+                    dir-changeable;
+                };
+            };
+        };
+    };
+
+
+
+    /************************/
+    /* UARTs                */
+    /************************/
+
+    fragment@10 {
+        target = <&uart2>;  /* really uart1 */
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@11 {
+        target = <&uart3>;  /* really uart2 */
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@12 {
+        target = <&uart5>;  /* really uart4 */
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+//    /* UART 5 only available on LCD/HDMI pins */
+//    fragment@13 {
+//        target = <&uart6>;  /* really uart5 */
+//        __overlay__ {
+//            status = "okay";
+//            pinctrl-names = "default";
+//            pinctrl-0 = <>; 
+//        };
+//    };
+
+    /************************/
+    /* Timers / PWM         */
+    /************************/
+
+    fragment@20 {
+        target = <&epwmss0>;
+        __overlay__ {
+            status = "okay";
+        };
+    };
+
+    fragment@21 {
+        target = <&ehrpwm0>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@22 {
+        target = <&ecap0>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@23 {
+        target = <&epwmss1>;
+        __overlay__ {
+            status = "okay";
+        };
+    };
+
+    fragment@24 {
+        target = <&ehrpwm1>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@25 {
+        target = <&epwmss2>;
+        __overlay__ {
+            status = "okay";
+        };
+    };
+
+    fragment@26 {
+        target = <&ehrpwm2>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@27 {
+        target = <&ecap2>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    /************************/
+    /* I2C / SPI            */
+    /************************/
+
+
+    fragment@30 {
+        target = <&i2c1>;   /* i2c1 is numbered correctly */
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+
+            /* this is the configuration part */
+            clock-frequency = <100000>;
+
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            /* add any i2c devices on the bus here */
+
+            // commented out example of a touchscreen (taken from BB-BONE-LCD7-01-00A4) */
+            // maxtouch@4a {
+            //  compatible = "mXT224";
+            //  reg = <0x4a>;
+            //  interrupt-parent = <&gpio4>;
+            //  interrupts = <19 0x0>;
+            //  atmel,irq-gpio = <&gpio4 19 0>;
+            // };
+        };
+    };
+
+    fragment@31 {
+        target = <&spi0>;   /* spi0 is numbered correctly */
+        __overlay__ {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+
+            spi0channel@0 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                compatible = "spidev";
+
+                reg = <0>;
+                spi-max-frequency = <16000000>;
+                spi-cpha;
+            };
+
+
+            spi0channel@1 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                compatible = "spidev";
+
+                reg = <1>;
+                spi-max-frequency = <16000000>;
+            };
+        };
+    };
+
+    fragment@32 {
+        target = <&spi1>;   /* spi1 is numbered correctly */
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            spi1channel@0 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                compatible = "spidev";
+
+                reg = <0>;
+                spi-max-frequency = <16000000>;
+                spi-cpha;
+            };
+
+            spi1channel@1 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                compatible = "spidev";
+
+                reg = <1>;
+                spi-max-frequency = <16000000>;
+            };
+        };
+    };
+
+    fragment@33 {
+        target = <&dcan0>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>;
+        };
+    };
+
+    fragment@34 {
+        target = <&dcan1>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>;
+        };
+    };
+
+
+    /************************/
+    /* PRUSS                */
+    /************************/
+
+    fragment@40 {
+        target = <&pruss>;
+        __overlay__ {
+            status = "okay";
+        };
+    };
+
+};
diff --git a/firmware/capes/cape-universaln-00A0.dts b/firmware/capes/cape-universaln-00A0.dts
new file mode 100644
index 0000000..2ca4b7a
--- /dev/null
+++ b/firmware/capes/cape-universaln-00A0.dts
@@ -0,0 +1,1609 @@
+// Copyright 2013
+// Charles Steinkuehler <charles@steinkuehler.net>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+/dts-v1/;
+/plugin/;
+
+/ {
+    compatible = "ti,beaglebone", "ti,beaglebone-black";
+
+    /* identification */
+    part-number = "cape-bone-universal";
+    version = "00A0";
+
+    /* state the resources this cape uses */
+    exclusive-use =
+
+/*      "P8.1",     GND     */
+/*      "P8.2",     GND     */
+/*      "P8.3",     emmc    */
+/*      "P8.4",     emmc    */
+/*      "P8.5",     emmc    */
+/*      "P8.6",     emmc    */
+        "P8.7",
+        "P8.8",
+        "P8.9",
+        "P8.10",
+        "P8.11",
+        "P8.12",
+        "P8.13",
+        "P8.14",
+        "P8.15",
+        "P8.16",
+        "P8.17",
+        "P8.18",
+        "P8.19",
+/*      "P8.20",    emmc    */
+/*      "P8.21",    emmc    */
+/*      "P8.22",    emmc    */
+/*      "P8.23",    emmc    */
+/*      "P8.24",    emmc    */
+/*      "P8.25",    emmc    */
+        "P8.26",
+/*      "P8.27",    hdmi    */
+/*      "P8.28",    hdmi    */
+/*      "P8.29",    hdmi    */
+/*      "P8.30",    hdmi    */
+/*      "P8.31",    hdmi    */
+/*      "P8.32",    hdmi    */
+/*      "P8.33",    hdmi    */
+/*      "P8.34",    hdmi    */
+/*      "P8.35",    hdmi    */
+/*      "P8.36",    hdmi    */
+/*      "P8.37",    hdmi    */
+/*      "P8.38",    hdmi    */
+/*      "P8.39",    hdmi    */
+/*      "P8.40",    hdmi    */
+/*      "P8.41",    hdmi    */
+/*      "P8.42",    hdmi    */
+/*      "P8.43",    hdmi    */
+/*      "P8.44",    hdmi    */
+/*      "P8.45",    hdmi    */
+/*      "P8.46",    hdmi    */
+
+/*      "P9.1",     GND     */
+/*      "P9.2",     GND     */
+/*      "P9.3",     3.3V    */
+/*      "P9.4",     3.3V    */
+/*      "P9.5",     VDD_5V  */
+/*      "P9.6",     VDD_5V  */
+/*      "P9.7",     SYS_5V  */
+/*      "P9.8",     SYS_5V  */
+/*      "P9.9",     PWR_BUT */
+/*      "P9.10",    RESETn  */
+        "P9.11",
+        "P9.12",
+        "P9.13",
+        "P9.14",
+        "P9.15",
+        "P9.16",
+        "P9.17",
+        "P9.18",
+/*      "P9.19",    I2C     */
+/*      "P9.20",    I2C     */
+        "P9.21",
+        "P9.22",
+        "P9.23",
+        "P9.24",
+/*      "P9.25",    Audio   */
+        "P9.26",
+        "P9.27",
+/*      "P9.28",    Audio   */
+/*      "P9.29",    Audio   */
+        "P9.30",
+        "P9.31",
+/*      "P9.32",    VADC    */
+/*      "P9.33",    AIN4    */
+/*      "P9.34",    AGND    */
+/*      "P9.35",    AIN6    */
+/*      "P9.36",    AIN5    */
+/*      "P9.37",    AIN2    */
+/*      "P9.38",    AIN3    */
+/*      "P9.39",    AIN0    */
+/*      "P9.40",    AIN1    */
+        "P9.41",
+        "P9.41.1",
+        "P9.42",
+        "P9.42.1",
+/*      "P9.43",    GND     */
+/*      "P9.44",    GND     */
+/*      "P9.45",    GND     */
+/*      "P9.46",    GND     */
+
+        "uart1",
+        "uart2",
+        "uart4",
+//      "uart5",    /* Conflicts with HDMI  */
+
+        "ehrpwm0A",
+        "ehrpwm0B",
+        "ehrpwm1A",
+        "ehrpwm1B",
+        "ehrpwm2A",
+        "ehrpwm2B",
+
+//        "epwmss0",
+//        "ehrpwm0",
+//        "ecap0",
+//        "epwmss1",
+//        "ehrpwm1",
+//        "epwmss2",
+//        "ehrpwm2",
+//        "ecap2",
+
+        "i2c1",
+        "spi1",
+        "spi0",
+        "dcan0",
+        "dcan1",
+
+        "pru0",
+        "pru1",
+        "pruss";
+
+    fragment@0 {
+        target = <&am33xx_pinmux>;
+        __overlay__ {
+
+            /************************/
+            /* P8 Header            */
+            /************************/
+
+            /* P8_01                GND     */
+            /* P8_02                GND     */
+            /* P8_03 (ZCZ ball R9 ) emmc    */
+            /* P8_04 (ZCZ ball T9 ) emmc    */
+            /* P8_05 (ZCZ ball R8 ) emmc    */
+            /* P8_06 (ZCZ ball T8 ) emmc    */
+
+            /* P8_07 (ZCZ ball R7 ) */
+            P8_07_default_pin: pinmux_P8_07_default_pin {
+                pinctrl-single,pins = <0x090  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_07_gpio_pin: pinmux_P8_07_gpio_pin {
+                pinctrl-single,pins = <0x090  0x2F>; };     /* Mode 7, RxActive */
+            P8_07_gpio_pu_pin: pinmux_P8_07_gpio_pu_pin {
+                pinctrl-single,pins = <0x090  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_07_gpio_pd_pin: pinmux_P8_07_gpio_pd_pin {
+                pinctrl-single,pins = <0x090  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_07_timer_pin: pinmux_P8_07_timer_pin {
+                pinctrl-single,pins = <0x090  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+
+            /* P8_08 (ZCZ ball T7 ) */
+            P8_08_default_pin: pinmux_P8_08_default_pin {
+                pinctrl-single,pins = <0x094  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_08_gpio_pin: pinmux_P8_08_gpio_pin {
+                pinctrl-single,pins = <0x094  0x2F>; };     /* Mode 7, RxActive */
+            P8_08_gpio_pu_pin: pinmux_P8_08_gpio_pu_pin {
+                pinctrl-single,pins = <0x094  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_08_gpio_pd_pin: pinmux_P8_08_gpio_pd_pin {
+                pinctrl-single,pins = <0x094  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_08_timer_pin: pinmux_P8_08_timer_pin {
+                pinctrl-single,pins = <0x094  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+
+            /* P8_09 (ZCZ ball T6 ) */
+            P8_09_default_pin: pinmux_P8_09_default_pin {
+                pinctrl-single,pins = <0x09c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_09_gpio_pin: pinmux_P8_09_gpio_pin {
+                pinctrl-single,pins = <0x09c  0x2F>; };     /* Mode 7, RxActive */
+            P8_09_gpio_pu_pin: pinmux_P8_09_gpio_pu_pin {
+                pinctrl-single,pins = <0x09c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_09_gpio_pd_pin: pinmux_P8_09_gpio_pd_pin {
+                pinctrl-single,pins = <0x09c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_09_timer_pin: pinmux_P8_09_timer_pin {
+                pinctrl-single,pins = <0x09c  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+
+            /* P8_10 (ZCZ ball U6 ) */
+            P8_10_default_pin: pinmux_P8_10_default_pin {
+                pinctrl-single,pins = <0x098  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_10_gpio_pin: pinmux_P8_10_gpio_pin {
+                pinctrl-single,pins = <0x098  0x2F>; };     /* Mode 7, RxActive */
+            P8_10_gpio_pu_pin: pinmux_P8_10_gpio_pu_pin {
+                pinctrl-single,pins = <0x098  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_10_gpio_pd_pin: pinmux_P8_10_gpio_pd_pin {
+                pinctrl-single,pins = <0x098  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_10_timer_pin: pinmux_P8_10_timer_pin {
+                pinctrl-single,pins = <0x098  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+
+            /* P8_11 (ZCZ ball R12) */
+            P8_11_default_pin: pinmux_P8_11_default_pin {
+                pinctrl-single,pins = <0x034  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_11_gpio_pin: pinmux_P8_11_gpio_pin {
+                pinctrl-single,pins = <0x034  0x2F>; };     /* Mode 7, RxActive */
+            P8_11_gpio_pu_pin: pinmux_P8_11_gpio_pu_pin {
+                pinctrl-single,pins = <0x034  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_11_gpio_pd_pin: pinmux_P8_11_gpio_pd_pin {
+                pinctrl-single,pins = <0x034  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_11_pruout_pin: pinmux_P8_11_pruout_pin {
+                pinctrl-single,pins = <0x034  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+            P8_11_qep_pin: pinmux_P8_11_qep_pin {
+                pinctrl-single,pins = <0x034  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_12 (ZCZ ball T12) */
+            P8_12_default_pin: pinmux_P8_12_default_pin {
+                pinctrl-single,pins = <0x030  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_12_gpio_pin: pinmux_P8_12_gpio_pin {
+                pinctrl-single,pins = <0x030  0x2F>; };     /* Mode 7, RxActive */
+            P8_12_gpio_pu_pin: pinmux_P8_12_gpio_pu_pin {
+                pinctrl-single,pins = <0x030  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_12_gpio_pd_pin: pinmux_P8_12_gpio_pd_pin {
+                pinctrl-single,pins = <0x030  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_12_pruout_pin: pinmux_P8_12_pruout_pin {
+                pinctrl-single,pins = <0x030  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+            P8_12_qep_pin: pinmux_P8_12_qep_pin {
+                pinctrl-single,pins = <0x030  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_13 (ZCZ ball T10) */
+            P8_13_default_pin: pinmux_P8_13_default_pin {
+                pinctrl-single,pins = <0x024  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_13_gpio_pin: pinmux_P8_13_gpio_pin {
+                pinctrl-single,pins = <0x024  0x2F>; };     /* Mode 7, RxActive */
+            P8_13_gpio_pu_pin: pinmux_P8_13_gpio_pu_pin {
+                pinctrl-single,pins = <0x024  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_13_gpio_pd_pin: pinmux_P8_13_gpio_pd_pin {
+                pinctrl-single,pins = <0x024  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_13_pwm_pin: pinmux_P8_13_pwm_pin {
+                pinctrl-single,pins = <0x024  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_14 (ZCZ ball T11) */
+            P8_14_default_pin: pinmux_P8_14_default_pin {
+                pinctrl-single,pins = <0x028  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_14_gpio_pin: pinmux_P8_14_gpio_pin {
+                pinctrl-single,pins = <0x028  0x2F>; };     /* Mode 7, RxActive */
+            P8_14_gpio_pu_pin: pinmux_P8_14_gpio_pu_pin {
+                pinctrl-single,pins = <0x028  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_14_gpio_pd_pin: pinmux_P8_14_gpio_pd_pin {
+                pinctrl-single,pins = <0x028  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_14_pwm_pin: pinmux_P8_14_pwm_pin {
+                pinctrl-single,pins = <0x028  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_15 (ZCZ ball U13) */
+            P8_15_default_pin: pinmux_P8_15_default_pin {
+                pinctrl-single,pins = <0x03c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_15_gpio_pin: pinmux_P8_15_gpio_pin {
+                pinctrl-single,pins = <0x03c  0x2F>; };     /* Mode 7, RxActive */
+            P8_15_gpio_pu_pin: pinmux_P8_15_gpio_pu_pin {
+                pinctrl-single,pins = <0x03c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_15_gpio_pd_pin: pinmux_P8_15_gpio_pd_pin {
+                pinctrl-single,pins = <0x03c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_15_pruin_pin: pinmux_P8_15_pruin_pin {
+                pinctrl-single,pins = <0x03c  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+            P8_15_qep_pin: pinmux_P8_15_qep_pin {
+                pinctrl-single,pins = <0x03c  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_16 (ZCZ ball V13) */
+            P8_16_default_pin: pinmux_P8_16_default_pin {
+                pinctrl-single,pins = <0x038  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_16_gpio_pin: pinmux_P8_16_gpio_pin {
+                pinctrl-single,pins = <0x038  0x2F>; };     /* Mode 7, RxActive */
+            P8_16_gpio_pu_pin: pinmux_P8_16_gpio_pu_pin {
+                pinctrl-single,pins = <0x038  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_16_gpio_pd_pin: pinmux_P8_16_gpio_pd_pin {
+                pinctrl-single,pins = <0x038  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_16_pruin_pin: pinmux_P8_16_pruin_pin {
+                pinctrl-single,pins = <0x038  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+            P8_16_qep_pin: pinmux_P8_16_qep_pin {
+                pinctrl-single,pins = <0x038  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_17 (ZCZ ball U12) */
+            P8_17_default_pin: pinmux_P8_17_default_pin {
+                pinctrl-single,pins = <0x02c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_17_gpio_pin: pinmux_P8_17_gpio_pin {
+                pinctrl-single,pins = <0x02c  0x2F>; };     /* Mode 7, RxActive */
+            P8_17_gpio_pu_pin: pinmux_P8_17_gpio_pu_pin {
+                pinctrl-single,pins = <0x02c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_17_gpio_pd_pin: pinmux_P8_17_gpio_pd_pin {
+                pinctrl-single,pins = <0x02c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_17_pwm_pin: pinmux_P8_17_pwm_pin {
+                pinctrl-single,pins = <0x02c  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_18 (ZCZ ball V12) */
+            P8_18_default_pin: pinmux_P8_18_default_pin {
+                pinctrl-single,pins = <0x08c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_18_gpio_pin: pinmux_P8_18_gpio_pin {
+                pinctrl-single,pins = <0x08c  0x2F>; };     /* Mode 7, RxActive */
+            P8_18_gpio_pu_pin: pinmux_P8_18_gpio_pu_pin {
+                pinctrl-single,pins = <0x08c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_18_gpio_pd_pin: pinmux_P8_18_gpio_pd_pin {
+                pinctrl-single,pins = <0x08c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P8_19 (ZCZ ball U10) */
+            P8_19_default_pin: pinmux_P8_19_default_pin {
+                pinctrl-single,pins = <0x020  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_19_gpio_pin: pinmux_P8_19_gpio_pin {
+                pinctrl-single,pins = <0x020  0x2F>; };     /* Mode 7, RxActive */
+            P8_19_gpio_pu_pin: pinmux_P8_19_gpio_pu_pin {
+                pinctrl-single,pins = <0x020  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_19_gpio_pd_pin: pinmux_P8_19_gpio_pd_pin {
+                pinctrl-single,pins = <0x020  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P8_19_pwm_pin: pinmux_P8_19_pwm_pin {
+                pinctrl-single,pins = <0x020  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P8_20 (ZCZ ball V9 ) emmc    */
+            /* P8_21 (ZCZ ball U9 ) emmc    */
+            /* P8_22 (ZCZ ball V8 ) emmc    */
+            /* P8_23 (ZCZ ball U8 ) emmc    */
+            /* P8_24 (ZCZ ball V7 ) emmc    */
+            /* P8_25 (ZCZ ball U7 ) emmc    */
+
+            /* P8_26 (ZCZ ball V6 ) */
+            P8_26_default_pin: pinmux_P8_26_default_pin {
+                pinctrl-single,pins = <0x07c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_26_gpio_pin: pinmux_P8_26_gpio_pin {
+                pinctrl-single,pins = <0x07c  0x2F>; };     /* Mode 7, RxActive */
+            P8_26_gpio_pu_pin: pinmux_P8_26_gpio_pu_pin {
+                pinctrl-single,pins = <0x07c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P8_26_gpio_pd_pin: pinmux_P8_26_gpio_pd_pin {
+                pinctrl-single,pins = <0x07c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P8_27 (ZCZ ball U5 ) hdmi    */
+            /* P8_28 (ZCZ ball V5 ) hdmi    */
+            /* P8_29 (ZCZ ball R5 ) hdmi    */
+            /* P8_30 (ZCZ ball R6 ) hdmi    */
+            /* P8_31 (ZCZ ball V4 ) hdmi    */
+            /* P8_32 (ZCZ ball T5 ) hdmi    */
+            /* P8_33 (ZCZ ball V3 ) hdmi    */
+            /* P8_34 (ZCZ ball U4 ) hdmi    */
+            /* P8_35 (ZCZ ball V2 ) hdmi    */
+            /* P8_36 (ZCZ ball U3 ) hdmi    */
+            /* P8_37 (ZCZ ball U1 ) hdmi    */
+            /* P8_38 (ZCZ ball U2 ) hdmi    */
+            /* P8_39 (ZCZ ball T3 ) hdmi    */
+            /* P8_40 (ZCZ ball T4 ) hdmi    */
+            /* P8_41 (ZCZ ball T1 ) hdmi    */
+            /* P8_42 (ZCZ ball T2 ) hdmi    */
+            /* P8_43 (ZCZ ball R3 ) hdmi    */
+            /* P8_44 (ZCZ ball R4 ) hdmi    */
+            /* P8_45 (ZCZ ball R1 ) hdmi    */
+            /* P8_46 (ZCZ ball R2 ) hdmi    */
+
+
+            /************************/
+            /* P9 Header            */
+            /************************/
+
+            /* P9_01                GND     */
+            /* P9_02                GND     */
+            /* P9_03                3.3V    */
+            /* P9_04                3.3V    */
+            /* P9_05                VDD_5V  */
+            /* P9_06                VDD_5V  */
+            /* P9_07                SYS_5V  */
+            /* P9_08                SYS_5V  */
+            /* P9_09                PWR_BUT */
+            /* P9_10 (ZCZ ball A10) RESETn  */
+
+            /* P9_11 (ZCZ ball T17) */
+            P9_11_default_pin: pinmux_P9_11_default_pin {
+                pinctrl-single,pins = <0x070  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_11_gpio_pin: pinmux_P9_11_gpio_pin {
+                pinctrl-single,pins = <0x070  0x2F>; };     /* Mode 7, RxActive */
+            P9_11_gpio_pu_pin: pinmux_P9_11_gpio_pu_pin {
+                pinctrl-single,pins = <0x070  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_11_gpio_pd_pin: pinmux_P9_11_gpio_pd_pin {
+                pinctrl-single,pins = <0x070  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_11_uart_pin: pinmux_P9_11_uart_pin {
+                pinctrl-single,pins = <0x070  0x36>; };     /* Mode 6, Pull-Up, RxActive */
+
+            /* P9_12 (ZCZ ball U18) */
+            P9_12_default_pin: pinmux_P9_12_default_pin {
+                pinctrl-single,pins = <0x078  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_12_gpio_pin: pinmux_P9_12_gpio_pin {
+                pinctrl-single,pins = <0x078  0x2F>; };     /* Mode 7, RxActive */
+            P9_12_gpio_pu_pin: pinmux_P9_12_gpio_pu_pin {
+                pinctrl-single,pins = <0x078  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_12_gpio_pd_pin: pinmux_P9_12_gpio_pd_pin {
+                pinctrl-single,pins = <0x078  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+
+            /* P9_13 (ZCZ ball U17) */
+            P9_13_default_pin: pinmux_P9_13_default_pin {
+                pinctrl-single,pins = <0x074  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_13_gpio_pin: pinmux_P9_13_gpio_pin {
+                pinctrl-single,pins = <0x074  0x2F>; };     /* Mode 7, RxActive */
+            P9_13_gpio_pu_pin: pinmux_P9_13_gpio_pu_pin {
+                pinctrl-single,pins = <0x074  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_13_gpio_pd_pin: pinmux_P9_13_gpio_pd_pin {
+                pinctrl-single,pins = <0x074  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_13_uart_pin: pinmux_P9_13_uart_pin {
+                pinctrl-single,pins = <0x074  0x36>; };     /* Mode 6, Pull-Up, RxActive */
+
+            /* P9_14 (ZCZ ball U14) */
+            P9_14_default_pin: pinmux_P9_14_default_pin {
+                pinctrl-single,pins = <0x048  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_14_gpio_pin: pinmux_P9_14_gpio_pin {
+                pinctrl-single,pins = <0x048  0x2F>; };     /* Mode 7, RxActive */
+            P9_14_gpio_pu_pin: pinmux_P9_14_gpio_pu_pin {
+                pinctrl-single,pins = <0x048  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_14_gpio_pd_pin: pinmux_P9_14_gpio_pd_pin {
+                pinctrl-single,pins = <0x048  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_14_pwm_pin: pinmux_P9_14_pwm_pin {
+                pinctrl-single,pins = <0x048  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_15 (ZCZ ball R13) */
+            P9_15_default_pin: pinmux_P9_15_default_pin {
+                pinctrl-single,pins = <0x040  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_15_gpio_pin: pinmux_P9_15_gpio_pin {
+                pinctrl-single,pins = <0x040  0x2F>; };     /* Mode 7, RxActive */
+            P9_15_gpio_pu_pin: pinmux_P9_15_gpio_pu_pin {
+                pinctrl-single,pins = <0x040  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_15_gpio_pd_pin: pinmux_P9_15_gpio_pd_pin {
+                pinctrl-single,pins = <0x040  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_15_pwm_pin: pinmux_P9_15_pwm_pin {
+                pinctrl-single,pins = <0x040  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_16 (ZCZ ball T14) */
+            P9_16_default_pin: pinmux_P9_16_default_pin {
+                pinctrl-single,pins = <0x04c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_16_gpio_pin: pinmux_P9_16_gpio_pin {
+                pinctrl-single,pins = <0x04c  0x2F>; };     /* Mode 7, RxActive */
+            P9_16_gpio_pu_pin: pinmux_P9_16_gpio_pu_pin {
+                pinctrl-single,pins = <0x04c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_16_gpio_pd_pin: pinmux_P9_16_gpio_pd_pin {
+                pinctrl-single,pins = <0x04c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_16_pwm_pin: pinmux_P9_16_pwm_pin {
+                pinctrl-single,pins = <0x04c  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_17 (ZCZ ball A16) */
+            P9_17_default_pin: pinmux_P9_17_default_pin {
+                pinctrl-single,pins = <0x15c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_17_gpio_pin: pinmux_P9_17_gpio_pin {
+                pinctrl-single,pins = <0x15c  0x2F>; };     /* Mode 7, RxActive */
+            P9_17_gpio_pu_pin: pinmux_P9_17_gpio_pu_pin {
+                pinctrl-single,pins = <0x15c  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_17_gpio_pd_pin: pinmux_P9_17_gpio_pd_pin {
+                pinctrl-single,pins = <0x15c  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_17_spi_pin: pinmux_P9_17_spi_pin {
+                pinctrl-single,pins = <0x15c  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_17_i2c_pin: pinmux_P9_17_i2c_pin {
+                pinctrl-single,pins = <0x15c  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_17_pwm_pin: pinmux_P9_17_pwm_pin {
+                pinctrl-single,pins = <0x15c  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+
+            /* P9_18 (ZCZ ball B16) */
+            P9_18_default_pin: pinmux_P9_18_default_pin {
+                pinctrl-single,pins = <0x158  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_18_gpio_pin: pinmux_P9_18_gpio_pin {
+                pinctrl-single,pins = <0x158  0x2F>; };     /* Mode 7, RxActive */
+            P9_18_gpio_pu_pin: pinmux_P9_18_gpio_pu_pin {
+                pinctrl-single,pins = <0x158  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_18_gpio_pd_pin: pinmux_P9_18_gpio_pd_pin {
+                pinctrl-single,pins = <0x158  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_18_spi_pin: pinmux_P9_18_spi_pin {
+                pinctrl-single,pins = <0x158  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_18_i2c_pin: pinmux_P9_18_i2c_pin {
+                pinctrl-single,pins = <0x158  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_18_pwm_pin: pinmux_P9_18_pwm_pin {
+                pinctrl-single,pins = <0x158  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+
+            // Leave the cape I2C EEPROM bus alone
+            /* P9_19 (ZCZ ball D17) I2C     */
+            /* P9_20 (ZCZ ball D18) I2C     */
+
+            /* P9_21 (ZCZ ball B17) */
+            P9_21_default_pin: pinmux_P9_21_default_pin {
+                pinctrl-single,pins = <0x154  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_21_gpio_pin: pinmux_P9_21_gpio_pin {
+                pinctrl-single,pins = <0x154  0x2F>; };     /* Mode 7, RxActive */
+            P9_21_gpio_pu_pin: pinmux_P9_21_gpio_pu_pin {
+                pinctrl-single,pins = <0x154  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_21_gpio_pd_pin: pinmux_P9_21_gpio_pd_pin {
+                pinctrl-single,pins = <0x154  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_21_spi_pin: pinmux_P9_21_spi_pin {
+                pinctrl-single,pins = <0x154  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_21_uart_pin: pinmux_P9_21_uart_pin {
+                pinctrl-single,pins = <0x154  0x31>; };     /* Mode 1, Pull-Up, RxActive */
+            P9_21_i2c_pin: pinmux_P9_21_i2c_pin {
+                pinctrl-single,pins = <0x154  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_21_pwm_pin: pinmux_P9_21_pwm_pin {
+                pinctrl-single,pins = <0x154  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+
+            /* P9_22 (ZCZ ball A17) */
+            P9_22_default_pin: pinmux_P9_22_default_pin {
+                pinctrl-single,pins = <0x150  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_22_gpio_pin: pinmux_P9_22_gpio_pin {
+                pinctrl-single,pins = <0x150  0x2F>; };     /* Mode 7, RxActive */
+            P9_22_gpio_pu_pin: pinmux_P9_22_gpio_pu_pin {
+                pinctrl-single,pins = <0x150  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_22_gpio_pd_pin: pinmux_P9_22_gpio_pd_pin {
+                pinctrl-single,pins = <0x150  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_22_spi_pin: pinmux_P9_22_spi_pin {
+                pinctrl-single,pins = <0x150  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_22_uart_pin: pinmux_P9_22_uart_pin {
+                pinctrl-single,pins = <0x150  0x31>; };     /* Mode 1, Pull-Up, RxActive */
+            P9_22_i2c_pin: pinmux_P9_22_i2c_pin {
+                pinctrl-single,pins = <0x150  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_22_pwm_pin: pinmux_P9_22_pwm_pin {
+                pinctrl-single,pins = <0x150  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+
+            /* P9_23 (ZCZ ball V14) */
+            P9_23_default_pin: pinmux_P9_23_default_pin {
+                pinctrl-single,pins = <0x044  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_23_gpio_pin: pinmux_P9_23_gpio_pin {
+                pinctrl-single,pins = <0x044  0x2F>; };     /* Mode 7, RxActive */
+            P9_23_gpio_pu_pin: pinmux_P9_23_gpio_pu_pin {
+                pinctrl-single,pins = <0x044  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_23_gpio_pd_pin: pinmux_P9_23_gpio_pd_pin {
+                pinctrl-single,pins = <0x044  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_23_pwm_pin: pinmux_P9_23_pwm_pin {
+                pinctrl-single,pins = <0x044  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_24 (ZCZ ball D15) */
+            P9_24_default_pin: pinmux_P9_24_default_pin {
+                pinctrl-single,pins = <0x184  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_24_gpio_pin: pinmux_P9_24_gpio_pin {
+                pinctrl-single,pins = <0x184  0x2F>; };     /* Mode 7, RxActive */
+            P9_24_gpio_pu_pin: pinmux_P9_24_gpio_pu_pin {
+                pinctrl-single,pins = <0x184  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_24_gpio_pd_pin: pinmux_P9_24_gpio_pd_pin {
+                pinctrl-single,pins = <0x184  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_24_uart_pin: pinmux_P9_24_uart_pin {
+                pinctrl-single,pins = <0x184  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_24_can_pin: pinmux_P9_24_can_pin {
+                pinctrl-single,pins = <0x184  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_24_i2c_pin: pinmux_P9_24_i2c_pin {
+                pinctrl-single,pins = <0x184  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+            P9_24_pruin_pin: pinmux_P9_24_pruin_pin {
+                pinctrl-single,pins = <0x184  0x36>; };     /* Mode 6, Pull-Up, RxActive */
+
+            /* P9_25 (ZCZ ball A14) Audio   */
+
+            /* P9_26 (ZCZ ball D16) */
+            P9_26_default_pin: pinmux_P9_26_default_pin {
+                pinctrl-single,pins = <0x180  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_26_gpio_pin: pinmux_P9_26_gpio_pin {
+                pinctrl-single,pins = <0x180  0x2F>; };     /* Mode 7, RxActive */
+            P9_26_gpio_pu_pin: pinmux_P9_26_gpio_pu_pin {
+                pinctrl-single,pins = <0x180  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_26_gpio_pd_pin: pinmux_P9_26_gpio_pd_pin {
+                pinctrl-single,pins = <0x180  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_26_uart_pin: pinmux_P9_26_uart_pin {
+                pinctrl-single,pins = <0x180  0x30>; };     /* Mode 0, Pull-Up, RxActive */
+            P9_26_can_pin: pinmux_P9_26_can_pin {
+                pinctrl-single,pins = <0x180  0x32>; };     /* Mode 2, Pull-Up, RxActive */
+            P9_26_i2c_pin: pinmux_P9_26_i2c_pin {
+                pinctrl-single,pins = <0x180  0x33>; };     /* Mode 3, Pull-Up, RxActive */
+            P9_26_pruin_pin: pinmux_P9_26_pruin_pin {
+                pinctrl-single,pins = <0x180  0x36>; };     /* Mode 6, Pull-Up, RxActive */
+
+            /* P9_27 (ZCZ ball C13) */
+            P9_27_default_pin: pinmux_P9_27_default_pin {
+                pinctrl-single,pins = <0x1a4  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_27_gpio_pin: pinmux_P9_27_gpio_pin {
+                pinctrl-single,pins = <0x1a4  0x2F>; };     /* Mode 7, RxActive */
+            P9_27_gpio_pu_pin: pinmux_P9_27_gpio_pu_pin {
+                pinctrl-single,pins = <0x1a4  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_27_gpio_pd_pin: pinmux_P9_27_gpio_pd_pin {
+                pinctrl-single,pins = <0x1a4  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_27_qep_pin: pinmux_P9_27_qep_pin {
+                pinctrl-single,pins = <0x1a4  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_27_pruout_pin: pinmux_P9_27_pruout_pin {
+                pinctrl-single,pins = <0x1a4  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_27_pruin_pin: pinmux_P9_27_pruin_pin {
+                pinctrl-single,pins = <0x1a4  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_28 (ZCZ ball C12) Audio   */
+            /* P9_29 (ZCZ ball B13) Audio   */
+
+            /* P9_30 (ZCZ ball D12) */
+            P9_30_default_pin: pinmux_P9_30_default_pin {
+                pinctrl-single,pins = <0x198  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_30_gpio_pin: pinmux_P9_30_gpio_pin {
+                pinctrl-single,pins = <0x198  0x2F>; };     /* Mode 7, RxActive */
+            P9_30_gpio_pu_pin: pinmux_P9_30_gpio_pu_pin {
+                pinctrl-single,pins = <0x198  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_30_gpio_pd_pin: pinmux_P9_30_gpio_pd_pin {
+                pinctrl-single,pins = <0x198  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_30_pwm_pin: pinmux_P9_30_pwm_pin {
+                pinctrl-single,pins = <0x198  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_30_spi_pin: pinmux_P9_30_spi_pin {
+                pinctrl-single,pins = <0x198  0x23>; };     /* Mode 3, Pull-Down, RxActive */
+            P9_30_pruout_pin: pinmux_P9_30_pruout_pin {
+                pinctrl-single,pins = <0x198  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_30_pruin_pin: pinmux_P9_30_pruin_pin {
+                pinctrl-single,pins = <0x198  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_31 (ZCZ ball A13) Audio   */
+
+            /* P9_32                VADC    */
+            /* P9_33 (ZCZ ball C8 ) AIN4    */
+            /* P9_34                AGND    */
+            /* P9_35 (ZCZ ball A8 ) AIN6    */
+            /* P9_36 (ZCZ ball B8 ) AIN5    */
+            /* P9_37 (ZCZ ball B7 ) AIN2    */
+            /* P9_38 (ZCZ ball A7 ) AIN3    */
+            /* P9_39 (ZCZ ball B6 ) AIN0    */
+            /* P9_40 (ZCZ ball C7 ) AIN1    */
+
+            /* P9_41 (ZCZ ball D14) */
+            P9_41_default_pin: pinmux_P9_41_default_pin {
+                pinctrl-single,pins = <0x1b4  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_41_gpio_pin: pinmux_P9_41_gpio_pin {
+                pinctrl-single,pins = <0x1b4  0x2F>; };     /* Mode 7, RxActive */
+            P9_41_gpio_pu_pin: pinmux_P9_41_gpio_pu_pin {
+                pinctrl-single,pins = <0x1b4  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_41_gpio_pd_pin: pinmux_P9_41_gpio_pd_pin {
+                pinctrl-single,pins = <0x1b4  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_41_timer_pin: pinmux_P9_41_timer_pin {
+                pinctrl-single,pins = <0x1b4  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+            P9_41_pruin_pin: pinmux_P9_41_pruin_pin {
+                pinctrl-single,pins = <0x1b4  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+
+            /* P9_41.1              */
+            /* P9_91 (ZCZ ball D13) */
+            P9_91_default_pin: pinmux_P9_91_default_pin {
+                pinctrl-single,pins = <0x1a8  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_91_gpio_pin: pinmux_P9_91_gpio_pin {
+                pinctrl-single,pins = <0x1a8  0x2F>; };     /* Mode 7, RxActive */
+            P9_91_gpio_pu_pin: pinmux_P9_91_gpio_pu_pin {
+                pinctrl-single,pins = <0x1a8  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_91_gpio_pd_pin: pinmux_P9_91_gpio_pd_pin {
+                pinctrl-single,pins = <0x1a8  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_91_qep_pin: pinmux_P9_91_qep_pin {
+                pinctrl-single,pins = <0x1a8  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_91_pruout_pin: pinmux_P9_91_pruout_pin {
+                pinctrl-single,pins = <0x1a8  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_91_pruin_pin: pinmux_P9_91_pruin_pin {
+                pinctrl-single,pins = <0x1a8  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_42 (ZCZ ball C18) */
+            P9_42_default_pin: pinmux_P9_42_default_pin {
+                pinctrl-single,pins = <0x164  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_42_gpio_pin: pinmux_P9_42_gpio_pin {
+                pinctrl-single,pins = <0x164  0x2F>; };     /* Mode 7, RxActive */
+            P9_42_gpio_pu_pin: pinmux_P9_42_gpio_pu_pin {
+                pinctrl-single,pins = <0x164  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_42_gpio_pd_pin: pinmux_P9_42_gpio_pd_pin {
+                pinctrl-single,pins = <0x164  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_42_pwm_pin: pinmux_P9_42_pwm_pin {
+                pinctrl-single,pins = <0x164  0x20>; };     /* Mode 0, Pull-Down, RxActive */
+            P9_42_uart_pin: pinmux_P9_42_uart_pin {
+                pinctrl-single,pins = <0x164  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_42_spics_pin: pinmux_P9_42_spics_pin {
+                pinctrl-single,pins = <0x164  0x22>; };     /* Mode 2, Pull-Down, RxActive */
+            P9_42_spiclk_pin: pinmux_P9_42_spiclk_pin {
+                pinctrl-single,pins = <0x164  0x24>; };     /* Mode 4, Pull-Down, RxActive */
+
+            /* P9_42.1              */
+            /* P9_92 (ZCZ ball B12) */
+            P9_92_default_pin: pinmux_P9_92_default_pin {
+                pinctrl-single,pins = <0x1a0  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_92_gpio_pin: pinmux_P9_92_gpio_pin {
+                pinctrl-single,pins = <0x1a0  0x2F>; };     /* Mode 7, RxActive */
+            P9_92_gpio_pu_pin: pinmux_P9_92_gpio_pu_pin {
+                pinctrl-single,pins = <0x1a0  0x37>; };     /* Mode 7, Pull-Up, RxActive */
+            P9_92_gpio_pd_pin: pinmux_P9_92_gpio_pd_pin {
+                pinctrl-single,pins = <0x1a0  0x27>; };     /* Mode 7, Pull-Down, RxActive */
+            P9_92_qep_pin: pinmux_P9_92_qep_pin {
+                pinctrl-single,pins = <0x1a0  0x21>; };     /* Mode 1, Pull-Down, RxActive */
+            P9_92_pruout_pin: pinmux_P9_92_pruout_pin {
+                pinctrl-single,pins = <0x1a0  0x25>; };     /* Mode 5, Pull-Down, RxActive */
+            P9_92_pruin_pin: pinmux_P9_92_pruin_pin {
+                pinctrl-single,pins = <0x1a0  0x26>; };     /* Mode 6, Pull-Down, RxActive */
+
+            /* P9_43                GND     */
+            /* P9_44                GND     */
+            /* P9_45                GND     */
+            /* P9_46                GND     */
+
+        };
+    };
+
+
+    /************************/
+    /* Pin Multiplexing     */
+    /************************/
+
+    fragment@1 {
+        target = <&ocp>;
+        __overlay__ {
+
+            /************************/
+            /* P8 Header            */
+            /************************/
+
+            P8_07_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "timer";
+                pinctrl-0 = <&P8_07_default_pin>;
+                pinctrl-1 = <&P8_07_gpio_pin>;
+                pinctrl-2 = <&P8_07_gpio_pu_pin>;
+                pinctrl-3 = <&P8_07_gpio_pd_pin>;
+                pinctrl-4 = <&P8_07_timer_pin>;
+            };
+
+            P8_08_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "timer";
+                pinctrl-0 = <&P8_08_default_pin>;
+                pinctrl-1 = <&P8_08_gpio_pin>;
+                pinctrl-2 = <&P8_08_gpio_pu_pin>;
+                pinctrl-3 = <&P8_08_gpio_pd_pin>;
+                pinctrl-4 = <&P8_08_timer_pin>;
+            };
+
+            P8_09_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "timer";
+                pinctrl-0 = <&P8_09_default_pin>;
+                pinctrl-1 = <&P8_09_gpio_pin>;
+                pinctrl-2 = <&P8_09_gpio_pu_pin>;
+                pinctrl-3 = <&P8_09_gpio_pd_pin>;
+                pinctrl-4 = <&P8_09_timer_pin>;
+            };
+
+            P8_10_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "timer";
+                pinctrl-0 = <&P8_10_default_pin>;
+                pinctrl-1 = <&P8_10_gpio_pin>;
+                pinctrl-2 = <&P8_10_gpio_pu_pin>;
+                pinctrl-3 = <&P8_10_gpio_pd_pin>;
+                pinctrl-4 = <&P8_10_timer_pin>;
+            };
+
+            P8_11_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "qep";
+                pinctrl-0 = <&P8_11_default_pin>;
+                pinctrl-1 = <&P8_11_gpio_pin>;
+                pinctrl-2 = <&P8_11_gpio_pu_pin>;
+                pinctrl-3 = <&P8_11_gpio_pd_pin>;
+                pinctrl-4 = <&P8_11_pruout_pin>;
+                pinctrl-5 = <&P8_11_qep_pin>;
+            };
+
+            P8_12_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "qep";
+                pinctrl-0 = <&P8_12_default_pin>;
+                pinctrl-1 = <&P8_12_gpio_pin>;
+                pinctrl-2 = <&P8_12_gpio_pu_pin>;
+                pinctrl-3 = <&P8_12_gpio_pd_pin>;
+                pinctrl-4 = <&P8_12_pruout_pin>;
+                pinctrl-5 = <&P8_12_qep_pin>;
+            };
+
+            P8_13_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P8_13_default_pin>;
+                pinctrl-1 = <&P8_13_gpio_pin>;
+                pinctrl-2 = <&P8_13_gpio_pu_pin>;
+                pinctrl-3 = <&P8_13_gpio_pd_pin>;
+                pinctrl-4 = <&P8_13_pwm_pin>;
+            };
+
+            P8_14_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P8_14_default_pin>;
+                pinctrl-1 = <&P8_14_gpio_pin>;
+                pinctrl-2 = <&P8_14_gpio_pu_pin>;
+                pinctrl-3 = <&P8_14_gpio_pd_pin>;
+                pinctrl-4 = <&P8_14_pwm_pin>;
+            };
+
+            P8_15_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruin", "qep";
+                pinctrl-0 = <&P8_15_default_pin>;
+                pinctrl-1 = <&P8_15_gpio_pin>;
+                pinctrl-2 = <&P8_15_gpio_pu_pin>;
+                pinctrl-3 = <&P8_15_gpio_pd_pin>;
+                pinctrl-4 = <&P8_15_pruin_pin>;
+                pinctrl-5 = <&P8_15_qep_pin>;
+            };
+
+            P8_16_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruin", "qep";
+                pinctrl-0 = <&P8_16_default_pin>;
+                pinctrl-1 = <&P8_16_gpio_pin>;
+                pinctrl-2 = <&P8_16_gpio_pu_pin>;
+                pinctrl-3 = <&P8_16_gpio_pd_pin>;
+                pinctrl-4 = <&P8_16_pruin_pin>;
+                pinctrl-5 = <&P8_16_qep_pin>;
+            };
+
+            P8_17_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P8_17_default_pin>;
+                pinctrl-1 = <&P8_17_gpio_pin>;
+                pinctrl-2 = <&P8_17_gpio_pu_pin>;
+                pinctrl-3 = <&P8_17_gpio_pd_pin>;
+                pinctrl-4 = <&P8_17_pwm_pin>;
+            };
+
+            P8_18_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio";
+                pinctrl-0 = <&P8_18_default_pin>;
+                pinctrl-1 = <&P8_18_gpio_pin>;
+                pinctrl-2 = <&P8_18_gpio_pu_pin>;
+                pinctrl-3 = <&P8_18_gpio_pd_pin>;
+            };
+
+            P8_19_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P8_19_default_pin>;
+                pinctrl-1 = <&P8_19_gpio_pin>;
+                pinctrl-2 = <&P8_19_gpio_pu_pin>;
+                pinctrl-3 = <&P8_19_gpio_pd_pin>;
+                pinctrl-4 = <&P8_19_pwm_pin>;
+            };
+
+            P8_26_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio";
+                pinctrl-0 = <&P8_26_default_pin>;
+                pinctrl-1 = <&P8_26_gpio_pin>;
+                pinctrl-2 = <&P8_26_gpio_pu_pin>;
+                pinctrl-3 = <&P8_26_gpio_pd_pin>;
+            };
+
+
+            /************************/
+            /* P9 Header            */
+            /************************/
+
+            P9_11_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "uart";
+                pinctrl-0 = <&P9_11_default_pin>;
+                pinctrl-1 = <&P9_11_gpio_pin>;
+                pinctrl-2 = <&P9_11_gpio_pu_pin>;
+                pinctrl-3 = <&P9_11_gpio_pd_pin>;
+                pinctrl-4 = <&P9_11_uart_pin>;
+            };
+
+            P9_12_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio";
+                pinctrl-0 = <&P9_12_default_pin>;
+                pinctrl-1 = <&P9_12_gpio_pin>;
+                pinctrl-2 = <&P9_12_gpio_pu_pin>;
+                pinctrl-3 = <&P9_12_gpio_pd_pin>;
+            };
+
+            P9_13_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "uart";
+                pinctrl-0 = <&P9_13_default_pin>;
+                pinctrl-1 = <&P9_13_gpio_pin>;
+                pinctrl-2 = <&P9_13_gpio_pu_pin>;
+                pinctrl-3 = <&P9_13_gpio_pd_pin>;
+                pinctrl-4 = <&P9_13_uart_pin>;
+            };
+
+            P9_14_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P9_14_default_pin>;
+                pinctrl-1 = <&P9_14_gpio_pin>;
+                pinctrl-2 = <&P9_14_gpio_pu_pin>;
+                pinctrl-3 = <&P9_14_gpio_pd_pin>;
+                pinctrl-4 = <&P9_14_pwm_pin>;
+            };
+
+            P9_15_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P9_15_default_pin>;
+                pinctrl-1 = <&P9_15_gpio_pin>;
+                pinctrl-2 = <&P9_15_gpio_pu_pin>;
+                pinctrl-3 = <&P9_15_gpio_pd_pin>;
+                pinctrl-4 = <&P9_15_pwm_pin>;
+            };
+
+            P9_16_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P9_16_default_pin>;
+                pinctrl-1 = <&P9_16_gpio_pin>;
+                pinctrl-2 = <&P9_16_gpio_pu_pin>;
+                pinctrl-3 = <&P9_16_gpio_pd_pin>;
+                pinctrl-4 = <&P9_16_pwm_pin>;
+            };
+
+            P9_17_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "spi", "i2c", "pwm";
+                pinctrl-0 = <&P9_17_default_pin>;
+                pinctrl-1 = <&P9_17_gpio_pin>;
+                pinctrl-2 = <&P9_17_gpio_pu_pin>;
+                pinctrl-3 = <&P9_17_gpio_pd_pin>;
+                pinctrl-4 = <&P9_17_spi_pin>;
+                pinctrl-5 = <&P9_17_i2c_pin>;
+                pinctrl-6 = <&P9_17_pwm_pin>;
+            };
+
+            P9_18_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "spi", "i2c", "pwm";
+                pinctrl-0 = <&P9_18_default_pin>;
+                pinctrl-1 = <&P9_18_gpio_pin>;
+                pinctrl-2 = <&P9_18_gpio_pu_pin>;
+                pinctrl-3 = <&P9_18_gpio_pd_pin>;
+                pinctrl-4 = <&P9_18_spi_pin>;
+                pinctrl-5 = <&P9_18_i2c_pin>;
+                pinctrl-6 = <&P9_18_pwm_pin>;
+            };
+
+            // I2C Pins
+            // P9_19_pinmux
+            // P9_20_pinmux
+
+            P9_21_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "spi", "uart", "i2c", "pwm";
+                pinctrl-0 = <&P9_21_default_pin>;
+                pinctrl-1 = <&P9_21_gpio_pin>;
+                pinctrl-2 = <&P9_21_gpio_pu_pin>;
+                pinctrl-3 = <&P9_21_gpio_pd_pin>;
+                pinctrl-4 = <&P9_21_spi_pin>;
+                pinctrl-5 = <&P9_21_uart_pin>;
+                pinctrl-6 = <&P9_21_i2c_pin>;
+                pinctrl-7 = <&P9_21_pwm_pin>;
+            };
+
+            P9_22_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "spi", "uart", "i2c", "pwm";
+                pinctrl-0 = <&P9_22_default_pin>;
+                pinctrl-1 = <&P9_22_gpio_pin>;
+                pinctrl-2 = <&P9_22_gpio_pu_pin>;
+                pinctrl-3 = <&P9_22_gpio_pd_pin>;
+                pinctrl-4 = <&P9_22_spi_pin>;
+                pinctrl-5 = <&P9_22_uart_pin>;
+                pinctrl-6 = <&P9_22_i2c_pin>;
+                pinctrl-7 = <&P9_22_pwm_pin>;
+            };
+
+            P9_23_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm";
+                pinctrl-0 = <&P9_23_default_pin>;
+                pinctrl-1 = <&P9_23_gpio_pin>;
+                pinctrl-2 = <&P9_23_gpio_pu_pin>;
+                pinctrl-3 = <&P9_23_gpio_pd_pin>;
+                pinctrl-4 = <&P9_23_pwm_pin>;
+            };
+
+            P9_24_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "uart", "can", "i2c", "pruin";
+                pinctrl-0 = <&P9_24_default_pin>;
+                pinctrl-1 = <&P9_24_gpio_pin>;
+                pinctrl-2 = <&P9_24_gpio_pu_pin>;
+                pinctrl-3 = <&P9_24_gpio_pd_pin>;
+                pinctrl-4 = <&P9_24_uart_pin>;
+                pinctrl-5 = <&P9_24_can_pin>;
+                pinctrl-6 = <&P9_24_i2c_pin>;
+                pinctrl-7 = <&P9_24_pruin_pin>;
+            };
+
+
+            // Audio pin
+            // P9_25_pinmux
+
+            P9_26_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "uart", "can", "i2c", "pruin";
+                pinctrl-0 = <&P9_26_default_pin>;
+                pinctrl-1 = <&P9_26_gpio_pin>;
+                pinctrl-2 = <&P9_26_gpio_pu_pin>;
+                pinctrl-3 = <&P9_26_gpio_pd_pin>;
+                pinctrl-4 = <&P9_26_uart_pin>;
+                pinctrl-5 = <&P9_26_can_pin>;
+                pinctrl-6 = <&P9_26_i2c_pin>;
+                pinctrl-7 = <&P9_26_pruin_pin>;
+            };
+
+            P9_27_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "qep", "pruout", "pruin";
+                pinctrl-0 = <&P9_27_default_pin>;
+                pinctrl-1 = <&P9_27_gpio_pin>;
+                pinctrl-2 = <&P9_27_gpio_pu_pin>;
+                pinctrl-3 = <&P9_27_gpio_pd_pin>;
+                pinctrl-4 = <&P9_27_qep_pin>;
+                pinctrl-5 = <&P9_27_pruout_pin>;
+                pinctrl-6 = <&P9_27_pruin_pin>;
+            };
+
+            // Audio pins
+            // P9_28_pinmux
+            // P9_29_pinmux
+
+            P9_30_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm", "spi", "pruout", "pruin";
+                pinctrl-0 = <&P9_30_default_pin>;
+                pinctrl-1 = <&P9_30_gpio_pin>;
+                pinctrl-2 = <&P9_30_gpio_pu_pin>;
+                pinctrl-3 = <&P9_30_gpio_pd_pin>;
+                pinctrl-4 = <&P9_30_pwm_pin>;
+                pinctrl-5 = <&P9_30_spi_pin>;
+                pinctrl-6 = <&P9_30_pruout_pin>;
+                pinctrl-7 = <&P9_30_pruin_pin>;
+            };
+
+            // Audio pin
+            // P9_31_pinmux
+
+            P9_41_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "timer", "pruin";
+                pinctrl-0 = <&P9_41_default_pin>;
+                pinctrl-1 = <&P9_41_gpio_pin>;
+                pinctrl-2 = <&P9_41_gpio_pu_pin>;
+                pinctrl-3 = <&P9_41_gpio_pd_pin>;
+                pinctrl-4 = <&P9_41_timer_pin>;
+                pinctrl-5 = <&P9_41_pruin_pin>;
+            };
+
+            P9_91_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "qep", "pruout", "pruin";
+                pinctrl-0 = <&P9_91_default_pin>;
+                pinctrl-1 = <&P9_91_gpio_pin>;
+                pinctrl-2 = <&P9_91_gpio_pu_pin>;
+                pinctrl-3 = <&P9_91_gpio_pd_pin>;
+                pinctrl-4 = <&P9_91_qep_pin>;
+                pinctrl-5 = <&P9_91_pruout_pin>;
+                pinctrl-6 = <&P9_91_pruin_pin>;
+            };
+
+            P9_42_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pwm", "uart", "spics", "spiclk";
+                pinctrl-0 = <&P9_42_default_pin>;
+                pinctrl-1 = <&P9_42_gpio_pin>;
+                pinctrl-2 = <&P9_42_gpio_pu_pin>;
+                pinctrl-3 = <&P9_42_gpio_pd_pin>;
+                pinctrl-4 = <&P9_42_pwm_pin>;
+                pinctrl-5 = <&P9_42_uart_pin>;
+                pinctrl-6 = <&P9_42_spics_pin>;
+                pinctrl-7 = <&P9_42_spiclk_pin>;
+            };
+
+            P9_92_pinmux {
+                compatible = "bone-pinmux-helper";
+                status = "okay";
+                pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "qep", "pruout", "pruin";
+                pinctrl-0 = <&P9_92_default_pin>;
+                pinctrl-1 = <&P9_92_gpio_pin>;
+                pinctrl-2 = <&P9_92_gpio_pu_pin>;
+                pinctrl-3 = <&P9_92_gpio_pd_pin>;
+                pinctrl-4 = <&P9_92_qep_pin>;
+                pinctrl-5 = <&P9_92_pruout_pin>;
+                pinctrl-6 = <&P9_92_pruin_pin>;
+            };
+        };
+    };
+    
+    fragment@2 {
+        target = <&ocp>;
+        __overlay__ {
+
+            // !!!WARNING!!!
+            // gpio-of-helper &gpio pointers are off-by-one vs. the hardware:
+            //   hardware GPIO bank 0 = &gpio1
+            cape-universal {
+                compatible = "gpio-of-helper";
+                status = "okay";
+                pinctrl-names = "default";
+                pinctrl-0 = <>;
+
+                P8_07 {
+                    gpio-name = "P8_07";
+                    gpio = <&gpio3 2 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_08 {
+                    gpio-name = "P8_08";
+                    gpio = <&gpio3 3 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_09 {
+                    gpio-name = "P8_09";
+                    gpio = <&gpio3 5 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_10 {
+                    gpio-name = "P8_10";
+                    gpio = <&gpio3 4 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_11 {
+                    gpio-name = "P8_11";
+                    gpio = <&gpio2 13 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_12 {
+                    gpio-name = "P8_12";
+                    gpio = <&gpio2 12 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_13 {
+                    gpio-name = "P8_13";
+                    gpio = <&gpio1 23 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_14 {
+                    gpio-name = "P8_14";
+                    gpio = <&gpio1 26 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_15 {
+                    gpio-name = "P8_15";
+                    gpio = <&gpio2 15 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_16 {
+                    gpio-name = "P8_16";
+                    gpio = <&gpio2 14 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_17 {
+                    gpio-name = "P8_17";
+                    gpio = <&gpio1 27 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_18 {
+                    gpio-name = "P8_18";
+                    gpio = <&gpio3 1 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_19 {
+                    gpio-name = "P8_19";
+                    gpio = <&gpio1 22 0>;
+                    input;
+                    dir-changeable;
+                };
+                P8_26 {
+                    gpio-name = "P8_26";
+                    gpio = <&gpio2 29 0>;
+                    input;
+                    dir-changeable;
+                };
+
+
+                P9_11 {
+                    gpio-name = "P9_11";
+                    gpio = <&gpio1 30 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_12 {
+                    gpio-name = "P9_12";
+                    gpio = <&gpio2 28 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_13 {
+                    gpio-name = "P9_13";
+                    gpio = <&gpio1 31 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_14 {
+                    gpio-name = "P9_14";
+                    gpio = <&gpio2 18 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_15 {
+                    gpio-name = "P9_15";
+                    gpio = <&gpio2 16 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_16 {
+                    gpio-name = "P9_16";
+                    gpio = <&gpio2 19 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_17 {
+                    gpio-name = "P9_17";
+                    gpio = <&gpio1 5 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_18 {
+                    gpio-name = "P9_18";
+                    gpio = <&gpio1 4 0>;
+                    input;
+                    dir-changeable;
+                };
+
+                // I2C pins
+                // P9_19
+                // P9_20
+
+                P9_21 {
+                    gpio-name = "P9_21";
+                    gpio = <&gpio1 3 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_22 {
+                    gpio-name = "P9_22";
+                    gpio = <&gpio1 2 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_23 {
+                    gpio-name = "P9_23";
+                    gpio = <&gpio2 17 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_24 {
+                    gpio-name = "P9_24";
+                    gpio = <&gpio1 15 0>;
+                    input;
+                    dir-changeable;
+                };
+
+                // Audio pin
+                // P9_25
+
+                P9_26 {
+                    gpio-name = "P9_26";
+                    gpio = <&gpio1 14 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_27 {
+                    gpio-name = "P9_27";
+                    gpio = <&gpio4 19 0>;
+                    input;
+                    dir-changeable;
+                };
+
+                // Audio pins
+                // P9_28
+                // P9_29
+
+                P9_30 {
+                    gpio-name = "P9_30";
+                    gpio = <&gpio4 16 0>;
+                    input;
+                    dir-changeable;
+                };
+
+                // Audio pin
+                // P9_31
+
+                P9_41 {
+                    gpio-name = "P9_41";
+                    gpio = <&gpio1 20 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_91 {
+                    gpio-name = "P9_91";
+                    gpio = <&gpio4 20 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_42 {
+                    gpio-name = "P9_42";
+                    gpio = <&gpio1 7 0>;
+                    input;
+                    dir-changeable;
+                };
+                P9_92 {
+                    gpio-name = "P9_92";
+                    gpio = <&gpio4 18 0>;
+                    input;
+                    dir-changeable;
+                };
+            };
+        };
+    };
+
+
+
+    /************************/
+    /* UARTs                */
+    /************************/
+
+    fragment@10 {
+        target = <&uart2>;  /* really uart1 */
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@11 {
+        target = <&uart3>;  /* really uart2 */
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@12 {
+        target = <&uart5>;  /* really uart4 */
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+//    /* UART 5 only available on LCD/HDMI pins */
+//    fragment@13 {
+//        target = <&uart6>;  /* really uart5 */
+//        __overlay__ {
+//            status = "okay";
+//            pinctrl-names = "default";
+//            pinctrl-0 = <>; 
+//        };
+//    };
+
+    /************************/
+    /* Timers / PWM         */
+    /************************/
+
+    fragment@20 {
+        target = <&epwmss0>;
+        __overlay__ {
+            status = "okay";
+        };
+    };
+
+    fragment@21 {
+        target = <&ehrpwm0>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@22 {
+        target = <&ecap0>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@23 {
+        target = <&epwmss1>;
+        __overlay__ {
+            status = "okay";
+        };
+    };
+
+    fragment@24 {
+        target = <&ehrpwm1>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@25 {
+        target = <&epwmss2>;
+        __overlay__ {
+            status = "okay";
+        };
+    };
+
+    fragment@26 {
+        target = <&ehrpwm2>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    fragment@27 {
+        target = <&ecap2>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+        };
+    };
+
+    /************************/
+    /* I2C / SPI            */
+    /************************/
+
+
+    fragment@30 {
+        target = <&i2c1>;   /* i2c1 is numbered correctly */
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+
+            /* this is the configuration part */
+            clock-frequency = <100000>;
+
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            /* add any i2c devices on the bus here */
+
+            // commented out example of a touchscreen (taken from BB-BONE-LCD7-01-00A4) */
+            // maxtouch@4a {
+            //  compatible = "mXT224";
+            //  reg = <0x4a>;
+            //  interrupt-parent = <&gpio4>;
+            //  interrupts = <19 0x0>;
+            //  atmel,irq-gpio = <&gpio4 19 0>;
+            // };
+        };
+    };
+
+    fragment@31 {
+        target = <&spi0>;   /* spi0 is numbered correctly */
+        __overlay__ {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+
+            spi0channel@0 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                compatible = "spidev";
+
+                reg = <0>;
+                spi-max-frequency = <16000000>;
+                spi-cpha;
+            };
+
+
+            spi0channel@1 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                compatible = "spidev";
+
+                reg = <1>;
+                spi-max-frequency = <16000000>;
+            };
+        };
+    };
+
+    fragment@32 {
+        target = <&spi1>;   /* spi1 is numbered correctly */
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>; 
+
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            spi1channel@0 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                compatible = "spidev";
+
+                reg = <0>;
+                spi-max-frequency = <16000000>;
+                spi-cpha;
+            };
+
+            spi1channel@1 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                compatible = "spidev";
+
+                reg = <1>;
+                spi-max-frequency = <16000000>;
+            };
+        };
+    };
+
+    fragment@33 {
+        target = <&dcan0>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>;
+        };
+    };
+
+    fragment@34 {
+        target = <&dcan1>;
+        __overlay__ {
+            status = "okay";
+            pinctrl-names = "default";
+            pinctrl-0 = <>;
+        };
+    };
+
+
+    /************************/
+    /* PRUSS                */
+    /************************/
+
+    fragment@40 {
+        target = <&pruss>;
+        __overlay__ {
+            status = "okay";
+        };
+    };
+
+};
-- 
1.7.10.4

