Transcription of i.MX Porting Guide
1 Porting Guide NXP SemiconductorsDocument identifier: IMXBSPPGUser GuideRev. , 31 March 2022 ContentsChapter 1 2 Porting How to build and load Kernel in standalone How to build and load Kernel in Yocto 3 Porting How to build U-Boot in standalone How to build and load U-Boot in Yocto Customizing the custom board Changing the DCD table for DDR Booting with the modified U-Boot .. Adding new driver initialization code to board Further customization at system Customizing the printed board Using JTAG tool for Using printf for 4 Porting System Controller 5 Configuring Boards OP-TEE booting OP-TEE Linux Memory How to compile Adding OP-TEE support for a new 6 Configuring Arm Trusted 7 Memory 8 Configuring Information for setting IOMUX controller Porting Guide , Rev.
2 , 31 March 2022 User Guide2 / Using IOMUX in the Device Tree - 9 10 Adding 11 Configuring SPI Selecting SPI NOR on the Linux Changing the SPI interface Hardware 12 Connecting LVDS Connecting an LVDS panel to the Connecting an LVDS panel to the Enabling an LVDS channel with LDB ports on LDB on 6 for input parallel display LDB on 6 Output LVDS 13 Connecting MIPI-DSI 14 Supporting Cameras with Required software .. 6 Dual/6 Quad/6 Solo/6 DualLite CSI interfaces Configuring the CSI unit in test Adding support for a new CMOS camera Adding a camera sensor entry in Creating the camera sensor Adding a compilation flag for the new Using the I2C Loading and testing the camera Additional reference CMOS interfaces supported by the 6 Dual/6 Quad/6 6 Dual/6 Quad/6 Solo/6 DualLite CSI parallel Timing data mode 15 Supporting Cameras with 16 Porting Audio Porting Guide , Rev.
3 , 31 March 2022 User Guide3 / Porting the reference BSP to a custom board (audio codec is the same as in the reference design).. Porting the reference BSP to a custom board (audio codec is different from the reference design)..55 Chapter 17 Porting HiFi Porting HiFi 4 DSP Porting Sound Open 18 Porting Pin Ethernet 19 Porting USB overview for 6 SLL and USB overview for 20 Revision Revision Porting Guide , Rev. , 31 March 2022 User Guide4 / 67 FiguresFigure 1. Booting flow on 6 and 2. Booting flow on 3. Example of TZASC configuration for 4. 6 LVDS Display Bridge (LDB) 5. Camera interface 6.
4 MXC camera/V4L2 PRP features support 7. IPU block 8. Parallel interface Porting Guide , Rev. , 31 March 2022 User Guide5 / 67 TablesTable 1. DDR memory 2. FlexSPI memory 3. Settings for Test 4. Required 5. CSI0 parallel interface 6. Required power 7. Files for wm8962 codec 8. Pin usage in MII RMII and RGMII 9. Revision Porting Guide , Rev. , 31 March 2022 User Guide6 / 67 Chapter document provides an overview on how to develop a custom solution from an BSP release. This document describes how to customize kernel changes, U-Boot, memory, and various configurations for a custom hardware solution using an has multiple families supported in software.
5 The following are the listed families and SoCs per family. The Linux Release Notes describes which SoC is supported in the current release. Some previously released SoCs might be buildable in the current release but not validated if they are at the previous validated level. 6 Family: 6 QuadPlus, 6 Quad, 6 DualLite, 6 SoloX, 6 SLL, 6 UltraLite, 6 ULL, 6 ULZ 7 Family: 7 Dual, 7 ULP 8 Family: 8 QuadMax, 8 ULP 8M Family: 8M Plus, 8M Quad, 8M Mini, 8M Nano 8X Family: 8 QuadXPlus, 8 DXL, 8 DualXThis release includes the following references and additional information. Linux Release Notes (IMXLXRN) - Provides the release information.
6 Linux User's Guide (IMXLUG) - Provides the information on installing U-Boot and Linux OS and using features. Yocto Project User's Guide (IMXLXYOCTOUG) - Describes the board support package for NXP development systems using Yocto Project to set up host, install tool chain, and build source code to create images. Machine Learning User's Guide (IMXMLUG) - Provides the machine learning information. Linux Reference Manual (IMXLXRM) - Provides the information on Linux drivers for Graphics User's Guide (IMXGRAPHICUG) - Describes the graphics features. Porting Guide (IMXXBSPPG) - Provides the instructions on Porting the BSP to a new board.
7 VPU Application Programming Interface Linux Reference Manual (IMXVPUAPI) - Provides the reference information on the VPU API on 6 VPU. Harpoon User's Guide (IMXHPUG) - Presents the Harpoon release for 8M device family. Digital Cockpit Hardware Partitioning Enablement for 8 QuadMax (IMXDCHPE) - Provides the Digital Cockpit hardware solution for 8 QuadMax. DSP User's Guide (IMXDSPUG) - Provides the information on the DSP for 8. 8M Plus Camera and Display Guide (IMX8 MPCDUG) - Provides the information on the ISP Independent Sensor Interface API for the 8M quick start guides contain basic information on the board and setting it up.
8 They are on the NXP website. SABRE Platform Quick Start Guide (IMX6 QSDPQSG) SABRE Board Quick Start Guide (IMX6 QSDBQSG) 6 UltraLite EVK Quick Start Guide (IMX6 ULTRALITEQSG) 6 ULL EVK Quick Start Guide (IMX6 ULLQSG)NXP Porting Guide , Rev. , 31 March 2022 User Guide7 / 67 SABRE Automotive Infotainment Quick Start Guide (IMX6 SABREINFOQSG) 7 Dual SABRE-SD Quick Start Guide (SABRESDBIMX7 DUALQSG) 8M Quad Evaluation Kit Quick Start Guide (IMX8 MQUADEVKQSG) 8M Mini Evaluation Kit Quick Start Guide (8 MMINIEVKQSG) 8M Nano Evaluation Kit Quick Start Guide (8 MNANOEVKQSG) 8 QuadXPlus Multisensory Enablement Kit Quick Start Guide (IMX8 QUADXPLUSQSG) 8 QuadMax Multisensory Enablement Kit Quick Start Guide (IMX8 QUADMAXQSG) 8M Plus Evaluation Kit Quick Start Guide (IMX8 MPLUSQSG)
9 Documentation is available online at 6 information is at SABRE information is at 6 UltraLite information is at 6 ULL information is at 7 Dual information is at 7 ULP information is at 8 information is at 6 ULZ information is at Porting Guide , Rev. , 31 March 2022 User Guide8 / 67 Chapter 2 Porting chapter describes how to download, build, and load the kernel both in a standalone environment and through Yocto to build and load Kernel in standalone environmentTo build Kernel in a standalone environment, first, generate a development SDK, which includes the tools, toolchain, and small rootfs to compile against to put on the host an SDK from the Yocto Project build environment with the following command.
10 To set up the Yocto Project build environment, follow the steps in the Yocto Project User's Guide (IMXLXYOCTOUG). In the following command, set Target-Machine to the machine you are building for. See Section "Build configurations" in the Yocto Project User's Guide (IMXLXYOCTOUG). The populate_sdk generates a script file that sets up a standalone environment without Yocto Project. This SDK should be updated for each release to pick up the latest headers, toolchain, and tools from the current MACHINE=Target-Machine bitbake core-image-minimal -c populate_sdkFor valid DISTRO options, see Section "Build configurations" in the Yocto Project User's Guide (IMXLXYOCTOUG).