Morello Board: fail to progress to UEFI boot menu

My Morello Board (MB) fails to progress to the UEFI menu,

no "Press ESCAPE for boot options". I have done the following:

1) I have updated the MB internal SDcard to the latest

Arm M1SDP MCC Firmware v2.3.0
Build Date: Apr 19 2022

2) I have build a bootable USB memory stick with a ready to use binary image copied from www.cheribsd.org


cm770@pursuit2:/camb/carloscheri$ sudo dd if=cheribsd-memstick-arm64-aarch64c-22.05p1.img of=/dev/sdc conv=fsync bs=1M
[sudo] password for cm770:
777+1 records in
777+1 records out
814955008 bytes (815 MB, 777 MiB) copied, 124.943 s, 6.5 MB/s


3) I have tried to reboot from the image on mu USB memory but it seems that the Morello Board does not recognise (or detect) the bootable image on my memory stick. It never progresses to the UEFI boot menu.

4) I have tried:

a) Five different memory sticks with the dowloaded binary image mentiones in 2) and with an image that I have created with cherybuild.by
-rw-r--r-- 1 cm770  cm770  773732864  Jul 31 17:57 FreeBSD-14.0-CURRENT-arm64-aarch64c-memstick.img

b) I have created the bootable USB drive from unbunto 18.04 and on MacOS

c) I have tried the bootable USB sticks on a second Morello Board (I have two of them).

d) I have plugged the USD stick on different ports (4 of them)  of the Morello Board.

e) I have turned off the Morello Board, waited for several minutes before turning it on  again. 

I always fails and produces the same outputs.  I'm attaching them. 1 to 3 are preliminary steps. The outcomes from the reboot process are at the end 4 to 6.

Can someone tell from the outputs if the problem is :


a) Firmware software on the SDcard 

b) Incorrect software of the bootable image

c) Incorrect creation of the bootable image with the dd command. For example, wrong partition of the USB mem stick. I have formatted it on ubunto, single partition, "compatible with all systems and devices (MRB/DOS).

MorelloBoardFails toReach_UEFIboot.txt
 
Sun 31 Jul 22:52:10 BST 2022


1) I have produced a bootable USB mem stick 

cm770@pursuit2:/camb/carloscheri$ lsblk
 ...
sdb      8:16   0 465.8G  0 disk 
└─sdb1   8:17   0 465.8G  0 part /camb
sdc      8:32   1  58.2G  0 disk 
sr0     11:0    1  1024M  0 rom  

cm770@pursuit2:/camb/carloscheri$ sudo dd if=cheribsd-memstick-arm64-aarch64c-22.05p1.img of=/dev/sdc conv=fsync bs=1M
[sudo] password for cm770: 
777+1 records in
777+1 records out
814955008 bytes (815 MB, 777 MiB) copied, 124.943 s, 6.5 MB/s
 

2) sync
cm770@pursuit2:/camb/carloscheri$ sync
 

3) I have upgraded the Morello board internal SDcard
cm770@pursuit2:/$ lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdc      8:32   1   1.9G  0 disk 
└─sdc1   8:33   1   1.9G  0 part /media/cm770/M1SDP
   

3.1) mount SDcard
cm770@pursuit2:/$ sudo mount /dev/sdc1 /mnt
[sudo] password for cm770: 

cm770@pursuit2:~$ sudo mount /dev/sdc1 /mnt
 
cm770@pursuit2:~$ ls /mnt
config.txt  ee0364b.txt  LIB  LICENSES	MB  SOFTWARE

 
3.2) Remove old files from SDcard
cm770@pursuit2:~$ sudo rm -R /mnt/*
 
 
3.3 Copy new files to SDcard
cm770@pursuit2:~$ sudo cp -rf /camb/carloscheri/board-firmware-morello-mainline/* /mnt 



cm770@pursuit2:~$ ls -l /mnt
total 192
-rwxr-xr-x 1 root root  1199 Jul 31 23:24 config.txt
-rwxr-xr-x 1 root root   215 Jul 31 23:24 ee0364b.txt
drwxr-xr-x 2 root root 32768 Jul 31 23:24 LIB
drwxr-xr-x 5 root root 32768 Jul 31 23:24 LICENSES
drwxr-xr-x 3 root root 32768 Jul 31 23:24 MB
drwxr-xr-x 2 root root 32768 Jul 31 23:24 SOFTWARE

cm770@pursuit2:~$ sync

3.4 umount SDcard to prevent corruption
cm770@pursuit2:~$ sudo umount /dev/sdc1



 

4) I have plugged to bootable USB stick to one of the
USB ports of the Morello board and turned it ON


Cmd> 

Arm M1SDP MCC Boot loader v1.0.0
HBI0364 build 534

MCC: Power On

MCC to access SD card request acknowledged.
Clear ULINK JTAG

Time :  22:27:25 
Date :  31:07:2022 

Arm M1SDP MCC Firmware v2.3.0
Build Date: Apr 19 2022

Powering up system...

MCC to access SD card request acknowledged.
Clear ULINK JTAG

Time :  22:27:32 
Date :  31:07:2022 

Switching on ATXPSU...
Switching on main power...

12V Rail Check Pass

Reading Board File \MB\HBI0364B\io_v010f.txt
TOTAL OSCCLKS: 15
PMIC RAM configuration (80_1_86G.bin)...

Temperature (deg C)
Outlet = 30.9 PMIC   = 39.1 SoC = 37.1 IN2  = 33.9 IN1 = 32.9 
MidBrd = 39   PCIeSW = 41   MCC = 36.2 FPGA = 35.0 SoC Fan Speed = 9%
ALERT off

Configuring motherboard (rev B, var A)...

Configuring FPGA from file \MB\HBI0364B\io_v010f.bit
Address: 0x007E0000
FPGA configuration complete.

Config clocks num: 15
OSCCLK0  : 50.000000MHz
OSCCLK1  : 50.000000MHz
OSCCLK2  : 50.000000MHz
OSCCLK3  : 50.000000MHz
OSCCLK4  : 50.000000MHz
OSCCLK5  : 50.000000MHz
OSCCLK6  : 50.000000MHz
OSCCLK7  : 50.000000MHz
OSCCLK8  : 75.000000MHz
OSCCLK9  : 85.000000MHz
OSCCLK10  : 12.288000MHz
OSCCLK11  : 50.000000MHz
OSCCLK12  : 50.000000MHz
OSCCLK13  : 50.000000MHz
OSCCLK14  : 170.000000MHz
OSCCLK setup: PASSED
GTXCLK setup: PASSED

EEPROM config found
File to compare \MB\HBI0364B\pci_v002.bin \MB\HBI0364B\pci_v002.bin
UPDATE IN PROGRESS

PCIe PEX I2C configuration
PCIe I2C R/W test passed...
Reading PCIe EEPROM file \MB\HBI0364B\pci_v002.bin
DMA TX Handler
Address: 0x00000017
PCIe EEPROM programmed

Writing SCC 0x014 with ACLK 50000000 Hz
Writing SCC 0x00C with 0x00000003
Writing SCC 0x020 with 0x06090805
Writing SCC 0x024 with 0x06060606
Writing SCC 0x028 with 0x00000606
Writing SCC 0x1160 with 0x00000001
Writing SCC 0x1164 with 0x01000000
Writing SCC 0x1168 with 0x00000000
Writing SCC 0x116C with 0x00000000
Writing SCC 0x1180 with 0x00000000
Writing SCC 0x1184 with 0x0000000C
Writing SCC 0x1188 with 0x00000000
Writing SCC 0x118C with 0x00000000
Writing SCC 0x1190 with 0x00000000
Writing SCC 0x1194 with 0x00000000
Writing SCC 0x1198 with 0x00000000
Writing SCC 0x119C with 0x00000000
Reading SCC 0xFF8 with 0x0A364A08
Reading SCC 0xFFC with 0x41050000

QSPI Controller detected id = 0x4000303
Device ID 0x20, 0xBB, 0x19
Setting QSPI dummy clocks...
Dummy clocks already set
Device ID 0x20, 0xBB, 0x19
QSPI Controller detected id = 0x4000303
Device ID 0x20, 0xBB, 0x19
Setting QSPI dummy clocks...
Dummy clocks already set
Device ID 0x20, 0xBB, 0x19
QSPI Controller detected id = 0x4000303
Device ID 0x20, 0xBB, 0x19
Setting QSPI dummy clocks...
Dummy clocks already set
Device ID 0x20, 0xBB, 0x19
Updating SCP qspi with PCC bios
......
File \MB\HBI0364B\pcc_v055.bin written to MCC memory address 0x65F00000
DMA TX Handler
PCC Bios updated from \MB\HBI0364B\pcc_v055.bin
Waiting for PCC to copy boot loader from QSPI...

Powering down...

MCC to access SD card request acknowledged.

SPI Write command to PCC: register 3 cmd 0xD003 tx data 0x1
SPI Return data from PCC: register 3 cmd 0x2000 rx data 0x0

Resetting board.
Clear ULINK JTAG


Arm M1SDP MCC Boot loader v1.0.0
HBI0364 build 534

MCC: Power On

MCC to access SD card request acknowledged.
Clear ULINK JTAG

Time :  22:28:15 
Date :  31:07:2022 


Powering up system...

MCC to access SD card request acknowledged.
Clear ULINK JTAG

Time :  22:28:20 
Date :  31:07:2022 

Switching on ATXPSU...
Switching on main power...

12V Rail Check Pass

Reading Board File \MB\HBI0364B\io_v010f.txt
TOTAL OSCCLKS: 15
PMIC RAM configuration (80_1_86G.bin)...

Temperature (deg C)
Outlet = 30.9 PMIC   = 38.4 SoC = 35.1 IN2  = 32.9 IN1 = 32.2 
MidBrd = 38   PCIeSW = 40   MCC = 36.2 FPGA = 35.0 SoC Fan Speed = 9%
ALERT off

Configuring motherboard (rev B, var A)...

Configuring FPGA from file \MB\HBI0364B\io_v010f.bit
Address: 0x007E0000
FPGA configuration complete.

Config clocks num: 15
OSCCLK0  : 50.000000MHz
OSCCLK1  : 50.000000MHz
OSCCLK2  : 50.000000MHz
OSCCLK3  : 50.000000MHz
OSCCLK4  : 50.000000MHz
OSCCLK5  : 50.000000MHz
OSCCLK6  : 50.000000MHz
OSCCLK7  : 50.000000MHz
OSCCLK8  : 75.000000MHz
OSCCLK9  : 85.000000MHz
OSCCLK10  : 12.288000MHz
OSCCLK11  : 50.000000MHz
OSCCLK12  : 50.000000MHz
OSCCLK13  : 50.000000MHz
OSCCLK14  : 170.000000MHz
OSCCLK setup: PASSED
GTXCLK setup: PASSED

EEPROM config found
File to compare \MB\HBI0364B\pci_v002.bin \MB\HBI0364B\pci_v002.bin
Writing SCC 0x014 with ACLK 50000000 Hz
Writing SCC 0x00C with 0x00000003
Writing SCC 0x020 with 0x06090805
Writing SCC 0x024 with 0x06060606
Writing SCC 0x028 with 0x00000606
Writing SCC 0x1160 with 0x00000001
Writing SCC 0x1164 with 0x01000000
Writing SCC 0x1168 with 0x00000000
Writing SCC 0x116C with 0x00000000
Writing SCC 0x1180 with 0x00000000
Writing SCC 0x1184 with 0x0000000C
Writing SCC 0x1188 with 0x00000000
Writing SCC 0x118C with 0x00000000
Writing SCC 0x1190 with 0x00000000
Writing SCC 0x1194 with 0x00000000
Writing SCC 0x1198 with 0x00000000
Writing SCC 0x119C with 0x00000000
Reading SCC 0xFF8 with 0x0A364A08
Reading SCC 0xFFC with 0x41050000

QSPI Controller detected id = 0x4000303
Device ID 0x20, 0xBB, 0x19
Setting QSPI dummy clocks...
Dummy clocks already set
Device ID 0x20, 0xBB, 0x19
QSPI Controller detected id = 0x4000303
Device ID 0x20, 0xBB, 0x19
Setting QSPI dummy clocks...
Dummy clocks already set
Device ID 0x20, 0xBB, 0x19
QSPI Controller detected id = 0x4000303
Device ID 0x20, 0xBB, 0x19
Setting QSPI dummy clocks...
Dummy clocks already set
Device ID 0x20, 0xBB, 0x19

Reading images file \MB\HBI0364B\images.txt
Updating MCP file

File \SOFTWARE\mcp_fw.bin written to MCC memory address 0x64000000
DMA TX Handler
Image: mcp_fw updated from \SOFTWARE\mcp_fw.bin
Updating SCP file
......
File \SOFTWARE\scp_fw.bin written to MCC memory address 0x64000000
DMA TX Handler
Image: scp_fw updated from \SOFTWARE\scp_fw.bin
Updating AP QSPI file
.......................................................................................
File \SOFTWARE\fip.bin written to MCC memory address 0x66000000
DMA TX Handler
Image: fip updated from \SOFTWARE\fip.bin

PCIe mac address = 0002 F70098FF
PCC mac address = 0002 F70098FE
LAN9221 was identified successfully.
MAC addrs test: PASSED

SMC MAC address 0002-F700-9900

Identifying DDR 0

Device Information
Manufacturer ID = 80 2C
Module Part Number = 9ASF1G72PZ-2G9E1    
Module Serial Number = F2 E C2 0

Identifying DDR 1

Device Information
Manufacturer ID = 80 2C
Module Part Number = 9ASF1G72PZ-2G9E1    
Module Serial Number = F2 E BF D8

Setting System LEDs[7:4]
Setting PCIe_nPERST/PCIESW_PERSTN
PCIe control C2C disabled
APUART0 connected to USBPORT_3
SCPUART connected to USBPORT_4
MCPUART connected to USBPORT_5
PL031 Date & Time set = Sun Jul 31 22:29:18 2022

QSPI test (0x6403FEF8):0xFFFFFFFF
Releasing SOC_nPOR/SOC_nSRST

SPI Write command to PCC: register 3 cmd 0xD003 tx data 0x2
SPI Return data from PCC: register 3 cmd 0x2000 rx data 0x0

USB Serial Number = 500541683016
Cmd> 



5) Show Firmware
Cmd> ?

Arm M1SDP MCC Firmware v2.3.0
Build Date: Apr 19 2022
Build Time: 13:40:34

+ command ------------------+ function ---------------------------------+
| CAP "fname" [/A]          | captures serial data to a file            |
|                           |  [/A option appends data to a file]       |
| FILL "fname" [nnnn]       | create a file filled with text            |
|                           |  [nnnn - number of lines, default=1000]   |
| TYPE "fname"              | displays the content of a text file       |
| REN "fname1" "fname2"     | renames a file 'fname1' to 'fname2'       |
| COPY "fin" ["fin2"] "fout"| copies a file 'fin' to 'fout' file        |
|                           |  ['fin2' option merges 'fin' and 'fin2']  |
| DEL "fname"               | deletes a file                            |
| DIR "[mask]"              | displays a list of files in the directory |
| FORMAT [label]            | formats Flash Memory Card                 |
| USB_INIT                  | Re-initialize USB                         |
| USB_ON                    | Enable usb                                |
| USB_OFF                   | Disable usb                               |
| SHUTDOWN                  | Shutdown PSU (leave micro running)        |
| REBOOT                    | Power cycle system and reboot             |
| RESET                     | Reset Board using CB_nRST                 |
| IOFPGA_VERSION            | Displays IOFPGA Version                   |
| DEBUG                     | Enters debug menu                         |
| EEPROM                    | Enters eeprom menu                        |
| HELP  or  ?               | displays this help                        |
|                                                                       |
| THE FOLLOWING COMMANDS ARE ONLY AVAILABLE IN RUN MODE                 |
|                                                                       |
| CASE_FAN_SPEED "SPEED"    | SLOW, MEDIUM, FAST, 0%, 10%, 20%, .. 100% |
| READ_AXI "fname"          | Read system memory to file 'fname'        |
|          "address"        | from address to end address               |
|          "end_address"    |                                           |
| WRITE_AXI "fname"         | Write file 'fname' to system memory       |
|           "address"       | at address                                |
+---------------------------+-------------------------------------------+



Cmd> DIR

MCC to access SD card request acknowledged.

File System Directory...
CONFIG.TXT                                         1.199   31.07.2022  22:24
EE0364B.TXT                                          215   31.07.2022  22:24
LIB                                          -DIR-         31.07.2022  22:24
LICENSES                                     -DIR-         31.07.2022  22:24
MB                                           -DIR-         31.07.2022  22:24
TRASH-~1                                     -DIR-         08.06.2022  22:39
SOFTWARE                                     -DIR-         31.07.2022  22:24
LOG.TXT                                            1.507   01.01.2016  12:00
                      3 File(s)                    2.921 bytes
                      5 Dir(s)             1.994.489.856 bytes free.

Cmd> USB_ON
Enabling debug USB...
Cmd> 






6) I have tried to reboot from bootable USB stick. 

Cmd> reboot
Rebooting...
Disabling debug USB..

MCC to access SD card request acknowledged.
Clear ULINK JTAG
Board rebooting...

Powering up system...

MCC to access SD card request acknowledged.
Clear ULINK JTAG

Time :  22:32:36 
Date :  31:07:2022 

Switching on ATXPSU...
Switching on main power...

12V Rail Check Pass

Reading Board File \MB\HBI0364B\io_v010f.txt
TOTAL OSCCLKS: 15
PMIC RAM configuration (80_1_86G.bin)...

Temperature (deg C)
Outlet = 30.9 PMIC   = 41.9 SoC = 37.0 IN2  = 33.2 IN1 = 34.3 
MidBrd = 42   PCIeSW = 49   MCC = 38.4 FPGA = 38.6 SoC Fan Speed = 9%
ALERT off

Configuring motherboard (rev B, var A)...

Configuring FPGA from file \MB\HBI0364B\io_v010f.bit
Address: 0x007E0000
FPGA configuration complete.

Config clocks num: 15
OSCCLK0  : 50.000000MHz
OSCCLK1  : 50.000000MHz
OSCCLK2  : 50.000000MHz
OSCCLK3  : 50.000000MHz
OSCCLK4  : 50.000000MHz
OSCCLK5  : 50.000000MHz
OSCCLK6  : 50.000000MHz
OSCCLK7  : 50.000000MHz
OSCCLK8  : 75.000000MHz
OSCCLK9  : 85.000000MHz
OSCCLK10  : 12.288000MHz
OSCCLK11  : 50.000000MHz
OSCCLK12  : 50.000000MHz
OSCCLK13  : 50.000000MHz
OSCCLK14  : 170.000000MHz
OSCCLK setup: PASSED
GTXCLK setup: PASSED

EEPROM config found
File to compare \MB\HBI0364B\pci_v002.bin \MB\HBI0364B\pci_v002.bin
Writing SCC 0x014 with ACLK 50000000 Hz
Writing SCC 0x00C with 0x00000003
Writing SCC 0x020 with 0x06090805
Writing SCC 0x024 with 0x06060606
Writing SCC 0x028 with 0x00000606
Writing SCC 0x1160 with 0x00000001
Writing SCC 0x1164 with 0x01000000
Writing SCC 0x1168 with 0x00000000
Writing SCC 0x116C with 0x00000000
Writing SCC 0x1180 with 0x00000000
Writing SCC 0x1184 with 0x0000000C
Writing SCC 0x1188 with 0x00000000
Writing SCC 0x118C with 0x00000000
Writing SCC 0x1190 with 0x00000000
Writing SCC 0x1194 with 0x00000000
Writing SCC 0x1198 with 0x00000000
Writing SCC 0x119C with 0x00000000
Reading SCC 0xFF8 with 0x0A364A08
Reading SCC 0xFFC with 0x41050000

QSPI Controller detected id = 0x4000303
Device ID 0x20, 0xBB, 0x19
Setting QSPI dummy clocks...
Dummy clocks already set
Device ID 0x20, 0xBB, 0x19
QSPI Controller detected id = 0x4000303
Device ID 0x20, 0xBB, 0x19
Setting QSPI dummy clocks...
Dummy clocks already set
Device ID 0x20, 0xBB, 0x19
QSPI Controller detected id = 0x4000303
Device ID 0x20, 0xBB, 0x19
Setting QSPI dummy clocks...
Dummy clocks already set
Device ID 0x20, 0xBB, 0x19

Reading images file \MB\HBI0364B\images.txt

PCIe mac address = 0002 F70098FF
PCC mac address = 0002 F70098FE
LAN9221 was identified successfully.
MAC addrs test: PASSED

SMC MAC address 0002-F700-9900

Identifying DDR 0

Device Information
Manufacturer ID = 80 2C
Module Part Number = 9ASF1G72PZ-2G9E1    
Module Serial Number = F2 E C2 0

Identifying DDR 1

Device Information
Manufacturer ID = 80 2C
Module Part Number = 9ASF1G72PZ-2G9E1    
Module Serial Number = F2 E BF D8

Setting System LEDs[7:4]
Setting PCIe_nPERST/PCIESW_PERSTN
PCIe control C2C disabled
APUART0 connected to USBPORT_3
SCPUART connected to USBPORT_4
MCPUART connected to USBPORT_5
PL031 Date & Time set = Sun Jul 31 22:32:55 2022

QSPI test (0x6403FEF8):0xFFFFFFFF
Releasing SOC_nPOR/SOC_nSRST

SPI Write command to PCC: register 3 cmd 0xD003 tx data 0x2
SPI Return data from PCC: register 3 cmd 0x2000 rx data 0x0

USB Serial Number = 500541683016

Cmd>