MarvellEmbeddedProcessors / atf-marvell

BSD 3-Clause "New" or "Revised" License
23 stars 24 forks source link

EspressoBin (Armada 3700), SATA booting doesn't work at 18.12 #12

Closed matwey closed 2 years ago

matwey commented 6 years ago

Hello,

I am trying to rebuild armada-18.06 u-boot release from scratch.

I am following instructions and rebuilding u-boot. Command to produce flash-image.bin is the following:

make DEBUG=1 USE_COHERENT_MEM=0 LOG_LEVEL=20 SECURE=0 CLOCKSPRESET=CPU_1000_DDR_800 DDR_TOPOLOGY=2 BOOTDEV=SATA PARTNUM=0 PLAT=a3700 WTP=`pwd`/../A3700-utils-marvell MV_DDR_PATH=`pwd`/../mv-ddr-marvell fip

Then I deploy image to hard drive using dd and attach it to the board. What I see when trying to boot from SATA drive is the following:

TIM-1.0
>
matwey commented 6 years ago

The same issue with armada-18.09 and gcc-linaro-7.3.1-2018.05

kostapr commented 6 years ago

How do you copy the image to disk?

matwey commented 6 years ago
dd if=flash-image.bin of=/dev/sdd1
sync

Where /dev/sdd1 is partition of 0x4d type as described there: https://lists.denx.de/pipermail/u-boot//2017-July/299351.html

kostapr commented 6 years ago

Did you see any other release working in partition boot mode? I usually copy the image to lba1, since lba0 contains mbr.

matwey commented 6 years ago

armada-17.08 worked fine for me. I even haven't touch the partition table since then.

matwey commented 6 years ago

I've tried both LBA0 and LBA1. The same behavior.

kostapr commented 6 years ago

We are debugging this issue

matwey commented 6 years ago

Do I understand correctly, that you can reproduce the issue?

kostapr commented 6 years ago

I haven't tried. We have a SW engineer assigned to this issue.

matwey commented 6 years ago

My flash image binary for reference: https://transfer.sh/Yz8Uy/flash-image.bin

matwey commented 6 years ago

I am sorry. Any news?

matwey commented 5 years ago

I've checked 18.12 release. The same behavior.

https://transfer.sh/65Fs2/flash-image.bin

matwey commented 5 years ago

I've checked that the behavior is different when I try to boot from blank SATA drive: I see immediate E and >. When I try my flash-image.bin I see TIM-1.0, some timeout and then >. So, I suppose the image itself is found properly.

matwey commented 5 years ago

I've tried to use UART, but no luck there. Images are downloaded to the board as the following. When downloading is complete, I see only > E at serial console.

> ./WtpDownload_linux  -P UART -C 0 -R 115200 -B uart-images/TIM_ATF.bin -I uart-images/wtmi_h.bin -I uart-images/boot-image_h.bin -E
Start time: 01/06/19 14:43:52
WtpDownload for 32-bit Host (Target Images Downloading Tool)

Trusted version for TIM and NTIM
Version:      3.3.11.15
Release Date: 04.May.2017

Verbose mode disabled...

/dev/ttyUSB0
+++
Image ID: TIMH (0x54494d48)
Image ID: WTMI (0x57544d49)
Image ID: OBMI (0x4f424d49)

Number of files to download: 3
+++
Version: 3401
Date: 5152016
Processor: ARMA
+++++++++++++++++++++

Download time for image 1->0hr:0min:0s
Success: Download file complete for image 1
++
Version: 3401
Date: 5152016
Processor: ARMA
++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++

Download time for image 2->0hr:0min:2s
Success: Download file complete for image 2
++
Version: 3401
Date: 5152016
Processor: ARMA
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
+

Download time for image 3->0hr:1min:14s
Success: Download file complete for image 3
++
Finish time: 01/00/00 00:00:00

WtpDownload Complete! Device:

Success: WtpDownload Exiting with Success Code!
Download Time:0hr:1min:16s
JockZhang commented 5 years ago

Hi , Any update here? I also see the same behavior when i try to emmc boot using espressobin v7 board。But i can boot from emmc using the bin which download from globalscale website ftp://downloads.globalscaletechnologies.com/Downloads/Espressobin/ESPRESSObin%20V7/bootloader/

rstam3108 commented 2 years ago

Hi I have the same issue here. I found the following image to be working http://wiki.espressobin.net/tiki-download_file.php?fileId=146 . It is located inside the zip file that can be downloaded from this link and is called flash-image-sata.bin . Unfortunately on my Espressobin v5 2GB DDR3 it only shows 512MB RAM and cannot detect the SPI flash.

To resolve this I tried building my own image, per instructions here: https://trustedfirmware-a.readthedocs.io/en/latest/plat/marvell/armada/build.html#armada37x0-builds-require-installation-of-3-components

The resulting flash-image.bin does not boot from SATA correctly. It shows the following message for about 30 seconds after which the Boot ROM prompt ('>') appears:

TIM-1.0
mv_ddr-devel-g5d41a99 DDR3 16b 2GB 2CS

Strangely enough If I use the mox-imager tool to send this same flash-image.bin (the one I built) to the board over UART (with correct jumper settings), the board boots up fine with it:

Reserved area packages:
  CRV2 (size 20)
  CIDP (size 32)
    Consumer TBRI, packages: GPP1 GPP2 DDR3
  GPP1 (size 644)
    Ignore timeouts in instructions: 0
  GPP2 (size 456)
    Ignore timeouts in instructions: 0
  DDR3 (size 1912)
    Initialize DDR memory: 1
  Term (size 8)
Found TIMH, hash sha-256, encryption none, size 3460, load 0x20006000, flash 0x00000000
Found WTMI, hash sha-256, encryption none, size 19180, load 0x1fff0000, flash 0x00004000
Found OBMI, hash sha-256, encryption none, size 1054464, load 0x64100000, flash 0x00015000

Sending escape sequence, please power up the device
Received sync reply
Sending escape sequence with delay
Detected BootROM command prompt
Sending wtp sequence
Initialized UART download mode

GetVersion response: version 3.4.01, date 2016-05-15, CPU ARMA
Sending image type TIMH
100% sent in 00:00  

TIM-1.0
mv_ddr-devel-g5d41a99 
Sending image type WTMI
100% sent in 00:02  
Sending image type OBMI
100% sent in 01:32  

[Type Ctrl-\ + c to quit]

WTMI-devel-18.12.1-14b3c61
WTMI: system early-init
SVC REV: 5, CPU VDD voltage: 1.143V
Setting clocks: CPU 1000 MHz, DDR 800 MHz
CZ.NIC's Armada 3720 Secure Firmware v2021.09.07-27-g489262b (Jan 23 2022 23:18:52)
Running on ESPRESSObin
NOTICE:  Booting Trusted Firmware
NOTICE:  BL1: v2.6(release):v2.6-231-ge537bcded
NOTICE:  BL1: Built : 23:18:56, Jan 23 2022
NOTICE:  BL1: Booting BL2
NOTICE:  BL2: v2.6(release):v2.6-231-ge537bcded
NOTICE:  BL2: Built : 23:18:56, Jan 23 2022
NOTICE:  BL1: Booting BL31
NOTICE:  BL31: v2.6(release):v2.6-231-ge537bcded
NOTICE:  BL31: Built : 23:18:56, Jan 23 2022

<debug_uart>

U-Boot 2022.01-00532-gd71dbe657c (Jan 23 2022 - 23:18:30 +0000)

DRAM:  2 GiB
Core:  37 devices, 21 uclasses, devicetree: separate
WDT:   Not starting watchdog-timer@8300
Comphy chip #0:
Comphy-0: USB3_HOST0    5 Gbps    
Comphy-1: PEX0          5 Gbps    
Comphy-2: SATA0         6 Gbps    
Target spinup took 0 ms.
AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl SATA mode
flags: ncq led only pmp fbss pio slum part sxs 
PCIe: Link up
MMC:   sdhci@d0000: 0, sdhci@d8000: 1
Loading Environment from SPIFlash... SF: Detected mx25u3235f with page size 256 Bytes, erase size 4 KiB, total 4 MiB
OK
Model: Globalscale Marvell ESPRESSOBin Board
Net:   eth0: neta@30000 [PRIME]
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
759 bytes read in 15 ms (48.8 KiB/s)
11809280 bytes read in 817 ms (13.8 MiB/s)
9319 bytes read in 26 ms (349.6 KiB/s)
7291336 bytes read in 512 ms (13.6 MiB/s)
Moving Image from 0x2000000 to 0x2080000, end=2c06000
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   Ramdisk Image
   Image Type:   AArch64 Linux RAMDisk Image (uncompressed)
   Data Size:    7291272 Bytes = 7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01000000
   Booting using the fdt blob at 0x1000000
   Loading Ramdisk to 7f407000, end 7fafb188 ... OK
   Using Device Tree in place at 0000000001000000, end 0000000001005466

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.0.0-1-ARCH (builduser@leming) (gcc version 8.2.1 20180831 (GCC)) #1 SMP PREEMPT Tue Mar 5 22:43:35 MST 2019
<<< at this point system boots on to linux >>

Could you help me find out what goes wrong here?

Thanks

Rogier

JockZhang commented 2 years ago

你的来信已收到,谢谢。。。

pali commented 2 years ago

Hello @Mrvl-BenjaminHuang! Could you look at this Espressobin SATA booting issue? It is still present in the latest version of A3700-utils-marvell.

rstam3108 commented 2 years ago

Hi For those of you still having this issue, the problem lies in the MVEBU_NORTH_CLOCK_ENABLE_REG register (c0013014). The value written there is 0x07032018, it should be 0x00000000. I tried it with the following change, and this fixes the problem for me: A3700-clocks-fix-sata-boot.zip Regards Rogier

pali commented 2 years ago

Hello @matwey, can you still reproduce this issue?

matwey commented 2 years ago

@pali I cannot answer you right now, because I need to spend some time to test this again.

pali commented 2 years ago

@matwey Ok! Just to note that @rstam3108 prepared pull request for WTMI which should fix this SATA booting issue: https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell/pull/29

matwey commented 2 years ago

Nice to know! But I cannot promise to check this until the next week :(

rstam-exs commented 2 years ago

actually no need to zero out all bits. only bits 3 and 25 is enough to enable sata boot. just fyi

matwey commented 2 years ago

Indeed https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell/pull/29 works for me at 1G v5 EspressoBin. Thank you @rstam3108

rstam-exs commented 2 years ago

yw :)

pali commented 2 years ago

@matwey Fix for SATA booting is now in master branch: https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell/commit/e733e9f139ff23c1b0346c6e89f5530a4c24db3b So I think you can close this issue as fixed now :-)

matwey commented 2 years ago

Right! Thank you.