I.MX Linux Reference Manual - NXP
ïğżIMXLXRM_6.6.23_2.0.0
i.MX Linux Reference Manual
Rev. LF6.6.23_2.0.0 -- 28 June 2024
Reference manual
Document information
Information
Content
Keywords
i.MX, Linux, LF6.6.23_2.0.0
Abstract
The i.MX family Linux Board Support Package (BSP) supports the Linux Operating System (OS) on the i.MX application processors.
NXP Semiconductors
IMXLXRM_6.6.23_2.0.0
i.MX Linux Reference Manual
1 Introduction
1.1 Overview
The i.MX family Linux Board Support Package (BSP) supports the Linux Operating System (OS) on the i.MX application processors.
The purpose of this software package is to support Linux OS on the i.MX family of Integrated Circuits (ICs) and their associated platforms. It provides the necessary software to interface the standard open-source Linux kernel to the i.MX hardware. The goal is to enable i.MX customers to rapidly build products based on i.MX devices that use the Linux OS.
The BSP is not a platform or product reference implementation. It does not contain all of the product-specific drivers, hardware-independent software stacks, Graphical User Interface (GUI) components, Java Virtual Machine (JVM), and applications required for a product. Some of these are made available in their original open-source form as part of the base kernel.
The BSP is not intended to be used for silicon verification. While it can play a role in this, the BSP functionality and the tests run on the BSP do not have sufficient coverage to replace traditional silicon verification test suites.
1.1.1 Software Base
The i.MX BSP is based on version 6.6.23 of the Linux kernel from the official Linux kernel website (). It is enhanced with the features provided by NXP.
On Linux to change the configuration using the menu configuration with a Yocto Project environment, use bitbake like this:
bitbake linux-imx -c menuconfig
1.1.2 Features
The table below describes the features supported by the BSP for specific platforms.
Table 1.BSP Supported Features
Feature
Description
Chapter Source
Machine-Specific Layer
MSL
Machine-Specific Layer (MSL) supports interrupts,Timer, Memory Map, GPIO/IOMUX, SPBA, SDMA.
? Interrupts GIC: The Linux kernel contains common Arm GIC interrupts handling code.
? Timer (GPT): The General Purpose Timer (GPT) is set up to generate an interrupt as programmed to provide OS ticks. Linux OS facilitates timer use through various functions for timing delays, measurement, events, alarms, high-resolution timer features, and so on. Linux OS defines the MSL timer API required for the OS-tick timer and does not expose it beyond the kernel tick implementation.
? GPIO/EDIO/IOMUX: The GPIO and EDIO components in the MSL provide an abstraction layer between the various drivers and the
Machine-Specific Layer (MSL)
IMXLXRM_6.6.23_2.0.0
Reference manual
All information provided in this document is subject to legal disclaimers.
Rev. LF6.6.23_2.0.0 -- 28 June 2024
Applicable Platform All
? 2024 NXP B.V. All rights reserved.
Document feedback 2 / 275
NXP Semiconductors
IMXLXRM_6.6.23_2.0.0
i.MX Linux Reference Manual
Table 1.BSP Supported Features...continued
Feature
Description
configuration and utilization of the system, including GPIO, IOMUX, and external board I/O. The IO software module is boardspecific, and resides in the MSL layer as a self-contained set of files. I/O configuration changes are centralized in the GPIO module so that changes are not required in the various drivers.
? SPBA: The Shared Peripheral Bus Arbiter (SPBA) provides an arbitration mechanism among multiple masters to allow access to the shared peripherals. The SPBA implementation under MSL defines the API to allow different masters to take or release ownership of a shared peripheral.
Chapter Source
Applicable Platform
General Drivers
Thermal Driver The thermal driver will monitor the SoC's
Thermal Driver
All
temperature in a certain frequency to protect the
SoC. It defines three trip points: critical, hot, and
active.
OProfile
OProfile is a system-wide profiler for Linux
OProfile
All
systems, capable of profiling all running code at
low overhead.
Pulse Width The pulse-width modulator (PWM) has a 16-bit Pulse-Width Modulator All
Modulator
counter and is optimized to generate sound from (PWM)
stored sample audio images and generate tones.
Sensors
Sensors cover accelerometer, ambient light and Sensors
All
magnetometer sensors.
Watchdog
The Watchdog Timer module protects against Watchdog
All
system failures by providing an escape from
unexpected hang or infinite loop situations or
programming errors.
DMA Engine
SDMA API
The Smart Direct Memory Access (SDMA) API Smart Direct Memory
All
driver controls the SDMA hardware and provides Access (SDMA) API
an API to other drivers for transferring data
between MCU, DSP and peripherals.
APBH-Bridge- Both AHB-to-APBH and AHB-to-APBX DMA
DMA
support configurable DMA descript chain.
AHB-to-APBH Bridge with All DMA (APBH-Bridge-DMA)
Power Management Drivers
Low-level Power Management
The low-level power management driver
Low-level Power
All
implements hardware-specific operations to meet Management (PM) Driver
power requirements and conserves power. Driver
implementations are often different for different
platforms. It is used by the DPM layer.
Dynamic Bus Frequency
The bus frequency driver dynamically manages Dynamic Bus Frequency the various system frequencies to improve power Driver consumption.
i.MX 6 and i.MX 7
IMXLXRM_6.6.23_2.0.0
Reference manual
All information provided in this document is subject to legal disclaimers.
Rev. LF6.6.23_2.0.0 -- 28 June 2024
? 2024 NXP B.V. All rights reserved.
Document feedback 3 / 275
NXP Semiconductors
IMXLXRM_6.6.23_2.0.0
i.MX Linux Reference Manual
Table 1.BSP Supported Features...continued
Feature
Description
CPU Freq
The CPU frequency scaling allows the clock speed of CPU to be changed.
PMIC PF Regulator
PF regulator driver provides the low-level control of the power supply regulators, selection of voltage levels, and enabling/disabling of regulators.
Anatop Regulator
The Anatop regulator drive provides low-level control of power supply regulators.
Connectivity Drivers
ENET 1588 Stack
Implementation of the Precision Time Protocol (PTP) according to IEEE standard 1588.
Fast Ethernet Controller
The ENET Driver performs the full set of IEEE 802.3/Ethernet CSMA/CD media access control and channel interface functions.
FlexCAN
The FlexCAN driver provides the interfaces to send and receive CAN messages.
Chapter Source CPUFreq PF_Regulator
Anatop Regulator
Fast Ethernet Controller (FEC) Driver Fast Ethernet Controller (FEC) Driver FlexCAN Driver
MediaLB
MediaLB is an on-PCB or inter-chip communication bus allowing applications to access the MOST Network data or communicate with other applications.
MediaLB
PCIe
PCI Express hardware module can either be configured to act as a Root Complex or a PCIe Endpoint.
PCIe
Video
Capture
Camera Overview for Camera and capture interfaces.
Capture Overview
Display
Display Overview.
Display Overview
VPU
The Video Processing Unit (VPU) is a multistandard video decoder and encoder that can perform decoding and encoding of various video formats.
Video Processing Unit (VPU) Driver
JPEGENC/ JPEGDEC
The JPEG-E-X and JPEG-D-X cores are
JPEG Encoder and
standalone and high-performance 8-bit and 12-bit Decoder
JPEG encoder and respectively decoder for still
image and video compression/decompression
applications.
Audio Drivers
ALSA Sound
The Advanced Linux Sound Architecture (ALSA) is a sound driver that provides ALSA and OSS compatible applications with the means to perform audio playback and recording functions.
ALSA Sound Driver
ASRC
The Asynchronous Sample Rate Converter
Asynchronous Sample
(ASRC) driver provides the interfaces to access Rate Converter (ASRC)
the asynchronous sample rate converter module.
Applicable Platform All All
i.MX 6 and i.MX 7
All All
i.MX 6Quad, i.MX 6Dual, i. MX 6DualLite, i.MX 6Solo, i.MX 6UltraLite, i.MX 6SoloX i.MX 6SoloX i.MX 6Quad i. MX 6Dual
All
All All i.MX 6QuadPlus/Quad/ Dual/Solo, i.MX 8, and i.MX 9 i.MX 8QuadXPlus, 8Quad Max, and i.MX 9
All
All
IMXLXRM_6.6.23_2.0.0
Reference manual
All information provided in this document is subject to legal disclaimers.
Rev. LF6.6.23_2.0.0 -- 28 June 2024
? 2024 NXP B.V. All rights reserved.
Document feedback 4 / 275
NXP Semiconductors
IMXLXRM_6.6.23_2.0.0
i.MX Linux Reference Manual
Table 1.BSP Supported Features...continued
Feature
Description
Chapter Source
Applicable Platform
S/PDIF
The S/PDIF driver is designed under the Linux ALSA subsystem. It implements one playback device for Tx and one capture device for Rx.
The Sony/Philips Digital All Interface (S/PDIF) Driver
Storage MTD Drivers
SPI NOR MTD The SPI NOR MTD driver provides the support to SPI NOR Flash Memory All
the Atmel data Flash using the SPI interface.
Technology Device (MTD)
Driver
NAND MTD
The NAND MTD driver interfaces with the integrated NAND controller supporting UBIFS, CRAMFS and JFFS2UBI and UBIFSCRAMFS and JFFS2 file systems.
NAND GPMI Flash Driver
i.MX 6Quad, i.MX 6Dual, i. MX 6DualLite, i.MX 6Solo, i.MX 6UltraLite, i.MX 7Dual
SATA
The SATA AHCI driver is based on the LIBATA layer of the block device infrastructure of the Linux kernel.
SATA Driver
i.MX 6QuadPlus, i.MX 6Quad, i.MX 6Dual, i.MX 8QuadMax, i.MX 8Quad XPlus
Bus Drivers
I2C
The Lower Power I2C bus driver interfaces with Inter-IC (I2C) Driver
All
the I2C bus to transfer data over the I2C bus.
eCSPI
The low-level Enhanced Configurable Serial Peripheral Interface (ECSPI) driver interfaces a custom, kernel-space API to both ECSPI modules.
Enhanced Configurable All Serial Peripheral Interface (ECSPI) Driver
MMC/SD/SDIO The MMC/SD/SDIO Host driver implements the MMC/SD/SDIO Host
All
-uSDHC
standard Linux driver interface to eSDHC.
Driver
Connectivity Drivers
UART
The Universal Asynchronous Receiver/ Transmitter (UART) driver interfaces the serial driver API to all UART ports.
Universal Asynchronous All Receiver/Transmitter (UART) Driver
USB
The USB driver interfaces to the ARC USB-OTG CHIPIDEA USB
All
controller.
1.2 Audience
This document is targeted to individuals who will port the i.MX Linux OS Board Support Package (BSP) to customer-specific products.
The audience is expected to have a working knowledge of the Linux kernel internals, driver models, and i.MX processors.
1.2.1 Conventions
This document uses the following notational conventions:
? Courier monospaced type indicate commands, command parameters, code examples, and file and directory names.
? Italic type indicates replaceable command or function parameters. ? Bold type indicates function names.
IMXLXRM_6.6.23_2.0.0
Reference manual
All information provided in this document is subject to legal disclaimers.
Rev. LF6.6.23_2.0.0 -- 28 June 2024
? 2024 NXP B.V. All rights reserved.
Document feedback 5 / 275
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
Related searches
- microsoft vba reference manual pdf
- numpy reference manual pdf
- icd 10 pcs reference manual 2019
- verilog hdl reference manual pdf
- systemverilog language reference manual pdf
- verilog reference manual pdf
- linux complete command reference pdf
- python reference manual pdf
- unix linux command reference pdf
- python language reference manual pdf
- sql language reference manual pdf
- aapd reference manual pdf