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