:: Re: [maemo-leste] U-Boot is broken …
Top Page
Delete this message
Reply to this message
Author: Merlijn Wajer
Date:  
To: Pali Rohár, u-boot
CC: Tom Rini, Simon Glass, Adam Ford, Tony Lindgren, Arthur D., Pavel Machek, Ivaylo Dimitrov, maemo-leste
Subject: Re: [maemo-leste] U-Boot is broken on real N900 HW (Was: Re: [PATCH 00/11] Fixes for Nokia RX-51)
Hi,

On 01/04/2020 00:42, Pali Rohár wrote:
> On Wednesday 01 April 2020 00:35:07 Pali Rohár wrote:
>> This patch series contain fixes for Nokia RX-51 board (aka N900).
>> After these changes it is possible to run U-Boot in qemu emulator again.
>> And U-Boot can boot kernel image from RAM, eMMC or OneNAND memory without
>> problem.
>
> But on real Nokia N900 device is U-Boot crashing in reboot loop.
>
> I do not have serial console for Nokia N900 to debug this issue, but
> seems that it is related to OMAP I2C and OMAP HS MMC code. Problem is
> that there is no crash and even no error in qemu emulator so I cannot
> debug this issue.
>
> First problem is around /* reset lp5523 led */ code in rx51.c. On real
> N900 device it generates repeating messages:
>
> Check if pads/pull-ups of bus are properly configured
> Timed out in wait_for_event: status=0000
>
> When I commented that few lines all these messages disappeared. So
> problem is with OMAP I2C.
>
> Second problem happen after misc_init_r() function finishes. U-Boot just
> prints on N900 screen message "data abort" and reboots. As I do not have
> serial console it is hard to debug. but I figured out that problem is in
> mmc_set_ios() function in mmc.c file. In function mmc_set_clock() I put
> debug info prior to mmc_set_ios() call and after it, and debug info
> prior was printed, not after.
>
> I remember that somebody had serial jig for Nokia N900, could somebody
> look at this reboot loop problem?
>
> And any idea how should be OMAP I2C configured in U-Boot to correctly
> work?
>
> Maybe I will try to find some time to git bisect which change broke
> U-Boot on real N900 hardware.


Took latest u-boot master, applied patches and this is the result on
serial (first part is NOLO booting, I think that can be ignored) [1].

Cheers,
Merlijn


[1]

�NOLO X-Loader (v1.4.14, Jun  3 2010)
Secondary image size 109384
Booting secondary
[   0.002] Nokia OMAP Loader v1.4.14 (Jun  3 2010) running on Nokia N900
F5 (RX-51)
[   0.014] I2C v3.12
[   0.033] System DMA v4.0
[   0.036] OneNAND device ID 0040, version ID 0121 (256 MiB, 66 MHz)
[   0.070]   OneNAND blocks unlocked in 28014 us
[   0.075]   Flash id: ec4021
[   0.087] Partition table successfully read
[   0.095] TWL4030 PWR ISR: 04
[   0.098] Reset reason: usb
[   0.101] McSPI v2.1
[   0.104] LP5523 found at I2C bus 2, address 0x32
[   0.115] SMB138C: Not loading driver (version reg. 0x4b)
[   0.121] BQ24150 (rev. 3) found on I2C bus 1, address 0x6b
[   0.127] SSI version 1.0
[   0.141] Battery voltage 3.532 V, BSI: 1053
[   0.146] Disabling backlight (reset reason USB)
[   0.162] Initializing LCD panel
[   0.165]   Detecting LCD panel moscow
[   0.169]     Panel ID: 108d77
[   0.172]   Detected LCD panel: acx565akm
[   0.176] DISPC: version 3.0
[   0.181]   LCD pixel clock 24000 kHz
[   0.212]   Logo drawn in 5 ms (11700 kB/s)
[   0.493]   �ber-cool backlight fade-in took 160 ms
[   0.498] Initializing USB
[   0.506]   USB host detected
[   0.509]   Entering USB loop
[   0.560] USB suspend signaling detected
[   0.917] USB reset received
[   0.996] SETUP: WR STD DEVICE    SET_ADDRESS        value 0022 index
0000 length 0000
[   1.018] SETUP: RD STD DEVICE    GET_DESCRIPTOR     DEVICE (value 00,
index 0000, length 8 bytes)
[   1.028] SETUP: RD STD DEVICE    GET_DESCRIPTOR     DEVICE (value 00,
index 0000, length 18 bytes)
[   1.038] SETUP: RD STD DEVICE    GET_DESCRIPTOR     CONFIGURATION
(value 00, index 0000, length 9 bytes)
[   1.048] SETUP: RD STD DEVICE    GET_DESCRIPTOR     CONFIGURATION
(value 00, index 0000, length 94 bytes)
[   1.058] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 00,
index 0000, length 255 bytes)
[   1.068] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 02,
index 0409, length 255 bytes)
[   1.078] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 01,
index 0409, length 255 bytes)
[   1.088] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 05,
index 0409, length 255 bytes)
[   1.098] SETUP: WR STD DEVICE    SET_CONFIGURATION  value 0001 index
0000 length 0000
[   1.107] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 03,
index 0409, length 255 bytes)
[   1.116] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 04,
index 0409, length 255 bytes)
[   1.126] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 04,
index 0409, length 255 bytes)
[   1.137] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 04,
index 0409, length 255 bytes)
[   1.203] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 00,
index 0000, length 255 bytes)
[   1.213] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 02,
index 0409, length 255 bytes)
[   1.223] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 00,
index 0000, length 255 bytes)
[   1.233] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 05,
index 0409, length 255 bytes)
[   1.243] SETUP: WR STD INTERFACE SET_INTERFACE      value 0001 index
0002 length 0000
[   1.251] Flashing interface selected
[   1.255] SETUP: RD STD DEVICE    GET_DESCRIPTOR     STRING (value 04,
index 0409, length 255 bytes)
[   1.265] SETUP: RD VND DEVICE    req 01 value 0000 index 0000 length 0004
[   1.272] Flashing mode entered
[   1.276] SETUP: RD VND DEVICE    req 05 value 0000 index 0000 length 0800
[   1.283] SETUP: RD VND DEVICE    req 04 value 0000 index 0000 length 0200
[   1.291] SETUP: RD VND DEVICE    req 04 value 0000 index 0000 length 0200
[   1.298] SETUP: RD VND DEVICE    req 04 value 0000 index 0000 length 0200
[   1.306] SETUP: RD VND DEVICE    req 04 value 0000 index 0000 length 0200
[   1.314] SETUP: RD VND DEVICE    req 03 value 0000 index 0000 length 0004
[   1.321] SETUP: WR VND DEVICE    req 12 value 0000 index 0000 length 000e
[   1.329] SETUP: RD VND DEVICE    req 14 value 0000 index 0000 length 01ff
[   1.336] SETUP: WR VND DEVICE    req 12 value 0000 index 0000 length 000e
[   1.344] SETUP: RD VND DEVICE    req 14 value 0000 index 0000 length 01ff
[   1.351] ERROR: Error processing request, stalling
[   1.356] ERROR: EP0 STALL sent
[   1.359] SETUP: RD VND DEVICE    req 05 value 0000 index 0000 length 0800
[   1.367] SETUP: WR VND DEVICE    req 12 value 0000 index 0000 length 0012
[   1.374] SETUP: RD VND DEVICE    req 14 value 0000 index 0000 length 01ff
[   1.382] SETUP: WR VND DEVICE    req 12 value 0000 index 0000 length 000f
[   1.389] SETUP: RD VND DEVICE    req 14 value 0000 index 0000 length 01ff
[   1.397] SETUP: RD VND DEVICE    req 11 value 0000 index 0001 length 0001
[   1.404] getting value of option 'root device'
[   1.409] SETUP: RD VND DEVICE    req 11 value 0000 index 0002 length 0004
[   1.416] getting value of option 'USB host mode'
[   1.421] SETUP: RD VND DEVICE    req 11 value 0000 index 0000 length 0001
[   1.428] getting value of option 'R&D mode'
[   1.433] SETUP: WR VND DEVICE    req 42 value 0000 index 0000 length 001b
[   1.440] Receiving kernel (length 249600)
[   1.455] Image successfully received
[   1.459] SETUP: WR VND DEVICE    req 82 value 0000 index 0000 length 0000
[   1.466] SETUP: WR STD INTERFACE SET_INTERFACE      value 0000 index
0002 length 0000
[   1.520] Boot requested (normal mode)
[   1.524] Serial console disabled



U-Boot 2020.04-rc4-00033-g7dbafe0634-dirty (Apr 01 2020 - 12:15:47 +0200)

OMAP3530-HS ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 600 MHz
Nokia RX-51 + LPDDR/OneNAND
I2C:   ready
DRAM:  256 MiB
NAND:  0 Bytes
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
In:    vga
Out:   vga
Err:   vga
Timed out in wait_for_event: status=0100
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
i2c_read (addr phase): pads on bus probably not configured (status=0x10)
i2c_write: timed out writig last byte!
OMAP die ID: 031400240000000004036ac10b01100f
OMAP3530-HS ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 600 MHz