Firmware Upgrade - esti-led/switchdev-trial GitHub Wiki
Upgrading the firmware to enable using Switchdev includes the following stages:
These stages are described below.
- Connect to the HOST CPU, in our example this is an ARMADA-7K device.
- Fetch the required flash image from the serverm as shown in the following example:
DNI:
tftp 10.5.116.4 -m binary -c get /tftpboot/switchdev/shared/mrvl_val/tn4810m-prestera-fw-flash-image-v1.0.img
tftp 10.5.116.4 -m binary -c get /tftpboot/switchdev/shared/mrvl_val/tn48m-prestera-fw-flash-image-v1.0.img
ACCTON:
tftp 10.5.116.4 -m binary -c get switchdev/shared/mrvl_val/as5114-loader/as5114_48x-prestera-fw-flash-image-v1.0.img
tftp 10.5.116.4 -m binary -c get switchdev/shared/mrvl_val/as4224-loader/as4224_52p-prestera-fw-flash-image-v1.0.img
/usr/bin/fw_flash -i <flash_image>
At this point the HOST image is updated and you can proceed to the next stage.
From the HOST CPU Linux CLI:
- Modify the boot vector - boot from PCIe:
The platform includes a CPLD that controls the BOOT vector of the coprocessor (FW_CPU).
If the coprocessor NAND FLASH is empty, use the following procedure to upload the NAND Flash, and repeat the process for all boards.
DNI:
i2cset -y 2 0x41 0x11 0x2c
ACCTON:
i2cset -y 0 0x40 0xe0 0x1
i2cset -y 0 0x40 0x51 0x6c
- Soft reboot on the HOST CPU:
amzgo-host# reboot
- From the firmware console you should see this output, indicating boot from PCIe:
BootROM - 1.73
Booting from PEX0 (X1)
- Stop at HOST u-boot and modify the bar window size allocation:
Marvell>>
DNI:
/* window size */
mw 0xc0081804 0x007f0001
mw 0xc0081808 0x003f0001
ACCTON:
mw 0xf6081804 0x007f0001
mw 0xf6081808 0x003f0001
- Boot to the HOST Linux system:
Marvell>> boot
- At this point the PCIe is ready to use:
amzgo-host# lspci
00:00.0 PCI bridge: Marvell Technology Group Ltd. Device 0110
01:00.0 Memory controller: Marvell Technology Group Ltd. Device 6820 (rev 0a)
- Download the image from TFTP:
DNI:
tftp 10.5.116.4 -m binary -c get switchdev/shared/mrvl_val/tn4810m-loader/tn4810m-prestera-fw-flash-image-v1.0.img
tftp 10.5.116.4 -m binary -c get switchdev/shared/mrvl_val/tn48m-loader/tn48m-prestera-fw-flash-image-v1.0.img
ACCTON:
tftp 10.5.116.4 -m binary -c get switchdev/shared/mrvl_val/as5114-loader/as5114_48x-prestera-fw-flash-image-v1.0.img
tftp 10.5.116.4 -m binary -c get switchdev/shared/mrvl_val/as4224-loader/as4224_52p-prestera-fw-flash-image-v1.0.img
- Upgrade the firmware flash image:
/usr/bin/fw_flash -f -i <image>
- Modify the boot vector again - boot from NAND:
amzgo-host#
DNI:
i2cset -y 2 0x41 0x11 0x4a
ACCTON:
i2cset -y 0 0x40 0xe0 0x1
i2cset -y 0 0x40 0x51 0x4a
- Reboot.
- The firmware console should show this output:
BootROM - 1.73
Booting from NAND flash
You have completed the firmware upgrade.