Skip to contentSkip to conversation

ARM: dts: Add am335x mcasp with l3 data port ranges

PATCH In review Tony Lindgren 3 participants 19 messages Dec 5, 2018 – Dec 11, 2018

Subsystems (5)
lore
Share & tools
lore

Tony Lindgren

author maintainer
#0 lore raw

PATCH 1/1 ARM: dts: Add am335x mcasp with l3 data port ranges

Earlier attempt to move am335x mcasp to probe with ti-sysc interconnect target module caused audio to stop working and and the dts changes were reverted by commit 5d2632a577ba ("ARM: dts:
Revert am335x mcasp ti-sysc changes").

Turns out we were missing the l3 data port ranges for mcasp. This caused mcasp dma to attempt to use wrong port address. So let's try again essentially reverting the earlier revert and adding the missing l3 data port ranges.

---

Peter, can you please test with your bbb + audio cape?

---
 arch/arm/boot/dts/am33xx-l4.dtsi | 42 +++++++++++++++++++++++++++-----
 arch/arm/boot/dts/am33xx.dtsi    | 29 ----------------------
 2 files changed, 36 insertions(+), 35 deletions(-)
arch/arm/boot/dts/am33xx-l4.dtsi +36 -6
@@ -824,7 +824,9 @@
 	ranges = <0x00000000 0x48000000 0x100000>,	/* segment 0 */
 		 <0x00100000 0x48100000 0x100000>,	/* segment 1 */
 		 <0x00200000 0x48200000 0x100000>,	/* segment 2 */
-		 <0x00300000 0x48300000 0x100000>;	/* segment 3 */
+		 <0x00300000 0x48300000 0x100000>,	/* segment 3 */
+		 <0x46000000 0x46000000 0x400000>,	/* l3 data port */
+		 <0x46400000 0x46400000 0x400000>;	/* l3 data port */
 
 	segment@0 {					/* 0x48000000 */
 		compatible = "simple-bus";
@@ -881,7 +883,9 @@
 			 <0x000cc000 0x000cc000 0x001000>,	/* ap 89 */
 			 <0x000cd000 0x000cd000 0x001000>,	/* ap 90 */
 			 <0x000ca000 0x000ca000 0x001000>,	/* ap 91 */
-			 <0x000cb000 0x000cb000 0x001000>;	/* ap 92 */
+			 <0x000cb000 0x000cb000 0x001000>,	/* ap 92 */
+			 <0x46000000 0x46000000 0x400000>,	/* l3 data port */
+			 <0x46400000 0x46400000 0x400000>;	/* l3 data port */
 
 		target-module@8000 {			/* 0x48008000, ap 6 10.0 */
 			compatible = "ti,sysc";
@@ -1055,8 +1059,21 @@
 			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			ranges = <0x0 0x38000 0x2000>;
-			status = "disabled";
+			ranges = <0x0 0x38000 0x2000>,
+				 <0x46000000 0x46000000 0x400000>;
+
+			mcasp0: mcasp@0 {
+				compatible = "ti,am33xx-mcasp-audio";
+				reg = <0x0 0x2000>,
+				      <0x46000000 0x400000>;
+				reg-names = "mpu", "dat";
+				interrupts = <80>, <81>;
+				interrupt-names = "tx", "rx";
+				status = "disabled";
+				dmas = <&edma 8 2>,
+					<&edma 9 2>;
+				dma-names = "tx", "rx";
+			};
 		};
 
 		target-module@3c000 {			/* 0x4803c000, ap 20 32.0 */
@@ -1073,8 +1090,21 @@
 			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			ranges = <0x0 0x3c000 0x2000>;
-			status = "disabled";
+			ranges = <0x0 0x3c000 0x2000>,
+				 <0x46400000 0x46400000 0x400000>;
+
+			mcasp1: mcasp@0 {
+				compatible = "ti,am33xx-mcasp-audio";
+				reg = <0x0 0x2000>,
+				      <0x46400000 0x400000>;
+				reg-names = "mpu", "dat";
+				interrupts = <82>, <83>;
+				interrupt-names = "tx", "rx";
+				status = "disabled";
+				dmas = <&edma 10 2>,
+					<&edma 11 2>;
+				dma-names = "tx", "rx";
+			};
 		};
 
 		target-module@40000 {			/* 0x48040000, ap 22 1e.0 */
arch/arm/boot/dts/am33xx.dtsi +0 -29
@@ -440,36 +440,7 @@
 			       <&edma 5 0>;
 			dma-names = "tx", "rx";
 		};
-
-		mcasp0: mcasp@48038000 {
-			compatible = "ti,am33xx-mcasp-audio";
-			ti,hwmods = "mcasp0";
-			reg = <0x48038000 0x2000>,
-			      <0x46000000 0x400000>;
-			reg-names = "mpu", "dat";
-			interrupts = <80>, <81>;
-			interrupt-names = "tx", "rx";
-			status = "disabled";
-			dmas = <&edma 8 2>,
-				<&edma 9 2>;
-			dma-names = "tx", "rx";
-		};
-
-		mcasp1: mcasp@4803c000 {
-			compatible = "ti,am33xx-mcasp-audio";
-			ti,hwmods = "mcasp1";
-			reg = <0x4803C000 0x2000>,
-			      <0x46400000 0x400000>;
-			reg-names = "mpu", "dat";
-			interrupts = <82>, <83>;
-			interrupt-names = "tx", "rx";
-			status = "disabled";
-			dmas = <&edma 10 2>,
-				<&edma 11 2>;
-			dma-names = "tx", "rx";
-		};
 	};
-
 };
 
 #include "am33xx-l4.dtsi"
Signature · 1 line
2.19.2
Tested-by on v1 1/1
#1 lore raw

Tony,

Quoted 10 lines · Tony Lindgren

Earlier attempt to move am335x mcasp to probe with ti-sysc interconnect target module caused audio to stop working and and the dts changes were reverted by commit 5d2632a577ba ("ARM: dts:
Revert am335x mcasp ti-sysc changes").

Turns out we were missing the l3 data port ranges for mcasp. This caused mcasp dma to attempt to use wrong port address. So let's try again essentially reverting the earlier revert and adding the missing l3 data port ranges.

Quoted 5 lines

---

Peter, can you please test with your bbb + audio cape?

Works fine on bbb + audio cape.
For some reason my am335x-evm-sk is not booting up at all w/ linux-next, but I believe it is not related to this (disabled audio and still not booting).

Quoted 110 lines
---
 arch/arm/boot/dts/am33xx-l4.dtsi | 42 +++++++++++++++++++++++++++-----
 arch/arm/boot/dts/am33xx.dtsi    | 29 ----------------------
 2 files changed, 36 insertions(+), 35 deletions(-)
arch/arm/boot/dts/am33xx-l4.dtsi +36 -6
@@ -824,7 +824,9 @@
 	ranges = <0x00000000 0x48000000 0x100000>,	/* segment 0 */
 		 <0x00100000 0x48100000 0x100000>,	/* segment 1 */
 		 <0x00200000 0x48200000 0x100000>,	/* segment 2 */
-		 <0x00300000 0x48300000 0x100000>;	/* segment 3 */
+		 <0x00300000 0x48300000 0x100000>,	/* segment 3 */
+		 <0x46000000 0x46000000 0x400000>,	/* l3 data port */
+		 <0x46400000 0x46400000 0x400000>;	/* l3 data port */
 
 	segment@0 {					/* 0x48000000 */
 		compatible = "simple-bus";
@@ -881,7 +883,9 @@
 			 <0x000cc000 0x000cc000 0x001000>,	/* ap 89 */
 			 <0x000cd000 0x000cd000 0x001000>,	/* ap 90 */
 			 <0x000ca000 0x000ca000 0x001000>,	/* ap 91 */
-			 <0x000cb000 0x000cb000 0x001000>;	/* ap 92 */
+			 <0x000cb000 0x000cb000 0x001000>,	/* ap 92 */
+			 <0x46000000 0x46000000 0x400000>,	/* l3 data port */
+			 <0x46400000 0x46400000 0x400000>;	/* l3 data port */
 
 		target-module@8000 {			/* 0x48008000, ap 6 10.0 */
 			compatible = "ti,sysc";
@@ -1055,8 +1059,21 @@
 			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			ranges = <0x0 0x38000 0x2000>;
-			status = "disabled";
+			ranges = <0x0 0x38000 0x2000>,
+				 <0x46000000 0x46000000 0x400000>;
+
+			mcasp0: mcasp@0 {
+				compatible = "ti,am33xx-mcasp-audio";
+				reg = <0x0 0x2000>,
+				      <0x46000000 0x400000>;
+				reg-names = "mpu", "dat";
+				interrupts = <80>, <81>;
+				interrupt-names = "tx", "rx";
+				status = "disabled";
+				dmas = <&edma 8 2>,
+					<&edma 9 2>;
+				dma-names = "tx", "rx";
+			};
 		};
 
 		target-module@3c000 {			/* 0x4803c000, ap 20 32.0 */
@@ -1073,8 +1090,21 @@
 			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			ranges = <0x0 0x3c000 0x2000>;
-			status = "disabled";
+			ranges = <0x0 0x3c000 0x2000>,
+				 <0x46400000 0x46400000 0x400000>;
+
+			mcasp1: mcasp@0 {
+				compatible = "ti,am33xx-mcasp-audio";
+				reg = <0x0 0x2000>,
+				      <0x46400000 0x400000>;
+				reg-names = "mpu", "dat";
+				interrupts = <82>, <83>;
+				interrupt-names = "tx", "rx";
+				status = "disabled";
+				dmas = <&edma 10 2>,
+					<&edma 11 2>;
+				dma-names = "tx", "rx";
+			};
 		};
 
 		target-module@40000 {			/* 0x48040000, ap 22 1e.0 */
arch/arm/boot/dts/am33xx.dtsi +0 -23
@@ -440,36 +440,7 @@
 			       <&edma 5 0>;
 			dma-names = "tx", "rx";
 		};
-
-		mcasp0: mcasp@48038000 {
-			compatible = "ti,am33xx-mcasp-audio";
-			ti,hwmods = "mcasp0";
-			reg = <0x48038000 0x2000>,
-			      <0x46000000 0x400000>;
-			reg-names = "mpu", "dat";
-			interrupts = <80>, <81>;
-			interrupt-names = "tx", "rx";
-			status = "disabled";
-			dmas = <&edma 8 2>,
-				<&edma 9 2>;
-			dma-names = "tx", "rx";
-		};
-
-		mcasp1: mcasp@4803c000 {
-			compatible = "ti,am33xx-mcasp-audio";
-			ti,hwmods = "mcasp1";
-			reg = <0x4803C000 0x2000>,
-			      <0x46400000 0x400000>;
-			reg-names = "mpu", "dat";
-			interrupts = <82>, <83>;
-			interrupt-names = "tx", "rx";

arch/arm/boot/dts/am33xx.dtsi line 446

Quoted 10 lines
arch/arm/boot/dts/am33xx.dtsi +0 -6
-			status = "disabled";
-			dmas = <&edma 10 2>,
-				<&edma 11 2>;
-			dma-names = "tx", "rx";
-		};
 	};
-
 };
 
 #include "am33xx-l4.dtsi"

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

#2 lore raw
Quoted 17 lines · Peter Ujfalusi

Tony,

Quoted 14 lines · Tony Lindgren

Earlier attempt to move am335x mcasp to probe with ti-sysc interconnect target module caused audio to stop working and and the dts changes were reverted by commit 5d2632a577ba ("ARM: dts:
Revert am335x mcasp ti-sysc changes").

Turns out we were missing the l3 data port ranges for mcasp. This caused mcasp dma to attempt to use wrong port address. So let's try again essentially reverting the earlier revert and adding the missing l3 data port ranges.

---

Quoted 6 lines
Quoted 1 line

Peter, can you please test with your bbb + audio cape?

Works fine on bbb + audio cape.
For some reason my am335x-evm-sk is not booting up at all w/ linux-next, but I believe it is not related to this (disabled audio and still not booting).

bisect on next-20181207 (am335x-evm-sk) points to:
Author: Tony Lindgren <[email protected]> 87fc89ced3a78f7f0845afab1934d509ef4ad0f2
ARM: dts: am335x: Move l4 child devices to probe them with ti-sysc

when looking for the non booting of am335x-evm-sk (nothing printed on serial after stating kernel).

However there is another issue: the kernel boots, but ethernet is not working in the kernel. That is pointing to:
Author: Tero Kristo <[email protected]> 69fd70c7ff31d3f00833c472c3994a02bb0ab287
ARM: dts: am33xx: convert to use new clkctrl layout

any idea what might causes these?

Quoted 121 lines
Quoted 118 lines
---
 arch/arm/boot/dts/am33xx-l4.dtsi | 42 +++++++++++++++++++++++++++-----
 arch/arm/boot/dts/am33xx.dtsi    | 29 ----------------------
 2 files changed, 36 insertions(+), 35 deletions(-)
arch/arm/boot/dts/am33xx-l4.dtsi +36 -6
@@ -824,7 +824,9 @@
 	ranges = <0x00000000 0x48000000 0x100000>,	/* segment 0 */
 		 <0x00100000 0x48100000 0x100000>,	/* segment 1 */
 		 <0x00200000 0x48200000 0x100000>,	/* segment 2 */
-		 <0x00300000 0x48300000 0x100000>;	/* segment 3 */
+		 <0x00300000 0x48300000 0x100000>,	/* segment 3 */
+		 <0x46000000 0x46000000 0x400000>,	/* l3 data port */
+		 <0x46400000 0x46400000 0x400000>;	/* l3 data port */
 
 	segment@0 {					/* 0x48000000 */
 		compatible = "simple-bus";
@@ -881,7 +883,9 @@
 			 <0x000cc000 0x000cc000 0x001000>,	/* ap 89 */
 			 <0x000cd000 0x000cd000 0x001000>,	/* ap 90 */
 			 <0x000ca000 0x000ca000 0x001000>,	/* ap 91 */
-			 <0x000cb000 0x000cb000 0x001000>;	/* ap 92 */
+			 <0x000cb000 0x000cb000 0x001000>,	/* ap 92 */
+			 <0x46000000 0x46000000 0x400000>,	/* l3 data port */
+			 <0x46400000 0x46400000 0x400000>;	/* l3 data port */
 
 		target-module@8000 {			/* 0x48008000, ap 6 10.0 */
 			compatible = "ti,sysc";
@@ -1055,8 +1059,21 @@
 			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			ranges = <0x0 0x38000 0x2000>;
-			status = "disabled";
+			ranges = <0x0 0x38000 0x2000>,
+				 <0x46000000 0x46000000 0x400000>;
+
+			mcasp0: mcasp@0 {
+				compatible = "ti,am33xx-mcasp-audio";
+				reg = <0x0 0x2000>,
+				      <0x46000000 0x400000>;
+				reg-names = "mpu", "dat";
+				interrupts = <80>, <81>;
+				interrupt-names = "tx", "rx";
+				status = "disabled";
+				dmas = <&edma 8 2>,
+					<&edma 9 2>;
+				dma-names = "tx", "rx";
+			};
 		};
 
 		target-module@3c000 {			/* 0x4803c000, ap 20 32.0 */
@@ -1073,8 +1090,21 @@
 			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			ranges = <0x0 0x3c000 0x2000>;
-			status = "disabled";
+			ranges = <0x0 0x3c000 0x2000>,
+				 <0x46400000 0x46400000 0x400000>;
+
+			mcasp1: mcasp@0 {
+				compatible = "ti,am33xx-mcasp-audio";
+				reg = <0x0 0x2000>,
+				      <0x46400000 0x400000>;
+				reg-names = "mpu", "dat";
+				interrupts = <82>, <83>;
+				interrupt-names = "tx", "rx";
+				status = "disabled";
+				dmas = <&edma 10 2>,
+					<&edma 11 2>;
+				dma-names = "tx", "rx";
+			};
 		};
 
 		target-module@40000 {			/* 0x48040000, ap 22 1e.0 */
arch/arm/boot/dts/am33xx.dtsi +0 -29
@@ -440,36 +440,7 @@
 			       <&edma 5 0>;
 			dma-names = "tx", "rx";
 		};
-
-		mcasp0: mcasp@48038000 {
-			compatible = "ti,am33xx-mcasp-audio";
-			ti,hwmods = "mcasp0";
-			reg = <0x48038000 0x2000>,
-			      <0x46000000 0x400000>;
-			reg-names = "mpu", "dat";
-			interrupts = <80>, <81>;
-			interrupt-names = "tx", "rx";
-			status = "disabled";
-			dmas = <&edma 8 2>,
-				<&edma 9 2>;
-			dma-names = "tx", "rx";
-		};
-
-		mcasp1: mcasp@4803c000 {
-			compatible = "ti,am33xx-mcasp-audio";
-			ti,hwmods = "mcasp1";
-			reg = <0x4803C000 0x2000>,
-			      <0x46400000 0x400000>;
-			reg-names = "mpu", "dat";
-			interrupts = <82>, <83>;
-			interrupt-names = "tx", "rx";
-			status = "disabled";
-			dmas = <&edma 10 2>,
-				<&edma 11 2>;
-			dma-names = "tx", "rx";
-		};
 	};
-
 };
 
Quoted 8 lines

arch/arm/boot/dts/am33xx.dtsi line 446

Quoted 2 lines
arch/arm/boot/dts/am33xx.dtsi +0 -0
 #include "am33xx-l4.dtsi"

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

#3 lore raw
Quoted 35 lines · Peter Ujfalusi
Quoted 17 lines · Peter Ujfalusi

Tony,

Quoted 14 lines · Tony Lindgren

Earlier attempt to move am335x mcasp to probe with ti-sysc interconnect target module caused audio to stop working and and the dts changes were reverted by commit 5d2632a577ba ("ARM: dts:
Revert am335x mcasp ti-sysc changes").

Turns out we were missing the l3 data port ranges for mcasp. This caused mcasp dma to attempt to use wrong port address. So let's try again essentially reverting the earlier revert and adding the missing l3 data port ranges.

---

Quoted 6 lines
Quoted 1 line

Peter, can you please test with your bbb + audio cape?

Works fine on bbb + audio cape.
For some reason my am335x-evm-sk is not booting up at all w/ linux-next, but I believe it is not related to this (disabled audio and still not booting).

bisect on next-20181207 (am335x-evm-sk) points to:
Author: Tony Lindgren <[email protected]> 87fc89ced3a78f7f0845afab1934d509ef4ad0f2
ARM: dts: am335x: Move l4 child devices to probe them with ti-sysc

when looking for the non booting of am335x-evm-sk (nothing printed on serial after stating kernel).

Quoted 7 lines

However there is another issue: the kernel boots, but ethernet is not working in the kernel. That is pointing to:
Author: Tero Kristo <[email protected]> 69fd70c7ff31d3f00833c472c3994a02bb0ab287
ARM: dts: am33xx: convert to use new clkctrl layout

any idea what might causes these?

Things definitely go wrong at 69fd70c7ff31d3f00833c472c3994a02bb0ab287:

git checkout -b blah 69fd70c7ff31d3f00833c472c3994a02bb0ab287

# can not mount the rootfs via nfs

git revert 69fd70c7ff31d3f00833c472c3994a02bb0ab287

# boots up via nfs rootfs.

At commit 69fd70c7ff31d3f00833c472c3994a02bb0ab287 the bbb is not booting via nfs rootfs either.

Can not find where the ethernet started to work after these on bbb, but it does work on top of next-20181207.

Quoted 127 lines
Quoted 127 lines
Quoted 110 lines
---
 arch/arm/boot/dts/am33xx-l4.dtsi | 42 +++++++++++++++++++++++++++-----
 arch/arm/boot/dts/am33xx.dtsi    | 29 ----------------------
 2 files changed, 36 insertions(+), 35 deletions(-)
arch/arm/boot/dts/am33xx-l4.dtsi +36 -6
@@ -824,7 +824,9 @@
 	ranges = <0x00000000 0x48000000 0x100000>,	/* segment 0 */
 		 <0x00100000 0x48100000 0x100000>,	/* segment 1 */
 		 <0x00200000 0x48200000 0x100000>,	/* segment 2 */
-		 <0x00300000 0x48300000 0x100000>;	/* segment 3 */
+		 <0x00300000 0x48300000 0x100000>,	/* segment 3 */
+		 <0x46000000 0x46000000 0x400000>,	/* l3 data port */
+		 <0x46400000 0x46400000 0x400000>;	/* l3 data port */
 
 	segment@0 {					/* 0x48000000 */
 		compatible = "simple-bus";
@@ -881,7 +883,9 @@
 			 <0x000cc000 0x000cc000 0x001000>,	/* ap 89 */
 			 <0x000cd000 0x000cd000 0x001000>,	/* ap 90 */
 			 <0x000ca000 0x000ca000 0x001000>,	/* ap 91 */
-			 <0x000cb000 0x000cb000 0x001000>;	/* ap 92 */
+			 <0x000cb000 0x000cb000 0x001000>,	/* ap 92 */
+			 <0x46000000 0x46000000 0x400000>,	/* l3 data port */
+			 <0x46400000 0x46400000 0x400000>;	/* l3 data port */
 
 		target-module@8000 {			/* 0x48008000, ap 6 10.0 */
 			compatible = "ti,sysc";
@@ -1055,8 +1059,21 @@
 			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			ranges = <0x0 0x38000 0x2000>;
-			status = "disabled";
+			ranges = <0x0 0x38000 0x2000>,
+				 <0x46000000 0x46000000 0x400000>;
+
+			mcasp0: mcasp@0 {
+				compatible = "ti,am33xx-mcasp-audio";
+				reg = <0x0 0x2000>,
+				      <0x46000000 0x400000>;
+				reg-names = "mpu", "dat";
+				interrupts = <80>, <81>;
+				interrupt-names = "tx", "rx";
+				status = "disabled";
+				dmas = <&edma 8 2>,
+					<&edma 9 2>;
+				dma-names = "tx", "rx";
+			};
 		};
 
 		target-module@3c000 {			/* 0x4803c000, ap 20 32.0 */
@@ -1073,8 +1090,21 @@
 			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			ranges = <0x0 0x3c000 0x2000>;
-			status = "disabled";
+			ranges = <0x0 0x3c000 0x2000>,
+				 <0x46400000 0x46400000 0x400000>;
+
+			mcasp1: mcasp@0 {
+				compatible = "ti,am33xx-mcasp-audio";
+				reg = <0x0 0x2000>,
+				      <0x46400000 0x400000>;
+				reg-names = "mpu", "dat";
+				interrupts = <82>, <83>;
+				interrupt-names = "tx", "rx";
+				status = "disabled";
+				dmas = <&edma 10 2>,
+					<&edma 11 2>;
+				dma-names = "tx", "rx";
+			};
 		};
 
 		target-module@40000 {			/* 0x48040000, ap 22 1e.0 */
arch/arm/boot/dts/am33xx.dtsi +0 -23
@@ -440,36 +440,7 @@
 			       <&edma 5 0>;
 			dma-names = "tx", "rx";
 		};
-
-		mcasp0: mcasp@48038000 {
-			compatible = "ti,am33xx-mcasp-audio";
-			ti,hwmods = "mcasp0";
-			reg = <0x48038000 0x2000>,
-			      <0x46000000 0x400000>;
-			reg-names = "mpu", "dat";
-			interrupts = <80>, <81>;
-			interrupt-names = "tx", "rx";
-			status = "disabled";
-			dmas = <&edma 8 2>,
-				<&edma 9 2>;
-			dma-names = "tx", "rx";
-		};
-
-		mcasp1: mcasp@4803c000 {
-			compatible = "ti,am33xx-mcasp-audio";
-			ti,hwmods = "mcasp1";
-			reg = <0x4803C000 0x2000>,
-			      <0x46400000 0x400000>;
-			reg-names = "mpu", "dat";
-			interrupts = <82>, <83>;
-			interrupt-names = "tx", "rx";

arch/arm/boot/dts/am33xx.dtsi line 446

Quoted 10 lines
arch/arm/boot/dts/am33xx.dtsi +0 -6
-			status = "disabled";
-			dmas = <&edma 10 2>,
-				<&edma 11 2>;
-			dma-names = "tx", "rx";
-		};
 	};
-
 };
 
 #include "am33xx-l4.dtsi"

- Péter

Quoted 9 lines
Quoted 3 lines

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

author maintainer
#4 lore raw
Quoted 18 lines · Peter Ujfalusi
Quoted 11 lines · Peter Ujfalusi

On 10/12/2018 9.05, Peter Ujfalusi wrote:
when looking for the non booting of am335x-evm-sk (nothing printed on serial after stating kernel).

However there is another issue: the kernel boots, but ethernet is not working in the kernel. That is pointing to:
Author: Tero Kristo <[email protected]> 69fd70c7ff31d3f00833c472c3994a02bb0ab287
ARM: dts: am33xx: convert to use new clkctrl layout

any idea what might causes these?

Things definitely go wrong at 69fd70c7ff31d3f00833c472c3994a02bb0ab287:

git checkout -b blah 69fd70c7ff31d3f00833c472c3994a02bb0ab287

# can not mount the rootfs via nfs
Quoted 8 lines

git revert 69fd70c7ff31d3f00833c472c3994a02bb0ab287

# boots up via nfs rootfs.

At commit 69fd70c7ff31d3f00833c472c3994a02bb0ab287 the bbb is not booting via nfs rootfs either.

Can not find where the ethernet started to work after these on bbb, but it does work on top of next-20181207.

Tero do you have any ideas on this one? Maybe a missing optional clock somewhere?

Regards,

Tony

#5 lore raw
Quoted 22 lines · Tony Lindgren
Quoted 21 lines · Peter Ujfalusi
Quoted 11 lines · Peter Ujfalusi

On 10/12/2018 9.05, Peter Ujfalusi wrote:
when looking for the non booting of am335x-evm-sk (nothing printed on serial after stating kernel).

However there is another issue: the kernel boots, but ethernet is not working in the kernel. That is pointing to:
Author: Tero Kristo <[email protected]> 69fd70c7ff31d3f00833c472c3994a02bb0ab287
ARM: dts: am33xx: convert to use new clkctrl layout

any idea what might causes these?

Things definitely go wrong at 69fd70c7ff31d3f00833c472c3994a02bb0ab287:

git checkout -b blah 69fd70c7ff31d3f00833c472c3994a02bb0ab287

# can not mount the rootfs via nfs

git revert 69fd70c7ff31d3f00833c472c3994a02bb0ab287

# boots up via nfs rootfs.
Quoted 8 lines
Quoted 5 lines

At commit 69fd70c7ff31d3f00833c472c3994a02bb0ab287 the bbb is not booting via nfs rootfs either.

Can not find where the ethernet started to work after these on bbb, but it does work on top of next-20181207.

Tero do you have any ideas on this one? Maybe a missing optional clock somewhere?

No initial ideas, do we have any error logs for this?

Did you bisect the issue to 69fd70c7ff31d3? It is possible this is actually caused by something else, as there are some interesting dependencies between the patches that are being queued at the same point to the kernel now.

-Tero
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

#6 lore raw
Quoted 29 lines · Tero Kristo
Quoted 28 lines · Tony Lindgren
Quoted 26 lines · Peter Ujfalusi
Quoted 11 lines · Peter Ujfalusi

On 10/12/2018 9.05, Peter Ujfalusi wrote:
when looking for the non booting of am335x-evm-sk (nothing printed on serial after stating kernel).

However there is another issue: the kernel boots, but ethernet is not working in the kernel. That is pointing to:
Author: Tero Kristo <[email protected]> 69fd70c7ff31d3f00833c472c3994a02bb0ab287
ARM: dts: am33xx: convert to use new clkctrl layout

any idea what might causes these?

Things definitely go wrong at 69fd70c7ff31d3f00833c472c3994a02bb0ab287:

git checkout -b blah 69fd70c7ff31d3f00833c472c3994a02bb0ab287

# can not mount the rootfs via nfs

git revert 69fd70c7ff31d3f00833c472c3994a02bb0ab287

# boots up via nfs rootfs.

At commit 69fd70c7ff31d3f00833c472c3994a02bb0ab287 the bbb is not booting via nfs rootfs either.

Can not find where the ethernet started to work after these on bbb, but it does work on top of next-20181207.

Quoted 6 lines
Quoted 2 lines

Tero do you have any ideas on this one? Maybe a missing optional clock somewhere?

No initial ideas, do we have any error logs for this?

Did you bisect the issue to 69fd70c7ff31d3?

Yep, I did.

Quoted 4 lines

It is possible this is
actually caused by something else, as there are some interesting dependencies between the patches that are being queued at the same point to the kernel now.

Could be, but:
git checkout -b blah 69fd70c7ff31d3f00833c472c3994a02bb0ab287

# can not mount the rootfs via nfs
git revert 69fd70c7ff31d3f00833c472c3994a02bb0ab287
# boots up via nfs rootfs.

When my HEAD is 69fd70c7ff31d3 and I revert only the topmost commit (69fd70c7ff31d3), the board boots.

It could be that the ethernet not working is just a side effect of something else going wrong, but this is the indication I have.

Nothing special in the logs, I can share the two bootlogs:
1. HEAD at 69fd70c7ff31d3
2. HEAD at 69fd70c7ff31d3 and reverting 69fd70c7ff31d3

But only tomorrow.

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

author maintainer
#7 lore raw
In reply to Peter Ujfalusi
Quoted 6 lines · Peter Ujfalusi
Quoted 4 lines · Peter Ujfalusi

Works fine on bbb + audio cape.
For some reason my am335x-evm-sk is not booting up at all w/ linux-next, but I believe it is not related to this (disabled audio and still not booting).

Quoted 7 lines

bisect on next-20181207 (am335x-evm-sk) points to:
Author: Tony Lindgren <[email protected]> 87fc89ced3a78f7f0845afab1934d509ef4ad0f2
ARM: dts: am335x: Move l4 child devices to probe them with ti-sysc

when looking for the non booting of am335x-evm-sk (nothing printed on serial after stating kernel).

OK I'm pretty sure this is because we now need to move the gpio1 ti,no-reset-on-init up to the module level because of the DDR being GPIO controlled. I'll send a patch out shortly for that.

It might be also worth adding a check for having ti,no-reset-on-init at the child level to ti-sysc driver too.

Regards,

Tony

author maintainer
#8 lore raw
Quoted 15 lines · Tony Lindgren
Quoted 6 lines · Peter Ujfalusi
Quoted 4 lines · Peter Ujfalusi

Works fine on bbb + audio cape.
For some reason my am335x-evm-sk is not booting up at all w/ linux-next, but I believe it is not related to this (disabled audio and still not booting).

Quoted 7 lines

bisect on next-20181207 (am335x-evm-sk) points to:
Author: Tony Lindgren <[email protected]> 87fc89ced3a78f7f0845afab1934d509ef4ad0f2
ARM: dts: am335x: Move l4 child devices to probe them with ti-sysc

when looking for the non booting of am335x-evm-sk (nothing printed on serial after stating kernel).

Quoted 6 lines

OK I'm pretty sure this is because we now need to move the gpio1 ti,no-reset-on-init up to the module level because of the DDR being GPIO controlled. I'll send a patch out shortly for that.

It might be also worth adding a check for having ti,no-reset-on-init at the child level to ti-sysc driver too.

Looks like we have quite a few boards variants with probably DDR powered by a gpio1 pin. So let's fix the ti-sysc driver first, care to try the following patch?

Regards,

Tony

8< ---------------------------

Quoted 1 line

From tony Mon Sep 17 00:00:00 2001

From: Tony Lindgren <[email protected]>
Date: Mon, 10 Dec 2018 07:26:04 -0800
Subject: [PATCH] bus: ti-sysc: Check for no-reset and no-idle flags at the
child level

With ti-sysc, we need to now have the device tree properties for ti,no-reset-on-idle and ti,no-idle-on-init at the module level instead of the child device level.

Let's check for these properties at the child device level to enable quirks, and warn about moving the properties to the module level.

Otherwise am335x-evm based boards tagging gpio1 with ti,no-reset-on-init will have their DDR power disabled if wired up in such a tricky way.

Note that this should not be an issue for earlier kernels as we don't rely on this until the dts files have been updated to probe with ti-sysc interconnect target driver.

---
 drivers/bus/ti-sysc.c | 32 +++++++++++++++++++++++++-------
 1 file changed, 25 insertions(+), 7 deletions(-)
drivers/bus/ti-sysc.c +25 -7
@@ -91,6 +91,9 @@ struct sysc {
 	struct delayed_work idle_work;
 };
 
+static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np,
+				  bool is_child);
+
 void sysc_write(struct sysc *ddata, int offset, u32 value)
 {
 	writel_relaxed(value, ddata->module_va + offset);
@@ -379,6 +382,7 @@ static int sysc_check_one_child(struct sysc *ddata,
 		dev_warn(ddata->dev, "really a child ti,hwmods property?");
 
 	sysc_check_quirk_stdout(ddata, np);
+	sysc_parse_dts_quirks(ddata, np, true);
 
 	return 0;
 }
@@ -1279,23 +1283,37 @@ static const struct sysc_dts_quirk sysc_dts_quirks[] = {
 	  .mask = SYSC_QUIRK_NO_RESET_ON_INIT, },
 };
 
-static int sysc_init_dts_quirks(struct sysc *ddata)
+static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np,
+				  bool is_child)
 {
-	struct device_node *np = ddata->dev->of_node;
 	const struct property *prop;
-	int i, len, error;
-	u32 val;
-
-	ddata->legacy_mode = of_get_property(np, "ti,hwmods", NULL);
+	int i, len;
 
 	for (i = 0; i < ARRAY_SIZE(sysc_dts_quirks); i++) {
-		prop = of_get_property(np, sysc_dts_quirks[i].name, &len);
+		const char *name = sysc_dts_quirks[i].name;
+
+		prop = of_get_property(np, name, &len);
 		if (!prop)
 			continue;
 
 		ddata->cfg.quirks |= sysc_dts_quirks[i].mask;
+		if (is_child) {
+			dev_warn(ddata->dev,
+				 "dts flag should be at module level for %s\n",
+				 name);
+		}
 	}
+}
+
+static int sysc_init_dts_quirks(struct sysc *ddata)
+{
+	struct device_node *np = ddata->dev->of_node;
+	int error;
+	u32 val;
+
+	ddata->legacy_mode = of_get_property(np, "ti,hwmods", NULL);
 
+	sysc_parse_dts_quirks(ddata, np, false);
 	error = of_property_read_u32(np, "ti,sysc-delay-us", &val);
 	if (!error) {
 		if (val > 255) {
Signature · 1 line
2.19.2
#9 lore raw

Tony,

Quoted 20 lines · Tony Lindgren
Quoted 19 lines · Tony Lindgren
Quoted 6 lines · Peter Ujfalusi
Quoted 4 lines · Peter Ujfalusi

Works fine on bbb + audio cape.
For some reason my am335x-evm-sk is not booting up at all w/ linux-next, but I believe it is not related to this (disabled audio and still not booting).

Quoted 7 lines

bisect on next-20181207 (am335x-evm-sk) points to:
Author: Tony Lindgren <[email protected]> 87fc89ced3a78f7f0845afab1934d509ef4ad0f2
ARM: dts: am335x: Move l4 child devices to probe them with ti-sysc

when looking for the non booting of am335x-evm-sk (nothing printed on serial after stating kernel).

OK I'm pretty sure this is because we now need to move the gpio1 ti,no-reset-on-init up to the module level because of the DDR being GPIO controlled. I'll send a patch out shortly for that.

Quoted 6 lines
Quoted 2 lines

It might be also worth adding a check for having ti,no-reset-on-init at the child level to ti-sysc driver too.

Looks like we have quite a few boards variants with probably DDR powered by a gpio1 pin. So let's fix the ti-sysc driver first, care to try the following patch?

am335x-evmsk is still not booting with this patch on top of next-20181210.

Fwiw 'git grep ti,no-reset-on-idle' yields no results... Where it should be?

Quoted 90 lines

Regards,

Tony

8< ---------------------------
From tony Mon Sep 17 00:00:00 2001
From: Tony Lindgren <[email protected]>
Date: Mon, 10 Dec 2018 07:26:04 -0800
Subject: [PATCH] bus: ti-sysc: Check for no-reset and no-idle flags at the
child level

With ti-sysc, we need to now have the device tree properties for ti,no-reset-on-idle and ti,no-idle-on-init at the module level instead of the child device level.

Let's check for these properties at the child device level to enable quirks, and warn about moving the properties to the module level.

Otherwise am335x-evm based boards tagging gpio1 with ti,no-reset-on-init will have their DDR power disabled if wired up in such a tricky way.

Note that this should not be an issue for earlier kernels as we don't rely on this until the dts files have been updated to probe with ti-sysc interconnect target driver.

---
 drivers/bus/ti-sysc.c | 32 +++++++++++++++++++++++++-------
 1 file changed, 25 insertions(+), 7 deletions(-)
drivers/bus/ti-sysc.c +19 -7
@@ -91,6 +91,9 @@ struct sysc {
 	struct delayed_work idle_work;
 };
 
+static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np,
+				  bool is_child);
+
 void sysc_write(struct sysc *ddata, int offset, u32 value)
 {
 	writel_relaxed(value, ddata->module_va + offset);
@@ -379,6 +382,7 @@ static int sysc_check_one_child(struct sysc *ddata,
 		dev_warn(ddata->dev, "really a child ti,hwmods property?");
 
 	sysc_check_quirk_stdout(ddata, np);
+	sysc_parse_dts_quirks(ddata, np, true);
 
 	return 0;
 }
@@ -1279,23 +1283,37 @@ static const struct sysc_dts_quirk sysc_dts_quirks[] = {
 	  .mask = SYSC_QUIRK_NO_RESET_ON_INIT, },
 };
 
-static int sysc_init_dts_quirks(struct sysc *ddata)
+static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np,
+				  bool is_child)
 {
-	struct device_node *np = ddata->dev->of_node;
 	const struct property *prop;
-	int i, len, error;
-	u32 val;
-
-	ddata->legacy_mode = of_get_property(np, "ti,hwmods", NULL);
+	int i, len;
 
 	for (i = 0; i < ARRAY_SIZE(sysc_dts_quirks); i++) {
-		prop = of_get_property(np, sysc_dts_quirks[i].name, &len);
+		const char *name = sysc_dts_quirks[i].name;
+
+		prop = of_get_property(np, name, &len);
 		if (!prop)
 			continue;
 
 		ddata->cfg.quirks |= sysc_dts_quirks[i].mask;
+		if (is_child) {
+			dev_warn(ddata->dev,
+				 "dts flag should be at module level for %s\n",
+				 name);
+		}
 	}
+}
+
+static int sysc_init_dts_quirks(struct sysc *ddata)
+{

drivers/bus/ti-sysc.c static const struct sysc_dts_quirk sysc_dts_quirks[] = { · line 1319

Quoted 10 lines
drivers/bus/ti-sysc.c +6 -0
+	struct device_node *np = ddata->dev->of_node;
+	int error;
+	u32 val;
+
+	ddata->legacy_mode = of_get_property(np, "ti,hwmods", NULL);
 
+	sysc_parse_dts_quirks(ddata, np, false);
 	error = of_property_read_u32(np, "ti,sysc-delay-us", &val);
 	if (!error) {
 		if (val > 255) {

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

author maintainer
#10 lore raw
Quoted 23 lines · Peter Ujfalusi

Tony,

Quoted 20 lines · Tony Lindgren
Quoted 19 lines · Tony Lindgren
Quoted 6 lines · Peter Ujfalusi
Quoted 4 lines · Peter Ujfalusi

Works fine on bbb + audio cape.
For some reason my am335x-evm-sk is not booting up at all w/ linux-next, but I believe it is not related to this (disabled audio and still not booting).

Quoted 7 lines

bisect on next-20181207 (am335x-evm-sk) points to:
Author: Tony Lindgren <[email protected]> 87fc89ced3a78f7f0845afab1934d509ef4ad0f2
ARM: dts: am335x: Move l4 child devices to probe them with ti-sysc

when looking for the non booting of am335x-evm-sk (nothing printed on serial after stating kernel).

OK I'm pretty sure this is because we now need to move the gpio1 ti,no-reset-on-init up to the module level because of the DDR being GPIO controlled. I'll send a patch out shortly for that.

Quoted 8 lines
Quoted 6 lines
Quoted 2 lines

It might be also worth adding a check for having ti,no-reset-on-init at the child level to ti-sysc driver too.

Looks like we have quite a few boards variants with probably DDR powered by a gpio1 pin. So let's fix the ti-sysc driver first, care to try the following patch?

am335x-evmsk is still not booting with this patch on top of next-20181210.

Oh interesting.

Quoted 2 lines

Fwiw 'git grep ti,no-reset-on-idle' yields no results... Where it should be?

Sorry it should be ti,no-reset-on-init.

Regards,

Tony

author maintainer
#11 lore raw
Quoted 4 lines · Tony Lindgren
Quoted 1 line · Peter Ujfalusi

am335x-evmsk is still not booting with this patch on top of next-20181210.

Oh interesting.

OK so to prevent the hwmod code from resetting gpios very early, this now might become necessary. Care to try with this also applied?

Regards,

Tony

8< ------------------------

arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c +0 -16
@@ -516,24 +516,8 @@ struct omap_hwmod am33xx_epwmss2_hwmod = {
 	},
 };
 
-/*
- * 'gpio' class: for gpio 0,1,2,3
- */
-static struct omap_hwmod_class_sysconfig am33xx_gpio_sysc = {
-	.rev_offs	= 0x0000,
-	.sysc_offs	= 0x0010,
-	.syss_offs	= 0x0114,
-	.sysc_flags	= (SYSC_HAS_AUTOIDLE | SYSC_HAS_ENAWAKEUP |
-			  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
-			  SYSS_HAS_RESET_STATUS),
-	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
-			  SIDLE_SMART_WKUP),
-	.sysc_fields	= &omap_hwmod_sysc_type1,
-};
-
 struct omap_hwmod_class am33xx_gpio_hwmod_class = {
 	.name		= "gpio",
-	.sysc		= &am33xx_gpio_sysc,
 	.rev		= 2,
 };
 
#12 lore raw
Quoted 9 lines · Tony Lindgren
Quoted 4 lines · Tony Lindgren
Quoted 1 line · Peter Ujfalusi

am335x-evmsk is still not booting with this patch on top of next-20181210.

Oh interesting.

OK so to prevent the hwmod code from resetting gpios very early, this now might become necessary. Care to try with this also applied?

With this applied there is life on the console, however it ends up badly:

[    3.511211] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.522149] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.533488] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[    3.541752] pgd = (ptrval)
[    3.544521] [00000000] *pgd=00000000
[    3.548163] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[    3.553502] Modules linked in:
[    3.556584] CPU: 0 PID: 66 Comm: kworker/0:3 Not tainted 4.20.0-rc6-next-20181210-00102-g6da59622c934-dirty #276
[    3.566804] Hardware name: Generic AM33XX (Flattened Device Tree)
[    3.572947] Workqueue: events dbs_work_handler
[    3.577434] PC is at tilcdc_crtc_update_clk+0xc/0x98
[    3.582429] LR is at cpufreq_transition+0x1c/0x24
[    3.587155] pc : [<c057e524>]    lr : [<c057fd50>]    psr: 60000013
[    3.593450] sp : cf5e7e20  ip : 0ee06000  fp : 00000000
[    3.598698] r10: ffffffff  r9 : cf5e7ebc  r8 : 00000000
[    3.603946] r7 : 00000001  r6 : cf5e7ebc  r5 : 00000000  r4 : 00000000
[    3.610503] r3 : c057fd34  r2 : cf5e7ebc  r1 : 00000001  r0 : 00000000
[    3.617063] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    3.624231] Control: 10c5387d  Table: 80004019  DAC: 00000051
[    3.630005] Process kworker/0:3 (pid: 66, stack limit = 0x(ptrval))
[    3.636302] Stack: (0xcf5e7e20 to 0xcf5e8000)
[    3.640688] 7e20: 00000000 fffffffe cf5e7ebc 00000001 00000000 c057fd50 00000000 c01555d8
[    3.648909] 7e40: c0e6a26c c0e6a258 00000000 00000000 00000001 c015599c 00000000 c06e5548
[    3.657131] 7e60: cf5e7ebc cf5c3b00 c0e09264 c0e6a258 00000003 00000000 000afc80 c01559d0
[    3.665353] 7e80: 00000000 000afc80 cf5c3b00 c06e9994 cf5c3b00 cf5e7ebc 00000000 c0eae910
[    3.673575] 7ea0: 00000003 c06e9a64 cf5c3b00 00000000 c0e09108 c06e9f94 cf5dee00 00000000
[    3.681797] 7ec0: 000927c0 000afc80 00000021 71a56597 cf159688 cf5c3b00 cf5dee00 cf5d9c40
[    3.690019] 7ee0: cf5d9c40 cf5ded80 cf5ded80 cf5dee3c ffffe000 c06ed2c8 cf5dee38 cf5e1380
[    3.698240] 7f00: cf5dee04 cf5c3b00 c0e6a5d4 00000000 cf5dee3c c06edd80 cf5dee38 cf5e1380
[    3.706461] 7f20: cfb69ec0 cfb6d000 00000000 c014e284 00000008 cfb69ed8 cf5e1380 cf5e1394
[    3.714683] 7f40: cfb69ec0 00000008 cfb69ed8 c0e03d00 cfb69ec0 c014ef74 cf5e01c0 cf5e0180
[    3.722905] 7f60: ffffe000 00000000 cf5e01c0 cf5e0180 cf5e6000 cf5e1380 c014ef48 cf05feac
[    3.731127] 7f80: cf5e01dc c0153d40 00000000 cf5e0180 c0153c10 00000000 00000000 00000000
[    3.739348] 7fa0: 00000000 00000000 00000000 c01010e8 00000000 00000000 00000000 00000000
[    3.747568] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.755789] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    3.764028] [<c057e524>] (tilcdc_crtc_update_clk) from [<c057fd50>] (cpufreq_transition+0x1c/0x24)
[    3.773045] [<c057fd50>] (cpufreq_transition) from [<c01555d8>] (notifier_call_chain+0x48/0x80)
[    3.781794] [<c01555d8>] (notifier_call_chain) from [<c015599c>] (__srcu_notifier_call_chain+0x44/0x60)
[    3.791238] [<c015599c>] (__srcu_notifier_call_chain) from [<c01559d0>] (srcu_notifier_call_chain+0x18/0x20)
[    3.801126] [<c01559d0>] (srcu_notifier_call_chain) from [<c06e9994>] (cpufreq_notify_transition+0x64/0x110)
[    3.811008] [<c06e9994>] (cpufreq_notify_transition) from [<c06e9a64>] (cpufreq_freq_transition_end+0x24/0x90)
[    3.821061] [<c06e9a64>] (cpufreq_freq_transition_end) from [<c06e9f94>] (__cpufreq_driver_target+0x1b8/0x514)
[    3.831118] [<c06e9f94>] (__cpufreq_driver_target) from [<c06ed2c8>] (od_dbs_update+0x130/0x15c)
[    3.839952] [<c06ed2c8>] (od_dbs_update) from [<c06edd80>] (dbs_work_handler+0x28/0x58)
[    3.848003] [<c06edd80>] (dbs_work_handler) from [<c014e284>] (process_one_work+0x1e4/0x3f4)
[    3.856487] [<c014e284>] (process_one_work) from [<c014ef74>] (worker_thread+0x2c/0x574)
[    3.864628] [<c014ef74>] (worker_thread) from [<c0153d40>] (kthread+0x130/0x148)
[    3.872068] [<c0153d40>] (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c)
[    3.879323] Exception stack(0xcf5e7fb0 to 0xcf5e7ff8)
[    3.884400] 7fa0:                                     00000000 00000000 00000000 00000000
[    3.892621] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.900840] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    3.907493] Code: e12fff1e e92d41f0 e1a04000 e1a05000 (e4946014) 
[    3.913743] ---[ end trace 3f613bd9d55096fe ]---
[    3.922546] mmc1: new SDIO card at address 0001
[    3.928074] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.938547] tilcdc 4830e000.lcdc: no encoders/connectors found
Quoted 25 lines

Regards,

Tony

8< ------------------------

arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c +0 -11
@@ -516,24 +516,8 @@ struct omap_hwmod am33xx_epwmss2_hwmod = {
 	},
 };
 
-/*
- * 'gpio' class: for gpio 0,1,2,3
- */
-static struct omap_hwmod_class_sysconfig am33xx_gpio_sysc = {
-	.rev_offs	= 0x0000,
-	.sysc_offs	= 0x0010,
-	.syss_offs	= 0x0114,
-	.sysc_flags	= (SYSC_HAS_AUTOIDLE | SYSC_HAS_ENAWAKEUP |
-			  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
-			  SYSS_HAS_RESET_STATUS),
-	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |

arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c struct omap_hwmod am33xx_epwmss2_hwmod = { · line 523

Quoted 10 lines
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c +0 -5
-			  SIDLE_SMART_WKUP),
-	.sysc_fields	= &omap_hwmod_sysc_type1,
-};
-
 struct omap_hwmod_class am33xx_gpio_hwmod_class = {
 	.name		= "gpio",
-	.sysc		= &am33xx_gpio_sysc,
 	.rev		= 2,
 };
 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

author maintainer
#13 lore raw
Quoted 6 lines · Peter Ujfalusi
Quoted 3 lines · Tony Lindgren

OK so to prevent the hwmod code from resetting gpios very early, this now might become necessary. Care to try with this also applied?

With this applied there is life on the console, however it ends up badly:

OK thanks for testing. I'll take a look on how to skip early reset for omap_hwmod.c for the dts case instead of dropping the sysc platform data.

For the LCDC, does the following revert fix it? If so, I need to check the flags for am33xx_lcdc_hwmod HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY.

Regards,

Tony

8< -------------------------

arch/arm/boot/dts/am33xx-l4.dtsi +1 -7
@@ -2053,13 +2053,7 @@
 			#address-cells = <1>;
 			#size-cells = <1>;
 			ranges = <0x0 0xe000 0x1000>;
-
-			lcdc: lcdc@0 {
-				compatible = "ti,am33xx-tilcdc";
-				reg = <0x0 0x1000>;
-				interrupts = <36>;
-				status = "disabled";
-			};
+			status = "disabled";
 		};
 
 		target-module@10000 {			/* 0x48310000, ap 76 4e.1 */
arch/arm/boot/dts/am33xx.dtsi +8 -0
@@ -393,6 +393,14 @@
 			};
 		};
 
+		lcdc: lcdc@4830e000 {
+			compatible = "ti,am33xx-tilcdc";
+			reg = <0x4830e000 0x1000>;
+			interrupts = <36>;
+			ti,hwmods = "lcdc";
+			status = "disabled";
+		};
+
 		emif: emif@4c000000 {
 			compatible = "ti,emif-am3352";
 			reg = <0x4c000000 0x1000000>;
#14 lore raw

Tony,

Quoted 8 lines · Tony Lindgren
Quoted 6 lines · Peter Ujfalusi
Quoted 3 lines · Tony Lindgren

OK so to prevent the hwmod code from resetting gpios very early, this now might become necessary. Care to try with this also applied?

With this applied there is life on the console, however it ends up badly:

Quoted 7 lines

OK thanks for testing. I'll take a look on how to skip early reset for omap_hwmod.c for the dts case instead of dropping the sysc platform data.

For the LCDC, does the following revert fix it? If so, I need to check the flags for am33xx_lcdc_hwmod HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY.

Unfortunately, not :(

I have applied the two patch you have sent, plus this (next-20181210):

[    3.481142] OF: graph: no port node found in /ocp/lcdc@4830e000
[    3.487627] OF: graph: no port node found in /ocp/lcdc@4830e000
[    3.494810] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[    3.503182] pgd = (ptrval)
[    3.505957] [00000000] *pgd=00000000
[    3.509645] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[    3.514986] Modules linked in:
[    3.518068] CPU: 0 PID: 66 Comm: kworker/0:3 Not tainted 4.20.0-rc6-next-20181210-00104-g77bc75e7d444 #277
[    3.527763] Hardware name: Generic AM33XX (Flattened Device Tree)
[    3.533906] Workqueue: events dbs_work_handler
[    3.538393] PC is at tilcdc_crtc_update_clk+0xc/0x98
[    3.543387] LR is at cpufreq_transition+0x1c/0x24
[    3.548112] pc : [<c057e524>]    lr : [<c057fd50>]    psr: 60000013
[    3.554408] sp : cf5e5e20  ip : 0ee06000  fp : 00000000
[    3.559655] r10: ffffffff  r9 : cf5e5ebc  r8 : 00000000
[    3.564904] r7 : 00000001  r6 : cf5e5ebc  r5 : 00000000  r4 : 00000000
[    3.571461] r3 : c057fd34  r2 : cf5e5ebc  r1 : 00000001  r0 : 00000000
[    3.578020] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    3.585188] Control: 10c5387d  Table: 80004019  DAC: 00000051
[    3.590961] Process kworker/0:3 (pid: 66, stack limit = 0x(ptrval))
[    3.597257] Stack: (0xcf5e5e20 to 0xcf5e6000)
[    3.601641] 5e20: 00000000 fffffffe cf5e5ebc 00000001 00000000 c057fd50 00000000 c01555d8
[    3.609862] 5e40: c0e6a26c c0e6a258 00000000 00000000 00000001 c015599c 00000000 c06e5548
[    3.618082] 5e60: cf5e5ebc cf5c3a00 c0e09264 c0e6a258 00000003 00000000 000afc80 c01559d0
[    3.626303] 5e80: 00000000 000afc80 cf5c3a00 c06e9994 cf5c3a00 cf5e5ebc 00000000 c0eae910
[    3.634523] 5ea0: 00000003 c06e9a64 cf5c3a00 00000000 c0e09108 c06e9f94 cf5e1900 00000000
[    3.642745] 5ec0: 000927c0 000afc80 00000021 71a56597 cf159688 cf5c3a00 cf5e1900 cf5d9a80
[    3.650966] 5ee0: cf5d9a80 cf5e1880 cf5e1880 cf5e193c ffffe000 c06ed2c8 cf5e1938 cf5de080
[    3.659187] 5f00: cf5e1904 cf5c3a00 c0e6a5d4 00000000 cf5e193c c06edd80 cf5e1938 cf5de080
[    3.667408] 5f20: cfb69ec0 cfb6d000 00000000 c014e284 00000008 cfb69ed8 cf5de080 cf5de094
[    3.675628] 5f40: cfb69ec0 00000008 cfb69ed8 c0e03d00 cfb69ec0 c014ef74 cf5dd000 cf5d9fc0
[    3.683849] 5f60: ffffe000 00000000 cf5dd000 cf5d9fc0 cf5e4000 cf5de080 c014ef48 cf05feac
[    3.692069] 5f80: cf5dd01c c0153d40 00000000 cf5d9fc0 c0153c10 00000000 00000000 00000000
[    3.700289] 5fa0: 00000000 00000000 00000000 c01010e8 00000000 00000000 00000000 00000000
[    3.708509] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.716730] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    3.724969] [<c057e524>] (tilcdc_crtc_update_clk) from [<c057fd50>] (cpufreq_transition+0x1c/0x24)
[    3.733986] [<c057fd50>] (cpufreq_transition) from [<c01555d8>] (notifier_call_chain+0x48/0x80)
[    3.742734] [<c01555d8>] (notifier_call_chain) from [<c015599c>] (__srcu_notifier_call_chain+0x44/0x60)
[    3.752178] [<c015599c>] (__srcu_notifier_call_chain) from [<c01559d0>] (srcu_notifier_call_chain+0x18/0x20)
[    3.762067] [<c01559d0>] (srcu_notifier_call_chain) from [<c06e9994>] (cpufreq_notify_transition+0x64/0x110)
[    3.771949] [<c06e9994>] (cpufreq_notify_transition) from [<c06e9a64>] (cpufreq_freq_transition_end+0x24/0x90)
[    3.782003] [<c06e9a64>] (cpufreq_freq_transition_end) from [<c06e9f94>] (__cpufreq_driver_target+0x1b8/0x514)
[    3.792059] [<c06e9f94>] (__cpufreq_driver_target) from [<c06ed2c8>] (od_dbs_update+0x130/0x15c)
[    3.800892] [<c06ed2c8>] (od_dbs_update) from [<c06edd80>] (dbs_work_handler+0x28/0x58)
[    3.808941] [<c06edd80>] (dbs_work_handler) from [<c014e284>] (process_one_work+0x1e4/0x3f4)
[    3.817424] [<c014e284>] (process_one_work) from [<c014ef74>] (worker_thread+0x2c/0x574)
[    3.825564] [<c014ef74>] (worker_thread) from [<c0153d40>] (kthread+0x130/0x148)
[    3.833004] [<c0153d40>] (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c)
[    3.840259] Exception stack(0xcf5e5fb0 to 0xcf5e5ff8)
[    3.845335] 5fa0:                                     00000000 00000000 00000000 00000000
[    3.853555] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.861773] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    3.868428] Code: e12fff1e e92d41f0 e1a04000 e1a05000 (e4946014) 
[    3.874674] ---[ end trace d8042f7454b3c9d1 ]---
[    3.883368] mmc1: new SDIO card at address 0001
[    3.889008] OF: graph: no port node found in /ocp/lcdc@4830e000
[    3.895127] tilcdc 4830e000.lcdc: no encoders/connectors found
Quoted 33 lines

Regards,

Tony

8< -------------------------

arch/arm/boot/dts/am33xx-l4.dtsi +1 -7
@@ -2053,13 +2053,7 @@
 			#address-cells = <1>;
 			#size-cells = <1>;
 			ranges = <0x0 0xe000 0x1000>;
-
-			lcdc: lcdc@0 {
-				compatible = "ti,am33xx-tilcdc";
-				reg = <0x0 0x1000>;
-				interrupts = <36>;
-				status = "disabled";
-			};
+			status = "disabled";
 		};
 
 		target-module@10000 {			/* 0x48310000, ap 76 4e.1 */
arch/arm/boot/dts/am33xx.dtsi +1 -0
@@ -393,6 +393,14 @@
 			};
 		};
 
+		lcdc: lcdc@4830e000 {

arch/arm/boot/dts/am33xx.dtsi line 406

Quoted 10 lines
arch/arm/boot/dts/am33xx.dtsi +7 -0
+			compatible = "ti,am33xx-tilcdc";
+			reg = <0x4830e000 0x1000>;
+			interrupts = <36>;
+			ti,hwmods = "lcdc";
+			status = "disabled";
+		};
+
 		emif: emif@4c000000 {
 			compatible = "ti,emif-am3352";
 			reg = <0x4c000000 0x1000000>;

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

#15 lore raw

Tony,

Quoted 72 lines · Peter Ujfalusi

Tony,

Quoted 8 lines · Tony Lindgren
Quoted 6 lines · Peter Ujfalusi
Quoted 3 lines · Tony Lindgren

OK so to prevent the hwmod code from resetting gpios very early, this now might become necessary. Care to try with this also applied?

With this applied there is life on the console, however it ends up badly:

Quoted 7 lines

OK thanks for testing. I'll take a look on how to skip early reset for omap_hwmod.c for the dts case instead of dropping the sysc platform data.

For the LCDC, does the following revert fix it? If so, I need to check the flags for am33xx_lcdc_hwmod HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY.

Unfortunately, not :(

I have applied the two patch you have sent, plus this (next-20181210):

[    3.481142] OF: graph: no port node found in /ocp/lcdc@4830e000
[    3.487627] OF: graph: no port node found in /ocp/lcdc@4830e000
[    3.494810] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[    3.503182] pgd = (ptrval)
[    3.505957] [00000000] *pgd=00000000
[    3.509645] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[    3.514986] Modules linked in:
[    3.518068] CPU: 0 PID: 66 Comm: kworker/0:3 Not tainted 4.20.0-rc6-next-20181210-00104-g77bc75e7d444 #277
[    3.527763] Hardware name: Generic AM33XX (Flattened Device Tree)
[    3.533906] Workqueue: events dbs_work_handler
[    3.538393] PC is at tilcdc_crtc_update_clk+0xc/0x98
[    3.543387] LR is at cpufreq_transition+0x1c/0x24
[    3.548112] pc : [<c057e524>]    lr : [<c057fd50>]    psr: 60000013
[    3.554408] sp : cf5e5e20  ip : 0ee06000  fp : 00000000
[    3.559655] r10: ffffffff  r9 : cf5e5ebc  r8 : 00000000
[    3.564904] r7 : 00000001  r6 : cf5e5ebc  r5 : 00000000  r4 : 00000000
[    3.571461] r3 : c057fd34  r2 : cf5e5ebc  r1 : 00000001  r0 : 00000000
[    3.578020] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    3.585188] Control: 10c5387d  Table: 80004019  DAC: 00000051
[    3.590961] Process kworker/0:3 (pid: 66, stack limit = 0x(ptrval))
[    3.597257] Stack: (0xcf5e5e20 to 0xcf5e6000)
[    3.601641] 5e20: 00000000 fffffffe cf5e5ebc 00000001 00000000 c057fd50 00000000 c01555d8
[    3.609862] 5e40: c0e6a26c c0e6a258 00000000 00000000 00000001 c015599c 00000000 c06e5548
[    3.618082] 5e60: cf5e5ebc cf5c3a00 c0e09264 c0e6a258 00000003 00000000 000afc80 c01559d0
[    3.626303] 5e80: 00000000 000afc80 cf5c3a00 c06e9994 cf5c3a00 cf5e5ebc 00000000 c0eae910
[    3.634523] 5ea0: 00000003 c06e9a64 cf5c3a00 00000000 c0e09108 c06e9f94 cf5e1900 00000000
[    3.642745] 5ec0: 000927c0 000afc80 00000021 71a56597 cf159688 cf5c3a00 cf5e1900 cf5d9a80
[    3.650966] 5ee0: cf5d9a80 cf5e1880 cf5e1880 cf5e193c ffffe000 c06ed2c8 cf5e1938 cf5de080
[    3.659187] 5f00: cf5e1904 cf5c3a00 c0e6a5d4 00000000 cf5e193c c06edd80 cf5e1938 cf5de080
[    3.667408] 5f20: cfb69ec0 cfb6d000 00000000 c014e284 00000008 cfb69ed8 cf5de080 cf5de094
[    3.675628] 5f40: cfb69ec0 00000008 cfb69ed8 c0e03d00 cfb69ec0 c014ef74 cf5dd000 cf5d9fc0
[    3.683849] 5f60: ffffe000 00000000 cf5dd000 cf5d9fc0 cf5e4000 cf5de080 c014ef48 cf05feac
[    3.692069] 5f80: cf5dd01c c0153d40 00000000 cf5d9fc0 c0153c10 00000000 00000000 00000000
[    3.700289] 5fa0: 00000000 00000000 00000000 c01010e8 00000000 00000000 00000000 00000000
[    3.708509] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.716730] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    3.724969] [<c057e524>] (tilcdc_crtc_update_clk) from [<c057fd50>] (cpufreq_transition+0x1c/0x24)
[    3.733986] [<c057fd50>] (cpufreq_transition) from [<c01555d8>] (notifier_call_chain+0x48/0x80)
[    3.742734] [<c01555d8>] (notifier_call_chain) from [<c015599c>] (__srcu_notifier_call_chain+0x44/0x60)
[    3.752178] [<c015599c>] (__srcu_notifier_call_chain) from [<c01559d0>] (srcu_notifier_call_chain+0x18/0x20)
[    3.762067] [<c01559d0>] (srcu_notifier_call_chain) from [<c06e9994>] (cpufreq_notify_transition+0x64/0x110)
[    3.771949] [<c06e9994>] (cpufreq_notify_transition) from [<c06e9a64>] (cpufreq_freq_transition_end+0x24/0x90)
[    3.782003] [<c06e9a64>] (cpufreq_freq_transition_end) from [<c06e9f94>] (__cpufreq_driver_target+0x1b8/0x514)
[    3.792059] [<c06e9f94>] (__cpufreq_driver_target) from [<c06ed2c8>] (od_dbs_update+0x130/0x15c)
[    3.800892] [<c06ed2c8>] (od_dbs_update) from [<c06edd80>] (dbs_work_handler+0x28/0x58)
[    3.808941] [<c06edd80>] (dbs_work_handler) from [<c014e284>] (process_one_work+0x1e4/0x3f4)
[    3.817424] [<c014e284>] (process_one_work) from [<c014ef74>] (worker_thread+0x2c/0x574)
[    3.825564] [<c014ef74>] (worker_thread) from [<c0153d40>] (kthread+0x130/0x148)
[    3.833004] [<c0153d40>] (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c)
[    3.840259] Exception stack(0xcf5e5fb0 to 0xcf5e5ff8)
Quoted 8 lines
[    3.845335] 5fa0:                                     00000000 00000000 00000000 00000000
[    3.853555] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.861773] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    3.868428] Code: e12fff1e e92d41f0 e1a04000 e1a05000 (e4946014) 
[    3.874674] ---[ end trace d8042f7454b3c9d1 ]---
[    3.883368] mmc1: new SDIO card at address 0001
[    3.889008] OF: graph: no port node found in /ocp/lcdc@4830e000
[    3.895127] tilcdc 4830e000.lcdc: no encoders/connectors found

It looks like there is a bug in tilcdc as well, but the display is not coming up because the backlight is not proping:

[    0.618627] ecap 48304000.epwmss:ecap@48304100: invalid resource
[    0.618822] ecap: probe of 48304000.epwmss:ecap@48304100 failed with

error -22

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

#16 lore raw
Quoted 84 lines · Peter Ujfalusi

Tony,

Quoted 72 lines · Peter Ujfalusi

Tony,

Quoted 8 lines · Tony Lindgren
Quoted 6 lines · Peter Ujfalusi
Quoted 3 lines · Tony Lindgren

OK so to prevent the hwmod code from resetting gpios very early, this now might become necessary. Care to try with this also applied?

With this applied there is life on the console, however it ends up badly:

Quoted 7 lines

OK thanks for testing. I'll take a look on how to skip early reset for omap_hwmod.c for the dts case instead of dropping the sysc platform data.

For the LCDC, does the following revert fix it? If so, I need to check the flags for am33xx_lcdc_hwmod HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY.

Unfortunately, not :(

I have applied the two patch you have sent, plus this (next-20181210):

[    3.481142] OF: graph: no port node found in /ocp/lcdc@4830e000
[    3.487627] OF: graph: no port node found in /ocp/lcdc@4830e000
[    3.494810] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[    3.503182] pgd = (ptrval)
[    3.505957] [00000000] *pgd=00000000
[    3.509645] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[    3.514986] Modules linked in:
[    3.518068] CPU: 0 PID: 66 Comm: kworker/0:3 Not tainted 4.20.0-rc6-next-20181210-00104-g77bc75e7d444 #277
[    3.527763] Hardware name: Generic AM33XX (Flattened Device Tree)
[    3.533906] Workqueue: events dbs_work_handler
[    3.538393] PC is at tilcdc_crtc_update_clk+0xc/0x98
[    3.543387] LR is at cpufreq_transition+0x1c/0x24
[    3.548112] pc : [<c057e524>]    lr : [<c057fd50>]    psr: 60000013
[    3.554408] sp : cf5e5e20  ip : 0ee06000  fp : 00000000
[    3.559655] r10: ffffffff  r9 : cf5e5ebc  r8 : 00000000
[    3.564904] r7 : 00000001  r6 : cf5e5ebc  r5 : 00000000  r4 : 00000000
[    3.571461] r3 : c057fd34  r2 : cf5e5ebc  r1 : 00000001  r0 : 00000000
[    3.578020] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    3.585188] Control: 10c5387d  Table: 80004019  DAC: 00000051
[    3.590961] Process kworker/0:3 (pid: 66, stack limit = 0x(ptrval))
[    3.597257] Stack: (0xcf5e5e20 to 0xcf5e6000)
[    3.601641] 5e20: 00000000 fffffffe cf5e5ebc 00000001 00000000 c057fd50 00000000 c01555d8
[    3.609862] 5e40: c0e6a26c c0e6a258 00000000 00000000 00000001 c015599c 00000000 c06e5548
[    3.618082] 5e60: cf5e5ebc cf5c3a00 c0e09264 c0e6a258 00000003 00000000 000afc80 c01559d0
[    3.626303] 5e80: 00000000 000afc80 cf5c3a00 c06e9994 cf5c3a00 cf5e5ebc 00000000 c0eae910
[    3.634523] 5ea0: 00000003 c06e9a64 cf5c3a00 00000000 c0e09108 c06e9f94 cf5e1900 00000000
[    3.642745] 5ec0: 000927c0 000afc80 00000021 71a56597 cf159688 cf5c3a00 cf5e1900 cf5d9a80
[    3.650966] 5ee0: cf5d9a80 cf5e1880 cf5e1880 cf5e193c ffffe000 c06ed2c8 cf5e1938 cf5de080
[    3.659187] 5f00: cf5e1904 cf5c3a00 c0e6a5d4 00000000 cf5e193c c06edd80 cf5e1938 cf5de080
[    3.667408] 5f20: cfb69ec0 cfb6d000 00000000 c014e284 00000008 cfb69ed8 cf5de080 cf5de094
[    3.675628] 5f40: cfb69ec0 00000008 cfb69ed8 c0e03d00 cfb69ec0 c014ef74 cf5dd000 cf5d9fc0
[    3.683849] 5f60: ffffe000 00000000 cf5dd000 cf5d9fc0 cf5e4000 cf5de080 c014ef48 cf05feac
[    3.692069] 5f80: cf5dd01c c0153d40 00000000 cf5d9fc0 c0153c10 00000000 00000000 00000000
[    3.700289] 5fa0: 00000000 00000000 00000000 c01010e8 00000000 00000000 00000000 00000000
[    3.708509] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.716730] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    3.724969] [<c057e524>] (tilcdc_crtc_update_clk) from [<c057fd50>] (cpufreq_transition+0x1c/0x24)
[    3.733986] [<c057fd50>] (cpufreq_transition) from [<c01555d8>] (notifier_call_chain+0x48/0x80)
[    3.742734] [<c01555d8>] (notifier_call_chain) from [<c015599c>] (__srcu_notifier_call_chain+0x44/0x60)
[    3.752178] [<c015599c>] (__srcu_notifier_call_chain) from [<c01559d0>] (srcu_notifier_call_chain+0x18/0x20)
[    3.762067] [<c01559d0>] (srcu_notifier_call_chain) from [<c06e9994>] (cpufreq_notify_transition+0x64/0x110)
[    3.771949] [<c06e9994>] (cpufreq_notify_transition) from [<c06e9a64>] (cpufreq_freq_transition_end+0x24/0x90)
[    3.782003] [<c06e9a64>] (cpufreq_freq_transition_end) from [<c06e9f94>] (__cpufreq_driver_target+0x1b8/0x514)
[    3.792059] [<c06e9f94>] (__cpufreq_driver_target) from [<c06ed2c8>] (od_dbs_update+0x130/0x15c)
[    3.800892] [<c06ed2c8>] (od_dbs_update) from [<c06edd80>] (dbs_work_handler+0x28/0x58)
[    3.808941] [<c06edd80>] (dbs_work_handler) from [<c014e284>] (process_one_work+0x1e4/0x3f4)
[    3.817424] [<c014e284>] (process_one_work) from [<c014ef74>] (worker_thread+0x2c/0x574)
[    3.825564] [<c014ef74>] (worker_thread) from [<c0153d40>] (kthread+0x130/0x148)
[    3.833004] [<c0153d40>] (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c)
[    3.840259] Exception stack(0xcf5e5fb0 to 0xcf5e5ff8)
Quoted 8 lines
[    3.845335] 5fa0:                                     00000000 00000000 00000000 00000000
[    3.853555] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.861773] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    3.868428] Code: e12fff1e e92d41f0 e1a04000 e1a05000 (e4946014) 
[    3.874674] ---[ end trace d8042f7454b3c9d1 ]---
[    3.883368] mmc1: new SDIO card at address 0001
[    3.889008] OF: graph: no port node found in /ocp/lcdc@4830e000
[    3.895127] tilcdc 4830e000.lcdc: no encoders/connectors found
Quoted 5 lines

It looks like there is a bug in tilcdc as well, but the display is not coming up because the backlight is not proping:

[    0.618627] ecap 48304000.epwmss:ecap@48304100: invalid resource
[    0.618822] ecap: probe of 48304000.epwmss:ecap@48304100 failed with

error -22

Sent a patch to fix the ecap:
ARM: dts: am33xx-l4: Fix epwmssX/ecapX/ehrpwmX ranges and reg

Now LCD is working.

Quoted 6 lines

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

author maintainer
#17 lore raw
Quoted 10 lines · Peter Ujfalusi
Quoted 5 lines

It looks like there is a bug in tilcdc as well, but the display is not coming up because the backlight is not proping:

[    0.618627] ecap 48304000.epwmss:ecap@48304100: invalid resource
[    0.618822] ecap: probe of 48304000.epwmss:ecap@48304100 failed with

error -22

Sent a patch to fix the ecap:
ARM: dts: am33xx-l4: Fix epwmssX/ecapX/ehrpwmX ranges and reg

Now LCD is working.

OK good to hear. I did not get LCD enabled on am335x-evm even with adding 800x600 EDID file.

Regards,

Tony

author maintainer
#18 lore raw
In reply to Tony Lindgren
Quoted 9 lines · Tony Lindgren
Quoted 4 lines · Tony Lindgren
Quoted 1 line · Peter Ujfalusi

am335x-evmsk is still not booting with this patch on top of next-20181210.

Oh interesting.

OK so to prevent the hwmod code from resetting gpios very early, this now might become necessary. Care to try with this also applied?

I posted two patches adding more checks for the module flags so the patch below should no be needed any longer.

Regards,

Tony

Quoted 29 lines

8< ------------------------

arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c +0 -16
@@ -516,24 +516,8 @@ struct omap_hwmod am33xx_epwmss2_hwmod = {
 	},
 };
 
-/*
- * 'gpio' class: for gpio 0,1,2,3
- */
-static struct omap_hwmod_class_sysconfig am33xx_gpio_sysc = {
-	.rev_offs	= 0x0000,
-	.sysc_offs	= 0x0010,
-	.syss_offs	= 0x0114,
-	.sysc_flags	= (SYSC_HAS_AUTOIDLE | SYSC_HAS_ENAWAKEUP |
-			  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
-			  SYSS_HAS_RESET_STATUS),
-	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
-			  SIDLE_SMART_WKUP),
-	.sysc_fields	= &omap_hwmod_sysc_type1,
-};
-
 struct omap_hwmod_class am33xx_gpio_hwmod_class = {
 	.name		= "gpio",
-	.sysc		= &am33xx_gpio_sysc,
 	.rev		= 2,
 };