Re: Regression with e428e250fde6 on BeagleBoard Rev C2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

* Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> [210921 17:50]:
> On 9/21/21 10:00 AM, Tony Lindgren wrote:
> > * Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> [210920 16:35]:
> >> On 9/20/21 4:34 PM, Tony Lindgren wrote:
> >>> The patch below should take us back to the earlier configuration,
> >>> can you please give it a try?
> >>>
> >> I double checked and unfortunate it doesn't boot at all or give any
> >> output when patch is applied:
> > 
> > Hmm I tested it with copying the beagle timer configuration to omap3.dtsi
> > and things worked for me. If you can, please try adding
> > CONFIG_SERIAL_EARLYCON=y and then also add "debug earlyprintk" to kernel
> > command line. It might show something that I'm not able to reproduce.
> > Maybe there is a bootloader dependency or something like that.
> > 
> Hmm.. no luck on top of d5f6545934c4 ("qnx4: work around gcc false
> positive warning bug") with the patch. Nothing gets printed after
> "Starting kernel ...". Without the patch boots fine.

OK interesting. Best to keep the booting quirk handling for beagle
rev a to b4 then. No reason to keep the timer quirks for rev b5 and c
boards though.

Can you try the following patch that removes the quirks for omap3-beagle
by default?

The patch also adds a new omap3-beagle-ab4.dts that keeps the current
quirks and also limits the pmic capabilities for the old known buggy
boards.

I also noticed that omap3-beagle.dts is missing the twl power node
probably because of the rev a to b4 quirks.

Adding the twl power node with "ti,twl4030-power-idle-osc-off" similar
to beagle xm might produce some nice power savings after the quirks are
gone :)

Needs to be tested with kernel serial console detached and serial
port autoidle configured. That's a different patch for sure.

Regards,

Tony

8< -----------------------
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -779,6 +779,7 @@ dtb-$(CONFIG_ARCH_OMAP3) += \
 	logicpd-som-lv-37xx-devkit.dtb \
 	omap3430-sdp.dtb \
 	omap3-beagle.dtb \
+	omap3-beagle-ab4.dtb \
 	omap3-beagle-xm.dtb \
 	omap3-beagle-xm-ab.dtb \
 	omap3-cm-t3517.dtb \
diff --git a/arch/arm/boot/dts/omap3-beagle-ab4.dts b/arch/arm/boot/dts/omap3-beagle-ab4.dts
new file mode 100644
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-beagle-ab4.dts
@@ -0,0 +1,49 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/dts-v1/;
+
+#include "omap3-beagle.dts"
+
+/*
+ * Workaround for capacitor C70 issue, see "Boards revision A and < B5"
+ * section at https://elinux.org/BeagleBoard_Community
+ */
+
+/* Unusable as clocksource because of unreliable oscillator */
+&counter32k {
+	status = "disabled";
+};
+
+/* Unusable as clockevent because if unreliable oscillator, allow to idle */
+&timer1_target {
+	/delete-property/ti,no-reset-on-init;
+	/delete-property/ti,no-idle;
+	timer@0 {
+		/delete-property/ti,timer-alwon;
+	};
+};
+
+/* Preferred always-on timer for clocksource */
+&timer12_target {
+	ti,no-reset-on-init;
+	ti,no-idle;
+	timer@0 {
+		/* Always clocked by secure_32k_fck */
+	};
+};
+
+/* Preferred timer for clockevent */
+&timer2_target {
+	ti,no-reset-on-init;
+	ti,no-idle;
+	timer@0 {
+		assigned-clocks = <&gpt2_fck>;
+		assigned-clock-parents = <&sys_ck>;
+	};
+};
+
+&twl {
+	twl_power: power {
+		compatible = "ti,twl4030-power-idle";
+		ti,use_poweroff;
+	};
+};
diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts
--- a/arch/arm/boot/dts/omap3-beagle.dts
+++ b/arch/arm/boot/dts/omap3-beagle.dts
@@ -304,39 +304,6 @@ &usbhsehci {
 	phys = <0 &hsusb2_phy>;
 };
 
-/* Unusable as clocksource because of unreliable oscillator */
-&counter32k {
-	status = "disabled";
-};
-
-/* Unusable as clockevent because if unreliable oscillator, allow to idle */
-&timer1_target {
-	/delete-property/ti,no-reset-on-init;
-	/delete-property/ti,no-idle;
-	timer@0 {
-		/delete-property/ti,timer-alwon;
-	};
-};
-
-/* Preferred always-on timer for clocksource */
-&timer12_target {
-	ti,no-reset-on-init;
-	ti,no-idle;
-	timer@0 {
-		/* Always clocked by secure_32k_fck */
-	};
-};
-
-/* Preferred timer for clockevent */
-&timer2_target {
-	ti,no-reset-on-init;
-	ti,no-idle;
-	timer@0 {
-		assigned-clocks = <&gpt2_fck>;
-		assigned-clock-parents = <&sys_ck>;
-	};
-};
-
 &twl_gpio {
 	ti,use-leds;
 	/* pullups: BIT(1) */
-- 
2.33.0



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux