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.

Google Online Preview   Download