Skip to contentSkip to conversation

4.13 (and probably all recent) kernels refuse to boot on one Nokia N950, work or another

DISCUSSION Pavel Machek 6 participants 24 messages Oct 25, 2017 – Oct 30, 2017

Subsystems (6)
lore
Share & tools
lore
#0 lore raw

Hi!

...hardware should be identical. 3.5.3-nemo kernel seems to work on both. 4.13-rc2 with display and clock patches boots on phone "S", but does not on phone "P"; nothing nothing is received on serial port.

There is some difference in the bootloaders: S's bootloader provides lots of debug info, P's is silent. R&D settings do _not_ have influence on bootloader. We know P's serial works, as 3.5.3 kernel prints "Uncompressing linux...booting" there.

I'll need to return "S" phone and serial cable tommorow. If you have any ideas, let me know.

Best regards,
Pavel

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171025/e2e4eedf/attachment.sig>
maintainer
#1 lore raw
Quoted 6 lines · Pavel Machek

Hi!

...hardware should be identical. 3.5.3-nemo kernel seems to work on both. 4.13-rc2 with display and clock patches boots on phone "S", but does not on phone "P"; nothing nothing is received on serial port.

Quoted 7 lines

There is some difference in the bootloaders: S's bootloader provides lots of debug info, P's is silent. R&D settings do _not_ have influence on bootloader. We know P's serial works, as 3.5.3 kernel prints "Uncompressing linux...booting" there.

I'll need to return "S" phone and serial cable tommorow. If you have any ideas, let me know.

If you get nothing out of the uart, chances are the pins are not muxed for the uart in nolo and maybe kernel dts is missing the pinctrl entries for uart?

Also try booting with mem=512M at 0x80000000 or 256M or 768M. Maybe the memory is different size or partially broken?

Regards,

Tony

maintainer
#2 lore raw

Hi,

Quoted 2 lines · Tony Lindgren

Also try booting with mem=512M at 0x80000000 or 256M or 768M. Maybe the memory is different size or partially broken?

Yeah, some early N950s may have only 512 MB.

A.

#3 lore raw
In reply to Tony Lindgren
Quoted 12 lines · Tony Lindgren
Quoted 11 lines · Pavel Machek

Hi!

...hardware should be identical. 3.5.3-nemo kernel seems to work on both. 4.13-rc2 with display and clock patches boots on phone "S", but does not on phone "P"; nothing nothing is received on serial port.

There is some difference in the bootloaders: S's bootloader provides lots of debug info, P's is silent. R&D settings do _not_ have influence on bootloader. We know P's serial works, as 3.5.3 kernel prints "Uncompressing linux...booting" there.

Quoted 6 lines
Quoted 2 lines

I'll need to return "S" phone and serial cable tommorow. If you have any ideas, let me know.

If you get nothing out of the uart, chances are the pins are not muxed for the uart in nolo and maybe kernel dts is missing the pinctrl entries for uart?

"Uart pins not muxed in NOLO" would certainly explain my problems. In 3.5.X, output works even in decompressor ("Uncompressing kernel... done, booting linux"). Where is the code to do the muxing? Does it need fixing on v4.x?

Is

CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"

right setting for me?

Quoted 2 lines

Also try booting with mem=512M at 0x80000000 or 256M or 768M. Maybe the memory is different size or partially broken?

"P" machine runs Hartmann, latest release, and is stable there... including games. RAM should be ok.

Best regards,
Pavel

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/d5dff508/attachment.sig>
#4 lore raw
Quoted 3 lines · Pavel Machek

"Uart pins not muxed in NOLO" would certainly explain my problems. In 3.5.X, output works even in decompressor ("Uncompressing kernel... done, booting linux").

IIRC bootloader passes some additional settings for gpio that kernel should apply (2.6 and 3.5 do that). I'm not sure if that would cause booting to fail on that specific device, but can you compare kernel params on S and P devices (by using 3.5.3 for P device)?

Filip

#5 lore raw
In reply to Tony Lindgren

Hi!

Quoted 9 lines
Quoted 9 lines

...hardware should be identical. 3.5.3-nemo kernel seems to work on both. 4.13-rc2 with display and clock patches boots on phone "S", but does not on phone "P"; nothing nothing is received on serial port.

There is some difference in the bootloaders: S's bootloader provides lots of debug info, P's is silent. R&D settings do _not_ have influence on bootloader. We know P's serial works, as 3.5.3 kernel prints "Uncompressing linux...booting" there.

Quoted 6 lines
Quoted 2 lines

I'll need to return "S" phone and serial cable tommorow. If you have any ideas, let me know.

If you get nothing out of the uart, chances are the pins are not muxed for the uart in nolo and maybe kernel dts is missing the pinctrl entries for uart?

Ok. With patch below, I get:

[    4.770965] Booting...
Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.13.0-rc2-12806-g7603303-dirty

(pavel at duo) (gcc version 4.7.2 (GCC)) #7

... on "S" machine. (But still nothing on "P" machine).

3.5.3 does have to set up pinmux for debug printing somewhere, right? Where can I copy that from?

Thanks,
Pavel

commit 5dc1c6ea8f20b6480e01c24710514434c00d53f8

Author: Pavel <[email protected]>
Date:   Thu Oct 26 10:42:06 2017 +0200

Add debugging hacks. In particular, Uncompressing Linux.... done, booting... is now printed.

.config +21 -2
index 40aaa5e..60750b3 100644
@@ -2534,10 +2534,29 @@ CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
 # CONFIG_ARM_PTDUMP is not set
 # CONFIG_ARM_UNWIND is not set
 # CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_LL is not set
-CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_OMAP2UART1 is not set
+# CONFIG_DEBUG_OMAP2UART2 is not set
+# CONFIG_DEBUG_OMAP2UART3 is not set
+CONFIG_DEBUG_OMAP3UART3=y
+# CONFIG_DEBUG_OMAP4UART3 is not set
+# CONFIG_DEBUG_OMAP3UART4 is not set
+# CONFIG_DEBUG_OMAP4UART4 is not set
+# CONFIG_DEBUG_TI81XXUART1 is not set
+# CONFIG_DEBUG_TI81XXUART2 is not set
+# CONFIG_DEBUG_TI81XXUART3 is not set
+# CONFIG_DEBUG_AM33XXUART1 is not set
+# CONFIG_DEBUG_ZOOM_UART is not set
+# CONFIG_DEBUG_ICEDCC is not set
+# CONFIG_DEBUG_SEMIHOSTING is not set
+# CONFIG_DEBUG_LL_UART_8250 is not set
+# CONFIG_DEBUG_LL_UART_PL01X is not set
+CONFIG_DEBUG_OMAP2PLUS_UART=y
+CONFIG_DEBUG_LL_INCLUDE="debug/omap2plus.S"
 # CONFIG_DEBUG_UART_8250 is not set
+CONFIG_DEBUG_UNCOMPRESS=y
 CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
+CONFIG_EARLY_PRINTK=y
 # CONFIG_PID_IN_CONTEXTIDR is not set
 # CONFIG_CORESIGHT is not set
 
arch/arm/Kconfig.debug +1 -1
index 447629d..0f50439 100644
@@ -1736,7 +1736,7 @@ config DEBUG_UART_8250_FLOW_CONTROL
 config DEBUG_UNCOMPRESS
 	bool
 	depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
-	default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
+	default y if DEBUG_LL && (!DEBUG_OMAP2PLUS_UART || !ZROM_BOOT) && \
 		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
 		     !DEBUG_BRCMSTB_UART
 	help
arch/arm/include/debug/omap2plus.S +9 -4
index 6d867ae..3684e04 100644
@@ -58,12 +58,17 @@
 
 #define UART_OFFSET(addr)	((addr) & 0x00ffffff)
 
+#if defined(ZIMAGE)
+	omap_uart_phys:	.word	0
+	omap_uart_virt:	.word	0
+	omap_uart_lsr:	.word	0
+#else
 		.pushsection .data
-omap_uart_phys:	.word	0
-omap_uart_virt:	.word	0
-omap_uart_lsr:	.word	0
+	omap_uart_phys:	.word	0
+	omap_uart_virt:	.word	0
+	omap_uart_lsr:	.word	0
 		.popsection
-
+#endif
 		.macro	addruart, rp, rv, tmp
 
 		/* Use omap_uart_phys/virt if already configured */
arch/arm/include/debug/uncompress.h +109 -7

116 lines not on this page · raw message

arch/arm/mach-omap2/common.c +18 -0
index 484cdad..7d3e635 100644
@@ -14,6 +14,7 @@
  */
 #include <linux/kernel.h>
 #include <linux/init.h>
+#include <linux/gpio.h>
 
 #include "common.h"
 #include "omap-secure.h"
@@ -32,3 +33,20 @@ void __init omap_reserve(void)
 	omap_secure_ram_reserve_memblock();
 	omap_barrier_reserve_memblock();
 }
+
+void iam_alive(void)
+{
+	int i;
+	int debug_gpio = 92;
+	printk("request: %d\n", gpio_request(debug_gpio, "debug"));
+	printk("output: %d\n", gpio_direction_output(debug_gpio, 1));
+
+	for (i=0; i<5; i++) {
+		gpio_set_value(debug_gpio, 0);
+		msleep(1000);
+		gpio_set_value(debug_gpio, 1);
+		msleep(1000);
+	}
+	
+}
+
arch/arm/mach-omap2/dma.c +4 -0
index 0b77a01..97b59e0 100644
@@ -118,6 +118,10 @@ static void omap2_show_dma_caps(void)
 	u8 revision = dma_read(REVISION, 0) & 0xff;
 	printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n",
 				revision >> 4, revision & 0xf);
+       {
+              extern void iam_alive(void);
+               iam_alive();
+      }
 }
 
 static unsigned configure_dma_errata(void)
Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/bf2c6fe2/attachment-0001.sig>
#6 lore raw
In reply to Tony Lindgren
Quoted 15 lines · Tony Lindgren
Quoted 6 lines · Pavel Machek

Hi!

...hardware should be identical. 3.5.3-nemo kernel seems to work on both. 4.13-rc2 with display and clock patches boots on phone "S", but does not on phone "P"; nothing nothing is received on serial port.

Quoted 7 lines

There is some difference in the bootloaders: S's bootloader provides lots of debug info, P's is silent. R&D settings do _not_ have influence on bootloader. We know P's serial works, as 3.5.3 kernel prints "Uncompressing linux...booting" there.

I'll need to return "S" phone and serial cable tommorow. If you have any ideas, let me know.

Quoted 6 lines

If you get nothing out of the uart, chances are the pins are not muxed for the uart in nolo and maybe kernel dts is missing the pinctrl entries for uart?

Also try booting with mem=512M at 0x80000000 or 256M or 768M. Maybe the memory is different size or partially broken?

Uhuh. It looks like "P" nokia really wants initrd, otherwise it will not boot.

I got "uncompressing Linux 4.13" on serial console now, debug LEDs blinking, and if I use a flashlight, I see output on the screen, too.

(What do I need to do to get the backlight working?)

Best regards,
Pavel

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/23ad0bd2/attachment.sig>
#7 lore raw

Hi,

Quoted 23 lines · Pavel Machek
Quoted 15 lines · Tony Lindgren
Quoted 6 lines · Pavel Machek

Hi!

...hardware should be identical. 3.5.3-nemo kernel seems to work on both. 4.13-rc2 with display and clock patches boots on phone "S", but does not on phone "P"; nothing nothing is received on serial port.

Quoted 7 lines

There is some difference in the bootloaders: S's bootloader provides lots of debug info, P's is silent. R&D settings do _not_ have influence on bootloader. We know P's serial works, as 3.5.3 kernel prints "Uncompressing linux...booting" there.

I'll need to return "S" phone and serial cable tommorow. If you have any ideas, let me know.

Quoted 6 lines

If you get nothing out of the uart, chances are the pins are not muxed for the uart in nolo and maybe kernel dts is missing the pinctrl entries for uart?

Also try booting with mem=512M at 0x80000000 or 256M or 768M. Maybe the memory is different size or partially broken?

Quoted 7 lines

Uhuh. It looks like "P" nokia really wants initrd, otherwise it will not boot.

I got "uncompressing Linux 4.13" on serial console now, debug LEDs blinking, and if I use a flashlight, I see output on the screen, too.

(What do I need to do to get the backlight working?)

Glad you got it working :) For backlight you can add this in drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c:

add the following code at the end of dsicm_probe:

-----------------------------------------------------------
mutex_unlock(&ddata->lock);
mutex_lock(&ddata->lock);
ddata->in->ops.dsi->bus_lock(ddata->in);
r = dsicm_wake_up(ddata);
if (!r)

    r = dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, 100);

ddata->in->ops.dsi->bus_unlock(ddata->in);
mutex_unlock(&ddata->lock);
-----------------------------------------------------------

-- Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/8e17bd8b/attachment.sig>

#8 lore raw
Quoted 32 lines · Sebastian Reichel

Hi,

Quoted 29 lines · Pavel Machek
Quoted 15 lines · Tony Lindgren
Quoted 6 lines · Pavel Machek

Hi!

...hardware should be identical. 3.5.3-nemo kernel seems to work on both. 4.13-rc2 with display and clock patches boots on phone "S", but does not on phone "P"; nothing nothing is received on serial port.

Quoted 7 lines

There is some difference in the bootloaders: S's bootloader provides lots of debug info, P's is silent. R&D settings do _not_ have influence on bootloader. We know P's serial works, as 3.5.3 kernel prints "Uncompressing linux...booting" there.

I'll need to return "S" phone and serial cable tommorow. If you have any ideas, let me know.

Quoted 6 lines

If you get nothing out of the uart, chances are the pins are not muxed for the uart in nolo and maybe kernel dts is missing the pinctrl entries for uart?

Also try booting with mem=512M at 0x80000000 or 256M or 768M. Maybe the memory is different size or partially broken?

Uhuh. It looks like "P" nokia really wants initrd, otherwise it will not boot.

I got "uncompressing Linux 4.13" on serial console now, debug LEDs blinking, and if I use a flashlight, I see output on the screen, too.

Quoted 6 lines
Quoted 1 line

(What do I need to do to get the backlight working?)

Glad you got it working :) For backlight you can add this in drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c:

add the following code at the end of dsicm_probe:

You did not actually include code to paste into panel-dsi-cm, can you try a again?

Thanks a lot,
Pavel

Quoted 12 lines

-----------------------------------------------------------
mutex_unlock(&ddata->lock);
mutex_lock(&ddata->lock);
ddata->in->ops.dsi->bus_lock(ddata->in);
r = dsicm_wake_up(ddata);
if (!r)

    r = dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, 100);

ddata->in->ops.dsi->bus_unlock(ddata->in);
mutex_unlock(&ddata->lock);
-----------------------------------------------------------

-- Sebastian

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/745d2ebf/attachment.sig>
#9 lore raw

Hi,

Quoted 35 lines · Pavel Machek
Quoted 34 lines · Sebastian Reichel

Hi,

Quoted 30 lines · Pavel Machek
Quoted 15 lines · Tony Lindgren
Quoted 6 lines · Pavel Machek

Hi!

...hardware should be identical. 3.5.3-nemo kernel seems to work on both. 4.13-rc2 with display and clock patches boots on phone "S", but does not on phone "P"; nothing nothing is received on serial port.

Quoted 7 lines

There is some difference in the bootloaders: S's bootloader provides lots of debug info, P's is silent. R&D settings do _not_ have influence on bootloader. We know P's serial works, as 3.5.3 kernel prints "Uncompressing linux...booting" there.

I'll need to return "S" phone and serial cable tommorow. If you have any ideas, let me know.

Quoted 6 lines

If you get nothing out of the uart, chances are the pins are not muxed for the uart in nolo and maybe kernel dts is missing the pinctrl entries for uart?

Also try booting with mem=512M at 0x80000000 or 256M or 768M. Maybe the memory is different size or partially broken?

Uhuh. It looks like "P" nokia really wants initrd, otherwise it will not boot.

I got "uncompressing Linux 4.13" on serial console now, debug LEDs blinking, and if I use a flashlight, I see output on the screen, too.

(What do I need to do to get the backlight working?)

Quoted 7 lines
Quoted 4 lines

Glad you got it working :) For backlight you can add this in drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c:

add the following code at the end of dsicm_probe:

You did not actually include code to paste into panel-dsi-cm, can you try a again?

I added it directly below and you quoted it. I guess you mistook it for a signature or something :)

-- Sebastian

Quoted 11 lines
Quoted 11 lines

-----------------------------------------------------------
mutex_unlock(&ddata->lock);
mutex_lock(&ddata->lock);
ddata->in->ops.dsi->bus_lock(ddata->in);
r = dsicm_wake_up(ddata);
if (!r)

    r = dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, 100);

ddata->in->ops.dsi->bus_unlock(ddata->in);
mutex_unlock(&ddata->lock);
-----------------------------------------------------------

Quoted 1 line
Quoted 1 line

-- Sebastian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/127e3e97/attachment-0001.sig>

#10 lore raw

Hi!

Quoted 10 lines
Quoted 7 lines
Quoted 4 lines

Glad you got it working :) For backlight you can add this in drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c:

add the following code at the end of dsicm_probe:

You did not actually include code to paste into panel-dsi-cm, can you try a again?

I added it directly below and you quoted it. I guess you mistook it for a signature or something :)

Ahha. Two semicolons confused me, and I thought you were talking about two different files. My fault. Let me try...

And.. If I catch the bus, I should be at cca 20:15 at the Hilton. We can meet at the seats where we were hacking...?

Pavel

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/194ab3c9/attachment.sig>
#11 lore raw
In reply to Sebastian Reichel

Hi!

So I got it to work; here are my notes from debugging. I put them on
https://elinux.org/N950 , too.

If someone knows how to fix the backlight, it would still be useful.

Best regards,
Pavel

Run your kernels with something like:

# power off your phone
sudo ../maemo/0xffff/src/0xFFFF -l -m kernel:arch/arm/boot/$IMG -b
# plug in the phone.
Your usually get an error here:

Waiting for ASIC ID...
Error: Invalid size of ASIC ID
Error: Reading ASIC ID failed
Error: No device detected
^C

Hit ^c, and restart 0xFFFF. You should get

Sending image...
100% [#################################################################]
Done

now.

You should get /!\ Warning! screen now. Some bootloader versions way for ~10 seconds, some don't. Some bootloader versions power off immediately if you attempt to supply command line arguments.

Watch the screen. It will go dark. If it blinks, it is a good sign. You may want to check with flashlight, maybe there's almost invisible text there.

Ignore the notification LED. It seems to blink even without kernel involvement.

Keyboard "debug enabled" LED can be used for debugging.

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171027/9a0f765d/attachment-0001.sig>
#12 lore raw
Quoted 2 lines

If someone knows how to fix the backlight, it would still be useful.

In panel-dsi-cm.c it's set to maximum with

dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, 0xff);

Sebastian suggested the same but used 100 instead of 0xff, which might be a bit too low. You can also add msleep(1000) after

dsicm_dcs_write_0(ddata, MIPI_DCS_SET_DISPLAY_ON);

to see if brightness gets overwritten, the whole display goes into sleep mode, is turned off or similar somewhere down the line.

I'm still unable to make N9 panel to cooperate (despite having "the right" clocks and able to send image to panel with MIPI_DCS_WRITE_MEMORY_START/MIPI_DCS_READ_MEMORY_CONTINUE) so I hope you'll have more luck than me!

Filip

#13 lore raw

n950: mmc fails to work, omap_hsmmc 480b4000.mmc: RX DMA channel request failed ? was Re: 4.13 (and probably all recent) kernels refuse to boot on one Nokia N950, work or another

Hi!

I was able to setup nfsroot, and boot postmarketos (with root read/only, but that's good enough for debugging).

Then I was (finally!) able to run dmesg, and that tells me:

[    0.816040] mousedev: PS/2 mouse device common for all mice
[    0.817657] input: TWL4030 Keypad as
/devices/platform/68000000.ocp/48070000.i2c/i2c-0/0-0048/48070000.i2c:twl at 48:keypad/input/input0
[    0.820800] i2c /dev entries driver
[    0.830261] omap_wdt: OMAP Watchdog Timer Rev 0x31: initial timeout
60 sec
[    0.836212] omap_hsmmc 480b4000.mmc: RX DMA channel request failed
[    0.840026] ledtrig-cpu: registered to indicate activity on CPUs
[    0.840789] omap-aes 480c5000.aes: OMAP AES hw accel rev: 2.6
[    0.840942] omap-aes 480c5000.aes: Unable to request in DMA channel
[    0.841644] omap-aes 480c5000.aes: will run requests pump with

realtime priority

Kernel 4.13-rc2.

I'm now trying:

+++ b/.config
-CONFIG_MMC_OMAP_HS=y
+# CONFIG_MMC_OMAP_HS is not set

With that, error is gone, but so is MMC driver, so... not good.

Any ideas?

Best regards,
Pavel

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171030/25d828f2/attachment.sig>
#14 lore raw

Re: n950: mmc fails to work, omap_hsmmc 480b4000.mmc: RX DMA channel request failed ? was Re: 4.13 (and probably all recent) kernels refuse to boot on one Nokia N950, work or another

Hi!

Quoted 13 lines

Then I was (finally!) able to run dmesg, and that tells me:

[    0.816040] mousedev: PS/2 mouse device common for all mice
[    0.817657] input: TWL4030 Keypad as
/devices/platform/68000000.ocp/48070000.i2c/i2c-0/0-0048/48070000.i2c:twl at 48:keypad/input/input0
[    0.820800] i2c /dev entries driver
[    0.830261] omap_wdt: OMAP Watchdog Timer Rev 0x31: initial timeout
60 sec
[    0.836212] omap_hsmmc 480b4000.mmc: RX DMA channel request failed
[    0.840026] ledtrig-cpu: registered to indicate activity on CPUs
[    0.840789] omap-aes 480c5000.aes: OMAP AES hw accel rev: 2.6
[    0.840942] omap-aes 480c5000.aes: Unable to request in DMA channel
[    0.841644] omap-aes 480c5000.aes: will run requests pump with
Quoted 3 lines

realtime priority

Kernel 4.13-rc2.

Aha. DMADEVICES=y, then DMA_OMAP can be selected. Then mmc works. Debugging is much easier with dmesg :-).

Pavel

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171030/aa6636c3/attachment.sig>
#15 lore raw

Backlight on Nokia N900 was Re: 4.13 (and probably all recent) kernels refuse to boot on one Nokia N950, work or another

In reply to Sebastian Reichel

Hi!

Quoted 16 lines
Quoted 4 lines

I got "uncompressing Linux 4.13" on serial console now, debug LEDs blinking, and if I use a flashlight, I see output on the screen, too.

(What do I need to do to get the backlight working?)

Glad you got it working :) For backlight you can add this in drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c:

add the following code at the end of dsicm_probe:

-----------------------------------------------------------
mutex_unlock(&ddata->lock);
mutex_lock(&ddata->lock);
ddata->in->ops.dsi->bus_lock(ddata->in);
r = dsicm_wake_up(ddata);
if (!r)

Quoted 4 lines
    r = dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, 100);

ddata->in->ops.dsi->bus_unlock(ddata->in);
mutex_unlock(&ddata->lock);
-----------------------------------------------------------

Ok, I tried that, and did not help. I also tried removing first mutex_unlock(), since that's unbalanced and strange. Did not work. So I commented it out with #if 0, and tried more hacks, but no luck :-(.

(I still see the display.. but no backlight so reading it is .. difficult.)

Best regards,
Pavel

drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c +12 -0
index 8f74633..c0bbb42 100644
@@ -668,6 +668,7 @@ static int dsicm_power_on(struct panel_drv_data *ddata)
 		goto err;
 
 	r = dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, 0xff);
+	mdelay(1000);
 	if (r)
 		goto err;
 
@@ -703,6 +704,8 @@ static int dsicm_power_on(struct panel_drv_data *ddata)
 
 	in->ops.dsi->enable_hs(in, ddata->channel, true);
 
+	r = dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, 0xff);
+
 	return 0;
 err:
 	dev_err(&ddata->pdev->dev, "error while enabling panel, issuing HW reset\n");
@@ -1396,6 +1399,15 @@ static int dsicm_probe(struct platform_device *pdev)
 		goto err_bl;
 	}
 
+#if 0	
+	mutex_lock(&ddata->lock);
+	ddata->in->ops.dsi->bus_lock(ddata->in);
+	r = dsicm_wake_up(ddata);
+	if (!r)
+		r = dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, 100);
+	ddata->in->ops.dsi->bus_unlock(ddata->in);
+	mutex_unlock(&ddata->lock);
+#endif
 	return 0;
 
 err_bl:
Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171027/ed7485d3/attachment.sig>
#16 lore raw
In reply to Sebastian Reichel

Hi!

Quoted 16 lines
Quoted 4 lines

I got "uncompressing Linux 4.13" on serial console now, debug LEDs blinking, and if I use a flashlight, I see output on the screen, too.

(What do I need to do to get the backlight working?)

Glad you got it working :) For backlight you can add this in drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c:

add the following code at the end of dsicm_probe:

-----------------------------------------------------------
mutex_unlock(&ddata->lock);
mutex_lock(&ddata->lock);
ddata->in->ops.dsi->bus_lock(ddata->in);
r = dsicm_wake_up(ddata);
if (!r)

Quoted 4 lines
    r = dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, 100);

ddata->in->ops.dsi->bus_unlock(ddata->in);
mutex_unlock(&ddata->lock);
-----------------------------------------------------------

That one did not work; but after some help from Filip, this did:

Best regards,
Pavel

drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c +1 -1
index b5ea8e5..2cb74cc 100644
@@ -385,7 +385,7 @@ static int dsicm_bl_update_status(struct backlight_device *dev)
 
 		r = dsicm_wake_up(ddata);
 		if (!r)
-			r = dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, level);
+			r = dsicm_dcs_write_1(ddata, DCS_BRIGHTNESS, 0xff /* level */);
 
 		in->ops.dsi->bus_unlock(in);
 	}
Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171030/88422386/attachment.sig>
#17 lore raw
In reply to Pavel Machek
Quoted 20 lines · Pavel Machek
Quoted 19 lines · Tony Lindgren
Quoted 6 lines · Pavel Machek

Hi!

...hardware should be identical. 3.5.3-nemo kernel seems to work on both. 4.13-rc2 with display and clock patches boots on phone "S", but does not on phone "P"; nothing nothing is received on serial port.

Quoted 7 lines

There is some difference in the bootloaders: S's bootloader provides lots of debug info, P's is silent. R&D settings do _not_ have influence on bootloader. We know P's serial works, as 3.5.3 kernel prints "Uncompressing linux...booting" there.

I'll need to return "S" phone and serial cable tommorow. If you have any ideas, let me know.

If you get nothing out of the uart, chances are the pins are not muxed for the uart in nolo and maybe kernel dts is missing the pinctrl entries for uart?

Quoted 5 lines
Quoted 2 lines

Also try booting with mem=512M at 0x80000000 or 256M or 768M. Maybe the memory is different size or partially broken?

Uhuh. It looks like "P" nokia really wants initrd, otherwise it will not boot.

No. Nokia "P" really hates command line on 0xffff command line. initrd is optional. It also forces delay on "Warning! You have modified" ... screen.

I configured serial port. Now I get up-to working userspace (initrd) on both "S" and "P" devices.

Welcome to MOSLO vNEMO_MOSLO-N9_0.0.13.2
Could not ioctl(OMAPFB_UPDATE_WINDOW): Inappropriate ioctl for device check wiki.merproject.org/wiki/Nemo
Could not ioctl(OMAPFB_UPDATE_WINDOW): Inappropriate ioctl for device

Could not ioctl(OMAPFB_UPDATE_WINDOW): Inappropriate ioctl for device Waiting for eMMC device...
Could not ioctl(OMAPFB_UPDATE_WINDOW): Inappropriate ioctl for device eMMC device not found!

Pavel

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/86a19191/attachment.sig>
#18 lore raw
In reply to Pavel Machek

Hi Pavel,

Quoted 1 line · Pavel Machek

3.5.3-nemo kernel seems to work

I did take a quick look at the board-rm680.c since there are some conditional statements with regards to system revision but I didn't notice anything that might prevent it from booting.

Quoted 2 lines

If you have
any ideas, let me know.

Last time I couldn't get output on serial I used CONFIG_DEBUG_LL, CONFIG_DEBUG_OMAP3UART3, CONFIG_EARLY_PRINTK... and ignore_loglevel earlyprintk kernel params to get output early enough - I guess you already tried that.

Regards,
Filip

#19 lore raw
Quoted 8 lines · Filip Matijevi?

Hi Pavel,

Quoted 1 line · Pavel Machek

3.5.3-nemo kernel seems to work

I did take a quick look at the board-rm680.c since there are some conditional statements with regards to system revision but I didn't notice anything that might prevent it from booting.

Thanks.

Quoted 7 lines
Quoted 2 lines

If you have
any ideas, let me know.

Last time I couldn't get output on serial I used CONFIG_DEBUG_LL, CONFIG_DEBUG_OMAP3UART3, CONFIG_EARLY_PRINTK... and ignore_loglevel earlyprintk kernel params to get output early enough - I guess you already tried that.

I realized I'm not getting output from the decompessor (even on "S" machine), and enabled that.

But I'm _still_ not getting any output on decompressor... early printing works ok on "S" but not on "P".

Pavel

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/d9b11115/attachment.sig>
#20 lore raw
Quoted 8 lines · On Thursday 26 October 2017 09:08:15 Pavel Machek wrote:
Quoted 4 lines · Filip Matijevi?

Last time I couldn't get output on serial I used CONFIG_DEBUG_LL, CONFIG_DEBUG_OMAP3UART3, CONFIG_EARLY_PRINTK... and ignore_loglevel earlyprintk kernel params to get output early enough - I guess you already tried that.

I realized I'm not getting output from the decompessor (even on "S" machine), and enabled that.

That is because you have not enabled those EARLY PRINK or DEBUG LL. Similar thing is needed for N900 and IIRC in some of my linux-n900 branches I have config for it. Plus it needs patching some arch/arm source files to make it working.

Quoted 2 lines

But I'm _still_ not getting any output on decompressor... early printing works ok on "S" but not on "P".

I guess there can be either problem with memory mapping and RAM size or with OMAP HS mode?

Signature · 2 lines
Pali Roh?r
pali.rohar at gmail.com
#21 lore raw

Hi!

Quoted 7 lines · Pali Roh?r
Quoted 6 lines · On Thursday 26 October 2017 09:08:15 Pavel Machek wrote:
Quoted 4 lines · Filip Matijevi?

Last time I couldn't get output on serial I used CONFIG_DEBUG_LL, CONFIG_DEBUG_OMAP3UART3, CONFIG_EARLY_PRINTK... and ignore_loglevel earlyprintk kernel params to get output early enough - I guess you already tried that.

Quoted 7 lines
Quoted 2 lines

I realized I'm not getting output from the decompessor (even on "S" machine), and enabled that.

That is because you have not enabled those EARLY PRINK or DEBUG LL. Similar thing is needed for N900 and IIRC in some of my linux-n900 branches I have config for it. Plus it needs patching some arch/arm source files to make it working.

Do you have a patch? That would be very useful.

Seems like debugging in uncompressor was broken some time ago:

config DEBUG_UNCOMPRESS

        bool
		depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG ||         ARM_SINGLE_ARMV7M
	        default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && 
		                     (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
        && \!DEBUG_BRCMSTB_UART
Quoted 5 lines
Quoted 2 lines

But I'm _still_ not getting any output on decompressor... early printing works ok on "S" but not on "P".

I guess there can be either problem with memory mapping and RAM size or with OMAP HS mode?

RAM size should be ok... how do I check for OMAP HS problems?

Pavel

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/35cc0726/attachment.sig>
#22 lore raw
Quoted 13 lines · On Thursday 26 October 2017 09:27:59 Pavel Machek wrote:

Hi!

Quoted 10 lines · Pali Roh?r
Quoted 8 lines · On Thursday 26 October 2017 09:08:15 Pavel Machek wrote:
Quoted 4 lines · Filip Matijevi?

Last time I couldn't get output on serial I used CONFIG_DEBUG_LL, CONFIG_DEBUG_OMAP3UART3, CONFIG_EARLY_PRINTK... and ignore_loglevel earlyprintk kernel params to get output early enough - I guess you already tried that.

I realized I'm not getting output from the decompessor (even on "S" machine), and enabled that.

Quoted 6 lines
Quoted 4 lines

That is because you have not enabled those EARLY PRINK or DEBUG LL. Similar thing is needed for N900 and IIRC in some of my linux-n900 branches I have config for it. Plus it needs patching some arch/arm source files to make it working.

Do you have a patch? That would be very useful.

Yes, in v4.9-n900 branch, see:
https://github.com/pali/linux-n900/commit/66b22ba4132ca90f7efc3f9e8ece8d4b9adddcdc

Quoted 10 lines

Seems like debugging in uncompressor was broken some time ago:

config DEBUG_UNCOMPRESS

        bool
		depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG ||         ARM_SINGLE_ARMV7M
	        default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && 
		                     (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
        && \!DEBUG_BRCMSTB_UART
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

But I'm _still_ not getting any output on decompressor... early printing works ok on "S" but not on "P".

I guess there can be either problem with memory mapping and RAM size or with OMAP HS mode?

RAM size should be ok... how do I check for OMAP HS problems?

For problems with smc or any other it is needed to look into kernel log :-(

Signature · 2 lines
Pali Roh?r
pali.rohar at gmail.com
#23 lore raw

Hi!

Quoted 19 lines · Pali Roh?r
Quoted 18 lines · On Thursday 26 October 2017 09:27:59 Pavel Machek wrote:

Hi!

Quoted 14 lines · Pali Roh?r
Quoted 8 lines · On Thursday 26 October 2017 09:08:15 Pavel Machek wrote:
Quoted 4 lines · Filip Matijevi?

Last time I couldn't get output on serial I used CONFIG_DEBUG_LL, CONFIG_DEBUG_OMAP3UART3, CONFIG_EARLY_PRINTK... and ignore_loglevel earlyprintk kernel params to get output early enough - I guess you already tried that.

I realized I'm not getting output from the decompessor (even on "S" machine), and enabled that.

That is because you have not enabled those EARLY PRINK or DEBUG LL. Similar thing is needed for N900 and IIRC in some of my linux-n900 branches I have config for it. Plus it needs patching some arch/arm source files to make it working.

Quoted 4 lines
Quoted 1 line

Do you have a patch? That would be very useful.

Yes, in v4.9-n900 branch, see:
https://github.com/pali/linux-n900/commit/66b22ba4132ca90f7efc3f9e8ece8d4b9adddcdc

Thanks for a pointer; but I still don't see how this is supposed to work:

arch/arm/include/debug/uncompress.h provides empty static inline void arch_decomp_setup(void) {}

...?
Pavel

Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171026/75bf86af/attachment.sig>