[U-Boot] [PATCH v4 0/9] LS2080ARDB: Enable EFI boot support

Prabhakar Kushwaha prabhakar.kushwaha at nxp.com
Thu Jun 23 07:30:35 CEST 2016


Hi Alex,

> -----Original Message-----
> From: Alexander Graf [mailto:agraf at suse.de]
> Sent: Tuesday, June 21, 2016 4:37 AM
> To: u-boot at lists.denx.de
> Cc: york sun <york.sun at nxp.com>; Prabhakar Kushwaha
> <prabhakar.kushwaha at nxp.com>
> Subject: [PATCH v4 0/9] LS2080ARDB: Enable EFI boot support
> 
> We now have EFI support in U-Boot which worked out of the box on all
> systems that I tried it on so far. Except for the LS2080ARDB. With this patch
> set I can successfully boot grub2 and Linux from there on such a system -
> even using PXE.
> 
> v3 -> v4:
> 
>   - Add CONFIG_CMD_FS_GENERIC to defconfig
>   - Move code into generic quiesce weak function
>   - Exit device for real when going to Linux
>   - Only apply DPL if we have something to apply
>   - New: armv8: ls2080a: Declare spin tables as reserved for efi loader
>   - New: efi_loader: Allow boards to implement get_time and reset_system
>   - New: armv8: fsl-layerscape: Add support for efi_loader RTS reset
>   - New: efi_loader: Declare secure memory as reserved
>   - New: efi_loader: Allow bouncing for network
> 
> Alexander Graf (9):
>   ls2080: Exit dpaa only right before exiting U-Boot
>   efi_loader: AArch64: Run EFI payloads in EL2 if U-Boot runs in EL3
>   ls2080ardb: Reserve DP-DDR RAM
>   ls2080ardb: Convert to distro boot
>   armv8: ls2080a: Declare spin tables as reserved for efi loader
>   efi_loader: Allow boards to implement get_time and reset_system
>   armv8: fsl-layerscape: Add support for efi_loader RTS reset
>   efi_loader: Declare secure memory as reserved
>   efi_loader: Allow bouncing for network
> 
>  arch/arm/cpu/armv8/fsl-layerscape/cpu.c  |  33 +++++++++-
>  arch/arm/cpu/armv8/fsl-layerscape/fdt.c  |   6 ++
>  arch/arm/include/asm/armv8/mmu.h         |  19 +++---
>  arch/arm/include/asm/u-boot-arm.h        |   1 +
>  arch/arm/lib/bootm.c                     |   7 +++
>  board/freescale/ls2080a/ls2080a.c        |   6 +-
>  board/freescale/ls2080aqds/ls2080aqds.c  |  11 ++--
> board/freescale/ls2080ardb/ls2080ardb.c  |  20 ++++--
>  cmd/bootefi.c                            |  15 +++++
>  configs/ls2080a_emu_defconfig            |   1 +
>  configs/ls2080a_simu_defconfig           |   1 +
>  configs/ls2080aqds_SECURE_BOOT_defconfig |   1 +
>  configs/ls2080aqds_defconfig             |   1 +
>  configs/ls2080aqds_nand_defconfig        |   1 +
>  configs/ls2080ardb_SECURE_BOOT_defconfig |   1 +
>  configs/ls2080ardb_defconfig             |   1 +
>  configs/ls2080ardb_nand_defconfig        |   1 +
>  drivers/net/fsl-mc/mc.c                  |  24 +++++++-
>  include/configs/ls2080ardb.h             |  26 +++++++-
>  include/efi_loader.h                     |  18 ++++++
>  lib/efi_loader/efi_boottime.c            |   2 +
>  lib/efi_loader/efi_memory.c              |  15 +++++
>  lib/efi_loader/efi_net.c                 |   7 +++
>  lib/efi_loader/efi_runtime.c             | 101 +++++++++++++++++++++++++++-
> ---

I am testing your patch set on ls2080ardb. 
Observation:-
1. Linux boot no more crashing with e1000#0, DPMAC5 at XSGMII. Even tried with default bootcmd. 
2. Grub2 crash while booting :(

I have applied your patch on top of commit " 9f823615af919c6b89f0b80197f009f78299dcde"

Please find log below.


=> usb start
starting USB...
USB0:   Register 200017f NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1:   Register 200017f NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
=> edit ethact
edit: DPMAC5 at xgmii
=> tftp 0x80000000 fsl-ls2080a-rdb.dtb; fdt addr 0x80000000; fdt boardsetup;tftp 0xa0000000 grubaa64.efi; bootefi a0000000 0x80000000
Using DPMAC5 at xgmii device
TFTP from server 192.168.1.1; our IP address is 192.168.1.34
Filename 'fsl-ls2080a-rdb.dtb'.
Load address: 0x80000000
Loading: ###
         2 KiB/s
done
Bytes transferred = 10549 (2935 hex)
WARNING: could not set reg FDT_ERR_NOSPACE.
ERROR: could not set fsl,usb-erratum-a008751 for snps,dwc3: FDT_ERR_NOSPACE.
ERROR: could not set fsl,usb-erratum-a008751 for snps,dwc3: FDT_ERR_NOSPACE.
Using DPMAC5 at xgmii device
TFTP from server 192.168.1.1; our IP address is 192.168.1.34
Filename 'grubaa64.efi'.
Load address: 0xa0000000
Loading: #################################################################
         #################################################################
         ###########################################
         85.9 KiB/s
done
Bytes transferred = 884224 (d7e00 hex)
## Starting EFI application at 0xa0000000 ...
Scanning disks on scsi...
Scanning disks on usb...
Scanning disks on mmc...
MMC: no card present
MMC Device 1 not found
MMC Device 2 not found
MMC Device 3 not found
Found 4 disks
"Synchronous Abort" handler, esr 0x8a000000
ELR:     97ffeee9d5033fdf
LR:      fff03d0c
x0 : 00000000fff87250 x1 : 00000000fff90720
x2 : 97ffeee9d5033fdf x3 : 00000000fff897a0
x4 : 0000000000000000 x5 : 00000000fff897b0
x6 : 0000000000000008 x7 : 0000000000000001
x8 : 0000000000000003 x9 : 000000000000000c
x10: 000000000a200023 x11: 0000000000000002
x12: 0000000000000002 x13: 00000000fff7ccd1
x14: 00000000fff7cccb x15: 00000000ffefeb50
x16: 00000000fff7ccc0 x17: 00000000fff7ccba
x18: 00000000ffcf7d78 x19: 00000000fff87250
x20: 0000000080000000 x21: 0000000000000003
x22: 00000000ffd1bf50 x23: 0000000000000003
x24: 00000000fff9e4a4 x25: 0000000000000000
x26: 0000000000000000 x27: 00000000fff87250
x28: 00000000fff87000 x29: 00000000fff03c40

Resetting CPU ...

### ERROR ### Please RESET the board ###

--prabhakar



More information about the U-Boot mailing list