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