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

From Compulab Mediawiki
Jump to: navigation, search
(→‎USB On-The-Go (OTG))
(→‎Overview)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
−
The Linux kernel for CM-FX6 modules 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-2.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.
+
 
−
<pre>
+
* Apply the CM-FX6 patch. Create a development branch and apply CompuLab patches.
−
git checkout -b cm-fx6-dev v3.0.35
 
−
</pre>
 
−
* Apply the CM-FX6 patch
 
 
<pre>
 
<pre>
−
cd /home/development/cm-fx6/kernel/linux-cm-fx6
+
git checkout -b development rel_imx_4.1.15_1.1.0_ga
−
git apply /path/to/cm-fx6-linux/kernel/linux-3.0.35-cm-fx6-2.patch
+
git am /home/development/CM-FX6/kernel/patches/*.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, DVI and HDMI support ===
+
* 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>
 +
ls -al /home/development/CM-FX6/kernel/arch/arm/boot/dtb/*fx6*.dtb
 +
</pre>
 +
* The loadable kernel modules will be installed into the {{filename|/home/development/CM-FX6/rootfs/lib/modules}} directory.
 +
<pre>
 +
ls -al /home/development/CM-FX6/rootfs/lib/modules
 +
</pre>
  
−
CM-FX6 module can be used with at least three display interfaces: LCD, DVI, and HDMI.
+
==== Kernel Version  ====
−
CM-FX6 Evaluation Kit is equipped with the DataImage SCF0403852GGU04 LCD touch panel and it is used as the default video output device.
 
−
Both LCD and DVI are sharing the same display interface (DI0) and therefore only one of them can be used at the same time.
 
−
HDMI uses another display interface and therefore can be used at the same time with either DVI or LCD interfaces.
 
  
−
==== Image Processing Unit (IPU) ====
+
* 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>
−
In the kernel configuration menu choose '''Device Drivers ---> MXC support drivers''' submenu and enable:
+
cat /home/development/CM-FX6/kernel/include/config/kernel.release
 +
</pre>
  
−
* Image Processing Unit Driver
+
==== 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>
−
┌──────────────────────────────── Graphics support ──────────────────────────────┐
+
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
−
│ │    [*] Image Processing Unit Driver                                        │ │
+
cp -v /home/development/CM-FX6/kernel/arch/arm/boot/dtb/*fx6*.dtb /home/development/CM-FX6/rootfs/boot/
−
│ │        MXC SSI support  --->                                              │ │
+
tar -C /home/development/CM-FX6/rootfs -czvf /home/development/CM-FX6/linux-image-CM-FX6.tar.gz .
−
│ │        MXC Digital Audio Multiplexer support  --->                        │ │
 
−
│ │        MXC PMIC support  --->                                              │ │
 
−
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │
 
−
├────────────────────────────────────────────────────────────────────────────────┤
 
−
│                        <Select>    < Exit >    < Help >                      │
 
−
└────────────────────────────────────────────────────────────────────────────────┘
 
 
</pre>
 
</pre>
  
−
==== Parallel LCD interface ====
+
== 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:
+
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 ==
  
−
* MXC Framebuffer support
+
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.
−
** MXC EDID support
 
−
** Synchronous Panel Framebuffer
 
  
 +
==== Mount boot partition ====
 +
* Use the below command to mount the boot partition for installing the CM-FX6 Linux kernel binary:
 
<pre>
 
<pre>
−
┌──────────────────────────────── Graphics support ──────────────────────────────┐
+
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
−
│ │    <*> 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>
  
−
===== DataImage SCF0403852GGU04 LCD output =====
+
==== Back up old kernel ====
−
 
+
* It is essential to backup the old (known to work) kernel binary.
−
In the kernel configuration menu choose '''Device Drivers ---> Graphics support ---> Backlight & LCD device support''' submenu and enable:
+
<pre>
−
 
+
mkdir /boot/$(uname -r)
−
* DataImage SCF0403852GGU04 LCD Panels support
+
mv /boot/uImage-cm-fx6 /boot/zImage-cm-fx6 /boot/*.dtb /boot/$(uname -r)/
 +
</pre>
  
 +
==== 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.
 +
* Extract and install the Linux kernel binary:
 
<pre>
 
<pre>
−
┌──────────────────────── Backlight & LCD device support ────────────────────────┐
+
tar -C / -xvf /root/linux-image-CM-FX6.tar.gz
−
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │
 
−
│ │    < >    ILI Technology ILI9320 controller support                      │ │
 
−
│ │    < >    Toppoly TDO24M  and TDO35S LCD Panels support                  │ │
 
−
│ │    <*>    DataImage SCF0403852GGU04 LCD Panels support                    │ │
 
−
│ │    < >    VGG2432A4 LCM device support                                    │ │
 
−
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │
 
−
├────────────────────────────────────────────────────────────────────────────────┤
 
−
│                        <Select>    < Exit >    < Help >                      │
 
−
└────────────────────────────────────────────────────────────────────────────────┘
 
 
</pre>
 
</pre>
  
−
Since the DataImage is the default video output device, there is no special kernel command line argument required.
+
== U-Boot Environment ==
−
 
+
=== Common parameters ===
−
===== DVI =====
 
−
 
 
−
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,1280x800-24M@50,if=RGB24
+
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)
−
==== HDMI ====
+
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 HDMI driver support
 
−
 
 
 
<pre>
 
<pre>
−
┌──────────────────────────────── Graphics support ──────────────────────────────┐
+
setenv dtb imx6q-sbc-fx6.dtb
−
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │
 
−
│ │    < >  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 order to boot up an SB-FX6m make use of the imx6q-sbc-fx6m.dtb blob file.
−
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.
+
* SB-FX6m (Utilite)
−
For routing the first frame buffer to the HDMI interface, the following kernel parameter must be appended to the kernel command line:
 
 
<pre>
 
<pre>
−
video=mxcfb0:dev=hdmi,1280x720-24M@50,if=RGB24
+
setenv dtb imx6q-sbc-fx6m.dtb
 
</pre>
 
</pre>
  
−
=== Touchscreen controllers support ===
+
=== SATA Boot Parameters ===
 +
<pre>
 +
setenv satadev 0
 +
setenv rootdev root=/dev/sda2
  
−
CM-FX6 Evaluation Kit has two separate touch screen controllers: Himax HX8520-C (assembled on the DataImage LCD) and TI TSC2046 (on-board of the CM-FX6 module).
+
sata init
−
The Himax HX8520-C is a dual touch capacitive touchscreen connected to the I2C1 bus of the CM-FX6 module.
+
fatload sata ${satadev} ${loadaddr} ${zimage}
−
The TI TSC2046 is a resistive touchscreen controller conneted to the SPI1 bus of the CM-FX6 module.
+
fatload sata ${satadev} ${dtbaddr} ${dtb}
−
To use the TI TSC2046 controller, the resistive touchscreen must be connected to one of the interfaces on the SB-FX6 base board.
 
  
−
==== Himax HX8520-C touchscreen controller ====
+
setenv bootargs ${console} ${rootdev} ${rootopt} ${netopt}
 +
bootz ${loadaddr} - ${dtbaddr}
 +
</pre>
  
−
In the kernel configuration menu choose '''Device Drivers ---> Input device support ---> Touchscreens''' submenu and enable:
+
=== MMC Boot Parameters ===
 +
<pre>
 +
setenv mmcdev 2
 +
setenv rootdev root=/dev/mmcblk2p2
  
−
* HX8520-C touchscreen support
+
mmc dev ${mmcdev}
 +
fatload mmc ${mmcdev} ${loadaddr} ${zimage}
 +
fatload mmc ${mmcdev} ${dtbaddr} ${dtb}
  
−
<pre>
+
setenv bootargs ${console} ${rootdev} ${rootopt} ${netopt}
−
┌───────────────────────────────── Touchscreens ─────────────────────────────────┐
+
bootz ${loadaddr} - ${dtbaddr}
−
│ ┌────^(-)────────────────────────────────────────────────────────────────────┐ │
 
−
│ │    < >  TSC2007 based touchscreens                                        │ │
 
−
│ │    < >  W90P910 touchscreen driver                                        │ │
 
−
│ │    <M>  HX8520-C touchscreen support                                      │ │
 
−
│ │    < >  Sitronix ST1232 touchscreen controllers                          │ │
 
−
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │
 
−
├────────────────────────────────────────────────────────────────────────────────┤
 
−
│                        <Select>    < Exit >    < Help >                        │
 
−
└────────────────────────────────────────────────────────────────────────────────┘
 
 
</pre>
 
</pre>
  
−
==== TI TSC2046 touchscreen controller ====
+
=== NFS Boot Parameters ===
 +
<pre>
 +
setenv nfsserver <nfs server ip address>
 +
setenv tftpserver <tftp server ip address>
 +
setenv rootdev root=/dev/nfs rw
  
−
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>
 +
== 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 >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  
−
<pre>
+
=== Bus Support ===
−
┌───────────────────────────────── Touchscreens ─────────────────────────────────┐
+
==== PCIE ====
−
│ ┌────────────────────────────────────────────────────────────────────────────┐ │   
+
make menuconfig
−
│ │    --- Touchscreens                                                        │ │   
+
.config - Linux/arm 4.1.15 Kernel Configuration
−
│ │    <M>  ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens          │ │   
+
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
−
│ │   < >  AD7877 based touchscreens                                        │ │   
+
> Bus support > PCI host controller drivers
−
│ │   < >  Analog Devices AD7879-1/AD7889-1 touchscreen interface            │ │   
+
Enable:
−
│ └────v(+)────────────────────────────────────────────────────────────────────┘ │   
+
* Freescale i.MX6 PCIe controller
−
├────────────────────────────────────────────────────────────────────────────────┤  
+
  ┌───────────────────────────────────────────── PCI host controller drivers ─────────────────────────────────────────────┐
−
│                       <Select>    < Exit >    < Help >                       │   
+
  │  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,    │ 
−
</pre>
+
  │  </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                  │ 
−
=== Analog Audio Support ===
+
  │                                                                                                                      │ 
−
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:
+
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
−
* SoC Audio support for CM-FX6 boards
+
  │ │                      [*] Freescale i.MX6 PCIe controller                                                          │ │ 
−
<pre>
+
  │ │                      [ ]  Enable pcie compliance tests on imx6                                                  │ │ 
−
┌────────────────── SoC Audio for Freescale i.MX CPUs ───────────────────────────┐
+
  │ │                      [ ]  PCI Express EP mode in the IMX6 RC/EP interconnection system                          │ │ 
−
│ ┌────────────────────────────────────────────────────────────────────────────┐ │
+
  │ │                      [ ]    PCI Express RC mode in the IMX6 RC/EP interconnection system                        │ │ 
−
│ │  --- SoC Audio for Freescale i.MX CPUs                                    │ │
+
  │ │                      [ ] Generic PCI host controller                                                              │ │ 
−
│ │  < >  SoC Audio support for IMX boards with WM8958                      │ │
+
  │ │                      [ ] Freescale Layerscape PCIe controller                                                    │ │ 
−
│ │  < >  SoC Audio support for IMX boards with WM8962                      │ │
+
  │ │                      < > Broadcom iProc PCIe controller                                                          │ │ 
−
│ │  <*>  SoC Audio support for CM-FX6 boards                                │ │
+
  │ │                                                                                                                  │ │   
−
│ │  < >  SoC Audio support for IMX SI4763                                  │ │
+
  │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
−
│ │  <*>  SoC Audio support for IMX - S/PDIF                                │ │
+
  ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ 
−
│ │   <*>   SoC Audio support for IMX - HDMI                                  │ │
+
  │                               <Select>   < Exit >    < Help >    < Save >    < Load >                                │ 
−
│ └────────────────────────────────────────────────────────────────────────────┘ │
+
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
−
├────────────────────────────────────────────────────────────────────────────────┤
+
==== I2C ====
−
│                         <Select>    < Exit >    < Help >                       │
+
make menuconfig
−
└────────────────────────────────────────────────────────────────────────────────┘
+
.config - Linux/arm 4.1.15 Kernel Configuration
−
</pre>
+
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 +
> 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 >                                │
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  
−
=== WiFi and Bluetooth ===
+
=== NetWork ===
−
<dl>
+
==== CAN ====
−
CM-FX6 has WiFi and Bluetooth support based on Marvell 88W8787.
+
make menuconfig
−
</dl>
+
.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 ====
 
==== 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                                                     │ │
 +
  │ │                     <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 >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  
−
=== USB On-The-Go (OTG) ===
+
=== 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 >                                │ 
 +
  └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  
−
In the kernel configuration menu choose '''System Type ---> Freescale MXC Implementations''' submenu and enable:
+
=== CMDLINE ===
−
* FSL USB OTG support
+
make menuconfig
−
<pre>
+
.config - Linux/arm 4.1.15 Kernel Configuration
−
┌────────────────────────────────────────────────────────────────────────────────┐
+
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
−
│ ┌────────────────────────────────────────────────────────────────────────────┐ │
+
> Boot options
−
│ │   [*] Support CompuLab CM-FX6 module                                      │ │
+
* Edit CONFIG_CMDLINE
−
│ │              *** MX6 Options: ***                                         │ │
+
{{Note|The latest release procedure deploys the rootfs onto the 2-nd boot device partition.<br>This screen short reflects it.}}
−
│ │  [*] PCI Express support                                                  │ │
+
  ┌──────────────────────────────────────────── Boot options ─────────────────────────────────────────────┐
−
│ │  <*>  USB Host 1 support                                                 │ │
+
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted  │ 
−
│ │  <*>   FSL USB OTG support                                                │ │
+
  │  letters are hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press          │ 
−
│ │   [ ] Internal LDO in MX6Q/DL bypass                                      │ │
+
  │  <Esc><Esc> to exit, <?> for Help, </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module    │ 
−
│ │   [ ] MX6 clk setting for smooth UI transtion from bootloader to kernel    │ │
+
  │  < > module capable                                                                                  │ 
−
│ └────────────────────────────────────────────────────────────────────────────┘ │
+
  │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
−
├────────────────────────────────────────────────────────────────────────────────┤
+
  │ │              -*- Flattened Device Tree support                                                    │ │
−
│                         <Select>    < Exit >    < Help >                       │
+
  │ │             [*]   Support for the traditional ATAGS boot data passing                            │ │
−
└────────────────────────────────────────────────────────────────────────────────┘
+
  │ │              [ ]    Provide old way to pass kernel parameters                                    │ │ 
−
</pre>
+
  │ │              (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 ---> USB support''' submenu and enable:
+
                ┌───────────────────── Default kernel command string ─────────────────────┐
−
* Support for Host-side USB
+
                │  Please enter a string value. Use the <TAB> key to move from the input │   
−
* EHCI HCD (USB 2.0) support
+
                │  field to the buttons below it.                                         │   
−
** Support for Freescale controller
+
                │ ┌─────────────────────────────────────────────────────────────────────┐ │   
−
* USB OTG pin detect support
+
                │ │console=ttymxc3,115200 root=/dev/mmcblk2p2 rootwait                  │ │   
−
<pre>
+
                │ └─────────────────────────────────────────────────────────────────────┘ │   
−
┌───────────────────────────── USB support ──────────────────────────────────────┐
+
                │                                                                         │   
−
│ ┌────────────────────────────────────────────────────────────────────────────┐ │
+
                ├─────────────────────────────────────────────────────────────────────────┤  
−
│ │  --- USB support                                                          │ │  
+
                │                         <  Ok >     < Help >                         │
−
│ │  <*>  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>
 
  
 
== 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