CM-iTC: Linux: Kernel

From Compulab Mediawiki
Revision as of 11:56, 14 March 2011 by Denis (talk) (GPIO Support)
Jump to: navigation, search

Overview

The CM-iTC is a fully-compatible x86 PC. Recent Linux kernels support most CM-iTC hardware features. CompuLab provides 2.6.38 kernel and customized patch to it. The configuration file is debian/config/i386/config.itc in the kernel sources tree.

The most significant features of interest to kernel developers are described below.

CAN Bus

.config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌─────────────────────────────── CAN Device Drivers ────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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)                                     │ │  
 │ │    < > Serial / USB serial CAN Adaptors (slcan)                               │ │  
 │ │    <M> Platform CAN drivers with Netlink support                              │ │  
 │ │    [*]   CAN bit-timing calculation                                           │ │  
 │ │    < >   Microchip MCP251x SPI CAN controllers                                │ │  
 │ │    <M> PCH CAN                                                                │ │  
 │ │    < > Philips/NXP SJA1000 devices  --->                                      │ │  
 │ │        CAN USB interfaces  --->                                               │ │  
 │ │    [ ] CAN devices debugging messages                                         │ │  
 │ │                                                                               │ │  
 │ └───────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘

Network device

.config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌────────────────────────────── Ethernet (1000 Mbit) ───────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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                           │  
 │ ┌────^(-)───────────────────────────────────────────────────────────────────────┐ │  
 │ │    < >   IP1000 Gigabit Ethernet support                                      │ │  
 │ │    < >   Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support            │ │  
 │ │    < >   Intel(R) 82576 Virtual Function Ethernet support                     │ │  
 │ │    < >   National Semiconductor DP83820 support                               │ │  
 │ │    < >   Packet Engines Hamachi GNIC-II support                               │ │  
 │ │    < >   Packet Engines Yellowfin Gigabit-NIC support (EXPERIMENTAL)          │ │  
 │ │    <M>   Realtek 8169 gigabit ethernet support                                │ │  
 │ │    [*]     VLAN support                                                       │ │  
 │ │    < >   SiS190/SiS191 gigabit ethernet support                               │ │  
 │ │    < >   New SysKonnect GigaEthernet support                                  │ │  
 │ └────v(+)───────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘  
.config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌────────────────────── PHY Device support and infrastructure ──────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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                           │  
 │ ┌────^(-)───────────────────────────────────────────────────────────────────────┐ │  
 │ │    < >   Drivers for SMSC PHYs                                                │ │  
 │ │    < >   Drivers for Broadcom PHYs                                            │ │  
 │ │    < >   Drivers for Broadcom 63xx SOCs internal PHY                          │ │  
 │ │    < >   Drivers for ICPlus PHYs                                              │ │  
 │ │    <M>   Drivers for Realtek PHYs                                             │ │  
 │ │    < >   Drivers for National Semiconductor PHYs                              │ │  
 │ │    < >   Driver for STMicroelectronics STe10Xp PHYs                           │ │  
 │ │    < >   Driver for LSI ET1011C PHY                                           │ │  
 │ │    < >   Driver for Micrel PHYs                                               │ │  
 │ │    < >   Support for bitbanged MDIO buses                                     │ │  
 │ └───────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘  

I2C Hardware Bus

.config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌──────────────────────────── I2C Hardware Bus support ─────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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                           │  
 │ ┌────^(-)───────────────────────────────────────────────────────────────────────┐ │  
 │ │    < > VIA VT82C596/82C686/82xx and CX700/VX8xx                               │ │  
 │ │        *** ACPI drivers ***                                                   │ │  
 │ │    <M> SMBus Control Method Interface                                         │ │  
 │ │        *** I2C system bus drivers (mostly embedded / system-on-chip) ***      │ │  
 │ │    < > GPIO-based bitbanging I2C                                              │ │  
 │ │    < > Intel Moorestown/Medfield Platform I2C controller                      │ │  
 │ │    < > OpenCores I2C Controller                                               │ │  
 │ │    < > PCA9564/PCA9665 as platform device                                     │ │  
 │ │    < > Simtec Generic I2C interface                                           │ │  
 │ │    < > Xilinx I2C Controller                                                  │ │  
 │ │    <M> PCH I2C of Intel EG20T                                                 │ │  
 │ └────v(+)───────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘

SPI Bus

.config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌─────────────────────────────────── SPI support ───────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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 ***                                │ │  
 │ │    < >   Utilities for Bitbanging SPI masters                                 │ │  
 │ │    < >   Parallel port adapter for AVR Butterfly (DEVELOPMENT)                │ │  
 │ │    < >   GPIO-based bitbanging SPI Master                                     │ │  
 │ │    < >   Parallel port adapter for LM70 eval board (DEVELOPMENT)              │ │  
 │ │    < >   PXA2xx SSP SPI master                                                │ │  
 │ │    <*>   Topcliff PCH SPI Controller                                          │ │  
 │ │    < >   Xilinx SPI controller common module                                  │ │  
 │ │    < >   DesignWare SPI controller core support                               │ │  
 │ └────v(+)───────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘

Intel® Embedded Media and Graphics

Intel® Embedded Media and Graphics Driver (EMGD) requires a kernel drm module for proper functionality. Sources are available at Intel® Embedded Media and Graphics Driver. These drivers are not present in official Linux sources.

.config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌───────── Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ─────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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                           │  
 │ ┌───────────────────────────────────────────────────────────────────────────────┐ │  
 │ │    --- Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)        │ │  
 │ │    < >   3dfx Banshee/Voodoo3+                                                │ │  
 │ │    < >   ATI Rage 128                                                         │ │  
 │ │    < >   ATI Radeon                                                           │ │  
 │ │    < >   Intel I810                                                           │ │  
 │ │    < >   Intel 830M, 845G, 852GM, 855GM, 865G                                 │ │  
 │ │    < >   Matrox g200/g400                                                     │ │  
 │ │    < >   SiS video cards                                                      │ │  
 │ │    < >   Via unichrome video cards                                            │ │  
 │ │    < >   Savage video cards                                                   │ │  
 │ │    <M>   Intel IVI EMGD Kernel Module Driver                                  │ │  
 │ └───────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘

Intel HD Audio

.config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌───────────────────────────────── Intel HD Audio ──────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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                           │  
 │ ┌────^(-)───────────────────────────────────────────────────────────────────────┐ │  
 │ │    -*-   Build hwdep interface for HD-audio driver                            │ │  
 │ │    -*-     Allow dynamic codec reconfiguration (EXPERIMENTAL)                 │ │  
 │ │    [*]   Support digital beep via input layer                                 │ │  
 │ │    (1)     Digital beep registration mode (0=off, 1=on, 2=mute sw on/off)     │ │  
 │ │    [*]   Support jack plugging notification via input layer                   │ │  
 │ │    [*]   Support initialization patch loading for HD-audio                    │ │  
 │ │    [*]   Build Realtek HD-audio codec support                                 │ │  
 │ │    [ ]   Build Analog Device HD-audio codec support                           │ │  
 │ │    [*]   Build IDT/Sigmatel HD-audio codec support                            │ │  
 │ │    [ ]   Build VIA HD-audio codec support                                     │ │  
 │ │    [ ]   Build HDMI/DisplayPort HD-audio codec support                        │ │  
 │ │    [ ]   Build Cirrus Logic codec support                                     │ │  
 │ │    [ ]   Build Conexant HD-audio codec support                                │ │  
 │ │    [ ]   Build Creative CA0110-IBG codec support                              │ │  
 │ │    [ ]   Build C-Media HD-audio codec support                                 │ │  
 │ │    [ ]   Build Silicon Labs 3054 HD-modem codec support                       │ │  
 │ │    [*]   Enable generic HD-audio codec parser                                 │ │  
 │ │    [*]   Aggressive power-saving on HD-audio                                  │ │  
 │ │    (0)     Default time-out for HD-audio power-save mode                      │ │  
 │ └───────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘

MMC/SD/SDIO card support

.config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌──────────────────────────── MMC/SD/SDIO card support ─────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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 host test driver                                                 │ │  
 │ │          *** MMC/SD/SDIO Host Controller Drivers ***                          │ │  
 │ │    <*>   Secure Digital Host Controller Interface support                     │ │  
 │ │    <*>   SDHCI support on PCI bus                                             │ │  
 │ │    [ ]     Ricoh MMC Controller Disabler  (EXPERIMENTAL)                      │ │  
 │ │    < >   SDHCI support on the platform specific bus                           │ │  
 │ │    < >   Winbond W83L51xD SD/MMC Card Interface support                       │ │  
 │ │    < >   TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)              │ │  
 │ │    < >   ENE CB710 MMC/SD Interface support                                   │ │  
 │ │    < >   VIA SD/MMC Card Reader Driver                                        │ │  
 │ │    < >   USB SD Host Controller (USHC) support                                │ │  
 │ └───────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘

Serial driver

.config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌───────────────────────────────── Serial drivers ──────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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 RSA serial ports                                             │ │  
 │ │        *** Non-8250 serial port support ***                                   │ │  
 │ │    < > MAX3100 support                                                        │ │  
 │ │    < > MAX3107 support                                                        │ │  
 │ │    < > Medfield High Speed UART support                                       │ │  
 │ │    < > Digi International NEO PCI Support                                     │ │  
 │ │    < > Support for timberdale UART                                            │ │  
 │ │    < > Altera JTAG UART support                                               │ │  
 │ │    < > Altera UART support                                                    │ │  
 │ │    < > SPI protocol driver for Infineon 6x60 modem (EXPERIMENTAL)             │ │  
 │ │    <M> Intel EG20T PCH UART                                                   │ │  
 │ └───────────────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘

PCH Packet Hub

.config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌────────────────────────────────── Misc devices ───────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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                           │  
 │ ┌────^(-)───────────────────────────────────────────────────────────────────────┐ │  
 │ │    < >   Honeywell HMC6352 compass                                            │ │  
 │ │    < >   Dallas DS1682 Total Elapsed Time Recorder with Alarm                 │ │  
 │ │    < >   Texas Instruments DAC7512                                            │ │  
 │ │    < >   VMware Balloon Driver                                                │ │  
 │ │    < >   BMP085 digital pressure sensor                                       │ │  
 │ │    <*>   PCH Packet Hub of Intel Topcliff                                     │ │  
 │ │    < >   Silicon Labs C2 port support (EXPERIMENTAL)  --->                    │ │  
 │ │          EEPROM support  --->                                                 │ │  
 │ │    < >   ENE CB710/720 Flash memory card reader support                       │ │  
 │ └────v(+)───────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘

GPIO Support

 .config - Linux/i386 2.6.38-34-itc Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────
 ┌────────────────────────────────── GPIO Support ───────────────────────────────────┐
 │  Arrow keys navigate the menu.  <Enter> selects 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                           │  
 │ ┌───────────────────────────────────────────────────────────────────────────────┐ │  
 │ │    --- GPIO Support                                                           │ │  
 │ │    [ ]   Debug GPIO calls                                                     │ │  
 │ │    [*]   /sys/class/gpio/... (sysfs interface)                                │ │  
 │ │          *** Memory mapped GPIO expanders: ***                                │ │  
 │ │    < >   Basic memory-mapped GPIO controllers support                         │ │  
 │ │    < >   IT8761E GPIO support                                                 │ │  
 │ │    <M>   Intel SCH/TunnelCreek GPIO                                           │ │  
 │ │    < >   VIA VX855/VX875 GPIO                                                 │ │  
 │ │          *** I2C GPIO expanders: ***                                          │ │  
 │ │    < >   Maxim MAX7300 GPIO expander                                          │ │  
 │ │    < >   MAX7319, MAX7320-7327 I2C Port Expanders                             │ │  
 │ │    < >   PCA953x, PCA955x, TCA64xx, and MAX7310 I/O ports                     │ │  
 │ │    < >   PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders             │ │  
 │ │    [ ]   Semtech SX150x I2C GPIO expander                                     │ │  
 │ │    < >   ADP5588 I2C GPIO expander                                            │ │  
 │ │          *** PCI GPIO expanders: ***                                          │ │  
 │ │    < >   AMD CS5535/CS5536 GPIO support                                       │ │  
 │ │    < >   BT8XX GPIO abuser                                                    │ │  
 │ │    [ ]   Intel Langwell/Penwell GPIO support                                  │ │  
 │ │    <M>   PCH GPIO of Intel Topcliff                                           │ │  
 │ └────v(+)───────────────────────────────────────────────────────────────────────┘ │  
 ├───────────────────────────────────────────────────────────────────────────────────┤  
 │                         <Select>    < Exit >    < Help >                          │  
 └───────────────────────────────────────────────────────────────────────────────────┘

See also