Difference between revisions of "CM-FX6: Linux: Kernel"

From Compulab Mediawiki
Jump to: navigation, search
(Git clone)
(Overview)
 
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
 
The Linux kernel for the CompuLab CM-FX6 System-on-Module / Computer-on-Module provides support for on-board peripherals and abstracts the functionality provided by the hardware.
 
The Linux kernel for the CompuLab CM-FX6 System-on-Module / Computer-on-Module provides support for on-board peripherals and abstracts the functionality provided by the hardware.
 +
<br>
 
Current support coverage is specified at [http://compulab.co.il/products/operating-systems-and-drivers-for-cm-fx6-and-sbc-fx6/ O/S support coverage map] page.
 
Current support coverage is specified at [http://compulab.co.il/products/operating-systems-and-drivers-for-cm-fx6-and-sbc-fx6/ O/S support coverage map] page.
 +
<br>
 
CompuLab provides ready-to-run binary kernel images, and source code of the modifications and additions made to the Linux kernel to work properly with CM-FX6 modules.
 
CompuLab provides ready-to-run binary kernel images, and source code of the modifications and additions made to the Linux kernel to work properly with CM-FX6 modules.
 
== Kernel command line ==
 
The Linux kernel for CM-FX6 is shipped with built-in command line parameters:
 
 
<pre>
 
console=ttymxc3,115200 root=/dev/mmcblk0p1 rootwait
 
</pre>
 
 
The default kernel command line defines primary console and root device.
 
 
Setting U-Boot {{parameter|bootargs}} environment variable overrides default kernel command line and can be used to set desired kernel parameters.
 
  
 
== Building kernel for CM-FX6 ==
 
== Building kernel for CM-FX6 ==
=== Cross-Compiler ===
+
{{Note|The instructions below assume that the {{filename|/home/development/CM-FX6}} directory has been created for CM-FX6 kernel development.}}
There are several options for cross-compilation toolchain setup.
 
You can either compile your cross-compiler or use an already built cross-compiler.
 
The cross-compiler should support the ARM embedded-application binary interface ("[http://en.wikipedia.org/wiki/Application_binary_interface#EABI EABI]")
 
* Pre-built toolchain:
 
** [http://www.codesourcery.com/sgpp/lite/arm/portal/release324 CodeSourcery]
 
* Tools for creating cross-compilers:
 
** [http://ymorin.is-a-geek.org/dokuwiki/projects/crosstool Crosstool-ng]: Builds a cross-compiler from source. Non-distribution specific.
 
** [http://www.gentoo.org/proj/en/base/embedded/handbook/index.xml?part=1&chap=4 Crossdev]: Gentoo's cross-compiler builder. Needs Gentoo.
 
 
 
=== U-Boot mkimage tool ===
 
U-Boot {{cmd|mkimage}} utility is required in order to create kernel images that can be loaded by the CM-FX6 bootloader.
 
You can download prebuilt [[media:mkimage.tar.gz|{{cmd|mkimage}} binary]] or build it yourself:
 
<pre>
 
mkdir ~/tmp
 
cd tmp
 
wget ftp://ftp.denx.de/pub/u-boot/u-boot-latest.tar.bz2
 
tar -xjvf u-boot-latest.tar.bz2
 
cd u-boot-20xx.xx
 
touch include/config.{h,mk}
 
make tools
 
sudo install tools/mkimage /usr/local/bin
 
</pre>
 
 
 
 
=== Getting kernel sources ===
 
=== Getting kernel sources ===
There are two ways to get Linux kernel sources that can be used as a baseline for CM-FX6 kernel.
+
Linux git tree can be cloned or downloaded as a tarball from [http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/ Freescale public git repository].
You can create a copy of Linux git tree or download a snapshot and extract it.
 
We assume that you have created {{filename|/home/development/cm-fx6/kernel}} directory for CM-FX6 kernel development.
 
 
 
 
==== Snapshot download ====
 
==== Snapshot download ====
* Download [http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.0.35.tar.bz2 v3.0.35] snapshot with your web browser.
+
* Download [http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/snapshot/linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga.tar.bz2 linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga.tar.bz2].
* Extract the downloaded archive {{filename|linux-3.0.35.tar.bz2}}
+
* Extrace the kernel source code from the downloaded archive {{filename|linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga.tar.bz2}}
 
<pre>
 
<pre>
cd /home/development/cm-fx6/kernel
+
cd /home/development/CM-FX6
tar xvf /path/to/downloaded/linux-3.0.35.tar.bz2
+
wget http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/snapshot/linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga.tar.bz2
mv linux-3.0.35 linux-cm-fx6
+
tar -xvf linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga.tar.bz2
 +
mv linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga kernel
 
</pre>
 
</pre>
: This will create {{filename|/home/development/cm-fx6/kernel/linux-cm-fx6}} directory containing Linux kernel tree.
+
* Apply the CM-FX6 patch.
 
 
* Apply the CM-FX6 patch
 
 
<pre>
 
<pre>
cd /home/development/cm-fx6/kernel/linux-cm-fx6
+
cd /home/development/CM-FX6/kernel
patch -p1 < /path/to/cm-fx6-linux/kernel/linux-3.0.35-cm-fx6-6.4.patch
+
patch -p1 < /path/to/CM-FX6/kernel/linux-4.1.15-cm-fx6-8.0.patch
 
</pre>
 
</pre>
  
 
==== Git clone ====
 
==== Git clone ====
 
* Install [http://git-scm.com/ git] version control system.
 
* Install [http://git-scm.com/ git] version control system.
* Create a clone of Linux kernel tree
+
* Create a clone of the CM-FX6 Linux kernel tree
 
<pre>
 
<pre>
cd /home/development/cm-fx6/kernel
+
cd /home/development/CM-FX6/
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-cm-fx6
+
git clone git://git.freescale.com/imx/linux-2.6-imx.git
 +
mv linux-2.6-imx kernel
 +
cd /home/development/CM-FX6/kerel
 
</pre>
 
</pre>
* Create a branch for CM-FX6 development. The CM-FX6 patches are generated vs. v3.0.35 tag (839cf7a236278ae358ff12141a168c0982fa0cd9 commit) in the linux-stable tree. It is recommended to use exactly the same baseline to avoid merge conflicts.
+
 
 +
* Apply the CM-FX6 patch. Create a development branch and apply CompuLab patches.
 
<pre>
 
<pre>
git checkout -b cm-fx6-dev v3.0.35
+
git checkout -b development rel_imx_4.1.15_1.1.0_ga
</pre>
+
git am /home/development/CM-FX6/kernel/patches/*.patch
* Apply the CM-FX6 patch
 
<pre>
 
cd /home/development/cm-fx6/kernel/linux-cm-fx6
 
git apply /path/to/cm-fx6-linux/kernel/linux-3.0.35-cm-fx6-6.4.patch
 
 
</pre>
 
</pre>
  
Line 82: Line 45:
 
export ARCH=arm
 
export ARCH=arm
 
export CROSS_COMPILE=arm-none-linux-eabi-
 
export CROSS_COMPILE=arm-none-linux-eabi-
 +
export DTB=$(ls -al arch/arm/boot/dts | awk '(/fx6.*dts$/)&&($0=$NF)&&(gsub(/dts/,"dtb"))' ORS=" ")
 
make cm_fx6_defconfig
 
make cm_fx6_defconfig
 
make menuconfig
 
make menuconfig
make && make uImage && \
+
make zImage modules ${DTB} && INSTALL_MOD_PATH=/home/development/CM-FX6/rootfs make modules_install
    INSTALL_MOD_PATH=/home/development/cm-fx6/rootfs make modules_install
 
 
</pre>
 
</pre>
  
In the example above, the Linux kernel image ({{filename|uImage}}) will be created in {{filename|/home/development/cm-fx6/kernel/linux-cm-fx6/arch/arm/boot}}, and the loadable kernel modules will be installed into the {{filename|/home/development/cm-fx6/rootfs/lib/modules}} directory.
+
In the example above:
 +
* Linux kernel image ({{filename|zImage}}) will be created in {{filename|/home/development/CM-FX6/kernel/arch/arm/boot}}
 +
* device tree blobs will be created in {{filename|/home/development/CM-FX6/kernel/arch/arm/boot/dts}}
 +
* loadable kernel modules will be installed into the {{filename|/home/development/CM-FX6/rootfs/lib/modules}} directory.
  
When the CM-FX6 is booted with the kernel image created as described above and with networked root filesystem at {{filename|/home/development/cm-fx6/rootfs/}}, the system will be able to load the kernel modules properly, thus avoiding module version problems.
+
When the CM-FX6 is booted with the kernel image created as described above and with networked root filesystem at {{filename|/home/development/CM-FX6/rootfs/}}, the system will be able to load the kernel modules properly, thus avoiding module version problems.
  
== Basic platform support ==
+
==== zImage, DTB files and modules locations  ====
The CM-FX6 basic platform support is implemented in the {{filename|arch/arm/mach-mx6/board-cm-fx6.c}} file of Linux kernel source tree.
 
This file includes default setup of multi-functional pins, registration of the devices integrated in the CM-FX6 module and definitions of platform-specific configuration for these devices.
 
 
 
=== LCD, DSI, DVI, HDMI and LVDS support ===
 
 
 
CM-FX6 module can be used with five display interfaces: LCD, DSI, DVI, HDMI and LVDS.
 
CM-FX6 Evaluation Kit is equipped with the Startek KD050 / Hannstar HSD050 LCD touch panel and it is used as the default video output device.
 
LCD, DSI and DVI are sharing the same display interface (DI0) and therefore only one of them can be used at the same time.
 
HDMI and LVDS use other display interfaces and therefore can be used at the same time with each other and with either DVI, DSI or LCD interfaces.
 
 
 
==== Image Processing Unit (IPU) ====
 
 
 
In the kernel configuration menu choose '''Device Drivers ---> MXC support drivers''' submenu and enable:
 
 
 
* Image Processing Unit Driver
 
  
 +
* In the example above, the Linux kernel image ({{filename|zImage}}) will be created in the {{filename|/home/development/CM-FX6/kernel/arch/arm/boot}} directory.
 +
<pre>
 +
ls -al /home/development/CM-FX6/kernel/arch/arm/boot/zImage
 +
</pre>
 +
* DTB files
 
<pre>
 
<pre>
┌──────────────────────────────── Graphics support ──────────────────────────────┐
+
ls -al /home/development/CM-FX6/kernel/arch/arm/boot/dtb/*fx6*.dtb
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │
 
│ │    [*] Image Processing Unit Driver                                        │ │
 
│ │        MXC SSI support  --->                                              │ │
 
│ │        MXC Digital Audio Multiplexer support  --->                        │ │
 
│ │        MXC PMIC support  --->                                              │ │
 
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │
 
├────────────────────────────────────────────────────────────────────────────────┤
 
│                        <Select>    < Exit >    < Help >                      │
 
└────────────────────────────────────────────────────────────────────────────────┘
 
 
</pre>
 
</pre>
 
+
* The loadable kernel modules will be installed into the {{filename|/home/development/CM-FX6/rootfs/lib/modules}} directory.
==== Parallel LCD interface ====
 
 
 
In the kernel configuration menu choose '''Device Drivers ---> Graphics support''' submenu and enable:
 
 
 
* MXC Framebuffer support
 
** MXC EDID support
 
** Synchronous Panel Framebuffer
 
 
 
 
<pre>
 
<pre>
┌──────────────────────────────── Graphics support ──────────────────────────────┐
+
ls -al /home/development/CM-FX6/rootfs/lib/modules
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │
 
│ │    <*> Lowlevel video output switch controls                              │ │
 
│ │    <*> Support for frame buffer devices  --->                              │ │
 
│ │    [*] Backlight & LCD device support  --->                                │ │
 
│ │        Display device support  --->                                        │ │
 
│ │    <*> MXC Framebuffer support                                            │ │
 
│ │    <*>  MXC EDID support                                                  │ │
 
│ │    <*>  Synchronous Panel Framebuffer                                    │ │
 
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │
 
├────────────────────────────────────────────────────────────────────────────────┤
 
│                        <Select>    < Exit >    < Help >                      │
 
└────────────────────────────────────────────────────────────────────────────────┘
 
 
</pre>
 
</pre>
  
===== Startek KD050 / Hannstar HSD050 LCD output =====
+
==== Kernel Version  ====
 
 
Since the Startek KD050 / Hannstar HSD050 LCD is the default video output device, neither compile settings, nor special kernel command line arguments required.
 
 
 
===== DataImage SCF0403 LCD output =====
 
 
 
In the kernel configuration menu choose '''Device Drivers ---> Graphics support ---> Backlight & LCD device support''' submenu and enable:
 
 
 
* DataImage SCF0403 LCD Panels support
 
  
 +
* In the example above, the Linux kernel release version number will be saved in {{filename|/home/development/CM-FX6/kernel/include/config/kernel.release}}
 
<pre>
 
<pre>
┌──────────────────────── Backlight & LCD device support ────────────────────────┐
+
cat /home/development/CM-FX6/kernel/include/config/kernel.release
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │
 
│ │    < >    ILI Technology ILI9320 controller support                      │ │
 
│ │    < >    Toppoly TDO24M  and TDO35S LCD Panels support                  │ │
 
│ │    <*>    DataImage SCF0403 LCD Panels support                            │ │
 
│ │    < >    VGG2432A4 LCM device support                                    │ │
 
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │
 
├────────────────────────────────────────────────────────────────────────────────┤
 
│                        <Select>    < Exit >    < Help >                      │
 
└────────────────────────────────────────────────────────────────────────────────┘
 
 
</pre>
 
</pre>
  
* Since DataImage is not the default LCD, there is a special kernel command line argument required:
+
==== Prepare kernel and modules tarball  ====
 +
 
 +
* In the example below, the Linux kernel and modules are packed into the tar archive for deploying onto the CM-FX6.
 
<pre>
 
<pre>
cm_fx6_lcd=dataimage
+
mkdir -p /home/development/CM-FX6/rootfs/boot
 +
cp -v /home/development/CM-FX6/kernel/arch/arm/boot/zImage /home/development/CM-FX6/rootfs/boot/zImage-cm-fx6
 +
cp -v /home/development/CM-FX6/kernel/arch/arm/boot/dtb/*fx6*.dtb /home/development/CM-FX6/rootfs/boot/
 +
tar -C /home/development/CM-FX6/rootfs -czvf /home/development/CM-FX6/linux-image-CM-FX6.tar.gz .
 
</pre>
 
</pre>
  
==== DSI ====
+
== Basic platform support ==
 
+
The CM-FX6 basic platform support is implemented in the arch/arm/boot/dts/*fx6* files of the Linux kernel source tree.
In the kernel configuration menu choose '''Device Drivers ---> Graphics support''' submenu and enable:
 
* MXC Framebuffer support
 
* MXC MIPI_DSI
 
* TRULY WVGA Panel
 
  
┌─────────────────────────────── Graphics support ───────────────────────────────┐
+
These files contain:
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │ 
+
* default setup of multi-functional pins;
│ │    <*> MXC Framebuffer support                                            │ │ 
+
* registration of the devices integrated in the CM-FX6 module;
│ │    <*>  MXC EDID support                                                  │ │ 
+
* definitions of platform-specific configuration for these devices.
│ │    <*>  Synchronous Panel Framebuffer                                    │ │ 
+
== Deploying the CM-FX6 kernel and modules ==
│ │    < >    Epson VGA Panel                                                │ │ 
 
│ │    <*>    MXC LDB                                                        │ │ 
 
│ │    <*>    MXC MIPI_DSI                                                    │ │ 
 
│ │    <*>      TRULY WVGA Panel                                              │ │ 
 
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │ 
 
├────────────────────────────────────────────────────────────────────────────────┤ 
 
│                        <Select>    < Exit >    < Help >                        │ 
 
└────────────────────────────────────────────────────────────────────────────────┘ 
 
  
In the kernel configuration menu choose '''Device Drivers ---> Graphics support ---> Backlight & LCD device support''' submenu and enable:
+
Boot up the CM-FX6 computer. Copy the previously created {{filename|linux-image-CM-FX6.tar.gz}} to {{filename|/root}} directory of the CM-FX6.
* Lowlevel LCD controls
 
  
┌──────────────────────── Backlight & LCD device support ────────────────────────┐
+
==== Mount boot partition ====
│ ┌────────────────────────────────────────────────────────────────────────────┐ │ 
+
* Use the below command to mount the boot partition for installing the CM-FX6 Linux kernel binary:
│ │    --- Backlight & LCD device support                                      │ │ 
 
│ │    <*>  Lowlevel LCD controls                                            │ │ 
 
│ │    < >    Epson L4F00242T03 LCD                                          │ │ 
 
│ │    < >    Samsung LMS283GF05 LCD                                          │ │ 
 
│ │    < >    Samsung LTV350QV LCD Panel                                      │ │ 
 
│ │    < >    Toppoly TDO24M  and TDO35S LCD Panels support                  │ │ 
 
│ │    <*>    DataImage SCF0403 LCD Panel support                            │ │ 
 
│ │    < >    VGG2432A4 LCM device support                                    │ │ 
 
│ │    < >    Platform LCD controls                                          │ │ 
 
│ │    < >    S6E63M0 AMOLED LCD Driver                                      │ │ 
 
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │ 
 
├────────────────────────────────────────────────────────────────────────────────┤ 
 
│                        <Select>    < Exit >    < Help >                        │ 
 
└────────────────────────────────────────────────────────────────────────────────┘ 
 
* Since TRULY MIPI WVGA Panel is not the default LCD, there is a special kernel command line argument required:
 
 
<pre>
 
<pre>
cm_fx6_lcd=truly
+
boot_partition=$(awk '!/nfs/ { for (i=1;i<=NF;i++) { if($i~/^root=/) { print substr($i,6,length($i)-6)"1" } } }' /proc/cmdline)
 +
mount $boot_partition /boot
 
</pre>
 
</pre>
  
==== DVI ====
+
==== Back up old kernel ====
 
+
* It is essential to backup the old (known to work) kernel binary.
For the DVI interface to function properly, either LCD or DVI should be attached at the same time.<br>
 
The following kernel parameter must be appended to the kernel command line:
 
 
<pre>
 
<pre>
video=mxcfb0:dev=dvi,1280x800M-32@50,if=RGB32
+
mkdir /boot/$(uname -r)
 +
mv /boot/uImage-cm-fx6 /boot/zImage-cm-fx6 /boot/*.dtb /boot/$(uname -r)/
 
</pre>
 
</pre>
  
==== HDMI ====
+
==== Installing kernel and modules ====
 
+
Assuming that the {{filename|linux-image-CM-FX6.tar.gz}} tar ball has been copied to the CM-FX6 {{filename|/root}} directory.
In the kernel configuration menu choose '''Device Drivers ---> Graphics support''' submenu and enable:
+
* Extract and install the Linux kernel binary:
 
 
* MXC HDMI driver support
 
 
 
 
<pre>
 
<pre>
┌──────────────────────────────── Graphics support ──────────────────────────────┐
+
tar -C / -xvf /root/linux-image-CM-FX6.tar.gz
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │
 
│ │    < >  E-Ink Panel Framebuffer                                          │ │
 
│ │    < >  SIPIX Panel Framebuffer                                          │ │
 
│ │    < > Support MXC ELCDIF framebuffer                                      │ │
 
│ │    <*> MXC HDMI driver support                                            │ │
 
│ │        Console display driver support  --->                                │ │
 
│ │    [*] Bootup logo  --->                                                  │ │
 
│ └────────────────────────────────────────────────────────────────────────────┘ │
 
├────────────────────────────────────────────────────────────────────────────────┤
 
│                        <Select>    < Exit >    < Help >                      │
 
└────────────────────────────────────────────────────────────────────────────────┘
 
 
</pre>
 
</pre>
  
In the default configuration the second frame buffer is routed to the HDMI interface. Therefore to use the HDMI on the second frame buffer, no special kernel arguments are required.
+
== U-Boot Environment ==
For routing the first frame buffer to the HDMI interface, the following kernel parameter must be appended to the kernel command line:
+
=== Common parameters ===
 
<pre>
 
<pre>
video=mxcfb0:dev=hdmi,1920x1080M-32@50,if=RGB32
+
setenv loadaddr 0x10800000
 +
setenv dtbaddr  0x15000000
 +
setenv bootm_low 0x15000000
 +
setenv zimage zImage-cm-fx6
 +
setenv console console=ttymxc3,115200
 +
setenv rootopt rootfstype=ext4 rw rootwait
 +
setenv netopt ip=dhcp
 
</pre>
 
</pre>
 
+
* SB-FX6 (Evaluation Board)
==== LVDS ====
+
In order to boot up an SB-FX6 make use of the imx6q-sbc-fx6.dtb blob file.
 
 
In the kernel configuration menu choose '''Device Drivers ---> Graphics support''' submenu and enable:
 
 
 
* MXC LDB
 
 
 
 
<pre>
 
<pre>
┌──────────────────────────────── Graphics support ──────────────────────────────┐
+
setenv dtb imx6q-sbc-fx6.dtb
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │
 
│ │............................................................................│ │
 
│ │    <*> MXC Framebuffer support                                            │ │
 
│ │    <*>  MXC EDID support                                                │ │
 
│ │    <*>  Synchronous Panel Framebuffer                                    │ │
 
│ │    < >    Epson VGA Panel                                                │ │
 
│ │    <*>    MXC LDB                                                        │ │
 
│ │    < >    MXC MIPI_DSI                                                  │ │
 
│ │............................................................................│ │
 
│ │    [*] Bootup logo  --->                                                  │ │
 
│ └────────────────────────────────────────────────────────────────────────────┘ │
 
├────────────────────────────────────────────────────────────────────────────────┤
 
│                        <Select>    < Exit >    < Help >                      │
 
└────────────────────────────────────────────────────────────────────────────────┘
 
 
</pre>
 
</pre>
 
+
In order to boot up an SB-FX6m make use of the imx6q-sbc-fx6m.dtb blob file.
===== LVDS0 =====
+
* SB-FX6m (Utilite)
In the default configuration the third frame buffer is routed to the LVDS0 interface. Therefore to use the LVDS0 on the third frame buffer, no special kernel arguments are required.<br>
 
For routing the first frame buffer to the LVDS0 interface, the following kernel parameter must be appended to the kernel command line:
 
 
<pre>
 
<pre>
video=mxcfb0:dev=ldb,1366x768M-18@60,if=RGB666
+
setenv dtb imx6q-sbc-fx6m.dtb
 
</pre>
 
</pre>
  
===== LVDS1 =====
+
=== SATA Boot Parameters ===
In the default configuration the fifth frame buffer is routed to the LVDS1 interface. Therefore to use the LVDS1 on the fifth frame buffer, no special kernel arguments are required.
+
<pre>
{{Note|The LVDS1 port can't be routed to the first frame buffer using the kernel {{parameter|video}} parameter.}}
+
setenv satadev 0
 +
setenv rootdev root=/dev/sda2
  
=== Touchscreen controllers support ===
+
sata init
 +
fatload sata ${satadev} ${loadaddr} ${zimage}
 +
fatload sata ${satadev} ${dtbaddr} ${dtb}
  
CM-FX6 Evaluation Kit has two separate touch screen controllers: Himax (HX8520-C/HX8526-A) (assembled on the DataImage LCD) and TI TSC2046 (on-board of the CM-FX6 module).
+
setenv bootargs ${console} ${rootdev} ${rootopt} ${netopt}
The Himax is a multi touch capacitive touchscreen connected to the I2C1 bus of the CM-FX6 module.
+
bootz ${loadaddr} - ${dtbaddr}
The TI TSC2046 is a resistive touchscreen controller conneted to the SPI1 bus of the CM-FX6 module.
+
</pre>
To use the TI TSC2046 controller, the resistive touchscreen must be connected to one of the interfaces on the SB-FX6 base board.
 
  
==== Himax touchscreen controller ====
+
=== MMC Boot Parameters ===
 +
<pre>
 +
setenv mmcdev 2
 +
setenv rootdev root=/dev/mmcblk2p2
  
In the kernel configuration menu choose '''Device Drivers ---> Input device support ---> Touchscreens''' submenu and enable:
+
mmc dev ${mmcdev}
 +
fatload mmc ${mmcdev} ${loadaddr} ${zimage}
 +
fatload mmc ${mmcdev} ${dtbaddr} ${dtb}
  
* Himax touchscreen support
+
setenv bootargs ${console} ${rootdev} ${rootopt} ${netopt}
 +
bootz ${loadaddr} - ${dtbaddr}
 +
</pre>
  
 +
=== NFS Boot Parameters ===
 
<pre>
 
<pre>
┌───────────────────────────────── Touchscreens ─────────────────────────────────┐
+
setenv nfsserver <nfs server ip address>
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │
+
setenv tftpserver <tftp server ip address>
│ │    < >   TSC2007 based touchscreens                                        │ │
+
setenv rootdev root=/dev/nfs rw
│ │    < >   W90P910 touchscreen driver                                        │ │
 
│ │    <M>  Himax touchscreen support                                        │ │
 
│ │    < >  Sitronix ST1232 touchscreen controllers                          │ │
 
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │
 
├────────────────────────────────────────────────────────────────────────────────┤
 
│                        <Select>    < Exit >    < Help >                        │
 
└────────────────────────────────────────────────────────────────────────────────┘
 
</pre>
 
 
 
==== TI TSC2046 touchscreen controller ====
 
  
In the kernel configuration menu choose '''Device Drivers ---> Input device support ---> Touchscreens''' submenu and enable:
+
dhcp
 +
tftpboot ${loadaddr} ${tftpserver}:${zimage}
 +
tftpboot ${dtbaddr} ${tftpserver}:${dtb}
  
* ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens
+
setenv bootargs ${console} ${rootdev} nfsroot=${nfsserver}:${nfsroot} ${netopt}
 
+
bootz ${loadaddr} - ${dtbaddr}
<pre>
 
┌───────────────────────────────── Touchscreens ─────────────────────────────────┐
 
│ ┌────────────────────────────────────────────────────────────────────────────┐ │ 
 
│ │    --- Touchscreens                                                        │ │ 
 
│ │    <M>  ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens          │ │ 
 
│ │    < >  AD7877 based touchscreens                                        │ │ 
 
│ │    < >  Analog Devices AD7879-1/AD7889-1 touchscreen interface            │ │ 
 
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │ 
 
├────────────────────────────────────────────────────────────────────────────────┤ 
 
│                        <Select>    < Exit >    < Help >                        │ 
 
└────────────────────────────────────────────────────────────────────────────────┘ 
 
 
</pre>
 
</pre>
 +
== Kernel configuration ==
 +
=== System Support ===
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> System Type > Freescale i.MX family
 +
Enable:
 +
* i.MX6 Quad/DualLite support
 +
* CompuLab CM-FX6 Support
 +
  ┌──────────────────────────────────────────────── Freescale i.MX family ────────────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
 +
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                      --- Freescale i.MX family                                                                    │ │ 
 +
  │ │                            *** Device tree only ***                                                              │ │ 
 +
  │ │                      [ ]  i.MX50 support                                                                        │ │ 
 +
  │ │                      [ ]  i.MX51 support                                                                        │ │ 
 +
  │ │                      [*]  i.MX53 support                                                                        │ │ 
 +
  │ │                      [*]  i.MX6 Quad/DualLite support                                                            │ │ 
 +
  │ │                      [*]  i.MX6 SoloLite support                                                                │ │ 
 +
  │ │                      [ ]  i.MX6 SoloX support                                                                    │ │ 
 +
  │ │                      [ ]  i.MX6 UltraLite support                                                                │ │ 
 +
  │ │                      [ ]  i.MX7 Dual support                                                                    │ │ 
 +
  │ │                      [*]  Vybrid Family VF610 support                                                            │ │ 
 +
  │ │                              Clocksource for scheduler clock (Use ARM Global Timer)  --->                        │ │ 
 +
  │ │                      [ ]  Freescale LS1021A support                                                              │ │ 
 +
  │ │                      [*]  CompuLab CM-FX6 Support                                                                │ │ 
 +
  │ │                                                                                                                  │ │ 
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  
=== Controller–area network (CAN) support ===
+
=== Bus Support ===
The Flexible Controller Area Network (FLEXCAN) module is a communication
+
==== PCIE ====
controller implementing the CAN protocol according to the CAN 2.0B protocol
+
make menuconfig
specification [Ref. 1].
+
.config - Linux/arm 4.1.15 Kernel Configuration
The CAN protocol was primarily designed to be used as a vehicle serial data bus meeting
+
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
the specific requirements of this field: real-time processing, reliable operation in the EMI
+
> Bus support > PCI host controller drivers
environment of a vehicle, cost-effectiveness and required bandwidth. The FLEXCAN
+
Enable:
module is a full implementation of the CAN protocol specification, which supports both
+
* Freescale i.MX6 PCIe controller
standard and extended message frames. 64 Message Buffers is supported.
+
  ┌───────────────────────────────────────────── PCI host controller drivers ─────────────────────────────────────────────┐
 
+
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
To enable CAN functionality of CM-FX6, the following dependencies must be met:
+
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
* CAN bus subsystem support enabled
+
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
* Raw CAN Protocol support enabled
+
  │                                                                                                                      │ 
* Broadcast Manager CAN Protocol support enabled
+
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
* Platform CAN drivers with Netlink support
+
  │ │                      [*] Freescale i.MX6 PCIe controller                                                         │ │ 
* CAN bit-timing calculation enabled
+
  │ │                      [ ]  Enable pcie compliance tests on imx6                                                  │ │ 
* Support for Freescale FLEXCAN based chips enabled
+
  │ │                      [ ]  PCI Express EP mode in the IMX6 RC/EP interconnection system                          │ │ 
 
+
  │ │                      [ ]    PCI Express RC mode in the IMX6 RC/EP interconnection system                        │ │ 
==== CAN bus subsystem support ====
+
  │ │                      [ ] Generic PCI host controller                                                              │ │ 
In the kernel configuration menu choose '''Networking Support''' submenu and enable '''CAN bus subsystem support'''.
+
  │ │                      [ ] Freescale Layerscape PCIe controller                                                    │ │ 
You can choose to either build it into the kernel or to compile it as a module. In the last case the module name will be {{filename|can}}.
+
  │ │                      < > Broadcom iProc PCIe controller                                                          │ │ 
 
+
  │ │                                                                                                                  │ │ 
   ┌────────────────────────────── Networking support ──────────────────────────────┐
+
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
   │ ┌────────────────────────────────────────────────────────────────────────────┐ │   
+
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
   │ │   --- Networking support                                                  │ │   
+
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                                │ 
   │ │         Networking options --->                                         │ │   
+
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
   │ │   [ ]   Amateur Radio support  --->                                      │ │   
+
==== I2C ====
   │ │   <*>  CAN bus subsystem support --->                                  │ │   
+
make menuconfig
   │ │    < >  IrDA (infrared) subsystem support  --->                           │ │   
+
.config - Linux/arm 4.1.15 Kernel Configuration
   │ │    <*>  Bluetooth subsystem support --->                                │ │   
+
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   │ │   < >  RxRPC session sockets                                            │ │   
+
> Device Drivers > I2C support > I2C Hardware Bus support
   │ │   -*-   Wireless  --->                                                    │ │   
+
Enable:
   │ │   < >  WiMAX Wireless Broadband support  --->                           │ │   
+
* IMX I2C interface
   │ │    <*>   RF switch subsystem support  --->                                 │ │   
+
  ┌────────────────────────────────────────────── I2C Hardware Bus support ───────────────────────────────────────────────┐
   │ │    < >   Plan 9 Resource Sharing Support (9P2000) --->                   │ │   
+
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
   │ │   < >   CAIF support  --->                                                │ │   
+
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help,   │ 
   │ │   < >   Ceph core library (EXPERIMENTAL)                                  │ │   
+
  │  </> for Search. Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
   │ │                                                                           │ │
+
  │                                                                                                                      │ 
   │ └────────────────────────────────────────────────────────────────────────────┘ │   
+
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
   ├────────────────────────────────────────────────────────────────────────────────┤  
+
  │ │                          *** I2C system bus drivers (mostly embedded / system-on-chip) ***                        │ │ 
   │                       <Select>    < Exit >    < Help >                       │   
+
  │ │                      < > CBUS I2C driver                                                                          │ │ 
   └────────────────────────────────────────────────────────────────────────────────┘
+
  │ │                      < > Synopsys DesignWare Platform                                                            │ │ 
 
+
  │ │                      < > Synopsys DesignWare PCI                                                                  │ │ 
==== CAN Protocols ====
+
  │ │                      < > GPIO-based bitbanging I2C                                                                │ │ 
In the kernel configuration menu choose '''Networking Support ---> CAN bus subsystem support''' submenu and enable:
+
  │ │                      <*> IMX I2C interface                                                                        │ │ 
* Raw CAN Protocol
+
  │ │...................................................................................................................│ │ 
* Broadcast Manager CAN Protocol
+
  │ │                          *** Other I2C/SMBus bus drivers ***                                                      │ │ 
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
 +
==== SPI ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > SPI support
 +
Enable:
 +
*  Freescale i.MX SPI controllers
 +
  ┌───────────────────────────────────────────────────── SPI support ─────────────────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
 +
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module < > module capable                                  │ 
 +
   │                                                                                                                      │ 
 +
   │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │   
 +
   │ │                     --- SPI support                                                                              │ │ 
 +
  │ │                      [ ]  Debug support for SPI drivers                                                          │ │ 
 +
  │ │                            *** SPI Master Controller Drivers ***                                                 │ │   
 +
   │ │                     < >  Altera SPI Controller                                                                  │ │  
 +
  │ │                      -*-   Utilities for Bitbanging SPI masters                                                  │ │ 
 +
  │ │                      < >   Cadence SPI controller                                                                │ │   
 +
   │ │                     < >   GPIO-based bitbanging SPI Master                                                      │ │   
 +
   │ │                     <*>  Freescale i.MX SPI controllers                                                        │ │  
 +
  │ │                            *** SPI Protocol Masters ***                                                          │ │   
 +
   │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >   < Load >                               │ 
 +
   └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 +
==== SATA ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > Serial ATA and Parallel ATA drivers (libata)
 +
Enable:
 +
* AHCI SATA support
 +
* Platform AHCI SATA support
 +
* Freescale i.MX AHCI SATA support
 +
  ┌──────────────────────────────────── Serial ATA and Parallel ATA drivers (libata) ─────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are     
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │   
 +
   │ </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
   │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 +
  │ │                      --- Serial ATA and Parallel ATA drivers (libata)                                            │ │   
 +
   │ │                     <*AHCI SATA support                                                                      │ │   
 +
   │ │                     <*>   Platform AHCI SATA support                                                            │ │   
 +
   │ │                     <*Freescale i.MX AHCI SATA support                                                       │ │ 
 +
  │ │                                *** SATA SFF controllers with BMDMA ***                                            │ │  
 +
  │ │                      < >       Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support                                    │ │   
 +
   │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>   < Exit >    < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 +
==== USB ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > USB support
 +
Enable:
 +
* Support for Freescale i.MX on-chip EHCI USB controller
 +
* Generic EHCI driver for a platform device
 +
   ┌───────────────────────────────────────────────────── USB support ─────────────────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are     
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │   
 +
   │ </> for Search. Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                              *** USB Host Controller Drivers ***                                                  │ │   
 +
   │ │                     <*>     Support for Freescale i.MX on-chip EHCI USB controller                              │ │   
 +
   │ │                     <*>     Generic EHCI driver for a platform device                                            │ │   
 +
   │ │...................................................................................................................│ │
 +
   │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │   
 +
   ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 +
   │                               <Select>    < Exit >    < Help >   < Save >    < Load >                                │   
 +
   └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 +
==== MMC/SD/SDIO ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > MMC/SD/SDIO card support
 +
Enable:
 +
* Secure Digital Host Controller Interface support
 +
* SDHCI platform and OF driver helper
 +
* SDHCI support for the Freescale eSDHC/uSDHC i.MX controller
 +
  ┌────────────────────────────────────────────── MMC/SD/SDIO card support ───────────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
 +
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                      --- MMC/SD/SDIO card support                                                                │ │ 
 +
  │ │...................................................................................................................│ │
 +
  │ │                      <*>   MMC block device driver                                                                │ │ 
 +
  │ │                      (8)    Number of minors per block device                                                    │ │ 
 +
  │ │                      [*]    Use bounce buffer for simple hosts                                                  │ │ 
 +
  │ │                      < >  SDIO UART/GPS class support                                                            │ │ 
 +
  │ │                      < >  MMC host test driver                                                                  │ │ 
 +
  │ │                            *** MMC/SD/SDIO Host Controller Drivers ***                                            │ │ 
 +
  │ │                      <*>  Secure Digital Host Controller Interface support                                      │ │ 
 +
  │ │                      < >    SDHCI support on PCI bus                                                             │ │ 
 +
  │ │                      <*>    SDHCI platform and OF driver helper                                                  │ │ 
 +
  │ │                      < >      SDHCI OF support for the Arasan SDHCI controllers                                  │ │ 
 +
  │ │                      <*>      SDHCI support for the Freescale eSDHC/uSDHC i.MX controller                        │ │ 
 +
  │ │...................................................................................................................│ │
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  
  ┌────────────────────────── CAN bus subsystem support ───────────────────────────┐
+
=== NetWork ===
  │ ┌────────────────────────────────────────────────────────────────────────────┐ │ 
+
==== CAN ====
  │ │    --- CAN bus subsystem support                                          │ │ 
+
  make menuconfig
  │ │    <*>  Raw CAN Protocol (raw access with CAN-ID filtering)              │ │  
+
  .config - Linux/arm 4.1.15 Kernel Configuration
  │ │    <*>  Broadcast Manager CAN Protocol (with content filtering)          │ │ 
+
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  │ │          CAN Device Drivers --->                                          │ │ 
+
  > Networking support > CAN bus subsystem support > CAN Device Drivers
  │ │                                                                            │ │ 
+
Enable:
  │ └────────────────────────────────────────────────────────────────────────────┘ │  
 
  ├────────────────────────────────────────────────────────────────────────────────┤  
 
  │                        <Select>   < Exit >    < Help >                        │ 
 
  └────────────────────────────────────────────────────────────────────────────────┘
 
 
 
==== Platform CAN driver ====
 
In the kernel configuration menu choose '''Networking Support ---> CAN bus subsystem support ---> CAN Device Drivers''' submenu and enable:
 
* Platform CAN drivers with Netlink support
 
* CAN bit-timing calculation
 
 
* Support for Freescale FLEXCAN based chips
 
* Support for Freescale FLEXCAN based chips
 
+
   ┌───────────────────────────────────────────────── CAN Device Drivers ──────────────────────────────────────────────────┐
   ┌────────────────────────────── CAN Device Drivers ──────────────────────────────┐
+
   │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │   
   │ ┌────────────────────────────────────────────────────────────────────────────┐ │  
+
   │ hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │   
  │ │    <*> Virtual Local CAN Interface (vcan)                                 │ │   
+
   │ </> for Search. Legend: [*] built-in  [ ] excluded <M> module < > module capable                                  │   
   │ │    < > Serial / USB serial CAN Adaptors (slcan)                            │ │   
+
   │                                                                                                                       │   
   │ │    <*> Platform CAN drivers with Netlink support                          │ │  
+
   │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │   
  │ │    [*]   CAN bit-timing calculation                                        │ │  
+
   │ │                     < > Virtual Local CAN Interface (vcan)                                                      │ │   
  │ │    < >   Microchip MCP251x SPI CAN controllers                            │ │  
+
   │ │...................................................................................................................│ │
  │ │    <*> Support for Freescale FLEXCAN based chips                          │ │   
+
   │ │                     <*Support for Freescale FLEXCAN based chips                                              │ │   
   │ │    < > PCH CAN                                                            │ │   
+
   │ │...................................................................................................................│ │
   │ │    < > Philips/NXP SJA1000 devices  --->                                  │ │   
+
   │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │   
   │ │   < > Bosch C_CAN devices  --->                                          │ │   
+
   ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
   │ │       CAN USB interfaces  --->                                            │ │
+
   │                               <Select>    < Exit >    < Help >   < Save >    < Load >                                │   
   │ │   < > Softing Gmbh CAN generic support                                    │ │ 
+
   └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
   │ │    [ ] CAN devices debugging messages                                      │ │   
+
==== FEC/IGB ====
   │ │                                                                           │ │
+
make menuconfig
   │ └────────────────────────────────────────────────────────────────────────────┘ │   
+
.config - Linux/arm 4.1.15 Kernel Configuration
   ├────────────────────────────────────────────────────────────────────────────────┤  
+
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   │                       <Select>    < Exit >    < Help >                       │   
+
> Device Drivers > Network device support > Ethernet driver support
   └────────────────────────────────────────────────────────────────────────────────┘
+
Enable:
 
+
* Freescale devices
=== Analog Audio Support ===
+
* FEC ethernet controller (of ColdFire and some i.MX CPUs)
In the kernel configuration menu choose '''Device Drivers ---> Sound card support ---> Advanced Linux Sound Architecture ---> ALSA for SoC audio support ---> SoC Audio for Freescale i.MX CPUs''' submenu and enable:
+
* Intel devices
* SoC Audio support for CM-FX6 boards
+
* Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support
<pre>
+
  ┌─────────────────────────────────────────────── Ethernet driver support ───────────────────────────────────────────────┐
┌────────────────── SoC Audio for Freescale i.MX CPUs ───────────────────────────┐
+
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
┌────────────────────────────────────────────────────────────────────────────┐
+
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
│ │  --- SoC Audio for Freescale i.MX CPUs                                   │ │
+
  │  </> for Search. Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
│ │  < >   SoC Audio support for IMX boards with WM8958                      │ │
+
  │                                                                                                                      │ 
│ │   < >   SoC Audio support for IMX boards with WM8962                      │ │
+
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
│ │   <*>   SoC Audio support for CM-FX6 boards                                │ │
+
  │ │                      [ ]  Faraday devices                                                                        │ │
│ │   < >   SoC Audio support for IMX SI4763                                  │ │
+
  │ │                     [*]   Freescale devices                                                                      │ │ 
│ │   <*>   SoC Audio support for IMX - S/PDIF                                │ │
+
  │ │                      <*>    FEC ethernet controller (of ColdFire and some i.MX CPUs)                            │ │
│ │   <*>  SoC Audio support for IMX - HDMI                                  │ │
+
  │ │...................................................................................................................│ │ 
└────────────────────────────────────────────────────────────────────────────┘
+
   │ │                      [*]   Intel devices                                                                          │ │
├────────────────────────────────────────────────────────────────────────────────┤
+
  │ │                     < >     Intel(R) PRO/100+ support                                                           │ │
                        <Select>    < Exit >    < Help >                       │
+
  │ │                     < >     Intel(R) PRO/1000 Gigabit Ethernet support                                           │ │
└────────────────────────────────────────────────────────────────────────────────┘
+
  │ │                     < >     Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support                               │ │
</pre>
+
  │ │                     <M>     Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support                           │ │
 
+
  │ │...................................................................................................................│ │
=== WiFi and Bluetooth ===
+
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
<dl>
+
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
CM-FX6 has WiFi and Bluetooth support based on Marvell 88W8787.
+
                                <Select>    < Exit >    < Help >   < Save >   < Load >                               │ 
</dl>
+
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  
 
==== WiFi ====
 
==== WiFi ====
In the kernel configuration menu choose '''Device Drivers ---> Network device support ---> Wireless LAN''' submenue and enable:
+
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > Network device support > Wireless LAN
 +
Enable:
 
* Marvell WiFi-Ex Driver
 
* Marvell WiFi-Ex Driver
* Marvell WiFi-Ex Driver for SD8787
+
* Marvell WiFi-Ex Driver for SD8786/SD8787/SD8797/SD8887/SD8897
<pre>
+
  ┌──────────────────────────────────────────────────── Wireless LAN ─────────────────────────────────────────────────────┐
┌──────────────────────────────── Wireless LAN ──────────────────────────────────┐
+
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
┌────────────────────────────────────────────────────────────────────────────┐
+
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
│ │  < >  ZyDAS ZD1211/ZD1211B USB-wireless support                         │ │
+
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
│ │   <M>  Marvell WiFi-Ex Driver                                             │ │
+
  │                                                                                                                      │ 
│ │   <M>    Marvell WiFi-Ex Driver for SD8787                               │ │
+
  ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
└────────────────────────────────────────────────────────────────────────────┘
+
  │ │...................................................................................................................│ │
├────────────────────────────────────────────────────────────────────────────────┤
+
   │ │                      < >  ZyDAS ZD1211/ZD1211B USB-wireless support                                             │ │
                        <Select>    < Exit >    < Help >                       │
+
  │ │                     <M>  Marvell WiFi-Ex Driver                                                                 │ │
└────────────────────────────────────────────────────────────────────────────────┘
+
  │ │                     <M>    Marvell WiFi-Ex Driver for SD8786/SD8787/SD8797/SD8887/SD8897                        │ │ 
</pre>
+
  │ │                      < >    Marvell WiFi-Ex Driver for PCIE 8766/8897                                            │ │
 
+
  │ │...................................................................................................................│ │
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
                                <Select>    < Exit >    < Help >   < Save >    < Load >                               │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 
==== Bluetooth ====
 
==== Bluetooth ====
In the kernel configuration menu choose '''Networking support ---> Bluetooth subsystem support ---> Bluetooth device drivers''' submenue and enable:
+
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Networking support > Bluetooth subsystem support > Bluetooth device drivers
 +
Enable:
 
* Marvell Bluetooth driver support
 
* Marvell Bluetooth driver support
 
* Marvell BT-over-SDIO driver
 
* Marvell BT-over-SDIO driver
<pre>
+
  ┌────────────────────────────────────────────── Bluetooth device drivers ───────────────────────────────────────────────┐
┌─────────────────────── Bluetooth device drivers ───────────────────────────────┐
+
  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are     
┌────────────────────────────────────────────────────────────────────────────┐ │
+
  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,   │
│ │  < >   HCI VHCI (Virtual HCI device) driver                              │
+
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                 
│  <M>   Marvell Bluetooth driver support                                  │ │
+
   │                                                                                                                      
│ │  <M>     Marvell BT-over-SDIO driver                                      │ │
+
   │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ │  < >   Atheros firmware download driver                                  │ │
+
  │ │                     < > HCI USB driver                                                                          │ │
│ └────────────────────────────────────────────────────────────────────────────┘ │
+
  │ │                     < > HCI SDIO driver                                                                          │ │   
├────────────────────────────────────────────────────────────────────────────────┤
+
  │ │                     < > HCI UART driver                                                                          │ │   
│                        <Select>   < Exit >    < Help >                     
+
  │ │                     < > HCI BCM203x USB driver                                                                  │ │   
└────────────────────────────────────────────────────────────────────────────────┘
+
   │ │                     < > HCI BPA10x USB driver                                                                    │ │   
</pre>
+
   │ │                     < > HCI BlueFRITZ! USB driver                                                                │ │   
 
+
   │ │                     < > HCI VHCI (Virtual HCI device) driver                                                    │ │   
=== USB On-The-Go (OTG) ===
+
   │ │                     <M> Marvell Bluetooth driver support                                                         │ │   
 
+
   │ │                     <M>   Marvell BT-over-SDIO driver                                                            │ │
In the kernel configuration menu choose '''System Type ---> Freescale MXC Implementations''' submenu and enable:
+
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
* FSL USB OTG support
+
   ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
<pre>
+
   │                               <Select>    < Exit >    < Help >   < Save >    < Load >                               │ 
┌────────────────────────────────────────────────────────────────────────────────┐
+
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
│ ┌────────────────────────────────────────────────────────────────────────────┐ │
+
=== Multimedia ===
│ │  [*] Support CompuLab CM-FX6 module                                      │ │
+
==== IPU ====
│ │              *** MX6 Options: ***                                          │ │
+
make menuconfig
│ │  [*] PCI Express support                                                  │ │
+
.config - Linux/arm 4.1.15 Kernel Configuration
│ │  <*>   USB Host 1 support                                                │ │
+
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ │  <*>   FSL USB OTG support                                                │
+
> Device Drivers > MXC support drivers
│ │   [ ] Internal LDO in MX6Q/DL bypass                                      │ │
+
Enable:
│ │   [ ] MX6 clk setting for smooth UI transtion from bootloader to kernel    │ │
 
└────────────────────────────────────────────────────────────────────────────┘
 
├────────────────────────────────────────────────────────────────────────────────┤
 
│                        <Select>    < Exit >    < Help >                      │
 
└────────────────────────────────────────────────────────────────────────────────┘
 
</pre>
 
 
 
In the kernel configuration menu choose '''Device Drivers ---> USB support''' submenu and enable:
 
* Support for Host-side USB
 
* EHCI HCD (USB 2.0) support
 
** Support for Freescale controller
 
* USB OTG pin detect support
 
<pre>
 
┌───────────────────────────── USB support ──────────────────────────────────────┐
 
┌────────────────────────────────────────────────────────────────────────────┐
 
│ │   --- USB support                                                          │ │   
 
│ │   <*>   Support for Host-side USB                                          │ │   
 
│ │   [ ]    USB verbose debug messages                                      │ │   
 
│ │   [ ]    USB announce new devices                                        │ │
 
│ │          *** Miscellaneous USB options ***                                │ │   
 
│ │   [ ]    USB device filesystem (DEPRECATED)                              │ │
 
│ │  [ ]    USB device class-devices (DEPRECATED)                            │ │   
 
│ │   [ ]    Dynamic USB minor allocation                                    │ │
 
│ │  [*]    USB runtime power management (autosuspend) and wakeup            │ │ 
 
│ │  -*-      OTG support                                                    │ │   
 
│ │   .......................................................................  │ │
 
│ │  <*>   EHCI HCD (USB 2.0) support                                         │ │   
 
│ │   [*]    Support for Freescale controller                                │ │
 
│ │  .......................................................................  │ │
 
│ │  <*>     USB Gadget Support  --->                                        │ │
 
│ │       *** OTG and related infrastructure ***                              │ │
 
│ │   ....................................................................... │ │
 
│ │  <*>   USB OTG pin detect support                                       
 
│ └────────────────────────────────────────────────────────────────────────────┘ │
 
├────────────────────────────────────────────────────────────────────────────────┤
 
│                        <Select>    < Exit >    < Help >                       │
 
└────────────────────────────────────────────────────────────────────────────────┘
 
</pre>
 
 
 
== Multi Media Support ==
 
 
 
=== Image Processing Unit Driver ===
 
 
 
In the kernel configuration menu choose '''Device Drivers ---> MXC support drivers''' submenu and enable:
 
 
* Image Processing Unit Driver
 
* Image Processing Unit Driver
<pre>
+
  ┌───────────────────────────────────────────────── MXC support drivers ─────────────────────────────────────────────────┐
   ┌────────────────────────── MXC support drivers ──────────────────────────┐
+
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
   │ ┌─────────────────────────────────────────────────────────────────────┐ │   
+
   │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
   │ │    [*] Image Processing Unit Driver                                │ │   
+
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
   │ │       MXC SSI support  --->                                       │ │   
+
  │                                                                                                                      │ 
   │ │       MXC Digital Audio Multiplexer support  --->                 │ │   
+
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
   │ │       MXC PMIC support  --->                                       │ │   
+
  │ │                      [*] Image Processing Unit Driver                                                            │ │ 
   │ └────v(+)─────────────────────────────────────────────────────────────┘ │   
+
  │ │                          MXC Media Local Bus Driver  --->                                                        │ │ 
   ├─────────────────────────────────────────────────────────────────────────┤  
+
  │ │                      < > i.MX IPUv3 prefetch engine                                                              │ │ 
   │                   <Select>    < Exit >    < Help >                    │   
+
  │ │                          MXC Vivante GPU support  --->                                                            │ │ 
   └─────────────────────────────────────────────────────────────────────────┘
+
  │ │                          MXC SIM Support  --->                                                                    │ │ 
</pre>
+
  │ │                          MXC MIPI Support  --->                                                                  │ │ 
 +
  │ │                          MXC VPU(Video Processing Unit) support  --->                                            │ │ 
 +
  │ │                          MXC HDMI CEC (Consumer Electronics Control) support  --->                                │ │ 
 +
  │ │                                                                                                                  │ │ 
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
 +
==== GPU ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > MXC support drivers > MXC Vivante GPU support
 +
Enable:
 +
* MXC Vivante GPU support
 +
  ┌─────────────────────────────────────────────── MXC Vivante GPU support ───────────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
 +
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                      <M> MXC Vivante GPU support                                                                  │ │ 
 +
  │ │                                                                                                                  │ │ 
 +
   │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                                │   
 +
   └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
 +
==== VPU ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > MXC support drivers > MXC VPU(Video Processing Unit) support
 +
Enable:
 +
* Support for MXC VPU(Video Processing Unit)
 +
  ┌─────────────────────────────────────── MXC VPU(Video Processing Unit) support ────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are     
 +
  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,   │ 
 +
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                      <*> Support for MXC VPU(Video Processing Unit)                                              │ │   
 +
   │ │                     [ ]  MXC VPU debugging                                                                      │ │ 
 +
  │ │                      [ ]  MX6 VPU 352M                                                                          │ │ 
 +
  │ │                                                                                                                  │ │ 
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
 +
==== Frame buffer Devices ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > Graphics support > Frame buffer Devices
 +
Enable:
 +
* MXC Framebuffer support
 +
* Synchronous Panel Framebuffer
 +
* MXC MIPI_DSI
 +
* TRULY WVGA Panel
 +
* MXC LDB
 +
* MXC HDMI driver support
 +
* MXC EDID support
 +
* Hannstar CABC function
 +
  ┌──────────────────────────────────────────────── Frame buffer Devices ─────────────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
 +
  │  </> for Search. Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌──────────────────────^(-)─────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                      < > AUO-K190X EPD controller support                                                        │ │ 
 +
  │ │                      <*> MXS LCD framebuffer support                                                              │ │ 
 +
  │ │                      [ ] Simple framebuffer support                                                              │ │ 
 +
  │ │                      <*> MXC Framebuffer support                                                                  │ │ 
 +
  │ │                      <*>   Synchronous Panel Framebuffer                                                          │ │   
 +
   │ │                     <*>    MXC MIPI_DSI                                                                        │ │ 
 +
  │ │                      < >    MXC MIPI_DSI_SAMSUNG                                                                │ │ 
 +
  │ │                      <*>    TRULY WVGA Panel                                                                    │ │ 
 +
  │ │                      <*>    MXC LDB                                                                              │ │ 
 +
  │ │                      <*>    MXC HDMI driver support                                                              │ │ 
 +
  │ │                      <*>  MXC EDID support                                                                      │ │ 
 +
  │ │                      <*> Si Image SII9022 DVI/HDMI Interface Chip                                                │ │ 
 +
  │ │                      < > MXC DCIC                                                                                │ │ 
 +
  │ │                      <*> Hannstar CABC function                                                                  │ │ 
 +
  │ │                      <*> E-Ink Panel Framebuffer                                                                  │ │ 
 +
  │ │                      < > E-Ink Panel Framebuffer based on EPDC V2                                                │ │ 
 +
  │ │                      [ ] E-Ink Auto-update Mode Support                                                          │ │ 
 +
  │ │                      < > Solomon SSD1307 framebuffer support                                                      │ │ 
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
 +
==== Audio ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > Sound card support > Advanced Linux Sound Architecture > ALSA for SoC audio support > SoC Audio for Freescale CPUs
 +
Enable:
 +
* SoC Audio support for i.MX boards with S/PDIF
 +
* SoC Audio support for i.MX boards with HDMI port
 +
* SoC Audio support for i.MX boards with WM8731
 +
  ┌──────────────────────────────────────────── SoC Audio for Freescale CPUs ─────────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
 +
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                          *** Common SoC Audio options for Freescale CPUs: ***                                    │ │ 
 +
  │ │...................................................................................................................│ │ 
 +
  │ │                      <*> SoC Audio support for i.MX boards with S/PDIF                                            │ │ 
 +
  │ │                      <*> SoC Audio support for i.MX boards with HDMI port                                        │ │ 
 +
  │ │                      <*> SoC Audio support for i.MX boards with WM8731                                            │ │ 
 +
  │ │...................................................................................................................│ │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 +
   │                               <Select>    < Exit >    < Help >    < Save >    < Load >                               
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 +
==== MXC MIPI ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > MXC support drivers > MXC MIPI Support
 +
Enable:
 +
* MIPI CSI2 support
 +
  ┌────────────────────────────────────────────────── MXC MIPI Support ───────────────────────────────────────────────────┐
 +
  │ Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
 +
  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │   
 +
   │ </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                      <*> MIPI CSI2 support                                                                        │ │ 
 +
  │ │                                                                                                                  │ │ 
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │   
 +
   ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 +
   │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
 +
==== MIPI Camera ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > Multimedia support > V4L platform devices > MXC Camera/V4L2 PRP Features support
 +
Enable:
 +
* OmniVision ov5640 camera support using mipi
 +
  ┌──────────────────────────────────────── MXC Camera/V4L2 PRP Features support ─────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
 +
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                      <M> OmniVision ov5640 camera support                                                        │ │ 
 +
  │ │                      <M> OmniVision ov5642 camera support                                                        │ │ 
 +
  │ │                      <M> OmniVision ov5640 camera support using mipi                                              │ │ 
 +
  │ │                      <M> Analog Device adv7180 TV Decoder Input support                                          │ │ 
 +
  │ │                      <*> Select Overlay Rounting (Queue ipu device for overlay library)  --->                    │ │ 
 +
  │ │                      <*> Pre-processor Encoder library                                                            │ │ 
 +
  │ │                      <*> IPU CSI Encoder library                                                                  │ │ 
 +
  │ │                                                                                                                  │ │   
 +
   │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                               │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  
=== Video For Linux and Capture support ===
+
=== Input Device ===
 
+
make menuconfig
In the kernel configuration menu choose '''Device Drivers ---> Multimedia support''' submenu and enable:
+
.config - Linux/arm 4.1.15 Kernel Configuration
* Video For Linux
+
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
* Video capture adapters
+
> Device Drivers > Input device support > Touchscreens
<pre>
+
Enable:
   ┌────────────────────────── Multimedia support ───────────────────────────┐
+
* ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens
   │ ┌─────────────────────────────────────────────────────────────────────┐ │   
+
  ┌──────────────────────────────────────────────────── Touchscreens ─────────────────────────────────────────────────────┐
   │ │   --- Multimedia support                                          │ │   
+
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
   │ │         *** Multimedia core support ***                            │ │   
+
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
   │ │    [ ]   Media Controller API (EXPERIMENTAL)                       │ │   
+
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
   │ │    <*>  Video For Linux                                            │ │   
+
   │                                                                                                                      │ 
   │ │   < >  DVB for Linux                                              │ │   
+
   │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │   
   │ │         *** Multimedia drivers ***                                 │ │   
+
   │ │                     --- Touchscreens                                                                            │ │ 
   │ │   [*]  Video capture adapters --->                               │ │   
+
  │ │                      <M>  ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens                                │ │ 
   │ └─────────────────────────────────────────────────────────────────────┘ │   
+
  │ │...................................................................................................................│ │   
   ├─────────────────────────────────────────────────────────────────────────┤  
+
   │ │                                                                                                                   │ │   
   │                   <Select>    < Exit >    < Help >                     │   
+
   │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
   └─────────────────────────────────────────────────────────────────────────┘  
+
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
</pre>
+
                                <Select>    < Exit >   < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
 +
=== OTG ===
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > USB support
 +
Enable:
 +
* OTG support
 +
  ┌───────────────────────────────────────────────────── USB support ─────────────────────────────────────────────────────┐
 +
   │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are     
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │   
 +
   │ </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
   │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                      --- USB support                                                                              │ │   
 +
   │ │                     <*Support for Host-side USB                                                              │ │ 
 +
  │ │...................................................................................................................│ │ 
 +
  │ │                      [*]    OTG support                                                                          │ │ 
 +
  │ │                      [ ]    Rely on OTG and EH Targeted Peripherals List                                        │ │ 
 +
  │ │...................................................................................................................│ │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 +
   │                               <Select>    < Exit >    < Help >    < Save >    < Load >                               
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
 +
==== USB Gadget Support ====
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > USB support > USB Gadget Support
 +
Enable:
 +
* USB Gadget Drivers
 +
* Audio Gadget
 +
* UAC 1.0 (Legacy)
 +
* Ethernet Gadget (with CDC Ethernet support)
 +
* Mass Storage Gadget
 +
* Serial Gadget (with CDC ACM and CDC OBEX support)
 +
  ┌───────────────────────────────────────────────── USB Gadget Support ──────────────────────────────────────────────────┐
 +
  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │   
 +
   │ hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,   
 +
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
   │                                                                                                                      │  
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                      --- USB Gadget Support                                                                      │ │ 
 +
  │ │...................................................................................................................│ │ 
 +
  │ │                      <M>   USB Gadget Drivers                                                                    │ │ 
 +
  │ │                      <M>    Audio Gadget                                                                        │ │ 
 +
  │ │                      [*]      UAC 1.0 (Legacy)                                                                  │ │ 
 +
  │ │                      <M>    Ethernet Gadget (with CDC Ethernet support)                                          │ │ 
 +
  │ │                      <M>    Mass Storage Gadget                                                                  │ │ 
 +
  │ │                      <M>    Serial Gadget (with CDC ACM and CDC OBEX support)                                    │ │   
 +
  │ │...................................................................................................................│ │   
 +
   │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │   
 +
   ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 +
   │                               <Select>    < Exit >    < Help >   < Save >    < Load >                                │   
 +
   └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  
  
=== MXC Video For Linux Camera ===
+
=== Serial Console ===
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > Character devices > Serial drivers
 +
Enable:
 +
* IMX serial port support
 +
* Console on IMX serial port
 +
  ┌─────────────────────────────────────────────────── Serial drivers ────────────────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
 +
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │...................................................................................................................│ │ 
 +
  │ │                      < > MAX310X support                                                                          │ │ 
 +
  │ │                      <*> IMX serial port support                                                                  │ │ 
 +
  │ │                      [*]  Console on IMX serial port                                                            │ │ 
 +
  │ │                      < > Digi International NEO and Classic PCI Support                                          │ │ 
 +
  │ │...................................................................................................................│ │ 
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 +
=== LED ===
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Device Drivers > LED Support > LED Trigger support
 +
Enable:
 +
* LED Heartbeat Trigger
 +
  ┌───────────────────────────────────────────────── LED Trigger support ─────────────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │ 
 +
  │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │ 
 +
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
 +
  │                                                                                                                      │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │                      --- LED Trigger support                                                                      │ │ 
 +
  │ │...................................................................................................................│ │ 
 +
  │ │                      <*>  LED Heartbeat Trigger                                                                  │ │ 
 +
  │ │...................................................................................................................│ │ 
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                              <Select>    < Exit >    < Help >    < Save >    < Load >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  
In the kernel configuration menu choose '''Device Drivers ---> Multimedia support ---> Video capture adapters''' submenu and enable:
+
=== RTC ===
* MXC Video For Linux Camera
+
make menuconfig
* MXC Video For Linux Video Output
+
.config - Linux/arm 4.1.15 Kernel Configuration
* IPU v4l2 support
+
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
<pre>
+
> Device Drivers > Real Time Clock
   ┌──────────────────────── Video capture adapters ─────────────────────────┐
+
* EM Microelectronic EM3027
   │ ┌────^(-)─────────────────────────────────────────────────────────────┐ │   
+
   ┌─────────────────────────────────────────────────── Real Time Clock ───────────────────────────────────────────────────┐
   │   [ ]  Enable advanced debug functionality                        │ │   
+
   │ Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │   
   │ │    [ ]   Enable old-style fixed minor ranges for video devices      │ │  
+
   │ hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,   │   
  │ │    [ ]   Autoselect pertinent encoders/decoders and other helper chi│ │  
+
   │ </> for Search.  Legend: [*] built-in [ ] excluded  <M> module < > module capable                                  │   
  │ │    <*>   MXC Video For Linux Camera                                │ │   
+
   │                                                                                                                       │   
   │ │           MXC Camera/V4L2 PRP Features support --->              │ │   
+
  ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │   
   │ │   <*>  MXC Video For Linux Video Output                          │ │   
+
   │ │...................................................................................................................│ │   
   │ │   [*]    IPU v4l2 support                                        │ │ 
+
   │ │                     <*>   EM Microelectronic EM3027                                                              │ │   
   │ │    [ ]    IPUv1 WVGA v4l2 display support                          │ │   
+
   │ │...................................................................................................................│ │   
   │ │   < >  CPiA2 Video For Linux                                      │ │   
+
   │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │   
   │ └────v(+)─────────────────────────────────────────────────────────────┘ │   
+
   ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
   ├─────────────────────────────────────────────────────────────────────────┤  
+
   │                               <Select>    < Exit >    < Help >   < Save >    < Load >                                │   
   │                   <Select>    < Exit >    < Help >                     │   
+
   └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
   └─────────────────────────────────────────────────────────────────────────┘ 
 
</pre>
 
  
=== IPU CSI Config Options ===
+
=== CMDLINE ===
 +
make menuconfig
 +
.config - Linux/arm 4.1.15 Kernel Configuration
 +
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> Boot options
 +
* Edit CONFIG_CMDLINE
 +
{{Note|The latest release procedure deploys the rootfs onto the 2-nd boot device partition.<br>This screen short reflects it.}}
 +
  ┌──────────────────────────────────────────── Boot options ─────────────────────────────────────────────┐
 +
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted  │ 
 +
  │  letters are hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press          │ 
 +
  │  <Esc><Esc> to exit, <?> for Help, </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module    │ 
 +
  │  < > module capable                                                                                  │ 
 +
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │              -*- Flattened Device Tree support                                                    │ │ 
 +
  │ │              [*]  Support for the traditional ATAGS boot data passing                            │ │ 
 +
  │ │              [ ]    Provide old way to pass kernel parameters                                    │ │ 
 +
  │ │              (0) Compressed ROM boot loader base address                                          │ │ 
 +
  │ │              (0) Compressed ROM boot loader BSS address                                          │ │ 
 +
  │ │              [ ] Use appended device tree blob to zImage (EXPERIMENTAL)                          │ │ 
 +
  │ │              ('''console=ttymxc3,115200 root=/dev/mmcblk2p2 rootwait''') Default kernel command string  │ │ 
 +
  │ │                    Kernel command line type (Use bootloader kernel arguments if available)  --->  │ │ 
 +
  │ │              [ ] Kexec system call (EXPERIMENTAL)                                                │ │ 
 +
  │ │              [ ] Build kdump crash kernel (EXPERIMENTAL)                                          │ │ 
 +
  │ │              -*- Auto calculation of the decompressed kernel image address                        │ │ 
 +
  │ │                                                                                                  │ │ 
 +
  │ │                                                                                                  │ │ 
 +
  │ │                                                                                                  │ │ 
 +
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 +
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                      <Select>    < Exit >    < Help >    < Save >    < Load >                        │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────┘
  
In the kernel configuration menu choose '''Device Drivers ---> Multimedia support ---> Video capture adapters ---> MXC Video For Linux Camera ---> MXC Camera/V4L2 PRP Features support''' submenu and enable:
+
                ┌───────────────────── Default kernel command string ─────────────────────┐
* CSI camera support
+
                │ Please enter a string value. Use the <TAB> key to move from the input │   
* Select Overlay Rounting
+
                │  field to the buttons below it.                                        │   
* Pre-processor Encoder library
+
                ┌─────────────────────────────────────────────────────────────────────┐ │   
** Preprocessing image from smart sensor for encoder. CSI -> IC (PRP ENC) -> MEM
+
                │console=ttymxc3,115200 root=/dev/mmcblk2p2 rootwait                  │ │   
* IPU CSI Encoder library
+
                └─────────────────────────────────────────────────────────────────────┘ │   
**  Get raw image with CSI from smart sensor for encoder. CSI --> MEM
+
                                                                                        │   
<pre>
+
                ├─────────────────────────────────────────────────────────────────────────┤  
  ┌───────────────── MXC Camera/V4L2 PRP Features support ──────────────────┐
+
                                        Ok >     < Help >                         │   
  │ ┌─────────────────────────────────────────────────────────────────────┐ │  
+
                └─────────────────────────────────────────────────────────────────────────┘
  │ │    <*> CSI camera support                                          │ │   
 
  │ │    <*> Select Overlay Rounting (Queue ipu device for overlay library│ │   
 
  │ │    <*> Pre-processor Encoder library                                │ │   
 
  │ │    <*> IPU CSI Encoder library                                      │ │   
 
  │ └─────────────────────────────────────────────────────────────────────┘
 
  ├─────────────────────────────────────────────────────────────────────────┤ 
 
  │                    <Select>    < Exit >    < Help >                    │ 
 
  └─────────────────────────────────────────────────────────────────────────┘
 
</pre>
 
 
 
 
 
 
 
=== TVP5150 video decoder  ===
 
 
 
In the kernel configuration menu choose '''Device Drivers ---> Multimedia support ---> Video capture adapters ---> Encoders, decoders, sensors and other helper chips''' submenu and enable:
 
* Texas Instruments TVP5150 video decoder
 
 
 
<pre>
 
  ┌────────── Encoders, decoders, sensors and other helper chips ───────────┐
 
  │ ┌─────────────────────────────────────────────────────────────────────┐ │ 
 
  │ │        *** Video decoders ***                                      │ │ 
 
  │ │    < > Texas Instruments TVP514x video decoder                      │ │ 
 
  │ │    <M> Texas Instruments TVP5150 video decoder                      │ │ 
 
  │ │    < > Texas Instruments TVP7002 video decoder                      │ │ 
 
  │ │    < > vpx3220a, vpx3216b & vpx3214c video decoders                │ │ 
 
  │ │        *** Video and audio decoders ***                            │ │ 
 
  │ │    < > Philips SAA7171/3/4 audio/video decoders                    │ │   
 
  │ │    < > Conexant CX2584x audio/video decoders                        │ │   
 
  │ │        *** MPEG video encoders ***                                  │ │   
 
  │ │    < > Conexant CX2341x MPEG encoders                              │ │ 
 
  │ │        *** Video encoders ***                                      │ │  
 
  │    < > Philips SAA7127/9 digital video encoders                    │ │  
 
  │ └─────────────────────────────────────────────────────────────────────┘ │  
 
  ├─────────────────────────────────────────────────────────────────────────┤ 
 
  │                    <Select>    < Exit >   < Help >                     │   
 
  └─────────────────────────────────────────────────────────────────────────┘
 
</pre>
 
  
 
== See also ==
 
== See also ==
* [[CM-FX6: Linux: Getting started]]
+
* [[CM-FX6: Linux: Automatic Installation]]
 +
* [[CM-FX6: Linux: Getting started|CM-FX6: Linux: Manual Linux installation]]
 
* [[CM-FX6: Linux: Debian]]
 
* [[CM-FX6: Linux: Debian]]
* [[Linux Development for ARM modules]]
 
  
 
[[Category:Linux]]
 
[[Category:Linux]]
 
[[Category:CM-FX6]]
 
[[Category:CM-FX6]]

Latest revision as of 10:10, 5 January 2017

Overview

The Linux kernel for the CompuLab CM-FX6 System-on-Module / Computer-on-Module provides support for on-board peripherals and abstracts the functionality provided by the hardware.
Current support coverage is specified at O/S support coverage map page.
CompuLab provides ready-to-run binary kernel images, and source code of the modifications and additions made to the Linux kernel to work properly with CM-FX6 modules.

Building kernel for CM-FX6

Admolition note.png The instructions below assume that the /home/development/CM-FX6 directory has been created for CM-FX6 kernel development.

Getting kernel sources

Linux git tree can be cloned or downloaded as a tarball from Freescale public git repository.

Snapshot download

cd /home/development/CM-FX6
wget http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/snapshot/linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga.tar.bz2
tar -xvf linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga.tar.bz2
mv linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga kernel
  • Apply the CM-FX6 patch.
cd /home/development/CM-FX6/kernel
patch -p1 < /path/to/CM-FX6/kernel/linux-4.1.15-cm-fx6-8.0.patch

Git clone

  • Install git version control system.
  • Create a clone of the CM-FX6 Linux kernel tree
cd /home/development/CM-FX6/
git clone git://git.freescale.com/imx/linux-2.6-imx.git
mv linux-2.6-imx kernel
cd /home/development/CM-FX6/kerel
  • Apply the CM-FX6 patch. Create a development branch and apply CompuLab patches.
git checkout -b development rel_imx_4.1.15_1.1.0_ga
git am /home/development/CM-FX6/kernel/patches/*.patch

Building the kernel

export ARCH=arm
export CROSS_COMPILE=arm-none-linux-eabi-
export DTB=$(ls -al arch/arm/boot/dts | awk '(/fx6.*dts$/)&&($0=$NF)&&(gsub(/dts/,"dtb"))' ORS=" ")
make cm_fx6_defconfig
make menuconfig
make zImage modules ${DTB} && INSTALL_MOD_PATH=/home/development/CM-FX6/rootfs make modules_install

In the example above:

  • Linux kernel image (zImage) will be created in /home/development/CM-FX6/kernel/arch/arm/boot
  • device tree blobs will be created in /home/development/CM-FX6/kernel/arch/arm/boot/dts
  • loadable kernel modules will be installed into the /home/development/CM-FX6/rootfs/lib/modules directory.

When the CM-FX6 is booted with the kernel image created as described above and with networked root filesystem at /home/development/CM-FX6/rootfs/, the system will be able to load the kernel modules properly, thus avoiding module version problems.

zImage, DTB files and modules locations

  • In the example above, the Linux kernel image (zImage) will be created in the /home/development/CM-FX6/kernel/arch/arm/boot directory.
ls -al /home/development/CM-FX6/kernel/arch/arm/boot/zImage
  • DTB files
ls -al /home/development/CM-FX6/kernel/arch/arm/boot/dtb/*fx6*.dtb
  • The loadable kernel modules will be installed into the /home/development/CM-FX6/rootfs/lib/modules directory.
ls -al /home/development/CM-FX6/rootfs/lib/modules

Kernel Version

  • In the example above, the Linux kernel release version number will be saved in /home/development/CM-FX6/kernel/include/config/kernel.release
cat /home/development/CM-FX6/kernel/include/config/kernel.release

Prepare kernel and modules tarball

  • In the example below, the Linux kernel and modules are packed into the tar archive for deploying onto the CM-FX6.
mkdir -p /home/development/CM-FX6/rootfs/boot
cp -v /home/development/CM-FX6/kernel/arch/arm/boot/zImage /home/development/CM-FX6/rootfs/boot/zImage-cm-fx6
cp -v /home/development/CM-FX6/kernel/arch/arm/boot/dtb/*fx6*.dtb /home/development/CM-FX6/rootfs/boot/
tar -C /home/development/CM-FX6/rootfs -czvf /home/development/CM-FX6/linux-image-CM-FX6.tar.gz .

Basic platform support

The CM-FX6 basic platform support is implemented in the arch/arm/boot/dts/*fx6* files of the Linux kernel source tree.

These files contain:

  • default setup of multi-functional pins;
  • registration of the devices integrated in the CM-FX6 module;
  • definitions of platform-specific configuration for these devices.

Deploying the CM-FX6 kernel and modules

Boot up the CM-FX6 computer. Copy the previously created linux-image-CM-FX6.tar.gz to /root directory of the CM-FX6.

Mount boot partition

  • Use the below command to mount the boot partition for installing the CM-FX6 Linux kernel binary:
boot_partition=$(awk '!/nfs/ { for (i=1;i<=NF;i++) { if($i~/^root=/) { print substr($i,6,length($i)-6)"1" } } }' /proc/cmdline)
mount $boot_partition /boot

Back up old kernel

  • It is essential to backup the old (known to work) kernel binary.
mkdir /boot/$(uname -r)
mv /boot/uImage-cm-fx6 /boot/zImage-cm-fx6 /boot/*.dtb /boot/$(uname -r)/

Installing kernel and modules

Assuming that the linux-image-CM-FX6.tar.gz tar ball has been copied to the CM-FX6 /root directory.

  • Extract and install the Linux kernel binary:
tar -C / -xvf /root/linux-image-CM-FX6.tar.gz

U-Boot Environment

Common parameters

setenv loadaddr 0x10800000
setenv dtbaddr  0x15000000
setenv bootm_low 0x15000000
setenv zimage zImage-cm-fx6
setenv console console=ttymxc3,115200
setenv rootopt rootfstype=ext4 rw rootwait
setenv netopt ip=dhcp
  • SB-FX6 (Evaluation Board)

In order to boot up an SB-FX6 make use of the imx6q-sbc-fx6.dtb blob file.

setenv dtb imx6q-sbc-fx6.dtb

In order to boot up an SB-FX6m make use of the imx6q-sbc-fx6m.dtb blob file.

  • SB-FX6m (Utilite)
setenv dtb imx6q-sbc-fx6m.dtb

SATA Boot Parameters

setenv satadev 0
setenv rootdev root=/dev/sda2

sata init
fatload sata ${satadev} ${loadaddr} ${zimage}
fatload sata ${satadev} ${dtbaddr} ${dtb}

setenv bootargs ${console} ${rootdev} ${rootopt} ${netopt}
bootz ${loadaddr} - ${dtbaddr}

MMC Boot Parameters

setenv mmcdev 2
setenv rootdev root=/dev/mmcblk2p2

mmc dev ${mmcdev}
fatload mmc ${mmcdev} ${loadaddr} ${zimage}
fatload mmc ${mmcdev} ${dtbaddr} ${dtb}

setenv bootargs ${console} ${rootdev} ${rootopt} ${netopt}
bootz ${loadaddr} - ${dtbaddr}

NFS Boot Parameters

setenv nfsserver <nfs server ip address>
setenv tftpserver <tftp server ip address>
setenv rootdev root=/dev/nfs rw

dhcp
tftpboot ${loadaddr} ${tftpserver}:${zimage}
tftpboot ${dtbaddr} ${tftpserver}:${dtb}

setenv bootargs ${console} ${rootdev} nfsroot=${nfsserver}:${nfsroot} ${netopt}
bootz ${loadaddr} - ${dtbaddr}

Kernel configuration

System Support

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> System Type > Freescale i.MX family

Enable:

  • i.MX6 Quad/DualLite support
  • CompuLab CM-FX6 Support
 ┌──────────────────────────────────────────────── Freescale i.MX family ────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      --- Freescale i.MX family                                                                    │ │  
 │ │                            *** Device tree only ***                                                               │ │  
 │ │                      [ ]   i.MX50 support                                                                         │ │  
 │ │                      [ ]   i.MX51 support                                                                         │ │  
 │ │                      [*]   i.MX53 support                                                                         │ │  
 │ │                      [*]   i.MX6 Quad/DualLite support                                                            │ │  
 │ │                      [*]   i.MX6 SoloLite support                                                                 │ │  
 │ │                      [ ]   i.MX6 SoloX support                                                                    │ │  
 │ │                      [ ]   i.MX6 UltraLite support                                                                │ │  
 │ │                      [ ]   i.MX7 Dual support                                                                     │ │  
 │ │                      [*]   Vybrid Family VF610 support                                                            │ │  
 │ │                              Clocksource for scheduler clock (Use ARM Global Timer)  --->                         │ │  
 │ │                      [ ]   Freescale LS1021A support                                                              │ │  
 │ │                      [*]   CompuLab CM-FX6 Support                                                                │ │  
 │ │                                                                                                                   │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Bus Support

PCIE

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Bus support > PCI host controller drivers

Enable:

  • Freescale i.MX6 PCIe controller
 ┌───────────────────────────────────────────── PCI host controller drivers ─────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      [*] Freescale i.MX6 PCIe controller                                                          │ │  
 │ │                      [ ]   Enable pcie compliance tests on imx6                                                   │ │  
 │ │                      [ ]   PCI Express EP mode in the IMX6 RC/EP interconnection system                           │ │  
 │ │                      [ ]     PCI Express RC mode in the IMX6 RC/EP interconnection system                         │ │  
 │ │                      [ ] Generic PCI host controller                                                              │ │  
 │ │                      [ ] Freescale Layerscape PCIe controller                                                     │ │  
 │ │                      < > Broadcom iProc PCIe controller                                                           │ │  
 │ │                                                                                                                   │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

I2C

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > I2C support > I2C Hardware Bus support

Enable:

  • IMX I2C interface
 ┌────────────────────────────────────────────── I2C Hardware Bus support ───────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                          *** I2C system bus drivers (mostly embedded / system-on-chip) ***                        │ │  
 │ │                      < > CBUS I2C driver                                                                          │ │  
 │ │                      < > Synopsys DesignWare Platform                                                             │ │  
 │ │                      < > Synopsys DesignWare PCI                                                                  │ │  
 │ │                      < > GPIO-based bitbanging I2C                                                                │ │  
 │ │                      <*> IMX I2C interface                                                                        │ │  
 │ │...................................................................................................................│ │  
 │ │                          *** Other I2C/SMBus bus drivers ***                                                      │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

SPI

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > SPI support

Enable:

  • Freescale i.MX SPI controllers
 ┌───────────────────────────────────────────────────── SPI support ─────────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      --- SPI support                                                                              │ │  
 │ │                      [ ]   Debug support for SPI drivers                                                          │ │  
 │ │                            *** SPI Master Controller Drivers ***                                                  │ │  
 │ │                      < >   Altera SPI Controller                                                                  │ │  
 │ │                      -*-   Utilities for Bitbanging SPI masters                                                   │ │  
 │ │                      < >   Cadence SPI controller                                                                 │ │  
 │ │                      < >   GPIO-based bitbanging SPI Master                                                       │ │  
 │ │                      <*>   Freescale i.MX SPI controllers                                                         │ │  
 │ │                            *** SPI Protocol Masters ***                                                           │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

SATA

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > Serial ATA and Parallel ATA drivers (libata)

Enable:

  • AHCI SATA support
  • Platform AHCI SATA support
  • Freescale i.MX AHCI SATA support
 ┌──────────────────────────────────── Serial ATA and Parallel ATA drivers (libata) ─────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      --- Serial ATA and Parallel ATA drivers (libata)                                             │ │  
 │ │                      <*>   AHCI SATA support                                                                      │ │  
 │ │                      <*>   Platform AHCI SATA support                                                             │ │  
 │ │                      <*>   Freescale i.MX AHCI SATA support                                                       │ │  
 │ │                                *** SATA SFF controllers with BMDMA ***                                            │ │  
 │ │                      < >       Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support                                     │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 

USB

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > USB support

Enable:

  • Support for Freescale i.MX on-chip EHCI USB controller
  • Generic EHCI driver for a platform device
 ┌───────────────────────────────────────────────────── USB support ─────────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                              *** USB Host Controller Drivers ***                                                  │ │  
 │ │                      <*>     Support for Freescale i.MX on-chip EHCI USB controller                               │ │  
 │ │                      <*>     Generic EHCI driver for a platform device                                            │ │  
 │ │...................................................................................................................│ │
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

MMC/SD/SDIO

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > MMC/SD/SDIO card support

Enable:

  • Secure Digital Host Controller Interface support
  • SDHCI platform and OF driver helper
  • SDHCI support for the Freescale eSDHC/uSDHC i.MX controller
 ┌────────────────────────────────────────────── MMC/SD/SDIO card support ───────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      --- MMC/SD/SDIO card support                                                                 │ │  
 │ │...................................................................................................................│ │
 │ │                      <*>   MMC block device driver                                                                │ │  
 │ │                      (8)     Number of minors per block device                                                    │ │  
 │ │                      [*]     Use bounce buffer for simple hosts                                                   │ │  
 │ │                      < >   SDIO UART/GPS class support                                                            │ │  
 │ │                      < >   MMC host test driver                                                                   │ │  
 │ │                            *** MMC/SD/SDIO Host Controller Drivers ***                                            │ │  
 │ │                      <*>   Secure Digital Host Controller Interface support                                       │ │  
 │ │                      < >     SDHCI support on PCI bus                                                             │ │  
 │ │                      <*>     SDHCI platform and OF driver helper                                                  │ │  
 │ │                      < >       SDHCI OF support for the Arasan SDHCI controllers                                  │ │  
 │ │                      <*>       SDHCI support for the Freescale eSDHC/uSDHC i.MX controller                        │ │  
 │ │...................................................................................................................│ │
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 

NetWork

CAN

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Networking support > CAN bus subsystem support > CAN Device Drivers

Enable:

  • Support for Freescale FLEXCAN based chips
 ┌───────────────────────────────────────────────── CAN Device Drivers ──────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      < > Virtual Local CAN Interface (vcan)                                                       │ │  
 │ │...................................................................................................................│ │
 │ │                      <*>   Support for Freescale FLEXCAN based chips                                              │ │  
 │ │...................................................................................................................│ │
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 

FEC/IGB

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > Network device support > Ethernet driver support

Enable:

  • Freescale devices
  • FEC ethernet controller (of ColdFire and some i.MX CPUs)
  • Intel devices
  • Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support
 ┌─────────────────────────────────────────────── Ethernet driver support ───────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      [ ]   Faraday devices                                                                        │ │  
 │ │                      [*]   Freescale devices                                                                      │ │  
 │ │                      <*>     FEC ethernet controller (of ColdFire and some i.MX CPUs)                             │ │  
 │ │...................................................................................................................│ │  
 │ │                      [*]   Intel devices                                                                          │ │  
 │ │                      < >     Intel(R) PRO/100+ support                                                            │ │  
 │ │                      < >     Intel(R) PRO/1000 Gigabit Ethernet support                                           │ │  
 │ │                      < >     Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support                               │ │  
 │ │                      <M>     Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support                            │ │  
 │ │...................................................................................................................│ │
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

WiFi

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > Network device support > Wireless LAN

Enable:

  • Marvell WiFi-Ex Driver
  • Marvell WiFi-Ex Driver for SD8786/SD8787/SD8797/SD8887/SD8897
 ┌──────────────────────────────────────────────────── Wireless LAN ─────────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │...................................................................................................................│ │  
 │ │                      < >   ZyDAS ZD1211/ZD1211B USB-wireless support                                              │ │  
 │ │                      <M>   Marvell WiFi-Ex Driver                                                                 │ │  
 │ │                      <M>     Marvell WiFi-Ex Driver for SD8786/SD8787/SD8797/SD8887/SD8897                        │ │  
 │ │                      < >     Marvell WiFi-Ex Driver for PCIE 8766/8897                                            │ │  
 │ │...................................................................................................................│ │
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Bluetooth

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Networking support > Bluetooth subsystem support > Bluetooth device drivers

Enable:

  • Marvell Bluetooth driver support
  • Marvell BT-over-SDIO driver
 ┌────────────────────────────────────────────── Bluetooth device drivers ───────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      < > HCI USB driver                                                                           │ │  
 │ │                      < > HCI SDIO driver                                                                          │ │  
 │ │                      < > HCI UART driver                                                                          │ │  
 │ │                      < > HCI BCM203x USB driver                                                                   │ │  
 │ │                      < > HCI BPA10x USB driver                                                                    │ │  
 │ │                      < > HCI BlueFRITZ! USB driver                                                                │ │  
 │ │                      < > HCI VHCI (Virtual HCI device) driver                                                     │ │  
 │ │                      <M> Marvell Bluetooth driver support                                                         │ │  
 │ │                      <M>   Marvell BT-over-SDIO driver                                                            │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

Multimedia

IPU

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

> Device Drivers > MXC support drivers Enable:

  • Image Processing Unit Driver
 ┌───────────────────────────────────────────────── MXC support drivers ─────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      [*] Image Processing Unit Driver                                                             │ │  
 │ │                          MXC Media Local Bus Driver  --->                                                         │ │  
 │ │                      < > i.MX IPUv3 prefetch engine                                                               │ │  
 │ │                          MXC Vivante GPU support  --->                                                            │ │  
 │ │                          MXC SIM Support  --->                                                                    │ │  
 │ │                          MXC MIPI Support  --->                                                                   │ │  
 │ │                          MXC VPU(Video Processing Unit) support  --->                                             │ │  
 │ │                          MXC HDMI CEC (Consumer Electronics Control) support  --->                                │ │  
 │ │                                                                                                                   │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

GPU

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > MXC support drivers > MXC Vivante GPU support

Enable:

  • MXC Vivante GPU support
 ┌─────────────────────────────────────────────── MXC Vivante GPU support ───────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      <M> MXC Vivante GPU support                                                                  │ │  
 │ │                                                                                                                   │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

VPU

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > MXC support drivers > MXC VPU(Video Processing Unit) support

Enable:

  • Support for MXC VPU(Video Processing Unit)
 ┌─────────────────────────────────────── MXC VPU(Video Processing Unit) support ────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      <*> Support for MXC VPU(Video Processing Unit)                                               │ │  
 │ │                      [ ]   MXC VPU debugging                                                                      │ │  
 │ │                      [ ]   MX6 VPU 352M                                                                           │ │  
 │ │                                                                                                                   │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

Frame buffer Devices

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

> Device Drivers > Graphics support > Frame buffer Devices Enable:

  • MXC Framebuffer support
  • Synchronous Panel Framebuffer
  • MXC MIPI_DSI
  • TRULY WVGA Panel
  • MXC LDB
  • MXC HDMI driver support
  • MXC EDID support
  • Hannstar CABC function
 ┌──────────────────────────────────────────────── Frame buffer Devices ─────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌──────────────────────^(-)─────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      < > AUO-K190X EPD controller support                                                         │ │  
 │ │                      <*> MXS LCD framebuffer support                                                              │ │  
 │ │                      [ ] Simple framebuffer support                                                               │ │  
 │ │                      <*> MXC Framebuffer support                                                                  │ │  
 │ │                      <*>   Synchronous Panel Framebuffer                                                          │ │  
 │ │                      <*>     MXC MIPI_DSI                                                                         │ │  
 │ │                      < >     MXC MIPI_DSI_SAMSUNG                                                                 │ │  
 │ │                      <*>     TRULY WVGA Panel                                                                     │ │  
 │ │                      <*>     MXC LDB                                                                              │ │  
 │ │                      <*>     MXC HDMI driver support                                                              │ │  
 │ │                      <*>   MXC EDID support                                                                       │ │  
 │ │                      <*> Si Image SII9022 DVI/HDMI Interface Chip                                                 │ │  
 │ │                      < > MXC DCIC                                                                                 │ │  
 │ │                      <*> Hannstar CABC function                                                                   │ │  
 │ │                      <*> E-Ink Panel Framebuffer                                                                  │ │  
 │ │                      < > E-Ink Panel Framebuffer based on EPDC V2                                                 │ │  
 │ │                      [ ] E-Ink Auto-update Mode Support                                                           │ │  
 │ │                      < > Solomon SSD1307 framebuffer support                                                      │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

Audio

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > Sound card support > Advanced Linux Sound Architecture > ALSA for SoC audio support > SoC Audio for Freescale CPUs

Enable:

  • SoC Audio support for i.MX boards with S/PDIF
  • SoC Audio support for i.MX boards with HDMI port
  • SoC Audio support for i.MX boards with WM8731
 ┌──────────────────────────────────────────── SoC Audio for Freescale CPUs ─────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                          *** Common SoC Audio options for Freescale CPUs: ***                                     │ │  
 │ │...................................................................................................................│ │  
 │ │                      <*> SoC Audio support for i.MX boards with S/PDIF                                            │ │  
 │ │                      <*> SoC Audio support for i.MX boards with HDMI port                                         │ │  
 │ │                      <*> SoC Audio support for i.MX boards with WM8731                                            │ │  
 │ │...................................................................................................................│ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 

MXC MIPI

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > MXC support drivers > MXC MIPI Support

Enable:

  • MIPI CSI2 support
 ┌────────────────────────────────────────────────── MXC MIPI Support ───────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      <*> MIPI CSI2 support                                                                        │ │  
 │ │                                                                                                                   │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

MIPI Camera

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > Multimedia support > V4L platform devices > MXC Camera/V4L2 PRP Features support

Enable:

  • OmniVision ov5640 camera support using mipi
 ┌──────────────────────────────────────── MXC Camera/V4L2 PRP Features support ─────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      <M> OmniVision ov5640 camera support                                                         │ │  
 │ │                      <M> OmniVision ov5642 camera support                                                         │ │  
 │ │                      <M> OmniVision ov5640 camera support using mipi                                              │ │  
 │ │                      <M> Analog Device adv7180 TV Decoder Input support                                           │ │  
 │ │                      <*> Select Overlay Rounting (Queue ipu device for overlay library)  --->                     │ │  
 │ │                      <*> Pre-processor Encoder library                                                            │ │  
 │ │                      <*> IPU CSI Encoder library                                                                  │ │  
 │ │                                                                                                                   │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Input Device

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > Input device support > Touchscreens

Enable:

  • ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens
 ┌──────────────────────────────────────────────────── Touchscreens ─────────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      --- Touchscreens                                                                             │ │  
 │ │                      <M>   ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens                                │ │  
 │ │...................................................................................................................│ │  
 │ │                                                                                                                   │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

OTG

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > USB support

Enable:

  • OTG support
 ┌───────────────────────────────────────────────────── USB support ─────────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      --- USB support                                                                              │ │  
 │ │                      <*>   Support for Host-side USB                                                              │ │  
 │ │...................................................................................................................│ │  
 │ │                      [*]     OTG support                                                                          │ │  
 │ │                      [ ]     Rely on OTG and EH Targeted Peripherals List                                         │ │  
 │ │...................................................................................................................│ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

USB Gadget Support

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > USB support > USB Gadget Support

Enable:

  • USB Gadget Drivers
  • Audio Gadget
  • UAC 1.0 (Legacy)
  • Ethernet Gadget (with CDC Ethernet support)
  • Mass Storage Gadget
  • Serial Gadget (with CDC ACM and CDC OBEX support)
 ┌───────────────────────────────────────────────── USB Gadget Support ──────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      --- USB Gadget Support                                                                       │ │  
 │ │...................................................................................................................│ │  
 │ │                      <M>   USB Gadget Drivers                                                                     │ │  
 │ │                      <M>     Audio Gadget                                                                         │ │  
 │ │                      [*]       UAC 1.0 (Legacy)                                                                   │ │  
 │ │                      <M>     Ethernet Gadget (with CDC Ethernet support)                                          │ │  
 │ │                      <M>     Mass Storage Gadget                                                                  │ │  
 │ │                      <M>     Serial Gadget (with CDC ACM and CDC OBEX support)                                    │ │    
 │ │...................................................................................................................│ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  

Serial Console

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > Character devices > Serial drivers

Enable:

  • IMX serial port support
  • Console on IMX serial port
 ┌─────────────────────────────────────────────────── Serial drivers ────────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │...................................................................................................................│ │  
 │ │                      < > MAX310X support                                                                          │ │  
 │ │                      <*> IMX serial port support                                                                  │ │  
 │ │                      [*]   Console on IMX serial port                                                             │ │  
 │ │                      < > Digi International NEO and Classic PCI Support                                           │ │  
 │ │...................................................................................................................│ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 

LED

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > LED Support > LED Trigger support

Enable:

  • LED Heartbeat Trigger
 ┌───────────────────────────────────────────────── LED Trigger support ─────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │                      --- LED Trigger support                                                                      │ │  
 │ │...................................................................................................................│ │  
 │ │                      <*>   LED Heartbeat Trigger                                                                  │ │  
 │ │...................................................................................................................│ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 

RTC

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Device Drivers > Real Time Clock
  • EM Microelectronic EM3027
 ┌─────────────────────────────────────────────────── Real Time Clock ───────────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are      │  
 │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help,    │  
 │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │  
 │                                                                                                                       │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │...................................................................................................................│ │  
 │ │                      <*>   EM Microelectronic EM3027                                                              │ │  
 │ │...................................................................................................................│ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                               <Select>    < Exit >    < Help >    < Save >    < Load >                                │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

CMDLINE

make menuconfig 
.config - Linux/arm 4.1.15 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Boot options
  • Edit CONFIG_CMDLINE
Admolition note.png The latest release procedure deploys the rootfs onto the 2-nd boot device partition.
This screen short reflects it.
 ┌──────────────────────────────────────────── Boot options ─────────────────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted  │  
 │  letters are hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press          │  
 │  <Esc><Esc> to exit, <?> for Help, </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module    │  
 │  < > module capable                                                                                   │  
 │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────┐ │  
 │ │              -*- Flattened Device Tree support                                                    │ │  
 │ │              [*]   Support for the traditional ATAGS boot data passing                            │ │  
 │ │              [ ]     Provide old way to pass kernel parameters                                    │ │  
 │ │              (0) Compressed ROM boot loader base address                                          │ │  
 │ │              (0) Compressed ROM boot loader BSS address                                           │ │  
 │ │              [ ] Use appended device tree blob to zImage (EXPERIMENTAL)                           │ │  
 │ │              (console=ttymxc3,115200 root=/dev/mmcblk2p2 rootwait) Default kernel command string  │ │  
 │ │                    Kernel command line type (Use bootloader kernel arguments if available)  --->  │ │  
 │ │              [ ] Kexec system call (EXPERIMENTAL)                                                 │ │  
 │ │              [ ] Build kdump crash kernel (EXPERIMENTAL)                                          │ │  
 │ │              -*- Auto calculation of the decompressed kernel image address                        │ │  
 │ │                                                                                                   │ │  
 │ │                                                                                                   │ │  
 │ │                                                                                                   │ │  
 │ └───────────────────────────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────────────────────────┤  
 │                       <Select>    < Exit >    < Help >    < Save >    < Load >                        │  
 └───────────────────────────────────────────────────────────────────────────────────────────────────────┘
                ┌───────────────────── Default kernel command string ─────────────────────┐
                │  Please enter a string value. Use the <TAB> key to move from the input  │  
                │  field to the buttons below it.                                         │  
                │ ┌─────────────────────────────────────────────────────────────────────┐ │  
                │ │console=ttymxc3,115200 root=/dev/mmcblk2p2 rootwait                  │ │  
                │ └─────────────────────────────────────────────────────────────────────┘ │  
                │                                                                         │  
                ├─────────────────────────────────────────────────────────────────────────┤  
                │                         <  Ok  >      < Help >                          │  
                └─────────────────────────────────────────────────────────────────────────┘

See also