From: Wei Ming Chen Date: Sun, 13 Oct 2024 07:24:35 +0000 (+0800) Subject: configs: ls1028a: Fix bootefi issue on Layerscape ls1028ardb platform X-Git-Url: http://git.dujemihanovic.xyz/img/static/%7B%7B%20%24.Site.BaseURL%20%7D%7Dposts/static/gitweb.css?a=commitdiff_plain;h=b4626f3934767e2e40cd56fc4368af835fd94126;p=u-boot.git configs: ls1028a: Fix bootefi issue on Layerscape ls1028ardb platform Without this patch, there will be error indicating that "Cannot use 64 bit addresses with SDMA", and the booting process will stuck. please see full boot log below U-Boot 2022.04-g18185931 (Sep 11 2024 - 13:15:30 +0800) SoC: LS1028AE Rev1.0 (0x870b0010) Clock Configuration: CPU0(A72):1500 MHz CPU1(A72):1500 MHz Bus: 400 MHz DDR: 1600 MT/s Reset Configuration Word (RCW): 00000000: 3c004010 00000030 00000000 00000000 00000010: 00000000 018f0000 0030c000 00000000 00000020: 020031a0 00002580 00000000 00003296 00000030: 00000000 00000010 00000000 00000000 00000040: 00000000 00000000 00000000 00000000 00000050: 00000000 00000000 00000000 00000000 00000060: 00000000 00000000 200e705a 00000000 00000070: bb580000 00000000 Model: LS1028A RDB Board Board: LS1028AE Rev1.0-RDB, Version: C, boot from SD FPGA: v8 (RDB) SERDES1 Reference : Clock1 = 100.00MHz Clock2 = 100.00MHz DRAM: 3.9 GiB DDR 3.9 GiB (DDR4, 32-bit, CL=11, ECC on) Using SERDES1 Protocol: 47960 (0xbb58) PCIe1: pcie@3400000 Root Complex: no link PCIe2: pcie@3500000 Root Complex: x1 gen2 Core: 45 devices, 22 uclasses, devicetree: separate WDT: Started watchdog@c000000 with servicing (60s timeout) WDT: Started watchdog@c010000 with servicing (60s timeout) MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... *** Warning - bad CRC, using default environment EEPROM: Invalid ID (ff ff ff ff) In: serial Out: serial Err: serial SEC0: RNG instantiated Net: Warning: enetc-0 (eth0) using random MAC address - d2:9b:a5:37:7b:b5 eth0: enetc-0 Warning: enetc-2 (eth1) using random MAC address - ca:57:11:de:de:cb , eth1: enetc-2, eth2: swp0, eth3: swp1, eth4: swp2, eth5: swp3 Hit any key to stop autoboot: 0 Trying load HDP firmware from SD.. switch to partitions #0, OK mmc0 is current device Device: FSL_SDHC Manufacturer ID: 9f OEM: 5449 Name: SD32G Bus Speed: 50000000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 28.9 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes MMC read: dev # 0, block # 18944, count 512 ... 512 blocks read: OK Loading hdp firmware from 0x00000000a0000000 offset 0x0000000000002000 Loading hdp firmware Complete switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... ** Unable to read file / ** Failed to load '/' libfdt fdt_check_header(): FDT_ERR_BADMAGIC Scanning disk mmc@2140000.blk... Scanning disk mmc@2150000.blk... Found 7 disks ERROR: invalid device tree Found EFI removable media binary efi/boot/bootaa64.efi 981992 bytes read in 44 ms (21.3 MiB/s) libfdt fdt_check_header(): FDT_ERR_BADMAGIC WARNING could not find node vivante,gc: FDT_ERR_NOTFOUND. Booting /efi\boot\bootaa64.efi Cannot use 64 bit addresses with SDMA Error reading cluster ** Unable to read file /efi/boot/grubaa64.efi ** Unexpected return from initial read: Device Error, buffersize 29D790 Failed to load image ぀¬ : Device Error start_image() returned Device Error EFI LOAD FAILED: continuing... switch to partitions #0, OK mmc1(part 0) is current device Scanning mmc 1:1... ** Unable to read file / ** Failed to load '/' libfdt fdt_check_header(): FDT_ERR_BADMAGIC BootOrder not defined EFI boot manager: Cannot load any image Scanning mmc 1:2... ** Unable to read file / ** Failed to load '/' libfdt fdt_check_header(): FDT_ERR_BADMAGIC BootOrder not defined EFI boot manager: Cannot load any image starting USB... Bus usb@3100000: Register 200017f NbrPorts 2 Starting the controller USB XHCI 1.00 Bus usb@3110000: Register 200017f NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus usb@3100000 for devices... 1 USB Device(s) found scanning bus usb@3110000 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Device 0: unknown device Trying load from SD ... switch to partitions #0, OK mmc0 is current device Device: FSL_SDHC Manufacturer ID: 9f OEM: 5449 Name: SD32G Bus Speed: 50000000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 28.9 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes MMC read: dev # 0, block # 32768, count 81920 ... 81920 blocks read: OK Wrong Image Format for bootm command ERROR: can't get kernel image! Signed-off-by: Wei Ming Chen Signed-off-by: Peng Fan --- diff --git a/configs/ls1028ardb_tfa_defconfig b/configs/ls1028ardb_tfa_defconfig index 09d5deea1e..a535e8969b 100644 --- a/configs/ls1028ardb_tfa_defconfig +++ b/configs/ls1028ardb_tfa_defconfig @@ -101,3 +101,4 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_RTL8152=y CONFIG_WDT=y CONFIG_WDT_SP805=y +CONFIG_FSL_ESDHC_SUPPORT_ADMA2=y diff --git a/include/configs/ls1028ardb.h b/include/configs/ls1028ardb.h index d44ce45fd6..9c869ee684 100644 --- a/include/configs/ls1028ardb.h +++ b/include/configs/ls1028ardb.h @@ -53,6 +53,7 @@ #define CFG_EXTRA_ENV_SETTINGS \ "board=ls1028ardb\0" \ "hwconfig=fsl_ddr:bank_intlv=auto\0" \ + "fdtfile=fsl-ls1028a-rdb.dtb\0" \ "ramdisk_addr=0x800000\0" \ "ramdisk_size=0x2000000\0" \ "bootm_size=0x10000000\0" \