xref: /rk3399_ARM-atf/docs/plat/nxp/nxp-layerscape.rst (revision 168a20120bdf5a9c6cbedaad14c2aacfd9129b0a)
17c78e4f7SPankaj GuptaNXP SoCs - Overview
27c78e4f7SPankaj Gupta=====================
37c78e4f7SPankaj Gupta.. section-numbering::
47c78e4f7SPankaj Gupta    :suffix: .
57c78e4f7SPankaj Gupta
67c78e4f7SPankaj GuptaThe QorIQ family of ARM based SoCs that are supported on TF-A are:
77c78e4f7SPankaj Gupta
852a1e9ffSJiafei Pan1. LX2160A
97c78e4f7SPankaj Gupta
1052a1e9ffSJiafei Pan- SoC Overview:
117c78e4f7SPankaj Gupta
1252a1e9ffSJiafei PanThe LX2160A multicore processor, the highest-performance member of the
1352a1e9ffSJiafei PanLayerscape family, combines FinFET process technology's low power and
1452a1e9ffSJiafei Pansixteen Arm® Cortex®-A72 cores with datapath acceleration optimized for
1552a1e9ffSJiafei PanL2/3 packet processing, together with security offload, robust traffic
1652a1e9ffSJiafei Panmanagement and quality of service.
1752a1e9ffSJiafei Pan
1852a1e9ffSJiafei PanDetails about LX2160A can be found at `lx2160a`_.
1952a1e9ffSJiafei Pan
2052a1e9ffSJiafei Pan- LX2160ARDB Board:
2152a1e9ffSJiafei Pan
2252a1e9ffSJiafei PanThe LX2160A reference design board provides a comprehensive platform
2352a1e9ffSJiafei Panthat enables design and evaluation of the LX2160A or LX2162A processors. It
2452a1e9ffSJiafei Pancomes preloaded with a board support package (BSP) based on a standard Linux
2552a1e9ffSJiafei Pankernel.
2652a1e9ffSJiafei Pan
2752a1e9ffSJiafei PanBoard details can be fetched from the link: `lx2160ardb`_.
2852a1e9ffSJiafei Pan
2952a1e9ffSJiafei Pan2. LS1028A
3052a1e9ffSJiafei Pan
3152a1e9ffSJiafei Pan- SoC Overview:
3252a1e9ffSJiafei Pan
3352a1e9ffSJiafei PanThe Layerscape LS1028A applications processor for industrial and
3452a1e9ffSJiafei Panautomotive includes a time-sensitive networking (TSN) -enabled Ethernet
3552a1e9ffSJiafei Panswitch and Ethernet controllers to support converged IT and OT networks.
3652a1e9ffSJiafei PanTwo powerful 64-bit Arm®v8 cores support real-time processing for
3752a1e9ffSJiafei Panindustrial control and virtual machines for edge computing in the IoT.
3852a1e9ffSJiafei PanThe integrated GPU and LCD controller enable Human-Machine Interface
3952a1e9ffSJiafei Pan(HMI) systems with next-generation interfaces.
4052a1e9ffSJiafei Pan
4152a1e9ffSJiafei PanDetails about LS1028A can be found at `ls1028a`_.
4252a1e9ffSJiafei Pan
43*168a2012SJiafei Pan- LS1028ARDB Board:
4452a1e9ffSJiafei Pan
4552a1e9ffSJiafei PanThe LS1028A reference design board (RDB) is a computing, evaluation,
4652a1e9ffSJiafei Panand development platform that supports industrial IoT applications, human
4752a1e9ffSJiafei Panmachine interface solutions, and industrial networking.
4852a1e9ffSJiafei Pan
4952a1e9ffSJiafei PanDetails about LS1028A RDB board can be found at `ls1028ardb`_.
507c78e4f7SPankaj Gupta
51*168a2012SJiafei Pan3. LS1043A
52*168a2012SJiafei Pan
53*168a2012SJiafei Pan- SoC Overview:
54*168a2012SJiafei Pan
55*168a2012SJiafei PanThe Layerscape LS1043A processor is NXP's first quad-core, 64-bit Arm®-based
56*168a2012SJiafei Panprocessor for embedded networking. The LS1023A (two core version) and the
57*168a2012SJiafei PanLS1043A (four core version) deliver greater than 10 Gbps of performance
58*168a2012SJiafei Panin a flexible I/O package supporting fanless designs. This SoC is a
59*168a2012SJiafei Panpurpose-built solution for small-form-factor networking and industrial
60*168a2012SJiafei Panapplications with BOM optimizations for economic low layer PCB, lower cost
61*168a2012SJiafei Panpower supply and single clock design. The new 0.9V versions of the LS1043A
62*168a2012SJiafei Panand LS1023A deliver addition power savings for applications such as Wireless
63*168a2012SJiafei PanLAN and to Power over Ethernet systems.
64*168a2012SJiafei Pan
65*168a2012SJiafei PanDetails about LS1043A can be found at `ls1043a`_.
66*168a2012SJiafei Pan
67*168a2012SJiafei Pan- LS1043ARDB Board:
68*168a2012SJiafei Pan
69*168a2012SJiafei PanThe LS1043A reference design board (RDB) is a computing, evaluation, and
70*168a2012SJiafei Pandevelopment platform that supports the Layerscape LS1043A architecture
71*168a2012SJiafei Panprocessor. The LS1043A-RDB can help shorten your time to market by providing
72*168a2012SJiafei Panthe following features:
73*168a2012SJiafei Pan
74*168a2012SJiafei PanMemory subsystem:
75*168a2012SJiafei Pan	* 2GByte DDR4 SDRAM (32bit bus)
76*168a2012SJiafei Pan	* 128 Mbyte NOR flash single-chip memory
77*168a2012SJiafei Pan	* 512 Mbyte NAND flash
78*168a2012SJiafei Pan	* 16 Mbyte high-speed SPI flash
79*168a2012SJiafei Pan	* SD connector to interface with the SD memory card
80*168a2012SJiafei Pan
81*168a2012SJiafei PanEthernet:
82*168a2012SJiafei Pan	* XFI 10G port
83*168a2012SJiafei Pan	* QSGMII with 4x 1G ports
84*168a2012SJiafei Pan	* Two RGMII ports
85*168a2012SJiafei Pan
86*168a2012SJiafei PanPCIe:
87*168a2012SJiafei Pan	* PCIe2 (Lanes C) to mini-PCIe slot
88*168a2012SJiafei Pan	* PCIe3 (Lanes D) to PCIe slot
89*168a2012SJiafei Pan
90*168a2012SJiafei PanUSB 3.0: two super speed USB 3.0 type A ports
91*168a2012SJiafei Pan
92*168a2012SJiafei PanUART: supports two UARTs up to 115200 bps for console
93*168a2012SJiafei Pan
94*168a2012SJiafei PanDetails about LS1043A RDB board can be found at `ls1043ardb`_.
95*168a2012SJiafei Pan
967c78e4f7SPankaj GuptaTable of supported boot-modes by each platform & platform that needs FIP-DDR:
977c78e4f7SPankaj Gupta-----------------------------------------------------------------------------
987c78e4f7SPankaj Gupta
9952a1e9ffSJiafei Pan+---------------------+---------------------------------------------------------------------+-----------------+
10052a1e9ffSJiafei Pan|                     |                            BOOT_MODE                                |                 |
10152a1e9ffSJiafei Pan|       PLAT          +-------+--------+-------+-------+-------+-------------+--------------+ fip_ddr_needed  |
10252a1e9ffSJiafei Pan|                     |  sd   |  qspi  |  nor  | nand  | emmc  | flexspi_nor | flexspi_nand |                 |
10352a1e9ffSJiafei Pan+=====================+=======+========+=======+=======+=======+=============+==============+=================+
10452a1e9ffSJiafei Pan|     lx2160ardb      |  yes  |        |       |       |  yes  |   yes       |              |       yes       |
10552a1e9ffSJiafei Pan+---------------------+-------+--------+-------+-------+-------+-------------+--------------+-----------------+
10652a1e9ffSJiafei Pan|     ls1028ardb      |  yes  |        |       |       |  yes  |   yes       |              |       no        |
10752a1e9ffSJiafei Pan+---------------------+-------+--------+-------+-------+-------+-------------+--------------+-----------------+
108*168a2012SJiafei Pan|     ls1043ardb      |  yes  |        |  yes  |  yes  |       |             |              |       no        |
109*168a2012SJiafei Pan+---------------------+-------+--------+-------+-------+-------+-------------+--------------+-----------------+
11052a1e9ffSJiafei Pan
1117c78e4f7SPankaj Gupta
1127c78e4f7SPankaj GuptaBoot Sequence
1137c78e4f7SPankaj Gupta-------------
1147c78e4f7SPankaj Gupta::
1157c78e4f7SPankaj Gupta
1167c78e4f7SPankaj Gupta+                           Secure World        |     Normal World
1177c78e4f7SPankaj Gupta+ EL0                                           |
1187c78e4f7SPankaj Gupta+                                               |
1197c78e4f7SPankaj Gupta+ EL1                           BL32(Tee OS)    |     kernel
1207c78e4f7SPankaj Gupta+                                ^ |            |       ^
1217c78e4f7SPankaj Gupta+                                | |            |       |
1227c78e4f7SPankaj Gupta+ EL2                            | |            |     BL33(u-boot)
1237c78e4f7SPankaj Gupta+                                | |            |      ^
1247c78e4f7SPankaj Gupta+                                | v            |     /
1257c78e4f7SPankaj Gupta+ EL3        BootROM --> BL2 --> BL31 ---------------/
1267c78e4f7SPankaj Gupta+
1277c78e4f7SPankaj Gupta
1287c78e4f7SPankaj GuptaBoot Sequence with FIP-DDR
1297c78e4f7SPankaj Gupta--------------------------
1307c78e4f7SPankaj Gupta::
1317c78e4f7SPankaj Gupta
1327c78e4f7SPankaj Gupta+                           Secure World        |     Normal World
1337c78e4f7SPankaj Gupta+ EL0                                           |
1347c78e4f7SPankaj Gupta+                                               |
1357c78e4f7SPankaj Gupta+ EL1               fip-ddr     BL32(Tee OS)    |     kernel
1367c78e4f7SPankaj Gupta+                     ^ |         ^ |           |       ^
1377c78e4f7SPankaj Gupta+                     | |         | |           |       |
1387c78e4f7SPankaj Gupta+ EL2                 | |         | |           |     BL33(u-boot)
1397c78e4f7SPankaj Gupta+                     | |         | |           |      ^
1407c78e4f7SPankaj Gupta+                     | v         | v           |     /
1417c78e4f7SPankaj Gupta+ EL3     BootROM --> BL2 -----> BL31 ---------------/
1427c78e4f7SPankaj Gupta+
1437c78e4f7SPankaj Gupta
14452a1e9ffSJiafei PanDDR Memory Layout
14552a1e9ffSJiafei Pan--------------------------
14652a1e9ffSJiafei Pan
14752a1e9ffSJiafei PanNXP Platforms divide DRAM into banks:
14852a1e9ffSJiafei Pan
14952a1e9ffSJiafei Pan- DRAM0 Bank:  Maximum size of this bank is fixed to 2GB, DRAM0 size is defined in platform_def.h if it is less than 2GB.
15052a1e9ffSJiafei Pan
15152a1e9ffSJiafei Pan- DRAM1 ~ DRAMn Bank:  Greater than 2GB belongs to DRAM1 and following banks, and size of DRAMn Bank varies for one platform to others.
15252a1e9ffSJiafei Pan
15352a1e9ffSJiafei PanThe following diagram is default DRAM0 memory layout in which secure memory is at top of DRAM0.
15452a1e9ffSJiafei Pan
15552a1e9ffSJiafei Pan::
15652a1e9ffSJiafei Pan
15752a1e9ffSJiafei Pan  high  +---------------------------------------------+
15852a1e9ffSJiafei Pan        |                                             |
15952a1e9ffSJiafei Pan        |   Secure EL1 Payload Shared Memory (2 MB)   |
16052a1e9ffSJiafei Pan        |                                             |
16152a1e9ffSJiafei Pan        +---------------------------------------------+
16252a1e9ffSJiafei Pan        |                                             |
16352a1e9ffSJiafei Pan        |            Secure Memory (64 MB)            |
16452a1e9ffSJiafei Pan        |                                             |
16552a1e9ffSJiafei Pan        +---------------------------------------------+
16652a1e9ffSJiafei Pan        |                                             |
16752a1e9ffSJiafei Pan        |             Non Secure Memory               |
16852a1e9ffSJiafei Pan        |                                             |
16952a1e9ffSJiafei Pan  low   +---------------------------------------------+
1707c78e4f7SPankaj Gupta
1717c78e4f7SPankaj GuptaHow to build
1727c78e4f7SPankaj Gupta=============
1737c78e4f7SPankaj Gupta
1747c78e4f7SPankaj GuptaCode Locations
1757c78e4f7SPankaj Gupta--------------
1767c78e4f7SPankaj Gupta
1777c78e4f7SPankaj Gupta-  OP-TEE:
1787c78e4f7SPankaj Gupta   `link <https://source.codeaurora.org/external/qoriq/qoriq-components/optee_os>`__
1797c78e4f7SPankaj Gupta
1807c78e4f7SPankaj Gupta-  U-Boot:
1817c78e4f7SPankaj Gupta   `link <https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot>`__
1827c78e4f7SPankaj Gupta
1837c78e4f7SPankaj Gupta-  RCW:
1847c78e4f7SPankaj Gupta   `link <https://source.codeaurora.org/external/qoriq/qoriq-components/rcw>`__
1857c78e4f7SPankaj Gupta
1867c78e4f7SPankaj Gupta-  ddr-phy-binary: Required by platforms that need fip-ddr.
1877c78e4f7SPankaj Gupta   `link <https:://github.com/NXP/ddr-phy-binary>`__
1887c78e4f7SPankaj Gupta
1897c78e4f7SPankaj Gupta-  cst: Required for TBBR.
1907c78e4f7SPankaj Gupta   `link <https:://source.codeaurora.org/external/qoriq/qoriq-components/cst>`__
1917c78e4f7SPankaj Gupta
1927c78e4f7SPankaj GuptaBuild Procedure
1937c78e4f7SPankaj Gupta---------------
1947c78e4f7SPankaj Gupta
1957c78e4f7SPankaj Gupta-  Fetch all the above repositories into local host.
1967c78e4f7SPankaj Gupta
1977c78e4f7SPankaj Gupta-  Prepare AARCH64 toolchain and set the environment variable "CROSS_COMPILE".
1987c78e4f7SPankaj Gupta
1997c78e4f7SPankaj Gupta   .. code:: shell
2007c78e4f7SPankaj Gupta
2017c78e4f7SPankaj Gupta       export CROSS_COMPILE=.../bin/aarch64-linux-gnu-
2027c78e4f7SPankaj Gupta
2037c78e4f7SPankaj Gupta-  Build RCW. Refer README from the respective cloned folder for more details.
2047c78e4f7SPankaj Gupta
2057c78e4f7SPankaj Gupta-  Build u-boot and OPTee firstly, and get binary images: u-boot.bin and tee.bin.
2067c78e4f7SPankaj Gupta   For u-boot you can use the <platform>_tfa_defconfig for build.
2077c78e4f7SPankaj Gupta
2087c78e4f7SPankaj Gupta-  Copy/clone the repo "ddr-phy-binary" to the tfa directory for platform needing ddr-fip.
2097c78e4f7SPankaj Gupta
2107c78e4f7SPankaj Gupta-  Below are the steps to build TF-A images for the supported platforms.
2117c78e4f7SPankaj Gupta
2127c78e4f7SPankaj GuptaCompilation steps without BL32
2137c78e4f7SPankaj Gupta~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2147c78e4f7SPankaj Gupta
2157c78e4f7SPankaj GuptaBUILD BL2:
2167c78e4f7SPankaj Gupta
2177c78e4f7SPankaj Gupta-To compile
2187c78e4f7SPankaj Gupta   .. code:: shell
2197c78e4f7SPankaj Gupta
2207c78e4f7SPankaj Gupta       make PLAT=$PLAT \
2217c78e4f7SPankaj Gupta       BOOT_MODE=<platform_supported_boot_mode> \
2227c78e4f7SPankaj Gupta       RCW=$RCW_BIN \
2237c78e4f7SPankaj Gupta       pbl
2247c78e4f7SPankaj Gupta
2257c78e4f7SPankaj GuptaBUILD FIP:
2267c78e4f7SPankaj Gupta
2277c78e4f7SPankaj Gupta   .. code:: shell
2287c78e4f7SPankaj Gupta
2297c78e4f7SPankaj Gupta       make PLAT=$PLAT \
2307c78e4f7SPankaj Gupta       BOOT_MODE=<platform_supported_boot_mode> \
2317c78e4f7SPankaj Gupta       RCW=$RCW_BIN \
2327c78e4f7SPankaj Gupta       BL33=$UBOOT_SECURE_BIN \
2337c78e4f7SPankaj Gupta       pbl \
2347c78e4f7SPankaj Gupta       fip
2357c78e4f7SPankaj Gupta
2367c78e4f7SPankaj GuptaCompilation steps with BL32
2377c78e4f7SPankaj Gupta~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2387c78e4f7SPankaj Gupta
2397c78e4f7SPankaj GuptaBUILD BL2:
2407c78e4f7SPankaj Gupta
2417c78e4f7SPankaj Gupta-To compile
2427c78e4f7SPankaj Gupta   .. code:: shell
2437c78e4f7SPankaj Gupta
2447c78e4f7SPankaj Gupta       make PLAT=$PLAT \
2457c78e4f7SPankaj Gupta       BOOT_MODE=<platform_supported_boot_mode> \
2467c78e4f7SPankaj Gupta       RCW=$RCW_BIN \
2477c78e4f7SPankaj Gupta       BL32=$TEE_BIN SPD=opteed\
2487c78e4f7SPankaj Gupta       pbl
2497c78e4f7SPankaj Gupta
2507c78e4f7SPankaj GuptaBUILD FIP:
2517c78e4f7SPankaj Gupta
2527c78e4f7SPankaj Gupta   .. code:: shell
2537c78e4f7SPankaj Gupta
2547c78e4f7SPankaj Gupta       make PLAT=$PLAT \
2557c78e4f7SPankaj Gupta       BOOT_MODE=<platform_supported_boot_mode> \
2567c78e4f7SPankaj Gupta       RCW=$RCW_BIN \
2577c78e4f7SPankaj Gupta       BL32=$TEE_BIN SPD=opteed\
2587c78e4f7SPankaj Gupta       BL33=$UBOOT_SECURE_BIN \
2597c78e4f7SPankaj Gupta       pbl \
2607c78e4f7SPankaj Gupta       fip
2617c78e4f7SPankaj Gupta
2627c78e4f7SPankaj Gupta
2637c78e4f7SPankaj GuptaBUILD fip-ddr (Mandatory for certain platforms, refer table above):
2647c78e4f7SPankaj Gupta~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2657c78e4f7SPankaj Gupta
2667c78e4f7SPankaj Gupta-To compile additional fip-ddr for selected platforms(Refer above table if the platform needs fip-ddr).
2677c78e4f7SPankaj Gupta   .. code:: shell
2687c78e4f7SPankaj Gupta
2697c78e4f7SPankaj Gupta	make PLAT=<platform_name> fip-ddr
2707c78e4f7SPankaj Gupta
2717c78e4f7SPankaj Gupta
2727c78e4f7SPankaj GuptaDeploy ATF Images
2737c78e4f7SPankaj Gupta=================
2747c78e4f7SPankaj Gupta
2757c78e4f7SPankaj GuptaNote: The size in the standard uboot commands for copy to nor, qspi, nand or sd
2767c78e4f7SPankaj Guptashould be modified based on the binary size of the image to be copied.
2777c78e4f7SPankaj Gupta
2787c78e4f7SPankaj Gupta-  Deploy ATF images on flexspi-Nor flash Alt Bank from U-Boot prompt.
2797c78e4f7SPankaj Gupta   --  Commands to flash images for bl2_xxx.pbl and fip.bin.
2807c78e4f7SPankaj Gupta
2817c78e4f7SPankaj Gupta   .. code:: shell
2827c78e4f7SPankaj Gupta
2837c78e4f7SPankaj Gupta        tftp 82000000  $path/bl2_flexspi_nor.pbl;
2847c78e4f7SPankaj Gupta        i2c mw 66 50 20;sf probe 0:0; sf erase 0 +$filesize; sf write 0x82000000 0x0 $filesize;
2857c78e4f7SPankaj Gupta
2867c78e4f7SPankaj Gupta        tftp 82000000  $path/fip.bin;
2877c78e4f7SPankaj Gupta        i2c mw 66 50 20;sf probe 0:0; sf erase 0x100000 +$filesize; sf write 0x82000000 0x100000 $filesize;
2887c78e4f7SPankaj Gupta
2897c78e4f7SPankaj Gupta   --  Next step is valid for platform where FIP-DDR is needed.
2907c78e4f7SPankaj Gupta
2917c78e4f7SPankaj Gupta   .. code:: shell
2927c78e4f7SPankaj Gupta
2937c78e4f7SPankaj Gupta        tftp 82000000  $path/ddr_fip.bin;
2947c78e4f7SPankaj Gupta        i2c mw 66 50 20;sf probe 0:0; sf erase 0x800000 +$filesize; sf write 0x82000000 0x800000 $filesize;
2957c78e4f7SPankaj Gupta
2967c78e4f7SPankaj Gupta   --  Then reset to alternate bank to boot up ATF.
2977c78e4f7SPankaj Gupta
298*168a2012SJiafei Pan   Command for lx2160A and ls1028a platforms:
299*168a2012SJiafei Pan
3007c78e4f7SPankaj Gupta   .. code:: shell
3017c78e4f7SPankaj Gupta
3027c78e4f7SPankaj Gupta        qixisreset altbank;
3037c78e4f7SPankaj Gupta
3047c78e4f7SPankaj Gupta-  Deploy ATF images on SD/eMMC from U-Boot prompt.
3057c78e4f7SPankaj Gupta   -- file_size_in_block_sizeof_512 = (Size_of_bytes_tftp / 512)
3067c78e4f7SPankaj Gupta
3077c78e4f7SPankaj Gupta   .. code:: shell
3087c78e4f7SPankaj Gupta
3097c78e4f7SPankaj Gupta        mmc dev <idx>; (idx = 1 for eMMC; idx = 0 for SD)
3107c78e4f7SPankaj Gupta
3117c78e4f7SPankaj Gupta        tftp 82000000  $path/bl2_<sd>_or_<emmc>.pbl;
3127c78e4f7SPankaj Gupta        mmc write 82000000 8 <file_size_in_block_sizeof_512>;
3137c78e4f7SPankaj Gupta
3147c78e4f7SPankaj Gupta        tftp 82000000  $path/fip.bin;
3157c78e4f7SPankaj Gupta        mmc write 82000000 0x800 <file_size_in_block_sizeof_512>;
3167c78e4f7SPankaj Gupta
3177c78e4f7SPankaj Gupta    --  Next step is valid for platform that needs FIP-DDR.
3187c78e4f7SPankaj Gupta
3197c78e4f7SPankaj Gupta   .. code:: shell
3207c78e4f7SPankaj Gupta
3217c78e4f7SPankaj Gupta        tftp 82000000  $path/ddr_fip.bin;
3227c78e4f7SPankaj Gupta        mmc write 82000000 0x4000 <file_size_in_block_sizeof_512>;
3237c78e4f7SPankaj Gupta
3247c78e4f7SPankaj Gupta   --  Then reset to sd/emmc to boot up ATF from sd/emmc as boot-source.
3257c78e4f7SPankaj Gupta
326*168a2012SJiafei Pan   Command for lx2160A and ls1028a platforms:
327*168a2012SJiafei Pan
3287c78e4f7SPankaj Gupta   .. code:: shell
3297c78e4f7SPankaj Gupta
3307c78e4f7SPankaj Gupta        qixisreset <sd or emmc>;
3317c78e4f7SPankaj Gupta
332*168a2012SJiafei Pan   Command for ls1043a platform:
333*168a2012SJiafei Pan
334*168a2012SJiafei Pan   .. code:: shell
335*168a2012SJiafei Pan
336*168a2012SJiafei Pan        cpld reset <sd or emmc>;
337*168a2012SJiafei Pan
338*168a2012SJiafei Pan-  Deploy ATF images on IFC nor flash from U-Boot prompt.
339*168a2012SJiafei Pan
340*168a2012SJiafei Pan   .. code:: shell
341*168a2012SJiafei Pan
342*168a2012SJiafei Pan        tftp 82000000  $path/bl2_nor.pbl;
343*168a2012SJiafei Pan	protect off 64000000 +$filesize; erase 64000000 +$filesize; cp.b 82000000 64000000 $filesize;
344*168a2012SJiafei Pan
345*168a2012SJiafei Pan        tftp 82000000  $path/fip.bin;
346*168a2012SJiafei Pan	protect off 64100000 +$filesize; erase 64100000 +$filesize; cp.b 82000000 64100000 $filesize;
347*168a2012SJiafei Pan
348*168a2012SJiafei Pan   --  Then reset to alternate bank to boot up ATF.
349*168a2012SJiafei Pan
350*168a2012SJiafei Pan   Command for ls1043a platform:
351*168a2012SJiafei Pan
352*168a2012SJiafei Pan   .. code:: shell
353*168a2012SJiafei Pan
354*168a2012SJiafei Pan        cpld reset altbank;
355*168a2012SJiafei Pan
356*168a2012SJiafei Pan-  Deploy ATF images on IFC nand flash from U-Boot prompt.
357*168a2012SJiafei Pan
358*168a2012SJiafei Pan   .. code:: shell
359*168a2012SJiafei Pan
360*168a2012SJiafei Pan        tftp 82000000  $path/bl2_nand.pbl;
361*168a2012SJiafei Pan	nand erase 0x0 $filesize; nand write 82000000 0x0 $filesize;
362*168a2012SJiafei Pan
363*168a2012SJiafei Pan        tftp 82000000  $path/fip.bin;
364*168a2012SJiafei Pan	nand erase 0x100000 $filesize;nand write 82000000 0x100000 $filesize;
365*168a2012SJiafei Pan
366*168a2012SJiafei Pan   --  Then reset to nand flash to boot up ATF.
367*168a2012SJiafei Pan
368*168a2012SJiafei Pan   Command for ls1043a platform:
369*168a2012SJiafei Pan
370*168a2012SJiafei Pan   .. code:: shell
371*168a2012SJiafei Pan
372*168a2012SJiafei Pan        cpld reset nand;
373*168a2012SJiafei Pan
374*168a2012SJiafei Pan
375*168a2012SJiafei Pan
3767c78e4f7SPankaj GuptaTrusted Board Boot:
3777c78e4f7SPankaj Gupta===================
3787c78e4f7SPankaj Gupta
3797c78e4f7SPankaj GuptaFor TBBR, the binary name changes:
3807c78e4f7SPankaj Gupta
3817c78e4f7SPankaj Gupta+-------------+--------------------------+---------+-------------------+
3827c78e4f7SPankaj Gupta|  Boot Type  |           BL2            |   FIP   |      FIP-DDR      |
3837c78e4f7SPankaj Gupta+=============+==========================+=========+===================+
3847c78e4f7SPankaj Gupta| Normal Boot |  bl2_<boot_mode>.pbl     | fip.bin | ddr_fip.bin       |
3857c78e4f7SPankaj Gupta+-------------+--------------------------+---------+-------------------+
3867c78e4f7SPankaj Gupta| TBBR Boot   |  bl2_<boot_mode>_sec.pbl | fip.bin | ddr_fip_sec.bin   |
3877c78e4f7SPankaj Gupta+-------------+--------------------------+---------+-------------------+
3887c78e4f7SPankaj Gupta
3897c78e4f7SPankaj GuptaRefer `nxp-ls-tbbr.rst`_ for detailed user steps.
3907c78e4f7SPankaj Gupta
3917c78e4f7SPankaj Gupta
39252a1e9ffSJiafei Pan.. _lx2160a: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/layerscape-processors/layerscape-lx2160a-lx2120a-lx2080a-processors:LX2160A
3937c78e4f7SPankaj Gupta.. _lx2160ardb: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/layerscape-communication-process/layerscape-lx2160a-multicore-communications-processor:LX2160A
39452a1e9ffSJiafei Pan.. _ls1028a: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/layerscape-processors/layerscape-1028a-applications-processor:LS1028A
39552a1e9ffSJiafei Pan.. _ls1028ardb: https://www.nxp.com/design/qoriq-developer-resources/layerscape-ls1028a-reference-design-board:LS1028ARDB
396*168a2012SJiafei Pan.. _ls1043a: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/layerscape-processors/layerscape-1043a-and-1023a-processors:LS1043A
397*168a2012SJiafei Pan.. _ls1043ardb: https://www.nxp.com/design/qoriq-developer-resources/layerscape-ls1043a-reference-design-board:LS1043A-RDB
3987c78e4f7SPankaj Gupta.. _nxp-ls-tbbr.rst: ./nxp-ls-tbbr.rst
399