Difference between revisions of "CM-FX6: Linux: Kernel"
(→Git clone) |
(→Overview) |
||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
The Linux kernel for the CompuLab CM-FX6 System-on-Module / Computer-on-Module provides support for on-board peripherals and abstracts the functionality provided by the hardware. | The Linux kernel for the CompuLab CM-FX6 System-on-Module / Computer-on-Module provides support for on-board peripherals and abstracts the functionality provided by the hardware. | ||
+ | <br> | ||
Current support coverage is specified at [http://compulab.co.il/products/operating-systems-and-drivers-for-cm-fx6-and-sbc-fx6/ O/S support coverage map] page. | Current support coverage is specified at [http://compulab.co.il/products/operating-systems-and-drivers-for-cm-fx6-and-sbc-fx6/ O/S support coverage map] page. | ||
+ | <br> | ||
CompuLab provides ready-to-run binary kernel images, and source code of the modifications and additions made to the Linux kernel to work properly with CM-FX6 modules. | CompuLab provides ready-to-run binary kernel images, and source code of the modifications and additions made to the Linux kernel to work properly with CM-FX6 modules. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Building kernel for CM-FX6 == | == Building kernel for CM-FX6 == | ||
− | + | {{Note|The instructions below assume that the {{filename|/home/development/CM-FX6}} directory has been created for CM-FX6 kernel development.}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Getting kernel sources === | === Getting kernel sources === | ||
− | + | 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]. | |
− | |||
− | |||
− | |||
==== Snapshot download ==== | ==== Snapshot download ==== | ||
− | * Download [http:// | + | * 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]. |
− | * | + | * 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/ | + | 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 | ||
</pre> | </pre> | ||
− | + | * Apply the CM-FX6 patch. | |
− | |||
− | * Apply the CM-FX6 patch | ||
<pre> | <pre> | ||
− | cd /home/development/ | + | cd /home/development/CM-FX6/kernel |
− | patch -p1 < /path/to/ | + | 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/ | + | cd /home/development/CM-FX6/ |
− | git clone git://git. | + | 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> | ||
− | * | + | |
+ | * Apply the CM-FX6 patch. Create a development branch and apply CompuLab patches. | ||
<pre> | <pre> | ||
− | git checkout -b | + | git checkout -b development rel_imx_4.1.15_1.1.0_ga |
− | + | 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 zImage modules ${DTB} && INSTALL_MOD_PATH=/home/development/CM-FX6/rootfs make modules_install |
− | |||
</pre> | </pre> | ||
− | In the example above | + | 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/ | + | 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. |
− | == | + | ==== zImage, DTB files and modules locations ==== |
− | |||
− | |||
− | |||
− | === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | * In the example above, the Linux kernel image ({{filename|zImage}}) will be created in the {{filename|/home/development/CM-FX6/kernel/arch/arm/boot}} directory. | ||
+ | <pre> | ||
+ | ls -al /home/development/CM-FX6/kernel/arch/arm/boot/zImage | ||
+ | </pre> | ||
+ | * DTB files | ||
<pre> | <pre> | ||
− | + | ls -al /home/development/CM-FX6/kernel/arch/arm/boot/dtb/*fx6*.dtb | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | + | * The loadable kernel modules will be installed into the {{filename|/home/development/CM-FX6/rootfs/lib/modules}} directory. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
− | + | ls -al /home/development/CM-FX6/rootfs/lib/modules | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | ===== | + | ==== Kernel Version ==== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | * In the example above, the Linux kernel release version number will be saved in {{filename|/home/development/CM-FX6/kernel/include/config/kernel.release}} | ||
<pre> | <pre> | ||
− | + | cat /home/development/CM-FX6/kernel/include/config/kernel.release | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | * | + | ==== 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> | ||
− | + | mkdir -p /home/development/CM-FX6/rootfs/boot | |
+ | cp -v /home/development/CM-FX6/kernel/arch/arm/boot/zImage /home/development/CM-FX6/rootfs/boot/zImage-cm-fx6 | ||
+ | cp -v /home/development/CM-FX6/kernel/arch/arm/boot/dtb/*fx6*.dtb /home/development/CM-FX6/rootfs/boot/ | ||
+ | tar -C /home/development/CM-FX6/rootfs -czvf /home/development/CM-FX6/linux-image-CM-FX6.tar.gz . | ||
</pre> | </pre> | ||
− | == | + | == 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 {{filename|linux-image-CM-FX6.tar.gz}} to {{filename|/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: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
− | + | boot_partition=$(awk '!/nfs/ { for (i=1;i<=NF;i++) { if($i~/^root=/) { print substr($i,6,length($i)-6)"1" } } }' /proc/cmdline) | |
+ | mount $boot_partition /boot | ||
</pre> | </pre> | ||
− | ==== | + | ==== Back up old kernel ==== |
− | + | * It is essential to backup the old (known to work) kernel binary. | |
− | |||
− | |||
<pre> | <pre> | ||
− | + | mkdir /boot/$(uname -r) | |
+ | mv /boot/uImage-cm-fx6 /boot/zImage-cm-fx6 /boot/*.dtb /boot/$(uname -r)/ | ||
</pre> | </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> | ||
− | + | tar -C / -xvf /root/linux-image-CM-FX6.tar.gz | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | + | == U-Boot Environment == | |
− | + | === Common parameters === | |
<pre> | <pre> | ||
− | + | 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) | |
− | + | In order to boot up an SB-FX6 make use of the imx6q-sbc-fx6.dtb blob file. | |
− | |||
− | In the | ||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
− | + | setenv dtb imx6q-sbc-fx6.dtb | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | + | In order to boot up an SB-FX6m make use of the imx6q-sbc-fx6m.dtb blob file. | |
− | + | * SB-FX6m (Utilite) | |
− | In | ||
− | |||
<pre> | <pre> | ||
− | + | setenv dtb imx6q-sbc-fx6m.dtb | |
</pre> | </pre> | ||
− | === | + | === SATA Boot Parameters === |
− | + | <pre> | |
− | + | 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} | |
− | + | </pre> | |
− | |||
− | === | + | === MMC Boot Parameters === |
+ | <pre> | ||
+ | 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} | ||
+ | </pre> | ||
+ | === NFS Boot Parameters === | ||
<pre> | <pre> | ||
− | + | 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} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
+ | == Kernel configuration == | ||
+ | === System Support === | ||
+ | make menuconfig | ||
+ | .config - Linux/arm 4.1.15 Kernel Configuration | ||
+ | ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── | ||
+ | > System Type > Freescale i.MX family | ||
+ | Enable: | ||
+ | * i.MX6 Quad/DualLite support | ||
+ | * CompuLab CM-FX6 Support | ||
+ | ┌──────────────────────────────────────────────── Freescale i.MX family ────────────────────────────────────────────────┐ | ||
+ | │ Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty submenus ----). Highlighted letters are │ | ||
+ | │ hotkeys. Pressing <Y> includes, <N> excludes, <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, │ | ||
+ | │ </> for Search. Legend: [*] built-in [ ] excluded <M> module < > module capable │ | ||
+ | │ │ | ||
+ | │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ | ||
+ | │ │ --- Freescale i.MX family │ │ | ||
+ | │ │ *** Device tree only *** │ │ | ||
+ | │ │ [ ] i.MX50 support │ │ | ||
+ | │ │ [ ] i.MX51 support │ │ | ||
+ | │ │ [*] i.MX53 support │ │ | ||
+ | │ │ [*] i.MX6 Quad/DualLite support │ │ | ||
+ | │ │ [*] i.MX6 SoloLite support │ │ | ||
+ | │ │ [ ] i.MX6 SoloX support │ │ | ||
+ | │ │ [ ] i.MX6 UltraLite support │ │ | ||
+ | │ │ [ ] i.MX7 Dual support │ │ | ||
+ | │ │ [*] Vybrid Family VF610 support │ │ | ||
+ | │ │ Clocksource for scheduler clock (Use ARM Global Timer) ---> │ │ | ||
+ | │ │ [ ] Freescale LS1021A support │ │ | ||
+ | │ │ [*] CompuLab CM-FX6 Support │ │ | ||
+ | │ │ │ │ | ||
+ | │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ | ||
+ | ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ | ||
+ | │ <Select> < Exit > < Help > < Save > < Load > │ | ||
+ | └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ | ||
− | === | + | === Bus Support === |
− | + | ==== PCIE ==== | |
− | controller | + | make menuconfig |
− | + | .config - Linux/arm 4.1.15 Kernel Configuration | |
− | + | ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── | |
− | the | + | > 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 | * 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 ==== | ||
− | + | 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 |
− | < | + | ┌──────────────────────────────────────────────────── 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 │ |
− | │ │ | + | │ │ |
− | │ │ | + | │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ |
− | │ | + | │ │...................................................................................................................│ │ |
− | + | │ │ < > 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 ==== | ==== 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 Bluetooth driver support | ||
* Marvell BT-over-SDIO driver | * 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 | * 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 | ||
+ | {{Note|The latest release procedure deploys the rootfs onto the 2-nd boot device partition.<br>This screen short reflects it.}} | ||
+ | ┌──────────────────────────────────────────── Boot options ─────────────────────────────────────────────┐ | ||
+ | │ Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty submenus ----). Highlighted │ | ||
+ | │ letters are hotkeys. Pressing <Y> includes, <N> excludes, <M> modularizes features. Press │ | ||
+ | │ <Esc><Esc> to exit, <?> for Help, </> for Search. Legend: [*] built-in [ ] excluded <M> module │ | ||
+ | │ < > module capable │ | ||
+ | │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────┐ │ | ||
+ | │ │ -*- Flattened Device Tree support │ │ | ||
+ | │ │ [*] Support for the traditional ATAGS boot data passing │ │ | ||
+ | │ │ [ ] Provide old way to pass kernel parameters │ │ | ||
+ | │ │ (0) Compressed ROM boot loader base address │ │ | ||
+ | │ │ (0) Compressed ROM boot loader BSS address │ │ | ||
+ | │ │ [ ] Use appended device tree blob to zImage (EXPERIMENTAL) │ │ | ||
+ | │ │ ('''console=ttymxc3,115200 root=/dev/mmcblk2p2 rootwait''') Default kernel command string │ │ | ||
+ | │ │ Kernel command line type (Use bootloader kernel arguments if available) ---> │ │ | ||
+ | │ │ [ ] Kexec system call (EXPERIMENTAL) │ │ | ||
+ | │ │ [ ] Build kdump crash kernel (EXPERIMENTAL) │ │ | ||
+ | │ │ -*- Auto calculation of the decompressed kernel image address │ │ | ||
+ | │ │ │ │ | ||
+ | │ │ │ │ | ||
+ | │ │ │ │ | ||
+ | │ └───────────────────────────────────────────────────────────────────────────────────────────────────┘ │ | ||
+ | ├───────────────────────────────────────────────────────────────────────────────────────────────────────┤ | ||
+ | │ <Select> < Exit > < Help > < Save > < Load > │ | ||
+ | └───────────────────────────────────────────────────────────────────────────────────────────────────────┘ | ||
− | + | ┌───────────────────── 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 == | == 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]] | ||
− | |||
[[Category:Linux]] | [[Category:Linux]] | ||
[[Category:CM-FX6]] | [[Category:CM-FX6]] |
Latest revision as of 10:10, 5 January 2017
Contents
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
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
- Download linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga.tar.bz2.
- Extrace the kernel source code from the downloaded archive linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga.tar.bz2
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
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 > │ └─────────────────────────────────────────────────────────────────────────┘