Espressobin booting (Was: Re: [PATCH 1/5] arm: mvebu: Espressobin: Move env load addresses)

Pali Rohár pali at kernel.org
Wed Aug 26 12:51:18 CEST 2020


On Wednesday 26 August 2020 11:57:01 Andre Heider wrote:
> Hi,
> 
> On 26/08/2020 10:31, Pali Rohár wrote:
> > Hello!
> > 
> > On Wednesday 26 August 2020 09:30:11 Andre Heider wrote:
> > > Pali,
> > > 
> > > thank you for all these espressobin fixes, much appreciated!
> > > 
> > > This isn't directly related to the patch I'm replying to, but since you seem
> > > to be syncing down- with upstream:
> > > 
> > > Upstream u-boot doesn't detect my sata ssd ("SATA link 0 timeout"), nor is
> > 
> > Could you try following Marvell SATA/AHCI patch?
> > https://github.com/MarvellEmbeddedProcessors/u-boot-marvell/commit/2c1571432e4fd298be0236b53511f415bbdd21ac
> 
> will do that later and report my findings, thanks!
> 
> > > it able to run debian's kernel (hangs after "Starting kernel"). Both work
> > > with armbian's downstream flash-image.bin.
> > > 
> > > I'm using the espressobin v1 with these patches from the list on top of
> > 
> > Do you really have espressobin v1? I saw hw schemas and diagrams only
> > for V3, V4, V5 and V7. And I tested only V5 as I do not have any other
> > revisions.
> 
> Oh sorry, I meant the first public version, the one with ddr3 memory. Which
> would be the V5 schematics iirc.
> 
> > > 2020.07:
> > > arm64: a37xx: pci: Depends on DM_GPIO
> > > arm: mvebu: Espressobin: Update README.marvell file
> > > arm: mvebu: Espressobin: Define console env
> > > arm: mvebu: Espressobin: Define fdt_addr and kernel_addr env aliases
> > > arm: mvebu: Espressobin: Change default loadaddr
> > > arm: mvebu: Espressobin: Move env load addresses
> > > arm: mvebu: Espressobin: Setup MTD partitions when booting kernel
> > > arm: mvebu: Espressobin: Make SPI env offset compatible with Marvell's
> > > U-Boot
> > > arm: dts: a37x0: enable sd card support on espressobin
> > > mmc: xenon: set signal voltage and max base clock
> > > arm64: a37xx: pci: Assert PERST# signal when unloading driver
> > > arm64: a37xx: pci: Make PCIe Reset GPIO DT compatible with Linux kernel DT
> > > arm64: dts: armada-3720-espressobin: fix COMPHY nodes
> > > arm: mvebu: Espressobin: Enable CONFIG_MVNETA
> > > arm: mvebu: Espressobin: Disallow forwarding packets between wan and lan
> > > ports
> > > 
> > > Bootlog:
> > > 
> > > TIM-1.0
> > > WTMI-devel-18.12.1-
> > > WTMI: system early-init
> > > CPU VDD voltage default value: 1.108V
> > > NOTICE:  Booting Trusted Firmware
> > > NOTICE:  BL1: v2.3(): (Marvell-devel-18.12.0)
> > > NOTICE:  BL1: Built : 06:12:46, Aug 26 2020
> > > NOTICE:  BL1: Booting BL2
> > > NOTICE:  BL2: v2.3(): (Marvell-devel-18.12.0)
> > > NOTICE:  BL2: Built : 06:12:46, Aug 26 2020
> > > NOTICE:  BL1: Booting BL31
> > > NOTICE:  BL31: v2.3(): (Marvell-devel-18.12.0)
> > > NOTICE:  BL31: Built : 06:12:46
> > > 
> > > U-Boot 2020.07 (Aug 26 2020 - 06:12:46 +0000)
> > > 
> > > DRAM:  1 GiB
> > > Comphy-0: USB3_HOST0    5 Gbps
> > > Comphy-1: PEX0          2.5 Gbps
> > > Comphy-2: SATA0         5 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 up
> > > MMC:   sdhci at d0000: 0
> > > Loading Environment from SPI Flash... SF: Detected w25q32dw with page size
> > > 256 Bytes, erase size 4 KiB, total 4 MiB
> > > OK
> > > Model: Marvell Armada 3720 Community Board ESPRESSOBin
> > > Net:   eth0: neta at 30000
> > > Hit any key to stop autoboot:  0
> > > MMC Device 1 not found
> > > no mmc device at slot 1
> > > switch to partitions #0, OK
> > > mmc0 is current device
> > > Scanning mmc 0:1...
> > > Found U-Boot script /boot.scr
> > > 2250 bytes read in 12 ms (182.6 KiB/s)
> > > ## Executing script at 06d00000
> > > 22079344 bytes read in 1219 ms (17.3 MiB/s)
> > > 10671 bytes read in 24 ms (433.6 KiB/s)
> > > 27689238 bytes read in 1555 ms (17 MiB/s)
> > > Booting Debian 5.7.0-0.bpo.2-arm64 from mmc 0:1...
> > > ## Flattened Device Tree blob at 06f00000
> > >     Booting using the fdt blob at 0x6f00000
> > >     Loading Ramdisk to 3e0be000, end 3fb26116 ... OK
> > >     Loading Device Tree to 000000003e0b8000, end 000000003e0bd9ae ... OK
> > > 
> > > Starting kernel ...
> > > <hangs here>
> > 
> > Can you write which commands you have run to load & boot kernel?
> > What are command line arguments for kernel?
> > 
> > Also have you reset env variables to default?
> 
> Yeah, I do reset the full env when switching between the flash images.

Now I tried to boot openwrt kernel image and it is working fine on
tested espressobin v5 unit. I compiled u-boot with all those a37xx
patches.

DRAM:  512 MiB
Comphy-0: USB3_HOST0    5 Gbps    
Comphy-1: PEX0          2.5 Gbps  
Comphy-2: SATA0         5 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 up
MMC:   sdhci at d0000: 0
Loading Environment from SPIFlash... SF: Detected w25q32dw with page size 256 Bytes, erase size 4 KiB, total 4 MiB
OK
Model: Marvell Armada 3720 Community Board ESPRESSOBin
Net:   eth0: neta at 30000 [PRIME]
Hit any key to stop autoboot:  0 
=> env default -a
## Resetting to default environment
=> setenv bootargs "root=PARTUUID=aefd80c5-02 rw rootwait"
=> setenv bootargs "${bootargs} ${console}"
=> mmc dev 0
switch to partitions #0, OK
mmc0 is current device
=> load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb
10630 bytes read in 11 ms (943.4 KiB/s)
=> load mmc 0:1 ${kernel_addr} Image
10197000 bytes read in 436 ms (22.3 MiB/s)
=> booti ${kernel_addr} - ${fdt_addr}
Moving Image from 0x7000000 to 0x7080000, end=7a82000
## Flattened Device Tree blob at 06f00000
   Booting using the fdt blob at 0x6f00000
   Loading Device Tree to 000000001fb20000, end 000000001fb25985 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.4.59 (builder at buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r14241-ba2ddba56b)) #0 SMP Mon Aug 24 00:09:30 2020
[    0.000000] Machine model: Globalscale Marvell ESPRESSOBin Board
[    0.000000] earlycon: ar3700_uart0 at MMIO 0x00000000d0012000 (options '')
[    0.000000] printk: bootconsole [ar3700_uart0] enabled
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 16 pages/cpu s26520 r8192 d30824 u65536
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] Speculative Store Bypass Disable mitigation not required
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 128512
[    0.000000] Kernel command line: root=PARTUUID=aefd80c5-02 rw rootwait console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000
...


More information about the U-Boot mailing list