1 1
lsartory

Espressobin - Only 1 GB RAM detected on a 2 GB board

Recommended Posts

Hi everyone,

 

I updated the Linux kernel on my Espressobin to the latest version (5.6.2) and had some issues booting from SATA as my SSD was not detected properly after boot.
Using the device tree from an older kernel version did help, but I also read somewhere that updating to the latest Armbian U-Boot would solve the issue.

 

So I downloaded the version that matches my hardware (flash-image-ddr3-2g-2cs-1000_800.bin) and flashed it.

It indeed fixed the boot issues, but now only 1 GB of RAM is detected instead of 2 GB.

This happens as soon as the board is powered on, in U-Boot:

DRAM:  1 GiB

 

Before that, I was using the U-Boot version from espressobin.net, and the 2 GB were detected and usable.

I'm sure of it, because before downloading the Armbian U-Boot I checked the output to make sure that I indeed had the 2 GB version.

I cannot do a downgrade to verify this right now, because the espressobin.net website is broken; most pages report a 404 error, including the one where the U-Boot files were located.

I tried different versions, like the slower flash-image-ddr3-2g-2cs-800_800.bin or the version in the https://dl.armbian.com/espressobin/u-boot/archive/10/ folder, with similar results.

I also tried the 1200 MHz version out of curiosity, and had to recover the SPI flash using the SATA rescue image.

 

In any case, I would prefer to continue using the Armbian U-Boot version, since it is more up to date and works with the current mainline kernel and device tree.

I did not find any answer for this in the forums or using Google.

I actually find it very odd that it works at all.

What is then used? Only one RAM chip? Or 512 MB from each?

Did I install the wrong image, or did I miss a step when migrating U-Boot?

Share this post


Link to post
Share on other sites
On 4/9/2020 at 9:42 PM, lsartory said:

Did I install the wrong image, or did I miss a step when migrating U-Boot?

 

Unfortunately there are no details about your board.

Do you own a V5_0_1 EspressoBin with 2GB RAM (2 x 8Gbit DDR3, one on each side of the board) ?

Share this post


Link to post
Share on other sites

Yes, sorry, I forgot to mention it.

I'm actually not entirely sure which hardware revision it is. I bought it in December of 2017, so it's clearly not a v7. Could it be a v4?

It has indeed one DDR3 chip on each side.

Share this post


Link to post
Share on other sites

Hello,

 

i have the same problem wit my V5_0_1 Board

after an u-boot update there was only find 1Gb of DRAM

 

Here the Log from the Update:

TIM-1.0
WTMI-devel-18.07.0-6050fd5
WTMI: system early-init
SVC REV: 3, CPU VDD voltage: 1.155V
NOTICE:  Booting Trusted Firmware
NOTICE:  BL1: v1.5(release):711ecd3 (Marvell-armada-18.09.4)
NOTICE:  BL1: Built : 15:13:47, Sep  7 2018
NOTICE:  BL1: Booting BL2
NOTICE:  BL2: v1.5(release):711ecd3 (Marvell-armada-18.09.4)
NOTICE:  BL2: Built : 15:13:50, Sep  7 2018
NOTICE:  BL1: Booting BL31
NOTICE:  BL31: v1.5(release):711ecd3 (Marvell-armada-18.09.4)
NOTICE:  BL31: Built : 15:1

U-Boot 2017.03-armada-18.09.1-ga92bd86-armbian (Sep 05 2018 - 21:49:34 +0200)
                                                                                
Model: Marvell Armada 3720 Community Board ESPRESSOBin                          
       CPU     1000 [MHz]                                                       
       L2      1000 [MHz]                                                       
       NB AXI  250 [MHz]                                                        
       SB AXI  250 [MHz]                                                        
       DDR     800 [MHz]                                                        
DRAM:  2 GiB                                                                    
U-Boot DT blob at : 000000007f7142d8                                            
Comphy chip #0:                                                                 
Comphy-0: USB3          5 Gbps                                                  
Comphy-1: PEX0          2.5 Gbps                                                
Comphy-2: SATA0         6 Gbps        
SATA link 0 timeout.                                                            
AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl SATA mode                       
flags: ncq led only pmp fbss pio slum part sxs                                  
PCIE-0: Link down                                                               
MMC:   sdhci@d0000: 0                                                           
SF: Detected w25q32dw with page size 256 Bytes, erase size 4 KiB, total 4 MiB   
Net:   eth0: neta@30000 [PRIME]                                                 
Hit any key to stop autoboot:  0                                                
Marvell>>
Marvell>> bubt flash-image-ddr3-2g-2cs-1000_800.bin spi usb                     
Burning U-BOOT image "flash-image-ddr3-2g-2cs-1000_800.bin" from "usb" to "spi"
USB0:   Register 2000104 NbrPorts 2                                             
Starting the controller                                                         
USB XHCI 1.00                                                                   
USB1:   USB EHCI 1.00                                                           
scanning bus 0 for devices... 2 USB Device(s) found                             
scanning bus 1 for devices... 1 USB Device(s) found                             
reading flash-image-ddr3-2g-2cs-1000_800.bin                                    
Image checksum...OK!                                                            
SF: Detected w25q32dw with page size 256 Bytes, erase size 4 KiB, total 4 MiB   
684228 bytes written, 204800 bytes skipped in 12.723s, speed 71552 B/s          
Done!                                                                           
Marvell>> reset                                                                 
resetting ...                                                                   
TIM-1.0                                                                         
WTMI-devel-18.12.1-e6bb176                                                      
WTMI: system early-init                                                         
SVC REV: 3, CPU VDD voltage: 1.155V                                             
NOTICE:  Booting Trusted Firmware                                               
NOTICE:  BL1: v1.5(release):1f8ca7e (Marvell-devel-18.12.2)                     
NOTICE:  BL1: Built : 16:24:14, May 21 2019                                     
NOTICE:  BL1: Booting BL2                                                       
NOTICE:  BL2: v1.5(release):1f8ca7e (Marvell-devel-18.12.2)                     
NOTICE:  BL2: Built : 16:24:16, May 21 2019                                     
NOTICE:  BL1: Booting BL31                                                      
NOTICE:  BL31: v1.5(release):1f8ca7e (Marvell-devel-18.12.2)                    
NOTICE:  BL31: Built : 16:2                                                     
                                                                                
U-Boot 2018.03-devel-18.12.3-gc9aa92c-armbian (Feb 20 2019 - 09:45:04 +0100)    
                                                                                
Model: Marvell Armada 3720 Community Board ESPRESSOBin                          
       CPU     1000 [MHz]                                                       
       L2      800 [MHz]                                                        
       TClock  200 [MHz]                                                        
       DDR     800 [MHz]                                                        
DRAM:  1 GiB                                                                    
Comphy chip #0:                                                                 
Comphy-0: USB3          5 Gbps                                                  
Comphy-1: PEX0          2.5 Gbps                                                
Comphy-2: SATA0         6 Gbps                                                  
SATA link 0 timeout.

 

could it be that the 2g bin is compiled with 1g?

 

Regards

shadow

Share this post


Link to post
Share on other sites

Thanks for the log, shadow. I couldn't copy / paste it myself as I did not expect the issue.

Which version were you using before ? Did you roll back ?

 

Also, are the Espressobin U-Boot sources / configuration available somewhere so that we can build it ourselves ?
I did not find anything in the Armbian GitHub, and the stuff on the Marvell GitHub is very obsolete.

Share this post


Link to post
Share on other sites

Build configuration for Espressobin with Armbian Tools can be found here: https://github.com/armbian/build/blob/master/config/sources/families/mvebu64.conf
After a quick look I'd say it is using the Marvell Version, Branch u-boot-2018.03-armada-18.12.

BOOTSOURCE='https://github.com/MarvellEmbeddedProcessors/u-boot-marvell.git'
BOOTBRANCH='branch:u-boot-2018.03-armada-18.12'

But have a look at the config yourself.

Share this post


Link to post
Share on other sites

Indeed, the configuration in the mvebu64.conf script is wrong.

 

The 2 CS 2 GB image is compiled with the same DDR topology parameter as the 2 CS 1 GB image (DDR_TOPOLOGY=2).

It appears that the configuration for the 2 CS 512 MB version is also wrong, as it points to the same topology file as the 1 CS version.

I guess this is not really a problem, because I'm not even sure that this variant actually exists.

 

So to answer my previous question:

On 4/9/2020 at 9:42 PM, lsartory said:

What is then used? Only one RAM chip? Or 512 MB from each?

What is used is only 512 MB from each chip.

 

If anyone needs it, here is the bootloader (U-Boot 2018.03-18.12) compiled with the correct topology (DDR_TOPOLOGY=7):

flash-image-ddr3-2g-2cs-1000_800.bin

 

Note that only changing the DDR_TOPOLOGY from 2 to 7 was not enough, because this configuration is also missing from the Marvell sources, even though that's the parameter used in the build examples.

The correct topology exists in the Armbian tree, but with the wrong name:

https://github.com/armbian/build/blob/master/packages/blobs/espressobin/DDR_TOPOLOGY_2-2g.txt

The A3700-utils-marvell/script/buildtim.sh script must also be adapted to accept a DDR_TOPOLOGY value higher than 6.

Share this post


Link to post
Share on other sites
On 4/20/2020 at 7:13 PM, lsartory said:

Indeed, the configuration in the mvebu64.conf script is wrong.

 

The 2 CS 2 GB image is compiled with the same DDR topology parameter as the 2 CS 1 GB image (DDR_TOPOLOGY=2).

It appears that the configuration for the 2 CS 512 MB version is also wrong, as it points to the same topology file as the 1 CS version.

I guess this is not really a problem, because I'm not even sure that this variant actually exists.

 

So to answer my previous question:

What is used is only 512 MB from each chip.

 

If anyone needs it, here is the bootloader (U-Boot 2018.03-18.12) compiled with the correct topology (DDR_TOPOLOGY=7):

flash-image-ddr3-2g-2cs-1000_800.bin

 

Note that only changing the DDR_TOPOLOGY from 2 to 7 was not enough, because this configuration is also missing from the Marvell sources, even though that's the parameter used in the build examples.

The correct topology exists in the Armbian tree, but with the wrong name:

https://github.com/armbian/build/blob/master/packages/blobs/espressobin/DDR_TOPOLOGY_2-2g.txt

The A3700-utils-marvell/script/buildtim.sh script must also be adapted to accept a DDR_TOPOLOGY value higher than 6.

Thank you for the new bootloader it is working :) now i get back my 2 GiB DRAM

Share this post


Link to post
Share on other sites
On 4/20/2020 at 10:19 PM, Heisath said:

If this works consider to contribute (https://docs.armbian.com/Process_Contribute/) and maybe add a PR with your changes to the Github https://github.com/armbian/build

We are always looking for helping hands, especially espressobin since this has currently no real maintainer (that I'm aware of).

 

 

The change was merged. Hopefully it will help.

It's a pity that no one maintains this, because the Espressobin has really nice hardware (when it works)!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
1 1