public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
@ 2022-10-09 19:33 Pali Rohár
  2022-10-10 21:30 ` [maemo-leste] " Sicelo
  0 siblings, 1 reply; 11+ messages in thread
From: Pali Rohár @ 2022-10-09 19:33 UTC (permalink / raw)
  To: Merlijn Wajer, Ivaylo Dimitrov, Pavel Machek, maemo-leste, u-boot

Hello!

Current u-boot from master branch does not work on n900 hw. It does not
show anything on display, there just nokia logo.

In qemu it is working fine and all tests are passing. Also in qemu is
display working without any problem.

Could you help me to debug it? Maybe something is printed to serial
console? Or maybe serial console could be used for printf-debugging?

I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
option make it working again. But it requires to restoring older version
of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:

    git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S

And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).

I'm looking at the POSITION_INDEPENDENT usage and seems that only few
boards have it enabled and even less of them are 32-bit ARM.

So it is possible that there is bug in POSITION_INDEPENDENT code? I just
do not understand how it is possible that u-boot binary is working fine
in qemu, but not on the real HW...

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
  2022-10-09 19:33 Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT) Pali Rohár
@ 2022-10-10 21:30 ` Sicelo
  2022-10-20 20:06   ` Pali Rohár
  0 siblings, 1 reply; 11+ messages in thread
From: Sicelo @ 2022-10-10 21:30 UTC (permalink / raw)
  To: Pali Rohár
  Cc: Merlijn Wajer, Ivaylo Dimitrov, Pavel Machek, maemo-leste, u-boot

On Sun, Oct 09, 2022 at 09:33:17PM +0200, Pali Rohár wrote:
> Hello!
> 
> Current u-boot from master branch does not work on n900 hw. It does not
> show anything on display, there just nokia logo.
> 
> In qemu it is working fine and all tests are passing. Also in qemu is
> display working without any problem.
> 
> Could you help me to debug it? Maybe something is printed to serial
> console? Or maybe serial console could be used for printf-debugging?
> 
> I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
> option make it working again. But it requires to restoring older version
> of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:
> 
>     git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S
> 
> And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).

Hi

I have a really crude serial console setup in place now, but very little
time, and even less experience with u-boot. I should be able to do the
tests for you on Saturday night (UTC+2). Perhaps over IRC might be a
good idea, in case I need some hand-holding, and if you still need the
help by then.

Regards
Sicelo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
  2022-10-10 21:30 ` [maemo-leste] " Sicelo
@ 2022-10-20 20:06   ` Pali Rohár
  2022-10-21 19:09     ` Pali Rohár
  0 siblings, 1 reply; 11+ messages in thread
From: Pali Rohár @ 2022-10-20 20:06 UTC (permalink / raw)
  To: Sicelo; +Cc: Merlijn Wajer, Ivaylo Dimitrov, Pavel Machek, maemo-leste, u-boot

On Monday 10 October 2022 23:30:21 Sicelo wrote:
> On Sun, Oct 09, 2022 at 09:33:17PM +0200, Pali Rohár wrote:
> > Hello!
> > 
> > Current u-boot from master branch does not work on n900 hw. It does not
> > show anything on display, there just nokia logo.
> > 
> > In qemu it is working fine and all tests are passing. Also in qemu is
> > display working without any problem.
> > 
> > Could you help me to debug it? Maybe something is printed to serial
> > console? Or maybe serial console could be used for printf-debugging?
> > 
> > I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
> > option make it working again. But it requires to restoring older version
> > of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:
> > 
> >     git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S
> > 
> > And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).
> 
> Hi
> 
> I have a really crude serial console setup in place now, but very little
> time, and even less experience with u-boot. I should be able to do the
> tests for you on Saturday night (UTC+2). Perhaps over IRC might be a
> good idea, in case I need some hand-holding, and if you still need the
> help by then.
> 
> Regards
> Sicelo

Well, I do not know where to start or how to instruct somebody who is
not experienced with u-boot debugging. I think that the first step
should be to look if U-Boot prints something on the serial console or
not. If it prints then try to find via printf-driven-debugging place
where it stuck. If it does not print anything on the console then try to
setup debug early console, check if it prints something now and do same
type of debugging. And if even early debug console does not work then
probably initialize serial console directly in lowlevel_init.S file,
prints something to serial, then move code for printing to later stage
and try to figure out what is broken...

Anybody else with serial console can look at it?

Or maybe look at the code if you spot some issue there?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
  2022-10-20 20:06   ` Pali Rohár
@ 2022-10-21 19:09     ` Pali Rohár
  2022-11-02  0:08       ` Pali Rohár
  0 siblings, 1 reply; 11+ messages in thread
From: Pali Rohár @ 2022-10-21 19:09 UTC (permalink / raw)
  To: Sicelo; +Cc: Merlijn Wajer, Ivaylo Dimitrov, Pavel Machek, maemo-leste, u-boot

On Thursday 20 October 2022 22:06:58 Pali Rohár wrote:
> On Monday 10 October 2022 23:30:21 Sicelo wrote:
> > On Sun, Oct 09, 2022 at 09:33:17PM +0200, Pali Rohár wrote:
> > > Hello!
> > > 
> > > Current u-boot from master branch does not work on n900 hw. It does not
> > > show anything on display, there just nokia logo.
> > > 
> > > In qemu it is working fine and all tests are passing. Also in qemu is
> > > display working without any problem.
> > > 
> > > Could you help me to debug it? Maybe something is printed to serial
> > > console? Or maybe serial console could be used for printf-debugging?
> > > 
> > > I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
> > > option make it working again. But it requires to restoring older version
> > > of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:
> > > 
> > >     git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S
> > > 
> > > And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).
> > 
> > Hi
> > 
> > I have a really crude serial console setup in place now, but very little
> > time, and even less experience with u-boot. I should be able to do the
> > tests for you on Saturday night (UTC+2). Perhaps over IRC might be a
> > good idea, in case I need some hand-holding, and if you still need the
> > help by then.
> > 
> > Regards
> > Sicelo
> 
> Well, I do not know where to start or how to instruct somebody who is
> not experienced with u-boot debugging. I think that the first step
> should be to look if U-Boot prints something on the serial console or
> not. If it prints then try to find via printf-driven-debugging place
> where it stuck. If it does not print anything on the console then try to
> setup debug early console, check if it prints something now and do same
> type of debugging. And if even early debug console does not work then
> probably initialize serial console directly in lowlevel_init.S file,
> prints something to serial, then move code for printing to later stage
> and try to figure out what is broken...

Early debug uart console can be enabled by configs/nokia_rx51_defconfig options:

CONFIG_DEBUG_UART=y
CONFIG_DEBUG_UART_OMAP=y
CONFIG_DEBUG_UART_SHIFT=2
CONFIG_DEBUG_UART_BASE=0x49020000
CONFIG_DEBUG_UART_CLOCK=48000000

And all debug verbose logs can be enabled by configs/nokia_rx51_defconfig options:

CONFIG_DM_DEBUG=y
CONFIG_LOG=y
CONFIG_LOGLEVEL=9
CONFIG_LOG_MAX_LEVEL=9
CONFIG_LOG_DEFAULT_LEVEL=9

By compiling via 'make u-boot.bin KCPPFLAGS=-DLOG_DEBUG'

At least in qemu it is working and printing everything.

> Anybody else with serial console can look at it?
> 
> Or maybe look at the code if you spot some issue there?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
  2022-10-21 19:09     ` Pali Rohár
@ 2022-11-02  0:08       ` Pali Rohár
  2022-11-09 20:33         ` Pali Rohár
  0 siblings, 1 reply; 11+ messages in thread
From: Pali Rohár @ 2022-11-02  0:08 UTC (permalink / raw)
  To: Sicelo; +Cc: Merlijn Wajer, Ivaylo Dimitrov, Pavel Machek, maemo-leste, u-boot

On Friday 21 October 2022 21:09:55 Pali Rohár wrote:
> On Thursday 20 October 2022 22:06:58 Pali Rohár wrote:
> > On Monday 10 October 2022 23:30:21 Sicelo wrote:
> > > On Sun, Oct 09, 2022 at 09:33:17PM +0200, Pali Rohár wrote:
> > > > Hello!
> > > > 
> > > > Current u-boot from master branch does not work on n900 hw. It does not
> > > > show anything on display, there just nokia logo.
> > > > 
> > > > In qemu it is working fine and all tests are passing. Also in qemu is
> > > > display working without any problem.
> > > > 
> > > > Could you help me to debug it? Maybe something is printed to serial
> > > > console? Or maybe serial console could be used for printf-debugging?
> > > > 
> > > > I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
> > > > option make it working again. But it requires to restoring older version
> > > > of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:
> > > > 
> > > >     git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S
> > > > 
> > > > And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).
> > > 
> > > Hi
> > > 
> > > I have a really crude serial console setup in place now, but very little
> > > time, and even less experience with u-boot. I should be able to do the
> > > tests for you on Saturday night (UTC+2). Perhaps over IRC might be a
> > > good idea, in case I need some hand-holding, and if you still need the
> > > help by then.
> > > 
> > > Regards
> > > Sicelo
> > 
> > Well, I do not know where to start or how to instruct somebody who is
> > not experienced with u-boot debugging. I think that the first step
> > should be to look if U-Boot prints something on the serial console or
> > not. If it prints then try to find via printf-driven-debugging place
> > where it stuck. If it does not print anything on the console then try to
> > setup debug early console, check if it prints something now and do same
> > type of debugging. And if even early debug console does not work then
> > probably initialize serial console directly in lowlevel_init.S file,
> > prints something to serial, then move code for printing to later stage
> > and try to figure out what is broken...
> 
> Early debug uart console can be enabled by configs/nokia_rx51_defconfig options:
> 
> CONFIG_DEBUG_UART=y
> CONFIG_DEBUG_UART_OMAP=y
> CONFIG_DEBUG_UART_SHIFT=2
> CONFIG_DEBUG_UART_BASE=0x49020000
> CONFIG_DEBUG_UART_CLOCK=48000000
> 
> And all debug verbose logs can be enabled by configs/nokia_rx51_defconfig options:
> 
> CONFIG_DM_DEBUG=y
> CONFIG_LOG=y
> CONFIG_LOGLEVEL=9
> CONFIG_LOG_MAX_LEVEL=9
> CONFIG_LOG_DEFAULT_LEVEL=9
> 
> By compiling via 'make u-boot.bin KCPPFLAGS=-DLOG_DEBUG'

Can somebody with serial console provide this debug output if there is
something useful?

> At least in qemu it is working and printing everything.
> 
> > Anybody else with serial console can look at it?
> > 
> > Or maybe look at the code if you spot some issue there?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
  2022-11-02  0:08       ` Pali Rohár
@ 2022-11-09 20:33         ` Pali Rohár
  2022-11-19 14:38           ` Ashish Shah
  2022-11-19 21:13           ` Pali Rohár
  0 siblings, 2 replies; 11+ messages in thread
From: Pali Rohár @ 2022-11-09 20:33 UTC (permalink / raw)
  To: Sicelo; +Cc: Merlijn Wajer, Ivaylo Dimitrov, Pavel Machek, maemo-leste, u-boot

On Wednesday 02 November 2022 01:08:26 Pali Rohár wrote:
> On Friday 21 October 2022 21:09:55 Pali Rohár wrote:
> > On Thursday 20 October 2022 22:06:58 Pali Rohár wrote:
> > > On Monday 10 October 2022 23:30:21 Sicelo wrote:
> > > > On Sun, Oct 09, 2022 at 09:33:17PM +0200, Pali Rohár wrote:
> > > > > Hello!
> > > > > 
> > > > > Current u-boot from master branch does not work on n900 hw. It does not
> > > > > show anything on display, there just nokia logo.
> > > > > 
> > > > > In qemu it is working fine and all tests are passing. Also in qemu is
> > > > > display working without any problem.
> > > > > 
> > > > > Could you help me to debug it? Maybe something is printed to serial
> > > > > console? Or maybe serial console could be used for printf-debugging?
> > > > > 
> > > > > I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
> > > > > option make it working again. But it requires to restoring older version
> > > > > of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:
> > > > > 
> > > > >     git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S
> > > > > 
> > > > > And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).
> > > > 
> > > > Hi
> > > > 
> > > > I have a really crude serial console setup in place now, but very little
> > > > time, and even less experience with u-boot. I should be able to do the
> > > > tests for you on Saturday night (UTC+2). Perhaps over IRC might be a
> > > > good idea, in case I need some hand-holding, and if you still need the
> > > > help by then.
> > > > 
> > > > Regards
> > > > Sicelo
> > > 
> > > Well, I do not know where to start or how to instruct somebody who is
> > > not experienced with u-boot debugging. I think that the first step
> > > should be to look if U-Boot prints something on the serial console or
> > > not. If it prints then try to find via printf-driven-debugging place
> > > where it stuck. If it does not print anything on the console then try to
> > > setup debug early console, check if it prints something now and do same
> > > type of debugging. And if even early debug console does not work then
> > > probably initialize serial console directly in lowlevel_init.S file,
> > > prints something to serial, then move code for printing to later stage
> > > and try to figure out what is broken...
> > 
> > Early debug uart console can be enabled by configs/nokia_rx51_defconfig options:
> > 
> > CONFIG_DEBUG_UART=y
> > CONFIG_DEBUG_UART_OMAP=y
> > CONFIG_DEBUG_UART_SHIFT=2
> > CONFIG_DEBUG_UART_BASE=0x49020000
> > CONFIG_DEBUG_UART_CLOCK=48000000
> > 
> > And all debug verbose logs can be enabled by configs/nokia_rx51_defconfig options:
> > 
> > CONFIG_DM_DEBUG=y
> > CONFIG_LOG=y
> > CONFIG_LOGLEVEL=9
> > CONFIG_LOG_MAX_LEVEL=9
> > CONFIG_LOG_DEFAULT_LEVEL=9
> > 
> > By compiling via 'make u-boot.bin KCPPFLAGS=-DLOG_DEBUG'
> 
> Can somebody with serial console provide this debug output if there is
> something useful?

Can somebody help me with this?

> > At least in qemu it is working and printing everything.
> > 
> > > Anybody else with serial console can look at it?
> > > 
> > > Or maybe look at the code if you spot some issue there?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
  2022-11-09 20:33         ` Pali Rohár
@ 2022-11-19 14:38           ` Ashish Shah
  2022-11-19 18:24             ` Sicelo
  2022-11-19 21:13           ` Pali Rohár
  1 sibling, 1 reply; 11+ messages in thread
From: Ashish Shah @ 2022-11-19 14:38 UTC (permalink / raw)
  To: Pali Rohár, Sicelo; +Cc: maemo-leste, u-boot

Hi,

I am new. I am trying to figure out the right pogo pins to get in order to try to build a serial port for N900. But I am trying to decipher the docs in the wiki at the moment. 

Best,

-- 
  Ashish Shah

On Wed, Nov 9, 2022, at 2:33 PM, Pali Rohár wrote:
> On Wednesday 02 November 2022 01:08:26 Pali Rohár wrote:
>> On Friday 21 October 2022 21:09:55 Pali Rohár wrote:
>> > On Thursday 20 October 2022 22:06:58 Pali Rohár wrote:
>> > > On Monday 10 October 2022 23:30:21 Sicelo wrote:
>> > > > On Sun, Oct 09, 2022 at 09:33:17PM +0200, Pali Rohár wrote:
>> > > > > Hello!
>> > > > > 
>> > > > > Current u-boot from master branch does not work on n900 hw. It does not
>> > > > > show anything on display, there just nokia logo.
>> > > > > 
>> > > > > In qemu it is working fine and all tests are passing. Also in qemu is
>> > > > > display working without any problem.
>> > > > > 
>> > > > > Could you help me to debug it? Maybe something is printed to serial
>> > > > > console? Or maybe serial console could be used for printf-debugging?
>> > > > > 
>> > > > > I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
>> > > > > option make it working again. But it requires to restoring older version
>> > > > > of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:
>> > > > > 
>> > > > >     git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S
>> > > > > 
>> > > > > And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).
>> > > > 
>> > > > Hi
>> > > > 
>> > > > I have a really crude serial console setup in place now, but very little
>> > > > time, and even less experience with u-boot. I should be able to do the
>> > > > tests for you on Saturday night (UTC+2). Perhaps over IRC might be a
>> > > > good idea, in case I need some hand-holding, and if you still need the
>> > > > help by then.
>> > > > 
>> > > > Regards
>> > > > Sicelo
>> > > 
>> > > Well, I do not know where to start or how to instruct somebody who is
>> > > not experienced with u-boot debugging. I think that the first step
>> > > should be to look if U-Boot prints something on the serial console or
>> > > not. If it prints then try to find via printf-driven-debugging place
>> > > where it stuck. If it does not print anything on the console then try to
>> > > setup debug early console, check if it prints something now and do same
>> > > type of debugging. And if even early debug console does not work then
>> > > probably initialize serial console directly in lowlevel_init.S file,
>> > > prints something to serial, then move code for printing to later stage
>> > > and try to figure out what is broken...
>> > 
>> > Early debug uart console can be enabled by configs/nokia_rx51_defconfig options:
>> > 
>> > CONFIG_DEBUG_UART=y
>> > CONFIG_DEBUG_UART_OMAP=y
>> > CONFIG_DEBUG_UART_SHIFT=2
>> > CONFIG_DEBUG_UART_BASE=0x49020000
>> > CONFIG_DEBUG_UART_CLOCK=48000000
>> > 
>> > And all debug verbose logs can be enabled by configs/nokia_rx51_defconfig options:
>> > 
>> > CONFIG_DM_DEBUG=y
>> > CONFIG_LOG=y
>> > CONFIG_LOGLEVEL=9
>> > CONFIG_LOG_MAX_LEVEL=9
>> > CONFIG_LOG_DEFAULT_LEVEL=9
>> > 
>> > By compiling via 'make u-boot.bin KCPPFLAGS=-DLOG_DEBUG'
>> 
>> Can somebody with serial console provide this debug output if there is
>> something useful?
>
> Can somebody help me with this?
>
>> > At least in qemu it is working and printing everything.
>> > 
>> > > Anybody else with serial console can look at it?
>> > > 
>> > > Or maybe look at the code if you spot some issue there?
> _______________________________________________
> Maemo-Leste mailing list
> Maemo-Leste@lists.dyne.org
> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/maemo-leste

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
  2022-11-19 14:38           ` Ashish Shah
@ 2022-11-19 18:24             ` Sicelo
  0 siblings, 0 replies; 11+ messages in thread
From: Sicelo @ 2022-11-19 18:24 UTC (permalink / raw)
  To: Ashish Shah; +Cc: Pali Rohár, maemo-leste, u-boot

On Sat, Nov 19, 2022 at 08:38:33AM -0600, Ashish Shah wrote:
> Hi,
> 
> I am new. I am trying to figure out the right pogo pins to get in order to try to build a serial port for N900. But I am trying to decipher the docs in the wiki at the moment. 
> 
> Best,
> 
> -- 
>   Ashish Shah

Welcome!

I didn't succeed yet with making one, but that is not because it is
extremely difficult - I just happen to live where access to such stuff
isn't straightforward.

That said, if you have access to the materials, you can start with sre's
blog [0]. Additionally, chapter 3 of his thesis [1] has quite verbose
description of everything that is needed, as well as a diagram (Figure
3.3) clearly showing the location of the required pins.

We can also help you with any further information you may need.

Regards
Sicelo

[0] https://n900.elektranox.org/serial-adapter.html
[1] https://uol.de/f/2/dept/informatik/ag/svs/download/thesis/Reichel_Sebastian.pdf

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
  2022-11-09 20:33         ` Pali Rohár
  2022-11-19 14:38           ` Ashish Shah
@ 2022-11-19 21:13           ` Pali Rohár
  2022-11-20 15:33             ` Tom Rini
  1 sibling, 1 reply; 11+ messages in thread
From: Pali Rohár @ 2022-11-19 21:13 UTC (permalink / raw)
  To: u-boot, maemo-leste; +Cc: Sicelo, Merlijn Wajer, Ivaylo Dimitrov, Pavel Machek

On Wednesday 09 November 2022 21:33:28 Pali Rohár wrote:
> On Wednesday 02 November 2022 01:08:26 Pali Rohár wrote:
> > On Friday 21 October 2022 21:09:55 Pali Rohár wrote:
> > > On Thursday 20 October 2022 22:06:58 Pali Rohár wrote:
> > > > On Monday 10 October 2022 23:30:21 Sicelo wrote:
> > > > > On Sun, Oct 09, 2022 at 09:33:17PM +0200, Pali Rohár wrote:
> > > > > > Hello!
> > > > > > 
> > > > > > Current u-boot from master branch does not work on n900 hw. It does not
> > > > > > show anything on display, there just nokia logo.
> > > > > > 
> > > > > > In qemu it is working fine and all tests are passing. Also in qemu is
> > > > > > display working without any problem.
> > > > > > 
> > > > > > Could you help me to debug it? Maybe something is printed to serial
> > > > > > console? Or maybe serial console could be used for printf-debugging?
> > > > > > 
> > > > > > I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
> > > > > > option make it working again. But it requires to restoring older version
> > > > > > of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:
> > > > > > 
> > > > > >     git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S
> > > > > > 
> > > > > > And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).
> > > > > 
> > > > > Hi
> > > > > 
> > > > > I have a really crude serial console setup in place now, but very little
> > > > > time, and even less experience with u-boot. I should be able to do the
> > > > > tests for you on Saturday night (UTC+2). Perhaps over IRC might be a
> > > > > good idea, in case I need some hand-holding, and if you still need the
> > > > > help by then.
> > > > > 
> > > > > Regards
> > > > > Sicelo
> > > > 
> > > > Well, I do not know where to start or how to instruct somebody who is
> > > > not experienced with u-boot debugging. I think that the first step
> > > > should be to look if U-Boot prints something on the serial console or
> > > > not. If it prints then try to find via printf-driven-debugging place
> > > > where it stuck. If it does not print anything on the console then try to
> > > > setup debug early console, check if it prints something now and do same
> > > > type of debugging. And if even early debug console does not work then
> > > > probably initialize serial console directly in lowlevel_init.S file,
> > > > prints something to serial, then move code for printing to later stage
> > > > and try to figure out what is broken...
> > > 
> > > Early debug uart console can be enabled by configs/nokia_rx51_defconfig options:
> > > 
> > > CONFIG_DEBUG_UART=y
> > > CONFIG_DEBUG_UART_OMAP=y
> > > CONFIG_DEBUG_UART_SHIFT=2
> > > CONFIG_DEBUG_UART_BASE=0x49020000
> > > CONFIG_DEBUG_UART_CLOCK=48000000
> > > 
> > > And all debug verbose logs can be enabled by configs/nokia_rx51_defconfig options:
> > > 
> > > CONFIG_DM_DEBUG=y
> > > CONFIG_LOG=y
> > > CONFIG_LOGLEVEL=9
> > > CONFIG_LOG_MAX_LEVEL=9
> > > CONFIG_LOG_DEFAULT_LEVEL=9
> > > 
> > > By compiling via 'make u-boot.bin KCPPFLAGS=-DLOG_DEBUG'
> > 
> > Can somebody with serial console provide this debug output if there is
> > something useful?
> 
> Can somebody help me with this?

Merlijn Wajer now sent me output from serial console:

  ...
  initcall: 0001ebd4 (relocated to 8fe0abd4)
  MMC:   0
     - 0 'omap_hsmmc'
     - found
  1
     - 0 'omap_hsmmc'
     - 1 'omap_hsmmc'
     - found
  2
     - 0 'omap_hsmmc'
     - 1 'omap_hsmmc'
     - not found
  OMAP SD/MMC: 0, OMAP SD/MMC: 1
  initcall: 0001ea8c (relocated to 8fe0aa8c)
  Loading Environment from <NULL>... Using default environment
  Destroy Hash Table: 8fe25a98 table = 00000000
  Create Hash Table: N=387

After the "Create Hash Table: N=387" line there is nothing more.
Repeated tests have same result, always stop at that line.

In qemu after that line I see following output:

  INSERT: table 8fe25a98, filled 1/389 rv 8fd0e2f4 ==> name="bootcmd" value="run sdboot;run emmcboot;run attachboot;echo"
  INSERT: table 8fe25a98, filled 2/389 rv 8fd0e344 ==> name="bootdelay" value="30"
  INSERT: table 8fe25a98, filled 3/389 rv 8fd0f960 ==> name="baudrate" value="115200"
  DELETE CANDIDATE: "preboot"
  hdelete: DELETE key "preboot"
  DELETE ERROR ##############################
  INSERT: table 8fe25a98, filled 4/389 rv 8fd0e574 ==> name="loadaddr" value="0x80008000"
  ...

In qemu is u-boot working fine.

So it looks like that there is u-boot crash in environment code and only
when running on real HW.

Any idea? Could there be some relocation issue in u-boot env code?

> > > At least in qemu it is working and printing everything.
> > > 
> > > > Anybody else with serial console can look at it?
> > > > 
> > > > Or maybe look at the code if you spot some issue there?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
  2022-11-19 21:13           ` Pali Rohár
@ 2022-11-20 15:33             ` Tom Rini
  2022-11-20 16:13               ` Pali Rohár
  0 siblings, 1 reply; 11+ messages in thread
From: Tom Rini @ 2022-11-20 15:33 UTC (permalink / raw)
  To: Pali Rohár
  Cc: u-boot, maemo-leste, Sicelo, Merlijn Wajer, Ivaylo Dimitrov,
	Pavel Machek

[-- Attachment #1: Type: text/plain, Size: 5166 bytes --]

On Sat, Nov 19, 2022 at 10:13:01PM +0100, Pali Rohár wrote:
> On Wednesday 09 November 2022 21:33:28 Pali Rohár wrote:
> > On Wednesday 02 November 2022 01:08:26 Pali Rohár wrote:
> > > On Friday 21 October 2022 21:09:55 Pali Rohár wrote:
> > > > On Thursday 20 October 2022 22:06:58 Pali Rohár wrote:
> > > > > On Monday 10 October 2022 23:30:21 Sicelo wrote:
> > > > > > On Sun, Oct 09, 2022 at 09:33:17PM +0200, Pali Rohár wrote:
> > > > > > > Hello!
> > > > > > > 
> > > > > > > Current u-boot from master branch does not work on n900 hw. It does not
> > > > > > > show anything on display, there just nokia logo.
> > > > > > > 
> > > > > > > In qemu it is working fine and all tests are passing. Also in qemu is
> > > > > > > display working without any problem.
> > > > > > > 
> > > > > > > Could you help me to debug it? Maybe something is printed to serial
> > > > > > > console? Or maybe serial console could be used for printf-debugging?
> > > > > > > 
> > > > > > > I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
> > > > > > > option make it working again. But it requires to restoring older version
> > > > > > > of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:
> > > > > > > 
> > > > > > >     git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S
> > > > > > > 
> > > > > > > And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).
> > > > > > 
> > > > > > Hi
> > > > > > 
> > > > > > I have a really crude serial console setup in place now, but very little
> > > > > > time, and even less experience with u-boot. I should be able to do the
> > > > > > tests for you on Saturday night (UTC+2). Perhaps over IRC might be a
> > > > > > good idea, in case I need some hand-holding, and if you still need the
> > > > > > help by then.
> > > > > > 
> > > > > > Regards
> > > > > > Sicelo
> > > > > 
> > > > > Well, I do not know where to start or how to instruct somebody who is
> > > > > not experienced with u-boot debugging. I think that the first step
> > > > > should be to look if U-Boot prints something on the serial console or
> > > > > not. If it prints then try to find via printf-driven-debugging place
> > > > > where it stuck. If it does not print anything on the console then try to
> > > > > setup debug early console, check if it prints something now and do same
> > > > > type of debugging. And if even early debug console does not work then
> > > > > probably initialize serial console directly in lowlevel_init.S file,
> > > > > prints something to serial, then move code for printing to later stage
> > > > > and try to figure out what is broken...
> > > > 
> > > > Early debug uart console can be enabled by configs/nokia_rx51_defconfig options:
> > > > 
> > > > CONFIG_DEBUG_UART=y
> > > > CONFIG_DEBUG_UART_OMAP=y
> > > > CONFIG_DEBUG_UART_SHIFT=2
> > > > CONFIG_DEBUG_UART_BASE=0x49020000
> > > > CONFIG_DEBUG_UART_CLOCK=48000000
> > > > 
> > > > And all debug verbose logs can be enabled by configs/nokia_rx51_defconfig options:
> > > > 
> > > > CONFIG_DM_DEBUG=y
> > > > CONFIG_LOG=y
> > > > CONFIG_LOGLEVEL=9
> > > > CONFIG_LOG_MAX_LEVEL=9
> > > > CONFIG_LOG_DEFAULT_LEVEL=9
> > > > 
> > > > By compiling via 'make u-boot.bin KCPPFLAGS=-DLOG_DEBUG'
> > > 
> > > Can somebody with serial console provide this debug output if there is
> > > something useful?
> > 
> > Can somebody help me with this?
> 
> Merlijn Wajer now sent me output from serial console:
> 
>   ...
>   initcall: 0001ebd4 (relocated to 8fe0abd4)
>   MMC:   0
>      - 0 'omap_hsmmc'
>      - found
>   1
>      - 0 'omap_hsmmc'
>      - 1 'omap_hsmmc'
>      - found
>   2
>      - 0 'omap_hsmmc'
>      - 1 'omap_hsmmc'
>      - not found
>   OMAP SD/MMC: 0, OMAP SD/MMC: 1
>   initcall: 0001ea8c (relocated to 8fe0aa8c)
>   Loading Environment from <NULL>... Using default environment
>   Destroy Hash Table: 8fe25a98 table = 00000000
>   Create Hash Table: N=387
> 
> After the "Create Hash Table: N=387" line there is nothing more.
> Repeated tests have same result, always stop at that line.
> 
> In qemu after that line I see following output:
> 
>   INSERT: table 8fe25a98, filled 1/389 rv 8fd0e2f4 ==> name="bootcmd" value="run sdboot;run emmcboot;run attachboot;echo"
>   INSERT: table 8fe25a98, filled 2/389 rv 8fd0e344 ==> name="bootdelay" value="30"
>   INSERT: table 8fe25a98, filled 3/389 rv 8fd0f960 ==> name="baudrate" value="115200"
>   DELETE CANDIDATE: "preboot"
>   hdelete: DELETE key "preboot"
>   DELETE ERROR ##############################
>   INSERT: table 8fe25a98, filled 4/389 rv 8fd0e574 ==> name="loadaddr" value="0x80008000"
>   ...
> 
> In qemu is u-boot working fine.
> 
> So it looks like that there is u-boot crash in environment code and only
> when running on real HW.
> 
> Any idea? Could there be some relocation issue in u-boot env code?

My first thought here is that something like 534f0fbd6520 ("arm64: Fix
relocation of env_addr if POSITION_INDEPENDENT=y") might be needed on
32bit as well?

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
  2022-11-20 15:33             ` Tom Rini
@ 2022-11-20 16:13               ` Pali Rohár
  0 siblings, 0 replies; 11+ messages in thread
From: Pali Rohár @ 2022-11-20 16:13 UTC (permalink / raw)
  To: Tom Rini
  Cc: u-boot, maemo-leste, Sicelo, Merlijn Wajer, Ivaylo Dimitrov,
	Pavel Machek

On Sunday 20 November 2022 10:33:35 Tom Rini wrote:
> On Sat, Nov 19, 2022 at 10:13:01PM +0100, Pali Rohár wrote:
> > On Wednesday 09 November 2022 21:33:28 Pali Rohár wrote:
> > > On Wednesday 02 November 2022 01:08:26 Pali Rohár wrote:
> > > > On Friday 21 October 2022 21:09:55 Pali Rohár wrote:
> > > > > On Thursday 20 October 2022 22:06:58 Pali Rohár wrote:
> > > > > > On Monday 10 October 2022 23:30:21 Sicelo wrote:
> > > > > > > On Sun, Oct 09, 2022 at 09:33:17PM +0200, Pali Rohár wrote:
> > > > > > > > Hello!
> > > > > > > > 
> > > > > > > > Current u-boot from master branch does not work on n900 hw. It does not
> > > > > > > > show anything on display, there just nokia logo.
> > > > > > > > 
> > > > > > > > In qemu it is working fine and all tests are passing. Also in qemu is
> > > > > > > > display working without any problem.
> > > > > > > > 
> > > > > > > > Could you help me to debug it? Maybe something is printed to serial
> > > > > > > > console? Or maybe serial console could be used for printf-debugging?
> > > > > > > > 
> > > > > > > > I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
> > > > > > > > option make it working again. But it requires to restoring older version
> > > > > > > > of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:
> > > > > > > > 
> > > > > > > >     git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S
> > > > > > > > 
> > > > > > > > And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).
> > > > > > > 
> > > > > > > Hi
> > > > > > > 
> > > > > > > I have a really crude serial console setup in place now, but very little
> > > > > > > time, and even less experience with u-boot. I should be able to do the
> > > > > > > tests for you on Saturday night (UTC+2). Perhaps over IRC might be a
> > > > > > > good idea, in case I need some hand-holding, and if you still need the
> > > > > > > help by then.
> > > > > > > 
> > > > > > > Regards
> > > > > > > Sicelo
> > > > > > 
> > > > > > Well, I do not know where to start or how to instruct somebody who is
> > > > > > not experienced with u-boot debugging. I think that the first step
> > > > > > should be to look if U-Boot prints something on the serial console or
> > > > > > not. If it prints then try to find via printf-driven-debugging place
> > > > > > where it stuck. If it does not print anything on the console then try to
> > > > > > setup debug early console, check if it prints something now and do same
> > > > > > type of debugging. And if even early debug console does not work then
> > > > > > probably initialize serial console directly in lowlevel_init.S file,
> > > > > > prints something to serial, then move code for printing to later stage
> > > > > > and try to figure out what is broken...
> > > > > 
> > > > > Early debug uart console can be enabled by configs/nokia_rx51_defconfig options:
> > > > > 
> > > > > CONFIG_DEBUG_UART=y
> > > > > CONFIG_DEBUG_UART_OMAP=y
> > > > > CONFIG_DEBUG_UART_SHIFT=2
> > > > > CONFIG_DEBUG_UART_BASE=0x49020000
> > > > > CONFIG_DEBUG_UART_CLOCK=48000000
> > > > > 
> > > > > And all debug verbose logs can be enabled by configs/nokia_rx51_defconfig options:
> > > > > 
> > > > > CONFIG_DM_DEBUG=y
> > > > > CONFIG_LOG=y
> > > > > CONFIG_LOGLEVEL=9
> > > > > CONFIG_LOG_MAX_LEVEL=9
> > > > > CONFIG_LOG_DEFAULT_LEVEL=9
> > > > > 
> > > > > By compiling via 'make u-boot.bin KCPPFLAGS=-DLOG_DEBUG'
> > > > 
> > > > Can somebody with serial console provide this debug output if there is
> > > > something useful?
> > > 
> > > Can somebody help me with this?
> > 
> > Merlijn Wajer now sent me output from serial console:
> > 
> >   ...
> >   initcall: 0001ebd4 (relocated to 8fe0abd4)
> >   MMC:   0
> >      - 0 'omap_hsmmc'
> >      - found
> >   1
> >      - 0 'omap_hsmmc'
> >      - 1 'omap_hsmmc'
> >      - found
> >   2
> >      - 0 'omap_hsmmc'
> >      - 1 'omap_hsmmc'
> >      - not found
> >   OMAP SD/MMC: 0, OMAP SD/MMC: 1
> >   initcall: 0001ea8c (relocated to 8fe0aa8c)
> >   Loading Environment from <NULL>... Using default environment
> >   Destroy Hash Table: 8fe25a98 table = 00000000
> >   Create Hash Table: N=387
> > 
> > After the "Create Hash Table: N=387" line there is nothing more.
> > Repeated tests have same result, always stop at that line.
> > 
> > In qemu after that line I see following output:
> > 
> >   INSERT: table 8fe25a98, filled 1/389 rv 8fd0e2f4 ==> name="bootcmd" value="run sdboot;run emmcboot;run attachboot;echo"
> >   INSERT: table 8fe25a98, filled 2/389 rv 8fd0e344 ==> name="bootdelay" value="30"
> >   INSERT: table 8fe25a98, filled 3/389 rv 8fd0f960 ==> name="baudrate" value="115200"
> >   DELETE CANDIDATE: "preboot"
> >   hdelete: DELETE key "preboot"
> >   DELETE ERROR ##############################
> >   INSERT: table 8fe25a98, filled 4/389 rv 8fd0e574 ==> name="loadaddr" value="0x80008000"
> >   ...
> > 
> > In qemu is u-boot working fine.
> > 
> > So it looks like that there is u-boot crash in environment code and only
> > when running on real HW.
> > 
> > Any idea? Could there be some relocation issue in u-boot env code?
> 
> My first thought here is that something like 534f0fbd6520 ("arm64: Fix
> relocation of env_addr if POSITION_INDEPENDENT=y") might be needed on
> 32bit as well?
> 
> -- 
> Tom

Thank you Tom! This is really the issue. After I applied same fix for
32-bit ARM, U-Boot on real N900 HW booted. I will send a patch for it.

Interesting is that same u-boot binary is working fine in qemu N900. And
it works with and also without fix for env_addr.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-11-20 16:13 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-09 19:33 Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT) Pali Rohár
2022-10-10 21:30 ` [maemo-leste] " Sicelo
2022-10-20 20:06   ` Pali Rohár
2022-10-21 19:09     ` Pali Rohár
2022-11-02  0:08       ` Pali Rohár
2022-11-09 20:33         ` Pali Rohár
2022-11-19 14:38           ` Ashish Shah
2022-11-19 18:24             ` Sicelo
2022-11-19 21:13           ` Pali Rohár
2022-11-20 15:33             ` Tom Rini
2022-11-20 16:13               ` Pali Rohár

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox