Layerscape Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Layerscape Knowledge Base

Discussions

Sort by:
This how-to topic is applicable only for LSDK 18.09 and older releases. For LSDK 18.12 and newer releases, refer LS1088ARDB-PB - How to deploy TF-A binaries on SD card. Follow these steps to update the PBL/RCW binary on the SD card.  Compiling PBL binary from RCW source file (optional) If user already has a PBL binary, this step can be skipped.   Clone the  rcw repository and compile the PBL binary.  $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/rcw $ cd rcw $ git checkout -b <new branch name> <LSDK tag>. For example, $ git checkout -b LSDK-18.09 LSDK-18.09  $ cd ls1088ardb If required, make changes to the rcw files. $ make   The default PBL binary for LS1088ARDB/LS1088ARDB-PB is FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_qspi.bin.   See the rcw/ls1088ardb/README file for an explanation of the naming convention for the directories that contain the RCW source and binary files. SD card start block number for PBL/RCW binary Image  SD card start block number PBL/RCW binary 0x00008 = 8 Refer the Flash layout for old boot flow with PPA – LSDK 18.09 and older releases for complete listing of the SD card start block numbers for all LSDK firmware images. Programming PBL/RCW binary to SD card Plug the SD card into the Linux host. Run the following command on the Linux host: $ sudo dd if=rcw_1600_qspi.bin of=/dev/sdX bs=512 seek=8 conv=fsync Use the command cat /proc/partitions to see a list of devices and their sizes to make sure that the correct device names have been chosen. The SDHC storage drive in the Linux PC is detected as /dev/sdX, where X is a letter such as a, b, c. Make sure to choose the correct device name, because data on this device will be replaced. If your Linux host machine supports read/write SDHC card directly without an extra SDHC card reader device, the device name of SDHC card is typically mmcblk0.    Remove the SD card from the Linux host machine. On the LS1088ARDB/LS1088ARDB-PB, ensure that the switches are set to boot the board from the SD card.  For booting from SD card, SW1[1:8] + SW2[1] = 0010_0000_0  Plug the SD card to the board and boot the board to Ubuntu. If U-Boot does not find LSDK on the SD card, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored on the SD card.
View full article
Follow these steps to update the DPAA1 FMan ucode image in NOR flash.  cpld reset boots the board from NOR bank 0 and cpld reset altbank boots the board from the NOR bank  4.  0x64000000 is the location of RCW in the alternate NOR bank, that is NOR bank 4.  0x60000000 is the location of RCW in the NOR bank 0.   Obtaining DPAA1 FMan ucode image Clone the qoriq-fm-ucode repository. $ git clone https://github.com/NXP/qoriq-fm-ucode.git $ cd qoriq-fm-ucode $ git checkout LSDK-<LSDK version>. For example, $ git checkout LSDK-19.06 The prebuilt FMan ucode images, fsl_fman_ucode_ls1043_r1.1_<microcode version>.bin, are at qoriq-fm-ucode/. In the binary file, ls1043_r1.1 refers to the LS1043A silicon revision 1.1. See qoriq-fm-ucode/readme for a description of the ucode version numbers. Programming FMan ucode image to NOR flash FMan ucode image can be loaded to LS1043ARDB from a TFTP server or from a mass storage device (SD, USB, or SATA). Option 1: Load image from the TFTP server Boot LS1043ARDB from NOR flash. Ensure that the switches are set to boot the board from NOR bank 0. For booting from NOR bank 0, switch settings are as follows: SW3[1:8] = 10110011 SW4[1:8] = 00010010 SW5[1:8] = 10100010 Boot from NOR bank 0: => cpld reset For LS1043ARDB, in boot log, you'll see: Board: LS1043ARDB, boot from vBank 0 Set up Ethernet connection When board boots up, U-Boot prints a list of enabled Ethernet interfaces. FM1@DTSEC1, FM1@DTSEC2, FM1@DTSEC3 [PRIME], FM1@DTSEC4, FM1@DTSEC5 Set server IP address to the IP address of the host machine on which you have configured the TFTP server.  => setenv serverip <ipaddress1> Set ethact and ethprime as the Ethernet interface connected to the TFTP server. See LS1043ARDB Ethernet and FMC port mapping for the mapping of Ethernet port names appearing on the chassis front panel with the port names in U-Boot and Linux. => setenv ethprime <name of interface connected to TFTP server> For example: => setenv ethprime FM1@DTSEC4 => setenv ethact <name of interface connected to TFTP server> For example: => setenv ethact FM1@DTSEC4 Set IP address of the board. You can set a static IP address or, if the board can connect to a dhcp server, you can use the dhcp command.  Static IP address assignment: => setenv ipaddr <ipaddress> => setenv netmask <subnet mask> Dynamic IP address assignment: => dhcp Save the settings. => saveenv Check the connection between the board and the TFTP server. => ping $serverip Using FM1@DTSEC4 device host 192.168.1.1 is alive Load FMan ucode image from the TFTP server Load FMan ucode image in DDR memory: => tftp a0000000 <path to FMan ucode>/fsl_fman_ucode_ls1043_r1.1_<ucode version>.bin Program the FMan ucode image to NOR bank 4: => erase 64900000 +$filesize && cp.b a0000000 64900000 $filesize Address  0x64900000 is the location of the FMan ucode image in NOR bank 4.  Refer Flash layout for new boot flow with TF-A for the complete flash memory layout. Boot from NOR bank 4 and press Enter to stop the autoboot: => cpld reset altbank In boot log, you’ll see: Board: LS1043ARDB, boot from vBank 4 You can check the following code line in the boot log to confirm that the DPAA1 FMan ucode image in NOR bank 4 is updated. Fman1: Uploading microcode version 106.4.18 Ensure that SD card, USB flash drive, or SCSI hard disk installed with NXP LSDK userland is plugged into the board to boot the board to the LSDK userland.  => cpld reset altbank NXP LSDK 1906 main localhost login: root [ OK ] Stopped Serial Getty on ttyS0. [ OK ] Started Serial Getty on ttyS0. NXP LSDK 1906 main localhost login: root Password: Last login: Fri Feb 22 04:29:12 UTC 2019 on ttyS0 Welcome to NXP LSDK 1906 main (GNU/Linux 4.19.46 aarch64) * Support: https://www.nxp.com/lsdk * Documentation: https://lsdk.github.io/document * Licensing: https://lsdk.github.io/eula root@localhost:~# Option 2: Load image from partition on mass storage device (SD, USB, or SATA) Boot LS1043ARDB from NOR flash. Ensure that the switches are set to boot the board from NOR bank 0. For booting from NOR bank 0, switch settings are as follows: SW3[1:8] = 10110011 SW4[1:8] = 00010010 SW5[1:8] = 10100010 Boot from NOR bank 0: => cpld reset   For LS1043ARDB, in boot log, you'll see: Board: LS1043ARDB, boot from vBank 0 Select mass storage device to use. => mmc rescan => mmc info Or => usb start => usb info Or => scsi scan => scsi info Optional – List files on storage device => ls mmc <device:partition> For example: => ls mmc 0:3 System Volume Information/ 32604 fsl_fman_ucode_ls1043_r1.1_106_4_18.bin 1 file(s), 1 dir(s) Or => ls usb <device:partition> For example: => ls usb 0:1 Or => ls scsi <device:partition> For example: => ls scsi 0:2 If the ls command fails to run, check that U-Boot in NOR bank 0 supports the command by typing ls at the U-Boot prompt: => ls ls - lists files in a directory (default) Usage: ls <interface> [<dev[:part]> [directory]] - Lists files in directory [directory] of partition [part] on device type [interface] and instance [dev]. If U-Boot does not support this command, then update the composite firmware image in NOR bank 0. For steps to update composite firmware image in NOR flash, see Layerscape Software Development Kit User Guide. Load FMan ucode image from the storage device. => load mmc <device:partition> 80000000 <image name> => print filesize For example: => load mmc 0:3 80000000 fsl_fman_ucode_ls1043_r1.1_106_4_18.bin 32604 bytes read in 18 ms (1.8 MiB/s) => print filesize filesize=7f5c Or => load usb <device:partition> 80000000 <image name> => print filesize Or => load scsi <device:partition> 80000000 <image name> => print filesize Program the FMan ucode image to NOR bank 4: => erase 64900000 +$filesize && cp.b 80000000 64900000 $filesize Address  0x64900000 is the location of the FMan ucode image in NOR bank 4.  Refer Flash layout for new boot flow with TF-A for the complete flash memory layout. Boot from NOR bank 4 and press Enter to stop the autoboot: => cpld reset altbank In boot log, you’ll see: Board: LS1043ARDB, boot from vBank 4 You can check the following code line in the boot log to confirm that the DPAA1 FMan ucode image in NOR bank 4 is updated. Fman1: Uploading microcode version 106.4.18 Ensure that SD card, USB flash drive, or SCSI hard disk installed with NXP LSDK userland is plugged into the board to boot the board to the LSDK userland.  => cpld reset altbank NXP LSDK 1906 main localhost login: root [ OK ] Stopped Serial Getty on ttyS0. [ OK ] Started Serial Getty on ttyS0. NXP LSDK 1906 main localhost login: root Password: Last login: Fri Feb 22 04:29:12 UTC 2019 on ttyS0 Welcome to NXP LSDK 1906 main (GNU/Linux 4.19.46 aarch64) * Support: https://www.nxp.com/lsdk * Documentation: https://lsdk.github.io/document * Licensing: https://lsdk.github.io/eula root@localhost:~#
View full article
Follow these steps to update the composite firmware image in QSPI NOR flash. qixis_reset boots the board from QSPI NOR flash0 and qixis_reset altbank boots the board from QSPI NOR flash1. sf probe 0:1 means that the alternate bank will be written to. So, if the board boots from QSPI NOR flash0 and sf probe 0:1 is entered at the U-Boot prompt, the commands that follow will program QSPI NOR flash1. Obtaining composite firmware image  LSDK includes pre-built firmware images for QSPI NOR flash. The LSDK composite firmware includes RCW+PBI, boot loader firmware, DPAA1 FMan ucode, QE/uQE firmware, Ethernet PHY firmware, DPAA2 MC firmware, DPAA2 DPL, DPAA2 DPC, device tree, and lsdk_linux_<arch>.itb images. Refer the Layerscape Software Development Kit <version> Documention for the complete flash memory layout of the images.  On a Linux host machine, download composite firmware image from nxp.com.    $ wget http://www.nxp.com/lgfiles/sdk/lsdk<lsdk_version>/firmware_<RDB_name>_uboot_qspiboot.img  For example: For LS1088ARDB:  $ wget http://www.nxp.com/lgfiles/sdk/lsdk1809/firmware_ls1088ardb_uboot_qspiboot.img  For LS1088ARDB-PB:  $ wget https://www.nxp.com/lgfiles/sdk/lsdk1809/firmware_ls1088ardb_pb_uboot_qspiboot.img Flashing composite firmware images to QSPI NOR flash Boot LS1088ARDB/LS1088ARDB-PB from QSPI. Ensure that the switches are set to boot the board from QSPI. For booting from QSPI , SW1[1:8] + SW2[1] = 0011_0001_X Boot from QSPI NOR flash0: => qixis_reset For LS1088ARDB, in boot log, you’ll see: Board: LS1088A-RDB, Board Arch: V1, Board version: C, boot from QSPI:0 For LS1088ARDB-PB, in boot log, you'll see: Board: LS1088ARDB-PB, Board Arch: V1, Board version: A, boot from QSPI:0 Composite firmware image can be loaded to the LS1088ARDB/LS1088ARDB from a TFTP server or from a mass storage device (SD, USB, or SATA). Option 1: Load image from the TFTP server   Set up Ethernet connection When board boots up, U-Boot prints a list of enabled Ethernet interfaces. DPMAC1@xgmii, DPMAC2@xgmii, DPMAC3@qsgmii, DPMAC4@qsgmii, DPMAC5@qsgmii, DPMAC6@qsgmii, DPMAC7@qsgmii, DPMAC8@qsgmii, DPMAC9@qsgmii, DPMAC10@qsgmii Set server IP address to the IP address of the host machine on which you have configured the TFTP server.  => setenv serverip <ipaddress1> Set ethact and ethprime as the ethernet interface connected to the TFTP server. See LS1088ARDB/LS1088RDB-PB Ethernet port mapping for the mapping of Ethernet port names appearing on the chassis front panel with the port names in U-Boot and Linux. => setenv ethprime <name of interface connected to TFTP server> For example: => setenv ethprime DPMAC3@qsgmii => setenv ethact <name of interface connected to TFTP server> For example: => setenv ethact DPMAC3@qsgmii Set IP address of the board. You can set a static IP address or, if the board can connect to a dhcp server, you can use the dhcp command.  Static IP address assignment: => setenv ipaddr <ipaddress2> => setenv netmask <subnet mask> Dynamic IP address assignment: => dhcp Save the settings. => saveenv Check the connection between the board and the TFTP server. => ping $serverip Using DPMAC3@qsgmii device host 192.168.1.1 is alive   Load U-Boot image from the TFTP server Program QSPI NOR flash1: => sf probe 0:1 Flash LS1088ARDB or LS1088ARDB-PB composite firmware image: For LS1088ARDB: => tftp 0xa0000000 firmware_ls1088ardb_uboot_qspiboot.img => print filesize filesize=2351db0 For LS1088ARDB-PB: => tftp 0xa0000000 firmware_ls1088ardb_pb_uboot_qspiboot.img => print filesize filesize=2351db0 Program composite firmware image to QSPI NOR flash: => sf erase 0x0 +$filesize && sf write 0xa0000000 0x0 $filesize  Boot from QSPI NOR flash1: => qixis_reset altbank For LS1088ARDB, in boot log, you’ll see: Board: LS1088A-RDB, Board Arch: V1, Board version: C, boot from QSPI:1 For LS1088ARDB-PB, in boot log, you'll see: Board: LS1088ARDB-PB, Board Arch: V1, Board version: A, boot from QSPI:1 Ensure that SD card, USB flash drive, or SCSI hard disk installed with LSDK Ubuntu distribution is plugged into the board to boot the board to Ubuntu. If U-Boot does not find LSDK on a mass storage device, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored in QSPI NOR flash. Option 2: Load image from partition on mass storage device (SD, USB, or SATA) Select mass storage device to use. => mmc rescan => mmc info Or => usb start => usb info Or => scsi scan => scsi info Optional – List files on storage device => ls mmc <device:partition> For example: => ls mmc 0:2 Or => ls usb <device:partition> For example: => ls usb 0:1 Or => ls scsi <device:partition> For example: => ls scsi 0:2 Program QSPI NOR flash1: => sf probe 0:1 Load composite firmware image from the storage device => load mmc 0:2 a0000000 <image name> => print filesize For example, for LS1088ARDB: => load mmc 0:2 a0000000 firmware_ls1088ardb_uboot_qspiboot.img => print filesize filesize=235bd40 For example, for LS1088ARDB-PB: => load mmc 0:2 a0000000 firmware_ls1088ardb_pb_uboot_qspiboot.img => print filesize filesize=2351db0 Or => load usb 0:2 a0000000 <image name> => print filesize Or => load scsi 0:2 a0000000 <image name> => print filesize Program image to QSPI NOR flash: => sf erase 0x0 +$filesize && sf write 0xa0000000 0x0 $filesize  Boot from QSPI NOR flash1: => qixis_reset altbank In boot log, you’ll see: For LS1088ARDB, in boot log, you’ll see: Board: LS1088A-RDB, Board Arch: V1, Board version: C, boot from QSPI:1 For LS1088ARDB-PB, in boot log, you'll see: Board: LS1088ARDB-PB, Board Arch: V1, Board version: A, boot from QSPI:1 Ensure that SD card, USB flash drive, or SCSI hard disk installed with LSDK Ubuntu distribution is plugged into the board to boot the board to Ubuntu. If U-Boot does not find LSDK on a mass storage device, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored in QSPI NOR flash.
View full article
Follow these steps to update the DPAA2 MC firmware, DPC, and DPL images in NOR flash. qixis_reset boots the board from NOR bank 0 and qixis_reset altbank boots the board from NOR bank 4. Obtaining MC firmware Clone the qoriq-mc-binary repository. $ git clone https://github.com/NXP/qoriq-mc-binary.git $ cd qoriq-mc-binary/ls2088a/ $ git checkout -b <new branch name> <LSDK tag>. For example, $ git checkout -b LSDK-19.09 LSDK-19.09 The prebuilt MC firmware image, mc_10.18.0_ls2088a.itb, is available at /qoriq-mc-binary/ls2088a/. Note that the name of the MC firmware image may vary depending on the release version used.  Obtaining DPC and DPL images Clone the mc-utils repository and compile the DPC and DPL images. $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/mc-utils $ cd mc-utils $ git checkout -b <new branch name> <LSDK tag>. For example, $ git checkout -b LSDK-19.09 LSDK-19.09 If required, make changes to the DPC and DPL files. $ make -C config/ The compiled dpc.0x2A_0x41.dtb and  dpl-eth.0x2A_0x41.dtb images are available at /mc-utils/config/ls2088a/RDB/. Note that the name of the DPC and DPL images may vary depending on the release version used.  Flashing MC firmware, DPC, and DPL images to NOR flash Boot LS2088ARDB from NOR flash. Ensure that the switches are set to boot the board from NOR bank 0. For booting from NOR bank 0, switch settings are as follows:         SW5[1:8] = 1111 1111      SW3[1:8] = 0001 0010      SW4[1:8] = 1111 1111      SW6[1:8] = 1111 1111      SW7[1:8] = 0100 0010      SW9[1:8] = 0100 0000      SW8[1:8] = 0111 1111     In addition to the above switch settings, make sure the following jumper settings are correct (for RDB Rev E and later) J14 = 1-2, for NOR boot Boot from NOR bank 0: => qixis_reset   For LS2088ARDB, in boot log, you'll see: Board: LS2088AE Rev1.1-RDB, Board Arch: V1, Board version: F, boot from vBank: 0 The images can be loaded to the LS2088ARDB from a TFTP server or from a mass storage device (SD, USB, or SATA). Option 1: Load image from the TFTP server Set up Ethernet connection When board boots up, U-Boot prints a list of enabled Ethernet interfaces. DPMAC1@xgmii, DPMAC2@xgmii, DPMAC3@xgmii, DPMAC4@xgmii, DPMAC5@xgmii, DPMAC6@xgmii, DPMAC7@xgmii, DPMAC8@xgmii    Set server IP address to the IP address of the host machine on which you have configured the TFTP server.  => setenv serverip <ipaddress1>    Set ethact and ethprime as the Ethernet interface connected to the TFTP server. See LS2088ARDB Ethernet port mapping for the mapping of Ethernet port names appearing on the chassis front panel with the port names in U-Boot and Linux.                                                                       => setenv ethprime <name of interface connected to TFTP server> For example: => setenv ethprime DPMAC1@xgmii => setenv ethact <name of interface connected to TFTP server> For example: => setenv ethact DPMAC1@xgmii    Set IP address of the board. You can set a static IP address or, if the board can connect to a dhcp server, you can use the dhcp command.  Static IP address assignment: => setenv ipaddr <ipaddress2> => setenv netmask <subnet mask> Dynamic IP address assignment: => dhcp    Save the settings. => saveenv    Check the connection between the board and the TFTP server. => ping $serverip Using DPMAC1@xgmii device host 192.168.1.1 is alive Load images from a TFTP server Flash MC firmware to NOR bank 4 (after booting from NOR bank 0): => tftp 0x80000000 mc_10.18.0_ls2088a.itb => print filesize => erase 0x584A00000 +$filesize;cp.b 80000000 0x584A00000 $filesize Address 0x584A0000 is the location of MC firmware in alternate NOR bank. Refer Flash layout for new boot flow with TF-A for the complete flash memory layout. Flash DPL image to NOR bank 4 (after booting from NOR bank 0): => tftp 0x80000000 dpl-eth.0x2A_0x41.dtb => print filesize  => erase 0x584D00000 +$filesize;cp.b 80000000 0x584D00000 $filesize Address 0x584D00000 is the location of DPL image in alternate NOR bank. Refer Flash layout for new boot flow with TF-A for the complete flash memory layout. Flash DPC image to NOR bank 4 (after booting from NOR bank 0): => tftp 0x80000000 dpc.0x2A_0x41.dtb => print filesize  => erase 0x584E00000 +$filesize;cp.b 80000000 0x584E00000 $filesize Address 0x584E00000 is the location of DPC image in alternate NOR bank. Refer Flash layout for new boot flow with TF-A for the complete flash memory layout. Boot from NOR bank 4: => qixis_reset altbank Ensure that SD card, USB flash drive, or SCSI hard disk installed with LSDK Ubuntu distribution is plugged into the board to boot the board to Ubuntu. If U-Boot does not find LSDK on a mass storage device, it will boot TinyDistro from lsdk_linux_arm64_tiny.itb stored in NOR flash. Option 2: Load images from partition on mass storage device (SD, USB, or SATA) Select mass storage device to use. => mmc rescan => mmc info Or => usb start => usb info Or => scsi scan => scsi info Optional – List files on the storage device => ls mmc <device:partition> For example: => ls mmc 0:2 Or => ls usb <device:partition> For example: => ls usb 0:1 Or => ls scsi <device:partition> For example: => ls scsi 0:2 If the ls command fails to run, check that U-Boot in NOR bank 0 supports the command by typing ls at the U-Boot prompt: => ls ls - Lists files in a directory (default) Usage: ls <interface> [<dev[:part]> [directory]] - Lists files in directory [directory] of partition [part] on device type [interface] and instance [dev]. If U-Boot does not support this command, then update the composite firmware image in NOR bank 0. For steps to update composite firmware image in NOR bank, see Layerscape Software Development Kit User Guide . Use the following command if the SD card is formatted/created using LSDK flex-installer command: => load <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]] For example: => load mmc 0:2 $load_addr mc_10.18.0_ls2088a.itb Use the following command if the SD card is formatted/created on a Windows PC: => fatload <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]] For example: => fatload mmc 0:2 $load_addr mc_10.18.0_ls2088a.itb Use the following command if the SD card is formatted/created on a Linux PC: => ext2load <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]] For example: =>ext2load mmc 0:2 $load_addr mc_10.18.0_ls2088a.itb Also note that LSDK flex-installer command puts the images on the IInd partition, so 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. Flash MC firmware: Load MC firmware image from the storage device => load mmc 0:2 80000000 <mc firmware> For example: => load mmc 0:2 80000000 mc_10.18.0_ls2088a.itb => print filesize Or => load usb 0:2 80000000 <image name> => print filesize Or => load scsi 0:2 80000000 <image name> => print filesize Program MC firmware image to NOR bank 4 (after booting from NOR bank 0): => erase 0x584A00000 +$filesize;cp.b 80000000 0x584A00000 $filesize  Address 0x584A00000 is the location of MC firmware in alternate NOR bank.  Refer Flash layout for new boot flow with TF-A for the complete flash memory layout. Flash DPL image: Load DPL image from the storage device => load mmc 0:2 80000000 <dpl image> For example: => load mmc 0:2 80000000 dpl-eth.0x2A_0x41.dtb => print filesize Or => load usb 0:2 80000000 <image name> => print filesize Or => load scsi 0:2 80000000 <image name> => print filesize Program DPL image to NOR bank 4 (after booting from NOR bank 0): => erase 0x584D00000 +$filesize;cp.b 80000000 0x584D00000 $filesize Address 0x584D00000 is the location of DPL image in alternate NOR flash.  Refer Flash layout for new boot flow with TF-A for the complete flash memory layout. Flash DPC image: Load DPC image from the storage device => load mmc 0:2 80000000 <dpc image> For example: => load mmc 0:2 80000000 dpc.0x2A_0x41.dtb => print filesize Or => load usb 0:2 80000000 <image name> => print filesize Or => load scsi 0:2 80000000 <image name> => print filesize Program DPC image to NOR bank 4 (after booting from NOR bank 0): => erase 0x584E00000 +$filesize;cp.b 80000000 0x584E00000 $filesize Address 0x584E00000 is the location of DPC image in alternate NOR flash.  Refer Flash layout for new boot flow with TF-A for the complete flash memory layout. Boot from NOR bank 4: => qixis_reset altbank Ensure that SD card, USB flash drive, or SCSI hard disk installed with LSDK Ubuntu distribution is plugged into the board to boot the board to Ubuntu. If U-Boot does not find LSDK on a mass storage device, it will boot TinyDistro from lsdk_linux_arm64_tiny.itb stored in NOR flash.
View full article
This how-to topic is applicable for only LSDK 18.09 and older releases. Follow these steps to update the PBL/RCW binary in QSPI NOR flash.  cpld reset boots the board from QSPI NOR flash0 and cpld reset altbank boots the board from QSPI NOR flash1. sf probe 0:1 means that the alternate bank will be written to. So, if the board boots from QSPI NOR flash0 and sf probe 0:1 is entered at the U-Boot prompt, the commands that follow will program QSPI NOR flash1.   Compiling PBL binary from RCW source file (optional) If user already has a PBL binary this step can be skipped.   Clone the rcw  repository and compile the PBL binary.  $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/rcw $ cd rcw $ git checkout -b <new branch name> <LSDK tag>. For example, $ git checkout -b LSDK-18.09 LSDK-18.09  $ cd ls1046ardb If required, make changes to the rcw files. $ make The default PBL binary for LS1046ARDB is RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin.swapped By default the QSPI controller on LS1046A reads/writes in 64-bit big endian (BE) mode. This makes it necessary to use a byte swapped PBL binary image, e.g., rcw_1800_qspiboot.bin.swapped. The last PBI command in rcw_1800_qspiboot.bin.swapped is a write to the QPSI_MCR register that changes the endianness of the QSPI controller to 64-bit little endian (LE). With this change, subsequent accesses will be made in little endian format. See the rcw/ls1046ardb/README file for an explanation of the naming convention for the directories that contain the RCW source and binary files. Flashing PBL binary to QSPI NOR flash PBL image can be loaded to LS1046ARDB from a TFTP server or from a mass storage device (SD, USB, or SATA). Option 1: Load image from the TFTP server Boot LS1046ARDB from QSPI NOR flash. Ensure that the switches are set to boot the board from QSPI. For booting from QSPI, SW5[1:8] = 00100010 Boot from QSPI NOR flash0: => cpld reset In boot log, you’ll see: Board: LS1046ARDB, boot from QSPI vBank 0 Set up Ethernet connection When the board boots up, U-Boot prints a list of enabled Ethernet interfaces. FM1@DTSEC3 [PRIME], FM1@DTSEC4, FM1@DTSEC5, FM1@DTSEC6, FM1@TGEC1, FM1@TGEC2 Set server IP to the IP of the host machine on which you have configured the TFTP server.  => setenv serverip <ipaddress1> Set ethact and ethprime as the ethernet interface connected to the TFTP server. Refer LS1046ARDB Ethernet port mapping for the mapping of Ethernet port names appearing on the chassis front panel with the port names in U-Boot and Linux. => setenv ethprime <name of interface connected to TFTP server> For example: => setenv ethprime FM1@DTSEC4 => setenv ethact <name of interface connected to TFTP server> For example: => setenv ethact FM1@DTSEC4 Set IP address of the board. You can set a static IP address or, if the board can connect to a dhcp server, you can use the dhcp command. Static IP address assignment: => setenv ipaddr <ipaddress2> => setenv netmask <subnet mask> Dynamic IP address assignment: => dhcp Save the settings. => saveenv Check the connection between the board and the TFTP server. => ping $serverip Using FM1@DTSEC4 device host 192.168.1.1 is alive Load PBL binary from the TFTP server Program QSPI NOR flash1: => sf probe 0:1 TFTP PBL binary from the server to the DDR and write image to QSPI NOR flash1: => tftp 0xa0000000 <pbl binary> => print filesize filesize=128 => sf erase 0x0 +$filesize && sf write 0xa0000000 0x0 $filesize  Address 0x0 is the location of PBL in the QSPI NOR flash.  Refer Flash layout for boot flow with PPA – LSDK 18.09 and older releases for the complete flash memory layout. Boot from QSPI NOR flash1: => cpld reset altbank In boot log, you’ll see: Board: LS1046ARDB, boot from QSPI vBank 4 Ensure that SD card, USB flash drive, or SCSI hard disk installed with LSDK Ubuntu distribution is plugged into the board to boot the board to Ubuntu. If U-Boot does not find LSDK on a mass storage device, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored in the QSPI NOR flash. Option 2: Load image from partition on mass storage device (SD, USB, or SATA) Boot LS1046ARDB from QSPI NOR flash. Ensure that the switches are set to boot the board from QSPI. For booting from the QSPI flash, SW5[1:8] = 00100010 Boot from flash0: => cpld reset In boot log, you’ll see: Board: LS1046ARDB, boot from QSPI vBank 0 Select mass storage device to use. => mmc rescan => mmc info Or => usb start => usb info Or => scsi scan => scsi info Optional – List files on the storage device. => ls mmc <device:partition> For example: => ls mmc 0:3 System Volume Information/ 168 rcw_1800_qspiboot.bin.swapped 1 file(s), 1 dir(s) Or => ls usb <device:partition> For example: => ls usb 0:1 Or => ls scsi <device:partition> For example: => ls scsi 0:2 If the ls command fails to run, check that U-Boot in QSPI NOR flash0 supports the command by typing ls at the U-Boot prompt: => ls ls - lists files in a directory (default) Usage: ls <interface> [<dev[:part]> [directory]] - Lists files in directory [directory] of partition [part] on device type [interface] and instance [dev]. If U-Boot does not support this command, then update the composite firmware image in QSPI NOR flash0. For steps to update composite firmware image in QSPI NOR flash, refer LS1046ARDB - How to update composite firmware image in QSPI NOR flash. Program QSPI NOR flash1: => sf probe 0:1 Load PBL image from the storage device. => load mmc <device:partition> a0000000 <image name> => print filesize For example: => load mmc 0:3 a0000000 rcw_1800_qspiboot.bin.swapped 168 bytes read in 13 ms (11.7 KiB/s) => print filesize filesize=a8 Or => load usb <device:partition> a0000000 <image name> => print filesize Or => load scsi <device:partition> a0000000 <image name> => print filesize Program image to QSPI NOR flash: => sf erase 0x0 +$filesize && sf write 0xa0000000 0x0 $filesize Address 0x0 is the location of PBL binary in QSPI NOR flash.  Refer Flash layout for boot flow with PPA – LSDK 18.09 and older releases for the complete flash memory layout. Boot from QSPI NOR flash1: => cpld reset altbank In boot log, you’ll see: Board: LS1046ARDB, boot from QSPI vBank 4 Ensure that SD card, USB flash drive, or SCSI hard disk installed with LSDK Ubuntu distribution is plugged into the board to boot the board to Ubuntu. If U-Boot does not find LSDK on a mass storage device, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored in QSPI NOR flash.
View full article
This how-to topic is applicable only to LSDK 18.09 and older releases. For LSDK 18.12 and newer releases, refer Deploying TF-A binaries in Layerscape Software Development Kit <version> Documentation. Follow these steps to update the PBL/RCW binary on the SD card.  Compiling PBL binary from RCW source file (optional) If the user already has a PBL binary, this step can be skipped.   Clone the  rcw  repository and compile the PBL binary.  $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/rcw $ cd rcw $ git checkout -b <new branch name> <LSDK tag>. For example, $ git checkout -b LSDK-18.09 LSDK-18.09  $ cd ls1046ardb If required, make changes to the rcw files. $ make   The default PBL binary for LS1046ARDB is RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin.swapped. By default, the QSPI controller on LS1046A reads/writes in 64-bit big endian (BE) mode. This makes it necessary to use a byte swapped PBL binary image, for example, rcw_1800_qspiboot.bin.swapped. The last PBI command in rcw_1800_qspiboot.bin.swapped is a write to the QPSI_MCR register that changes the endianness of QSPI controller to 64-bit little endian (LE). With this change, subsequent accesses are made in little endian format. See the rcw/ls1046ardb/README file for an explanation of the naming convention for the directories that contain the RCW source and binary files. SD card start block number for PBL/RCW binary Image  SD card start block number PBL/RCW binary 0x00008 = 8 Refer the Flash layout for boot flow with PPA – LSDK 18.09 and older releases for a complete listing of the SD card start block numbers for all LSDK firmware images.   Programming PBL/RCW binary to SD card Plug the SD card into the Linux host. Run the following command on the Linux host: $ sudo dd if=rcw_1800_qspiboot.bin.swapped of=/dev/sdX bs=512 seek=8 conv=fsync Use the command cat /proc/partitions to see a list of devices and their sizes to make sure that the correct device names have been chosen. The SDHC storage drive in the Linux PC is detected as /dev/sdX, where X is a letter such as a, b, c. Make sure to choose the correct device name, because data on this device will be replaced. If your Linux host machine supports read/write SDHC card directly without an extra SDHC card reader device, the device name of SDHC card is typically mmcblk0.                     Remove the SD card from the Linux host machine. Plug the SD card into LS1046ARDB and boot the board to Ubuntu using the SD card. You can boot the board using the SD card either by: setting the switches: SW3[1:8] = 01001110 and SW5 [1:8] = 00100000, or boot switching to SD card => cpld reset sd In boot log, you’ll see: Board: LS1046ARDB, boot from SD If U-Boot does not find LSDK on the SD card, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored on the SD card.
View full article
Please note that the LSDK memory layout for PPA boot flow explained in this topic is only applicable for LSDK 18.09 and older releases. For LSDK 18.12 and newer releases, refer Flash layout for new boot flow with TF-A. The following table shows the memory layout of various firmware stored in NOR/NAND/QSPI flash device or SD card on all QorIQ Reference Design Boards. Firmware Definition MaxSize NOR/NAND/QSPI Flash Offset SD Start Block No. RCW + PBI 1 MB 0x00000000 0x00008 Boot firmware (U-Boot or UEFI) 2 MB 0x00100000 0x00800 Boot firmware environment 1 MB 0x00300000 0x01800 PPA firmware 2 MB 0x00400000 0x02000 Secure boot headers 3 MB 0x00600000 0x03000 DPAA1 FMAN ucode 256 KB 0x00900000 0x04800 QE/uQE firmware 256 KB 0x00940000 0x04A00 Ethernet PHY firmware 256 KB 0x00980000 0x04C00 DPAA2-MC or PFE firmware 3 MB 0x00A00000 0x05000 DPAA2 DPL 1 MB 0x00D00000 0x06800 DPAA2 DPC 1 MB 0x00E00000 0x07000 Device tree(needed by uefi) 1 MB 0x00F00000 0x07800 Kernel lsdk_linux_<arch>.itb 16 MB 0x01000000 0x08000 Ramdisk rfs 32 MB 0x02000000 0x10000 The following figures highlight the changes in the flash layout for boot flow with PPA and flash layout for new TF-A boot flow. Flash layout for boot flow with PPA   Changed flash layout for TF-A boot flow
View full article
Trusted Firmware for Cortex-A (TF-A) is an implementation of EL3 secure firmware. TF-A replaces PPA in secure firmware role. Please note the steps listed in this topic can only be performed with LSDK 18.12 and newer releases.  Also the TF-A boot flow is applicable only for LS1088ARDB-PB. LS1088ARDB is not supported LSDK 18.12 release onwards. To migrate to the TF-A boot flow from the previous boot flow (with PPA), you need to compile the TF-A binaries, bl2_<boot_mode>.pbl and fip.bin, and flash these binaries on the specific boot medium on the board. For SD boot, you need to compile the following TF-A binaries. TF-A binary name Components bl2_sd.pbl BL2 binary: Platform initialization binary RCW binary for SD boot  fip.bin BL31: Secure runtime firmware BL32: Trusted OS, for example, OPTEE (optional) BL33: U-Boot/UEFI image Follow these steps to compile and deploy TF-A  binaries (bl2_sd.pbl and fip.bin) on the SD card. Compile PBL binary from RCW source file Compile U-Boot binary [Optional] Compile OPTEE binary  Compile TF-A binaries (bl2_sd.pbl and fip.bin) for SD boot Program TF-A binaries to the SD card Step 1: Compile PBL binary from RCW source file You need to compile the rcw_1600_sd.bin binary to build the bl2_sd.pbl binary. Clone the  rcw repository and compile the PBL binary.  $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/rcw $ cd rcw $ git checkout -b <new branch name> <LSDK tag>. For example, $ git checkout -b LSDK-18.12 LSDK-18.12  $ cd ls1088ardb If required, make changes to the rcw files. $ make   The compiled PBL binary for SD boot on LS1088ARDB-PB, rcw_1600_sd.bin, is available at rcw/ls1088ardb/FCQQQQQQQQ_PPP_H_0x1d_0x0d/.   See the rcw/ls1088ardb/README file for an explanation of the naming convention for the directories that contain the RCW source and binary files. Step 2: Compile U-Boot binary You need to compile the u-boot.bin binary to build the fip.bin binary. Clone the u-boot repository and compile the U-Boot binary for TF-A. $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot.git $ cd u-boot $ git checkout -b <new branch name> LSDK-<LSDK version>. For example, $ git checkout -b LSDK-18.12 LSDK-18.12  $ export ARCH=arm $ export CROSS_COMPILE=aarch64-linux-gnu- $ make distclean $ make ls1088ardb_tfa_defconfig $ make If the make command shows the error "*** Your GCC is older than 6.0 and is not supported", ensure that you are using Ubuntu 18.04 64-bit version for building the LSDK 18.12 U-Boot binary.  The compiled U-Boot binary, u-boot.bin, is available at u-boot/. Step 3: [Optional] Compile OPTEE binary  You need to compile the tee.bin binary to build fip.bin with OPTEE. However, OPTEE is optional, you can skip the procedure to compile OPTEE if you want to build the FIP binary without OPTEE. Clone the optee_os repository and build the OPTEE binary.  $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/optee_os $ cd optee_os $ git checkout -b <new branch name> LSDK-<LSDK version>. For example, $ git checkout -b LSDK-18.12 LSDK-18.12 $ export ARCH=arm $ export CROSS_COMPILE=aarch64-linux-gnu- $ make CFG_ARM64_core=y PLATFORM=ls-ls1088ardb $ aarch64-linux-gnu-objcopy -v -O binary out/arm-plat-ls/core/tee.elf out/arm-plat-ls/core/tee.bin The compiled OPTEE image, tee.bin, is available at optee_os/out/arm-plat-ls/core/. Step 4: Compile TF-A binaries for SD boot Clone the atf repository and compile the TF-A binaries, bl2_sd.pbl and fip.bin. $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/atf $ cd atf $  git checkout -b <new branch name> LSDK-<LSDK version>. For example, $ git checkout -b LSDK-18.12 LSDK-18.12 $ export ARCH=arm $ export CROSS_COMPILE=aarch64-linux-gnu- Build BL2 binary with OPTEE. $ make PLAT=ls1088ardb bl2 SPD=opteed BOOT_MODE=sd pbl RCW=<path_to_rcw_binary>/rcw_1600_sd.bin The compiled BL2 images, bl2.bin and bl2_sd.pbl are available at atf/build/ls1088ardb/release/. For any update in the BL2 source code or RCW binary, the bl2_sd.pbl binary needs to be recompiled. To compile the BL2 binary without OPTEE: $ make PLAT=ls1088ardb bl2 BOOT_MODE=sd pbl RCW=<path_to_rcw_binary>/rcw_1600_sd.bin Build FIP binary with OPTEE and without trusted board boot. $ make PLAT=ls1088ardb fip BL33=<path_to_u-boot_binary>/u-boot.bin SPD=opteed BL32=<path_to_optee_binary>/tee.bin The compiled BL31 and FIP binaries, bl31.bin, fip.bin, are available at atf/build/ls1088ardb/release/. For any update in the BL31, BL32, or BL33 binaries, the fip.bin binary needs to be recompiled. To compile the FIP binary without OPTEE and without trusted board boot: $ make PLAT=ls1088ardb fip BOOT_MODE=sd BL33=<path_to_u-boot_binary>/u-boot.bin To compile the FIP binary with trusted board boot, refer the read me at <atf repository>/plat/nxp/README.TRUSTED_BOOT Step 5: Program TF-A binaries to SD card Boot LS1088ARDB-PB from QSPI. Ensure that the switches are set to boot the board from QSPI. For booting from QSPI , SW1[1:8] + SW2[1] = 0011_0001_X Boot from QSPI NOR flash0: => qixis_reset For LS1088ARDB-PB, in boot log, you'll see: Board: LS1088ARDB-PB, Board Arch: V1, Board version: A, boot from QSPI:0 Please ensure that you are using LS1088ARDB-PB to flash the TF-A binaries, as LS1088ARDB is not supported LSDK 18.12 release onwards.   Set up Ethernet connection When board boots up, U-Boot prints a list of enabled Ethernet interfaces. DPMAC1@xgmii, DPMAC2@xgmii, DPMAC3@qsgmii, DPMAC4@qsgmii, DPMAC5@qsgmii, DPMAC6@qsgmii, DPMAC7@qsgmii, DPMAC8@qsgmii, DPMAC9@qsgmii, DPMAC10@qsgmii Set server IP address to the IP address of the host machine on which you have configured the TFTP server.  => setenv serverip <ipaddress1> Set ethact and ethprime as the Ethernet interface connected to the TFTP server. See LS1088ARDB/LS1088RDB-PB Ethernet port mapping for the mapping of Ethernet port names appearing on the chassis front panel with the port names in U-Boot and Linux. => setenv ethprime <name of interface connected to TFTP server> For example: => setenv ethprime DPMAC3@qsgmii => setenv ethact <name of interface connected to TFTP server> For example: => setenv ethact DPMAC3@qsgmii Set IP address of the board. You can set a static IP address or, if the board can connect to a dhcp server, you can use the dhcp command.  Static IP address assignment: => setenv ipaddr <ipaddress2> => setenv netmask <subnet mask> Dynamic IP address assignment: => dhcp Save the settings. => saveenv Check the connection between the board and the TFTP server. => ping $serverip Using DPMAC3@qsgmii device host 192.168.1.1 is alive   Load TF-A binaries from the TFTP server For details about the flash image layout for TF-A binaries, refer LSDK memory layout for TF-A boot flow. Flash bl2_sd.pbl: => tftp 82000000 bl2_sd.pbl => mmc write 82000000 8 <blk_cnt> Here, blk_cnt refers to number of blocks in SD card that need to be written as per the file size. For example, when you load bl2_sd.pbl from the TFTP server, if the bytes transferred is 82809 (14379 hex), then blk_cnt is calculated as 82809/512 = 161 (A1 hex). For this example, mmc write command will be: => mmc write 82000000 8 A1 Flash fip.bin: => tftp 82000000 fip.bin => mmc write 82000000 800 <blk_cnt> Here, blk_cnt refers to number of blocks in SD card that need to be written as per the file size. For example, when you load fip.bin from the TFTP server, if the bytes transferred is 1077157 (106fa5 hex), then blk_cnt is calculated as 1077157/512 = 2103 (837 hex). For this example, mmc write command will be: => mmc write 82000000 800 837 Boot from SD card: => qixis_reset sd LS1088ARDB-PB will boot with TF-A. In the boot log, you will see: NOTICE: UDIMM 18ASF1G72AZ-2G6B1 NOTICE: 8 GB DDR4, 64-bit, CL=15, ECC on, CS0+CS1 NOTICE: BL2: v1.5(release):LSDK-18.12 NOTICE: BL2: Built : 11:57:03, Dec 23 2018 NOTICE: BL31: v1.5(release):LSDK-18.12 NOTICE: BL31: Built : 15:21:44, Feb 11 2019 NOTICE: Welcome to LS1088 BL31 Phase For steps to deploy TF-A binaries in QSPI NOR flash, see LS1088ARDB-PB - How to deploy TF-A binaries in QSPI NOR flash
View full article
View Webinar Recording
View full article
View Webinar Recording
View full article
This topic explains steps to configure the “MT25QU02GCBB8E12” flash device for LX2160ARDB. The steps are common for most of the flash devices. If the procedure does not work for a particular flash device, please contact NXP Support.   Prerequisite: CW version 2019.01   In a custom design with LX2160, if you want to use the MT25QU02GCBB8E12 flash device which is not supported by the flash programmer,  you can add support for the new flash device by following these steps: Browse to the directory <CW4NET-Installation-Directory>/CW4NET_v2019.01/CW_ARMv8/Config/flash/ Duplicate file devices/MT25QU01GBBB.xml and rename the duplicated file as devices/MT25QU02GBBB.xml Update devices/MT25QU02GBBB.xml as follows: <device-file>       <device>             <content>                   <device_parameters>                         <device_type>spi</device_type>                         <manufacturerid>0x20</manufacturerid>                   </device_parameters>                  <name>MT25QU02GBBB</name>                   <sectors>                        <sector count="4096" size="0x10000"/>                   </sectors>                   <organizations>                         <organization depth="128M" width="8">                              <id>0xBB22</id>                               <algorithm>                                    <fpinclude href="algorithms/MT25QU02GBBB.xml"/>                               </algorithm>                         </organization>                   </organizations>             </content>       </device> </device-file> Duplicate file algorithms/MT25QU01GBBB.xml and rename the duplicated files as algorithms/MT25QU02GBBB.xml Update algorithms/MT25QU02GBBB.xml as follows: <algorithm-file>       <architectures>             <architecture type="arm" address_size="64">                   <controller type="QSPI">                         <format>bin</format>                         <entry_point>0x100</entry_point>                         <file>QSPI_64b</file>                        <fpinclude href="algorithms/params/MT25QU02GBBB_QSPI_64.xml"/>                         <supported_operations>                               <operation>id</operation>                               <operation>erase_sectors</operation>                               <operation>program</operation>                               <operation>dump</operation>                               <operation>protect_sectors</operation>                               <operation>unprotect_sectors</operation>                         </supported_operations>                   </controller>                  <controller type="FSPI">                        <format>bin</format>                        <entry_point>0x100</entry_point>                        <file>FSPI_64b</file>                        <fpinclude href="algorithms/params/MT25QU02GBBB_QSPI_64.xml"/>                        <supported_operations>                              <operation>id</operation>                              <operation>erase_sectors</operation>                              <operation>program</operation>                             <operation>dump</operation>                              <operation>protect_sectors</operation>                              <operation>unprotect_sectors</operation>                        </supported_operations>                  </controller>               </architecture>       </architectures> </algorithm-file> Duplicate algorithms/params/MT25QU01GBBB_QSPI_64.xml and rename the duplicated file as algorithms/params/MT25QU02GBBB_QSPI_64.xml Update algorithms/params/MT25QU02GBBB_QSPI_64.xml as follows: <params_file>     <parameters_block>         <param name="function" size="0x4"/>         <param name="padding1" size="0x4"/>         <param name="base_addr" size="0x8"/>         <param name="num_items" size="0x4" type="data_size"/>         <param name="result_status" size="0x4" type="result"/>         <param name="items" size="0x8" type="data_inout"/>         <param name="qspi_base_addr" size="0x8"/>         <param name="qspi_controller_offset" size="0x4"/>         <param name="bytes_per_sector" size="0x4" value="0x10000"/>         <param name="bytes_per_page" size="0x4" value="0x100"/>          <param name="number_of_sectors" size="0x4" value="0x1000"/>         <param name="swap_enable" size="0x1"/>         <param name="workaround" size="0x1" value="0"/>         <param name="is_nand" size="0x1" value ="0"/>         <param name="block_protect_mask" size="0x1" value="0x5C"/>         <param name="top_bottom_reg_address" size="0x4" value="0"/>         <param name="top_bottom_mask" size="0x1" value="0x20"/> Update the target initialization file as follows: def Config_Flash_Devices():     fl = flash.create(TA)       # Add FlexSPI device     #fl.add_device({"alias": "xspi", "name": "MT35XU512ABA", "address": 0x0, "ws_address": 0x18000000, "ws_size": 0x1FFFF, "geometry": "8x1", "controller": "FSPI"})     # Add MT25QU02GCBB8E12 flash device      fl.add_device({"alias": "xspi", "name": "MT25QU02GBBB", "address": 0x0, "ws_address": 0x18000000, "ws_size": 0x1FFFF, "geometry": "4x1", "controller": "FSPI"}) Restart CodeWarrior for ARMv8 and start the Flash programmer. Select  MT25QU02GBBB device from flash device list and configure the desired operations.
View full article
The table below shows the mapping of the Ethernet port names appearing on the front panel of the LS1043ARDB chassis with the port names in U-Boot, tinyDistro, and NXP LSDK userland.  Ethernet port mapping Port name on chassis Port name in U-Boot Port name in Linux (tinyDistro) Port name in Linux (LSDK userland) QSGMII.P0 FM1@DTSEC1 eth0 fm1-mac1 QSGMII.P1 FM1@DTSEC2 eth1 fm1-mac2 QSGMII.P2 FM1@DTSEC3 eth2 fm1-mac5 QSGMII.P3 FM1@DTSEC4 eth3 fm1-mac6 RGMII1 FM1@DTSEC5 eth4 fm1-mac3 RGMII2 FM1@DTSEC6 eth5 fm1-mac4 10G Copper FM1@TGEC1 eth6 fm1-mac9 Below is a table that shows the mapping between port numbers (from configuration file), character devices, hardware ports (Rx) and mEMACs for the standard SDK configuration (using RCW protocol 1455). FMC port mapping Port name on chassis XML port number (configuration file) Serdes protocol Character device Hardware port (device tree node) mEMAC (device tree node) QSGMII.P0 1 qsgmii fm0-port-rx0 port@88000 ethernet@e0000 QSGMII.P1 2 qsgmii fm0-port-rx1 port@89000 ethernet@e2000 QSGMII.P2 5 qsgmii fm0-port-rx4 port@8c000 ethernet@e8000 QSGMII.P3 6 qsgmii fm0-port-rx5 port@8d000 ethernet@ea000 RGMII1 3 rgmii fm0-port-rx2 port@8a000 ethernet@e4000 RGMII2 4 rgmii fm0-port-rx3 port@8b000 ethernet@e6000 10G Copper 9 xgmii fm0-port-rx6 port@90000 ethernet@f0000
View full article
The table below shows the mapping of the Ethernet port names appearing on the front panel of the LS1046ARDB chassis with the port names in U-Boot, tinyDistro, and NXP LSDK userland.  Port name on chassis Port name in U-Boot Port name in Linux (tinyDistro) Port name in Linux (LSDK userland) RGMII1 FM1@DTSEC3 eth0 fm1-mac3 RGMII2 FM1@DTSEC4 eth1 fm1-mac4 SGMII1 FM1@DTSEC5 eth2 fm1-mac5 SGMII2 FM1@DTSEC6 eth3 fm1-mac6 10G Copper FM1@TGEC1 eth4 fm1-mac9 10G SEP+ FM1@TGEC2 eth5 fm1-mac10
View full article
In the U-Boot log, the names of the Ethernet interfaces are printed in the format <name>@<interface type>, for example, DPMAC2@xgmii. DPMAC is a DPAA2 object that identifies the physical interface.  For Linux, in TinyDistro as well as in Ubuntu distribution, by default, only one MAC is enabled as a standard Kernel Ethernet Interface. This interface is named eth0 by default (or eth1 if PCI Express network interface card is discovered first). For details regarding creation of a DPAA2 network interface (DPNI) in Linux, refer to LS1088ARDB/LS1088ARDB-PB - How to create a DPAA2 network interface (DPNI) in Linux The table below shows the mapping of Ethernet port names appearing on the chassis front panel with the port names in U-Boot and Linux for LS1088ARDB.  Port name on chassis Port name in U-Boot Port name in Linux (tinyDistro and Ubuntu userland) Description ETH0 DPMAC2@xgmii not enabled by default XFI optical interface ETH1 DPMAC1@xgmii not enabled by default XFI copper interface ETH2 DPMAC7@qsgmii  not enabled by default QSGMII copper interface ETH3 DPMAC8@qsgmii  not enabled by default QSGMII copper interface ETH4 DPMAC9@qsgmii  not enabled by default QSGMII copper interface ETH5 DPMAC10@qsgmii  not enabled by default QSGMII copper interface ETH6 DPMAC3@qsgmii  not enabled by default QSGMII copper interface ETH7 DPMAC4@qsgmii  not enabled by default QSGMII copper interface ETH8 DPMAC5@qsgmii  eth0 by default (or eth1 if PCI Express network interface card is discovered first) QSGMII copper interface ETH9 DPMAC6@qsgmii  not enabled by default QSGMII copper interface The table below shows the mapping of Ethernet port names appearing on the chassis front panel with the port names in U-Boot and Linux for LS1088ARDB-PB. Port name on chassis Port name in U-Boot Port name in Linux (tinyDistro and Ubuntu userland) Description DPMAC1 DPMAC1@xgmii not enabled by default XFI optical interface DPMAC2 DPMAC2@xgmii not enabled by default XFI copper interface DPMAC3 DPMAC3@qsgmii not enabled by default QSGMII copper interface DPMAC4 DPMAC4@qsgmii not enabled by default QSGMII copper interface DPMAC5 DPMAC5@qsgmii eth0 by default (or eth1 if PCI Express network interface card is discovered first) QSGMII copper interface DPMAC6 DPMAC6@qsgmii not enabled by default QSGMII copper interface DPMAC7 DPMAC7@qsgmii not enabled by default QSGMII copper interface DPMAC8 DPMAC8@qsgmii not enabled by default QSGMII copper interface DPMAC9 DPMAC9@qsgmii not enabled by default QSGMII copper interface DPMAC10 DPMAC10@qsgmii not enabled by default QSGMII copper interface
View full article
#lx2160a‌ #lx2160a reference design board‌ #edge_devices‌ #edge-node‌
View full article
EdgeScale solution provides a secure mechanism for developers to leverage cloud-computing frameworks for their applications, it helps users easily connect IoT things, manage devices and deploy container based applications. Please refer to the following Layerscape products in the cloud computing system. The user could access cloud service from https://portal.edgescale.org. EdgeScale client is a set of software agents running on device side which connects to the cloud services. This document introduces EdgeScale supported major features as registering user account, secure device enrolment, provisioning/connecting the EdgeSacle end devices, generate EdgeScale client images in LSDK, OTA firmware update (LS1043 or LS1046), running EdgeScale demo applications and dynamic deployment of container-based applications.
View full article
QorIQ LSDK is NXP new generation of SDK for Layerscape productions, consists of a set of disaggregated components based on Linux distributions, meets market demand to more Linux distributions of more types, and satisfy the requirement from a wide variety of customers. In LSDK we use Flexbuild to build all packages from LSDK, make root filesystem and generate the installer. This document introduces the basic concept of LSDK, comparison between LSDK and Yocto SDK, how to use LSDK, plan and roadmap of LSDK. 1. Basic Concept of LSDK 1.1 LSDK Specific features 1.2 LSDK Components 1.3 LSDK Images Memory Map 2. Comparison Between Layerscape SDK and QorIQ Yocto SDK 3. How to Usage LSDK 3.1 LSDK Flexbuild Utility 3.2 Build LSDK using Flexbuild 3.3 Deploy LSDK Images on the Target Board 3.4 Add a Package using Flexbuild 4. Layerscape SDK Roadmap
View full article