From 797c7fd351a1b63d127981d9382894818d03a855 Mon Sep 17 00:00:00 2001
From: Robert Nelson <robertcnelson@gmail.com>
Date: Tue, 23 Mar 2021 11:12:59 -0500
Subject: [PATCH] add initial symlinks

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
---
 src/arm/am335x-abbbi.dts                           |  2 ++
 src/arm/am335x-bone-common-no-capemgr.dtsi         |  3 +++
 src/arm/am335x-bone-common-univ.dtsi               | 14 +++++++-------
 src/arm/am335x-bone-common.dtsi                    |  3 +++
 src/arm/am335x-boneblack-bbbmini.dts               |  6 +++---
 src/arm/am335x-bonegreen-common.dtsi               |  1 +
 src/arm/am335x-bonegreen-wireless-common-univ.dtsi | 14 +++++++-------
 src/arm/omap5-board-common.dtsi                    |  9 ++++++---
 8 files changed, 32 insertions(+), 20 deletions(-)

diff --git a/src/arm/am335x-abbbi.dts b/src/arm/am335x-abbbi.dts
index 213edff..1ceb8d7 100644
--- a/src/arm/am335x-abbbi.dts
+++ b/src/arm/am335x-abbbi.dts
@@ -3,6 +3,7 @@
  * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
  * Copyright 2015 Konsulko Group
  */
+
 /dts-v1/;
 
 #include "am33xx.dtsi"
@@ -38,6 +39,7 @@
 	pinctrl-0 = <&emmc_pins>;
 	bus-width = <8>;
 	status = "okay";
+	non-removable;
 };
 
 &am33xx_pinmux {
diff --git a/src/arm/am335x-bone-common-no-capemgr.dtsi b/src/arm/am335x-bone-common-no-capemgr.dtsi
index c21ae7d..dceb524 100644
--- a/src/arm/am335x-bone-common-no-capemgr.dtsi
+++ b/src/arm/am335x-bone-common-no-capemgr.dtsi
@@ -180,6 +180,7 @@
 	pinctrl-0 = <&uart0_pins>;
 
 	status = "okay";
+	symlink = "bone/uart/0";
 };
 
 &usb {
@@ -220,6 +221,7 @@
 
 	status = "okay";
 	clock-frequency = <400000>;
+	symlink = "bone/i2c/0";
 
 	tps: tps@24 {
 		reg = <0x24>;
@@ -243,6 +245,7 @@
 
 	status = "okay";
 	clock-frequency = <100000>;
+	symlink = "bone/i2c/2";
 };
 
 
diff --git a/src/arm/am335x-bone-common-univ.dtsi b/src/arm/am335x-bone-common-univ.dtsi
index bdffdc0..8dbd166 100644
--- a/src/arm/am335x-bone-common-univ.dtsi
+++ b/src/arm/am335x-bone-common-univ.dtsi
@@ -1265,6 +1265,7 @@
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <>;
+	symlink = "bone/eqep/0";
 
 	count_mode = <0>; /* 0 - Quadrature mode, normal 90 phase offset cha & chb. 1 - Direction mode. cha input = clock, chb input = direction */
 	swap_inputs = <0>; /* Are channel A and channel B swapped? (0 - no, 1 - yes) */
@@ -1272,13 +1273,13 @@
 	invert_qb = <1>; /* Should we invert the channel B input? I invert these because my encoder outputs drive transistors that pull down the pins */
 	invert_qi = <0>; /* Should we invert the index input? */
 	invert_qs = <0>; /* Should we invert the strobe input? */
-	symlink = "bone/eqep/0";
 };
 
 &eqep1 {
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <>;
+	symlink = "bone/eqep/1";
 
 	count_mode = <0>; /* 0 - Quadrature mode, normal 90 phase offset cha & chb. 1 - Direction mode. cha input = clock, chb input = direction */
 	swap_inputs = <0>; /* Are channel A and channel B swapped? (0 - no, 1 - yes) */
@@ -1286,13 +1287,13 @@
 	invert_qb = <1>; /* Should we invert the channel B input? I invert these because my encoder outputs drive transistors that pull down the pins */
 	invert_qi = <0>; /* Should we invert the index input? */
 	invert_qs = <0>; /* Should we invert the strobe input? */
-	symlink = "bone/eqep/1";
 };
 
 &eqep2 {
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <>;
+	symlink = "bone/eqep/2";
 
 	count_mode = <0>; /* 0 - Quadrature mode, normal 90 phase offset cha & chb. 1 - Direction mode. cha input = clock, chb input = direction */
 	swap_inputs = <0>; /* Are channel A and channel B swapped? (0 - no, 1 - yes) */
@@ -1300,7 +1301,6 @@
 	invert_qb = <1>; /* Should we invert the channel B input? I invert these because my encoder outputs drive transistors that pull down the pins */
 	invert_qi = <0>; /* Should we invert the index input? */
 	invert_qs = <0>; /* Should we invert the strobe input? */
-	symlink = "bone/eqep/2";
 };
 
 &epwmss0 {
@@ -1361,7 +1361,7 @@
 		#size-cells = <0>;
 
 		compatible = "spidev";
-		symlink = "spi/0.0";
+		symlink = "bone/spi/0.0";
 
 		reg = <0>;
 		spi-max-frequency = <16000000>;
@@ -1373,7 +1373,7 @@
 		#size-cells = <0>;
 
 		compatible = "spidev";
-		symlink = "spi/0.1";
+		symlink = "bone/spi/0.1";
 
 		reg = <1>;
 		spi-max-frequency = <16000000>;
@@ -1390,7 +1390,7 @@
 		#size-cells = <0>;
 
 		compatible = "spidev";
-		symlink = "spi/1.0";
+		symlink = "bone/spi/1.0";
 
 		reg = <0>;
 		spi-max-frequency = <16000000>;
@@ -1402,7 +1402,7 @@
 		#size-cells = <0>;
 
 		compatible = "spidev";
-		symlink = "spi/1.1";
+		symlink = "bone/spi/1.1";
 
 		reg = <1>;
 		spi-max-frequency = <16000000>;
diff --git a/src/arm/am335x-bone-common.dtsi b/src/arm/am335x-bone-common.dtsi
index b89a86b..e22cf27 100644
--- a/src/arm/am335x-bone-common.dtsi
+++ b/src/arm/am335x-bone-common.dtsi
@@ -224,6 +224,7 @@
 	pinctrl-0 = <&uart0_pins>;
 
 	status = "okay";
+	symlink = "bone/uart/0";
 };
 
 &usb {
@@ -264,6 +265,7 @@
 
 	status = "okay";
 	clock-frequency = <400000>;
+	symlink = "bone/i2c/0";
 
 	tps: tps@24 {
 		reg = <0x24>;
@@ -288,6 +290,7 @@
 
 	status = "okay";
 	clock-frequency = <100000>;
+	symlink = "bone/i2c/2";
 
 	cape_eeprom0: cape_eeprom0@54 {
 		compatible = "atmel,24c256";
diff --git a/src/arm/am335x-boneblack-bbbmini.dts b/src/arm/am335x-boneblack-bbbmini.dts
index 9bc8a7e..245ffff 100644
--- a/src/arm/am335x-boneblack-bbbmini.dts
+++ b/src/arm/am335x-boneblack-bbbmini.dts
@@ -153,7 +153,7 @@
 		spi-max-frequency = <24000000>;
 		reg = <0>;
 		compatible = "spidev";
-		symlink = "spi/0.0";
+		symlink = "bone/spi/0.0";
 	};
 };
 
@@ -168,7 +168,7 @@
 		reg = <0>;
 		spi-max-frequency = <24000000>;
 		compatible = "spidev";
-		symlink = "spi/1.0";
+		symlink = "bone/spi/1.0";
 	};
 
 	spi1@1 {
@@ -177,7 +177,7 @@
 		reg = <1>;
 		spi-max-frequency = <24000000>;
 		compatible = "spidev";
-		symlink = "spi/1.1";
+		symlink = "bone/spi/1.1";
 	};
 };
 
diff --git a/src/arm/am335x-bonegreen-common.dtsi b/src/arm/am335x-bonegreen-common.dtsi
index 9f7fb63..4c87de5 100644
--- a/src/arm/am335x-bonegreen-common.dtsi
+++ b/src/arm/am335x-bonegreen-common.dtsi
@@ -34,6 +34,7 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart2_pins>;
 	status = "okay";
+	symlink = "bone/uart/2";
 };
 
 &rtc {
diff --git a/src/arm/am335x-bonegreen-wireless-common-univ.dtsi b/src/arm/am335x-bonegreen-wireless-common-univ.dtsi
index 6325fe3..520a770 100644
--- a/src/arm/am335x-bonegreen-wireless-common-univ.dtsi
+++ b/src/arm/am335x-bonegreen-wireless-common-univ.dtsi
@@ -1213,6 +1213,7 @@
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <>;
+	symlink = "bone/eqep/0";
 
 	count_mode = <0>; /* 0 - Quadrature mode, normal 90 phase offset cha & chb. 1 - Direction mode. cha input = clock, chb input = direction */
 	swap_inputs = <0>; /* Are channel A and channel B swapped? (0 - no, 1 - yes) */
@@ -1220,13 +1221,13 @@
 	invert_qb = <1>; /* Should we invert the channel B input? I invert these because my encoder outputs drive transistors that pull down the pins */
 	invert_qi = <0>; /* Should we invert the index input? */
 	invert_qs = <0>; /* Should we invert the strobe input? */
-	symlink = "bone/eqep/0";
 };
 
 &eqep1 {
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <>;
+	symlink = "bone/eqep/1";
 
 	count_mode = <0>; /* 0 - Quadrature mode, normal 90 phase offset cha & chb. 1 - Direction mode. cha input = clock, chb input = direction */
 	swap_inputs = <0>; /* Are channel A and channel B swapped? (0 - no, 1 - yes) */
@@ -1234,13 +1235,13 @@
 	invert_qb = <1>; /* Should we invert the channel B input? I invert these because my encoder outputs drive transistors that pull down the pins */
 	invert_qi = <0>; /* Should we invert the index input? */
 	invert_qs = <0>; /* Should we invert the strobe input? */
-	symlink = "bone/eqep/1";
 };
 
 &eqep2 {
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <>;
+	symlink = "bone/eqep/2";
 
 	count_mode = <0>; /* 0 - Quadrature mode, normal 90 phase offset cha & chb. 1 - Direction mode. cha input = clock, chb input = direction */
 	swap_inputs = <0>; /* Are channel A and channel B swapped? (0 - no, 1 - yes) */
@@ -1248,7 +1249,6 @@
 	invert_qb = <1>; /* Should we invert the channel B input? I invert these because my encoder outputs drive transistors that pull down the pins */
 	invert_qi = <0>; /* Should we invert the index input? */
 	invert_qs = <0>; /* Should we invert the strobe input? */
-	symlink = "bone/eqep/2";
 };
 
 &epwmss0 {
@@ -1309,7 +1309,7 @@
 		#size-cells = <0>;
 
 		compatible = "spidev";
-		symlink = "spi/0.0";
+		symlink = "bone/spi/0.0";
 
 		reg = <0>;
 		spi-max-frequency = <16000000>;
@@ -1321,7 +1321,7 @@
 		#size-cells = <0>;
 
 		compatible = "spidev";
-		symlink = "spi/0.1";
+		symlink = "bone/spi/0.1";
 
 		reg = <1>;
 		spi-max-frequency = <16000000>;
@@ -1338,7 +1338,7 @@
 		#size-cells = <0>;
 
 		compatible = "spidev";
-		symlink = "spi/1.0";
+		symlink = "bone/spi/1.0";
 
 		reg = <0>;
 		spi-max-frequency = <16000000>;
@@ -1350,7 +1350,7 @@
 		#size-cells = <0>;
 
 		compatible = "spidev";
-		symlink = "spi/1.1";
+		symlink = "bone/spi/1.1";
 
 		reg = <1>;
 		spi-max-frequency = <16000000>;
diff --git a/src/arm/omap5-board-common.dtsi b/src/arm/omap5-board-common.dtsi
index c423771..cb8cc84 100644
--- a/src/arm/omap5-board-common.dtsi
+++ b/src/arm/omap5-board-common.dtsi
@@ -315,7 +315,8 @@
 
 	palmas_sys_nirq_pins: pinmux_palmas_sys_nirq_pins {
 		pinctrl-single,pins = <
-			OMAP5_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1 */
+			/* sys_nirq1 is pulled down as the SoC is inverting it for GIC */
+			OMAP5_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE0)
 		>;
 	};
 
@@ -383,7 +384,8 @@
 
 	palmas: palmas@48 {
 		compatible = "ti,palmas";
-		interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */
+		/* sys_nirq/ext_sys_irq pins get inverted at mpuss wakeupgen */
+		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_LOW>;
 		reg = <0x48>;
 		interrupt-controller;
 		#interrupt-cells = <2>;
@@ -649,7 +651,8 @@
 		pinctrl-names = "default";
 		pinctrl-0 = <&twl6040_pins>;
 
-		interrupts = <GIC_SPI 119 IRQ_TYPE_NONE>; /* IRQ_SYS_2N cascaded to gic */
+		/* sys_nirq/ext_sys_irq pins get inverted at mpuss wakeupgen */
+		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_LOW>;
 
 		/* audpwron gpio defined in the board specific dts */
 
-- 
GitLab