Linux Kernel 3.8.y

From IGEP - ISEE Wiki

Jump to: navigation, search

Introduction

This article is for specific 3.8.y Linux kernel branch serie.
It is interesting read The Linux kernel article previously.

On this 3.8.y version, supported IGEP Processor Boards are:

  • IGEP COM AQUILA (IGEP0033)
  • IGEPv5 (IGEP0050)

The currently supported IGEP Expansion Boards are as follows:

  • IGEP AQUILA EXPANSION (BASE0033)

Binaries: latest stable kernel version is: 3.8.13-1 (20140107) for AM335x and 3.8.13-0-omap5 (2014)

Platform Sources zImage binary Modules binaries DTB
 IGEP0033  3.8.13-1 (md5sum) zImage-3.8.13-1.bin (md5sum) modules-3.8.13-1 (md5sum) am335x-base0033-3.8.13-1.dtb (md5sum)
 IGEP0050  3.8.13-0-omap5 (md5sum) zImage-3.8.13-0-omap5.bin (md5sum) modules-3.8.13-0-omap5 (md5sum) omap5-igep0050-3.8.13-0-omap5.dtb (md5sum)

Build kernel from sources

Download the latest stable version sources and follow next steps:

For IGEP COM AQUILA

wget http://downloads.isee.biz/pub/releases/linux_kernel/v3.8.13-1/linux-3.8.13-1.tar.gz

Or for IGEPv5

wget http://downloads.isee.biz/pub/releases/linux_kernel/v3.8.13-0-omap5/linux-3.8.13-0-omap5.tar.gz
tar xzf linux-[kernel version].tar.gz
cd [kernel version]

Also, it could download from GIT Repositories (http://git.isee.biz/) and test the last unstable version at your own risk (see "Linux mainline tree (development)" chapter in The Linux kernel)

Configure Linux kernel for IGEP devices. IGEP is ARM architecture based device. A generic configuration is provided for all IGEP machines, and can be used as the default by

make ARCH=arm omap2plus_defconfig

Then build the kernel, the kernel modules and the device tree files. The result will be an zImage file in arch/arm/boot directory. Execute:

make ARCH=arm CROSS_COMPILE=[your cross compiler] zImage modules dtbs


You can install the kernel modules to your target rootfs

make ARCH=arm CROSS_COMPILE=[your cross compiler] INSTALL_MOD_PATH=[path to your target rootfs] modules_install

Adding New Expansion Boards

This chapter is meant to be a starting point for people to learn how to add your own expansion board in three steps.

TODO

Example: Enable UART2 on IGEP AQUILA EXPANSION (P9.21-P9.22)

diff --git a/arch/arm/boot/dts/am335x-base0033.dts b/arch/arm/boot/dts/am335x-base0033.dts
index 9729832..de22fd8 100644
--- a/arch/arm/boot/dts/am335x-base0033.dts
+++ b/arch/arm/boot/dts/am335x-base0033.dts
@@ -126,6 +126,13 @@
             0x168 0x1f    /* uart0_ctsn.gpio1_8 */
         >;
     };
+
+    uart2_pins: pinmux_uart2_pins {
+        pinctrl-single,pins = <
+            0x150 0x21    /* spi0_sclk.uart2_rxd | MODE1 */
+            0x154 0x01    /* spi0_d0.uart2_txd | MODE1 */
+        >;
+    };
 };
 
 &mcasp0 {
@@ -147,3 +154,11 @@
     rx-num-evt = <1>;
 };
 
+&uart3 { /* really uart2 */
+    status = "okay";
+
+    pinctrl-names = "default";
+    pinctrl-0 = <&uart2_pins>;
+};
+

Known issues

Not for now

Changelog AM335x

Changelog OMAP5