Linux BSP customization for CM-i.MX53
This document describes various specifics of the CM-i.MX53 Core Module as far as the Bluetechnix MX53 Linux Board Support Package is concerned.
The General section is valid for all CM-i.MX53 modules. Please read the section specific to your Core Module type as well!
- Consumer type, CM-i.MX53-C-C-Q24S1024F4N2048 (100-1470-X)
- Industrial type, CM-i.MX53-C-I-Q24S1024F4N2048 (100-1471-X)
General
LTIB configuration
- Start LTIB configuration
./ltib -c
- Choose the correct U-Boot target
--- Choose your board for u-boot board (cmimx53) --->
Deployment and boot modes
For deployment, you may use the setup_sdcard.sh Linux shell script as described in the MX53 Software User Manual.
For the CM-i.MX53, the following deployment methods are supported:
- Boot from SD card
- Boot from on-board SPI flash
- Boot from SD card; deploy to SPI flash (U-Boot; Linux kernel) and NAND flash (root file system); Boot from SPI flash
- Boot from NAND flash
- Boot from SD card; deploy to NAND flash (U-Boot; Linux kernel; root file system); Boot from NAND flash
U-Boot configuration and implementation files
The U-Boot configuration file for the CM-i.MX53 is at
u-boot-2009.08/include/configs/cmimx53.h
U-Boot build target:
cmimx53_config
The implementation of module support is at
u-boot-2009.08/boards/bluetechnix/cmimx53/
Linux configuration and implementation files
Linux Kernel configuration option:
System Type ---> Freescale MXC Implementations ---> [*] Support Bluetechnix CM-i.MX53 core module
NOTE: By default, the Linux kernel is configured to support all Bluetechnix MX53 modules. The kernel decides at runtime which module it runs on, dependent on the machine ID it gets from the U-Boot boot loader.
The platform file for the CM-i.MX53 is at:
linux/arch/arm/mach-mx5/cmimx53.c
CM-i.MX53-C-C-Q24S1024F4N2048
LTIB configuration
- In LTIB's installation directory, start
./ltib -c
- Set the following configuration options:
--- Target Image Generation Options ---> (1024KiB) ubifs physical erase block(PEB) size (1040384) ubifs logical erase block(LEB) size in Bytes (4096) ubifs maximum logical erase block(LEB) count (4096) ubifs minimum I/O unit size (4096) ubifs sub-page size
ARM core clock
By default, U-Boot configures the ARM core clock to be 800MHz, so that it may run on all i.MX53 processor variants.
To increase the core clock speed to 1GHz and increase the core voltage appropriately, please set the following environment variable in U-Boot:
setenv mx53_type consumer
Optionally, save the environment to non-volatile memory:
saveenv
NAND flash ECC information
The i.MX53 uses 16-bit ECC for MT29F16G08CBABA (4KiB page, 224 spare, of which 218 are used); Minimum ECC according to NAND's datasheet is 12 bit.
CM-i.MX53-C-I-Q24S1024F4N2048
NOTE: The industrial Core Module variant is supported in Linux BSP release 1.3 or later, or if you compile U-Boot from GIT and take a version from or after 24th Nov 2011.
LTIB configuration
- In LTIB's installation directory, start
./ltib -c
- Set the following configuration options:
--- Target Image Generation Options ---> (512KiB) ubifs physical erase block(PEB) size (520192) ubifs logical erase block(LEB) size in Bytes (4096) ubifs maximum logical erase block(LEB) count (4096) ubifs minimum I/O unit size (1024) ubifs sub-page size
NAND flash ECC information
The i.MX53 uses 16-bit ECC for MT29F16G08ABACA (4KiB page, 224 spare, of which 218 are used); Minimum ECC according to NAND's datasheet is 8 bit.