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

From Compulab Mediawiki
Jump to: navigation, search
 
Line 1: Line 1:
The CM-iAM is a fully-compatible x86 PC. Recent Linux kernels support most CM-iAM hardware features. A customized 2.6.28 kernel is available in [http://www.compulab.co.il/iam/download/release/iam-linux-release.zip Linux kernel package for CM-iAM] under the ''kernel'' directory. The configuration file is ''debian/config/i386/config.sb-iam''.
+
The CM-iAM is a fully-compatible x86 PC. Recent Linux kernels support most CM-iAM hardware features. A customized 2.6.31 kernel is available in [http://www.compulab.co.il/iam/download/freeze/iam-linux-freeze.zip The Linux package for CM-iAM] under the ''kernel'' directory. The configuration file is {{filename|debian/config/i386/config.fitpc2}}.
  
The most important features of interest to kernel developers are described below.
+
This kernel is suitable for all FIT-PC2 compatible boards (FIT-PC2/FIT-PC2i/CM-iAM).  
  
== Processor type and features ==
+
The most significant features of interest to kernel developers are described below.
* Disable '''Symmetric multi-processing support''', this option conflicts with proper GMA500 graphic driver operation.
 
* Set '''Processor family''' to '''(586/K5/5x86/6x86/6x86MX)'''.
 
* Enable '''Enable X86 board specific fixups for reboot'''.
 
 
 
.config - Linux Kernel v2.6.28-34-sb-iam Configuration
 
────────────────────────────────────────────────────────────────────────────────────────────────
 
  ┌─────────────────────────────── Processor type and features ───────────────────────────────┐
 
  │  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                                                          │
 
  │ ┌───────────────────────────────────────────────────────────────────────────────────────┐ │
 
  │ │        [*] Tickless System (Dynamic Ticks)                                            │ │
 
  │ │        [*] High Resolution Timer Support                                              │ │
 
  │ │        [ ] Symmetric multi-processing support                                        │ │
 
  │ │        [*] Support for extended (non-PC) x86 platforms                                │ │
 
  │ │        [ ] AMD Elan                                                                  │ │
 
  │ │        [ ] RDC R-321x SoC                                                            │ │
 
  │ │        [*] Single-depth WCHAN output                                                  │ │
 
  │ │        [ ] Paravirtualized guest support  --->                                        │ │
 
  │ │        [ ] Memtest                                                                    │ │
 
  │ │            Processor family (586/K5/5x86/6x86/6x86MX)  --->                          │ │
 
  │ │        [*] Generic x86 support                                                        │ │
 
  │ │        [ ] PentiumPro memory ordering errata workaround                              │ │
 
  │ │        [*] HPET Timer Support                                                        │ │
 
  │ │            Preemption Model (Voluntary Kernel Preemption (Desktop))  --->            │ │
 
  │ │        [ ] Local APIC support on uniprocessors (NEW)                                  │ │
 
  │ │        [*] Machine Check Exception                                                    │ │
 
  │ │        < > Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4 (NEW)    │ │
 
  │ │        < > Toshiba Laptop support                                                    │ │
 
  │ │        < > Dell laptop support                                                        │ │
 
  │ │        [*] Enable X86 board specific fixups for reboot                                │ │
 
  │ └────────v(+)───────────────────────────────────────────────────────────────────────────┘ │
 
  ├───────────────────────────────────────────────────────────────────────────────────────────┤
 
  │                            <Select>    < Exit >    < Help >                              │
 
  └───────────────────────────────────────────────────────────────────────────────────────────┘
 
  
 
== Reboot quirk ==
 
== Reboot quirk ==
Proper reboot handling requires the following patch to ''arch/x86/kernel/reboot.c''
+
Proper reboot handling requires the following patch {{filename|arch/x86/kernel/reboot.c}}. The patch is present in official Linux sources starting from the 2.6.31 version.
 
<pre>
 
<pre>
 
       .matches = {
 
       .matches = {
Line 49: Line 13:
 
       },
 
       },
 
   },
 
   },
+  {  /* Handle problems with rebooting on CompuLab CM-iAM/SBC-FITPC2i board */
+
+  {  /* Handle problems with rebooting on CompuLab SBC-FITPC2 */
 
+      .callback = set_bios_reboot,
 
+      .callback = set_bios_reboot,
+      .ident = "CompuLab Atom based module",
+
+      .ident = "CompuLab SBC-FITPC2",
 
+      .matches = {
 
+      .matches = {
 
+        DMI_MATCH(DMI_SYS_VENDOR, "CompuLab"),
 
+        DMI_MATCH(DMI_SYS_VENDOR, "CompuLab"),
+        DMI_MATCH(DMI_PRODUCT_NAME, "CM-iAM/SBC-FITPC2i"),
+
+        DMI_MATCH(DMI_PRODUCT_NAME, "SBC-FITPC2"),
 
+      },
 
+      },
 
+  },
 
+  },
 
</pre>
 
</pre>
Another option for proper reboot handling is adding to the kernel command line the '''reboot=b''' option, which means "use BIOS reboot". No patch is needed in this case.
+
Another option for proper reboot handling is to add to the kernel command line the '''reboot=b''' option, meaning "use BIOS reboot". No patch is needed in this case.
  
 
== Intel SCH PATA support ==
 
== Intel SCH PATA support ==
Source code of PATA driver for CM-iAM is ''drivers/ata/pata_sch.c''
 
  
  .config - Linux Kernel v2.6.28-34-sb-iam Configuration
+
Source code of the PATA driver for the CM-iAM is found in {{filename|drivers/ata/pata_sch.c}}. The module is present in official Linux sources starting from the 2.6.25 version.
  ────────────────────────────────────────────────────────────────────────────────────────────────
+
  .config - Linux Kernel v2.6.31-34-fitpc2 Configuration
   ┌──────────────── Serial ATA (prod) and Parallel ATA (experimental) drivers ────────────────┐
+
  ─────────────────────────────────────────────────────────────────────────────────
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.  Highlighted letters are  │
+
   ┌──────── Serial ATA (prod) and Parallel ATA (experimental) drivers ─────────┐
   │  hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press         │
+
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.             │  
  │  <Esc><Esc> to exit, <?> for Help, </> for Search.  Legend: [*] built-in  [ ] excluded   │
+
   │  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes,   │ 
  │ <M> module  < > module capable                                                         
+
  │  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </>   │ 
   │ ┌────────^(-)───────────────────────────────────────────────────────────────────────────┐
+
  │  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module  
   │ │       < >    Promise PATA 2027x support                                             │ │
+
   │ ┌────^(-)────────────────────────────────────────────────────────────────┐
   │ │       < >    CMD / Silicon Image 680 PATA support                                   │ │
+
   │ │   < >    SC1200 PATA support                                        │ │ 
   │ │       < >    SiS PATA support                                                       │ │
+
  │ │    < >    SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support              │ │ 
   │ │       < >    VIA PATA support                                                       │ │
+
  │ │    < >    Promise PATA 2027x support                                 │ │
   │ │       < >    Winbond SL82C105 PATA support                                         │ │
+
   │ │   < >    CMD / Silicon Image 680 PATA support                       │ │
   │ │       <*>    Intel SCH PATA support                                                 │ │
+
   │ │   < >    SiS PATA support                                           │ │
   │ └───────────────────────────────────────────────────────────────────────────────────────┘
+
   │ │   < >    VIA PATA support                                           │ │
   ├───────────────────────────────────────────────────────────────────────────────────────────┤
+
   │ │   < >    Winbond SL82C105 PATA support                               │ │
   │                             <Select>    < Exit >    < Help >                            
+
   │ │   <*>    Intel SCH PATA support                                     │ │
   └───────────────────────────────────────────────────────────────────────────────────────────┘
+
   │ └────────────────────────────────────────────────────────────────────────┘
 
+
   ├────────────────────────────────────────────────────────────────────────────┤ 
SATA interface on SB-iAM is available via a special SATA-to-PATA bridge. This bridge requires a minor software fix in order for the SATA disk to be recognized properly when configured as a slave. See implementation of ''sch_tf_read'' function in ''drivers/ata/pata_sch.c''.
+
   │                     <Select>    < Exit >    < Help >                    
 +
   └────────────────────────────────────────────────────────────────────────────┘
  
 
== GPIO support ==
 
== GPIO support ==
The SB-iAM board from Compulab contains 8 or 15 general purpose I/O pins (GPIO’s) depending on assembly configuration.
+
The SB-iAM board from Compulab contains 8 or 15 general purpose I/O pins (GPIO’s) depending on the assembly configuration.
  
The CM-iAM provides 8 general purpose I/O pins (GPIO’s) from Poulsbo chipset, 7 of which are dedicated and one is shared with alternate functionality, with different power domain support. Seven additional GPIO’s are available from the IT8761E super I/O chip when option S (SIO) is assembled.
+
The CM-iAM provides eight general purpose I/O pins (GPIO’s) from the Poulsbo chipset, seven are dedicated and one is shared with alternate functionality, with different power domain support. Seven additional GPIO’s are available from the IT8761E super I/O chip when option S (SIO) is assembled.
  
Source code of GPIO driver for CM-iAM is ''drivers/gpio/sb_iam_gpio.c''
+
The modules are present in official Linux sources starting from the 2.6.34 version.
  
  .config - Linux Kernel v2.6.28-34-sb-iam Configuration
+
  .config - Linux Kernel v2.6.31-34-fitpc2 Configuration
  ─────────────────────────────────────────────────────────────────────────────────────────
+
  ─────────────────────────────────────────────────────────────────────────────────
   ┌─────────────────────────────────── GPIO Support ───────────────────────────────────┐
+
   ┌─────────────────────────────── GPIO Support ───────────────────────────────┐
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->. Highlighted        │   
+
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.             │   
   │  letters are hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes        │   
+
   │  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes,   │   
   │  features.  Press <Esc><Esc> to exit, <?> for Help, </> for Search.  Legend: [*]   │ 
+
   │  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </>   │ 
  │  built-in  [ ] excluded  <M> module  < > module capable                            │   
+
  │  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module   │   
   │ ┌────────────────────────────────────────────────────────────────────────────────┐ │   
+
   │ ┌────────────────────────────────────────────────────────────────────────┐ │   
   │ │     --- GPIO Support                                                           │ │   
+
   │ │   --- GPIO Support                                                   │ │   
   │ │     [ ]  Debug GPIO calls                                                     │ │   
+
   │ │   [ ]  Debug GPIO calls                                             │ │   
   │ │     [*]  /sys/class/gpio/... (sysfs interface)                               │ │   
+
   │ │   [*]  /sys/class/gpio/... (sysfs interface)                         │ │   
   │ │           *** Memory mapped GPIO expanders: ***                               │ │   
+
   │ │         *** Memory mapped GPIO expanders: ***                         │ │   
   │ │     <M>  SB-iAM GPIO support                                                 │ │   
+
   │ │   <M>  IT8761E GPIO support                                         │ │ 
   │ │           *** I2C GPIO expanders: ***                                         │ │   
+
  │ │    <M>  Intel SCH GPIO                                                │ │   
   │ │     < >  MAX7319, MAX7320-7327 I2C Port Expanders                             │ │   
+
   │ │         *** I2C GPIO expanders: ***                                   │ │   
   │ │     {M}   PCA953x, PCA955x, and MAX7310 I/O ports                             │ │   
+
   │ │   < >  MAX7319, MAX7320-7327 I2C Port Expanders                     │ │   
   │ │     < >  PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders             │ │   
+
   │ │   < >   PCA953x, PCA955x, TCA64xx, and MAX7310 I/O ports             │ │   
   │ │           *** PCI GPIO expanders: ***                                         │ │   
+
   │ │   < >  PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders     │ │   
   │ │           *** SPI GPIO expanders: ***                                         │ │   
+
   │ │         *** PCI GPIO expanders: ***                                   │ │   
   │ │                                                                               │ │   
+
   │ │         *** SPI GPIO expanders: ***                                   │ │ 
   │ │                                                                               │ │   
+
  │ │                                                                        │ │ 
   │ └────────────────────────────────────────────────────────────────────────────────┘ │   
+
  │ │                                                                        │ │   
   ├────────────────────────────────────────────────────────────────────────────────────┤  
+
   │ │                                                                       │ │   
   │                         <Select>    < Exit >    < Help >                         │   
+
   │ │                                                                       │ │   
   └────────────────────────────────────────────────────────────────────────────────────┘ 
+
   │ └────────────────────────────────────────────────────────────────────────┘ │   
 +
   ├────────────────────────────────────────────────────────────────────────────┤  
 +
   │                     <Select>    < Exit >    < Help >                     │   
 +
   └────────────────────────────────────────────────────────────────────────────┘
  
 
== Poulsbo DRM support ==
 
== Poulsbo DRM support ==
The GMA500 graphic driver requires kernel drm module for proper functionality. Original sources are named ''psb-kernel-source'' and are available at [https://launchpad.net/~ubuntu-mobile/+archive/ppa PPA for Ubuntu Mobile Team]. We moved this package into the kernel tree and made some minor fixes.
+
Intel® Embedded Graphics Driver (IEGD) requires a kernel drm module for proper functionality. Sources are available at [http://edc.intel.com/Software/Downloads/IEGD/ Intel® Embedded Graphics Driver].
  
Source code of DRM driver for CM-iAM is under ''drivers/gpu/drm/''
+
Source code of the IEGD driver for the CM-iAM is found in {{filename|drivers/gpu/drm/iegd/}}. These drivers are not present in official Linux sources.
  
  .config - Linux Kernel v2.6.28-34-sb-iam Configuration
+
  .config - Linux Kernel v2.6.31-34-fitpc2 Configuration
  ─────────────────────────────────────────────────────────────────────────────────────────
+
  ─────────────────────────────────────────────────────────────────────────────────
   ┌───────────────────────────── I2C Hardware Bus support ─────────────────────────────┐
+
   ┌───── Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ──────┐
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.  Highlighted        │
+
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.             │  
   │  letters are hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes       
+
   │  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes,  
   │  features.  Press <Esc><Esc> to exit, <?> for Help, </> for Search.  Legend: [*]   │
+
   │  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </>   │ 
  │  built-in  [ ] excluded  <M> module  < > module capable                           
+
  │  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module  
   │ ┌────────────────────────────────────────────────────────────────────────────────┐
+
   │ ┌────────────────────────────────────────────────────────────────────────┐
   │ │           <M> /dev/agpgart (AGP Support)  --->                                │ │ 
+
   │ │   --- Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) │ │   
  │ │          [*] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) │ │   
+
   │ │   < >  3dfx Banshee/Voodoo3+                                         │ │   
   │ │           < >  3dfx Banshee/Voodoo3+                                         │ │   
+
   │ │   < >  ATI Rage 128                                                 │ │   
   │ │           < >  ATI Rage 128                                                   │ │   
+
   │ │   < >  ATI Radeon                                                   │ │   
   │ │           < >  ATI Radeon                                                     │ │   
+
   │ │   < >  Intel I810                                                   │ │   
   │ │           < >  Intel I810                                                     │ │   
+
   │ │   < >  Intel 830M, 845G, 852GM, 855GM, 865G                         │ │   
   │ │           < >  Intel 830M, 845G, 852GM, 855GM, 865G                           │ │   
+
   │ │   < >  Matrox g200/g400                                             │ │   
   │ │           < >  Matrox g200/g400                                               │ │   
+
   │ │   < >  SiS video cards                                               │ │   
   │ │           < >  SiS video cards                                               │ │   
+
   │ │   < >  Via unichrome video cards                                     │ │   
   │ │           < >  Via unichrome video cards                                     │ │   
+
   │ │   < >  Savage video cards                                            │ │   
   │ │           < >  ATI Rage Pro (Mach64)                                          │ │   
+
   │ │   <M>  Intel IEGD                                                    │ │   
   │ │           <M>  Intel Poulsbo                                                  │ │   
+
   │ │                                                                       │ │   
   │ │           <M> Lowlevel video output switch controls                            │ │   
+
   │ │                                                                       │ │   
   │ │           <*> Support for frame buffer devices  --->                          │ │   
+
   │ │                                                                       │ │   
   │ │           < > CyberPro 2000/2010/5000 support                                  │ │   
+
   │ │                                                                       │ │   
   │ │           < > Arc Monochrome LCD board support                                │ │   
+
   │ │                                                                       │ │   
   │ │           [ ] Asiliant (Chips) 69000 display support                          │ │   
+
   │ └────────────────────────────────────────────────────────────────────────┘ │   
   │ │          [ ] IMS Twin Turbo display support                                  │ │   
+
   ├────────────────────────────────────────────────────────────────────────────┤  
   │ └───────────v(+)─────────────────────────────────────────────────────────────────┘ │  
+
   │                     <Select>    < Exit >    < Help >                    
  ├────────────────────────────────────────────────────────────────────────────────────┤
+
   └────────────────────────────────────────────────────────────────────────────┘
   │                         <Select>    < Exit >    < Help >                        
 
   └────────────────────────────────────────────────────────────────────────────────────┘
 
  
 
== Watchdog Timer Support ==
 
== Watchdog Timer Support ==
The CM-iAM provides watchdog functionality. It is possible to enable a watchdog timer either from BIOS (F2) or from running Linux. The CM-iAM watchdog has an operating range between 31 and 255 seconds. The range is defined by the "Watchdog Timer Value" in the BIOS or by the '''margin''' parameter of the watchdog driver. Entering BIOS setup temporarily disables watchdog operation regardless of the current state; therefore, the system will not be restarted during an interactive BIOS session. Once the watchdog has been enabled, the system will be restarted every "Watchdog Timer Value" period, unless the watchdog timer was reset or disabled by the software.
+
The CM-iAM provides watchdog functionality. It is possible to enable a watchdog timer either from BIOS (F2) or when running Linux. The CM-iAM watchdog has an operating range between 31 and 255 seconds. The range is defined by the "Watchdog Timer Value" in the BIOS or by the '''margin''' parameter of the watchdog driver. Entering the BIOS setup temporarily disables watchdog operation regardless of the current state; therefore, the system will not be restarted during an interactive BIOS session. Once the watchdog has been enabled, the system will be restarted every "Watchdog Timer Value" period, unless the watchdog timer is reset or disabled by software.
  
Source code of watchdog driver for CM-iAM is ''drivers/watchdog/cm_iam_wdt.c''
+
Source code of watchdog driver for CM-iAM is found in {{filename|drivers/watchdog/sbc_fitpc2_wdt.c}}. The module is present in official Linux sources starting from the 2.6.33 version.
  
  .config - Linux Kernel v2.6.28-34-sb-iam Configuration
+
  .config - Linux Kernel v2.6.31-34-fitpc2 Configuration
  ─────────────────────────────────────────────────────────────────────────────────────────
+
  ─────────────────────────────────────────────────────────────────────────────────
   ┌────────────────────────────── Watchdog Timer Support ──────────────────────────────┐
+
   ┌────────────────────────── Watchdog Timer Support ──────────────────────────┐
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.  Highlighted        │
+
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.             │  
   │  letters are hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes       
+
   │  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes,  
   │  features.  Press <Esc><Esc> to exit, <?> for Help, </> for Search.  Legend: [*]   │
+
   │  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </>   │ 
  │  built-in  [ ] excluded  <M> module  < > module capable                           │
+
  │  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module   │ 
   │ ┌─────^(-)───────────────────────────────────────────────────────────────────────┐
+
  │ ┌────────────────────────────────────────────────────────────────────────┐ │ 
   │ │     < >  Advantech SBC Watchdog Timer                                         │ │
+
  │ │    --- Watchdog Timer Support                                          │ │ 
   │ │     < >  ALi M1535 PMU Watchdog Timer                                         │ │
+
  │ │    [ ]  Disable watchdog shutdown on close                           │ │ 
   │ │     < >  ALi M7101 PMU Computer Watchdog                                     │ │
+
   │ │         *** Watchdog Device Drivers ***                              │ │ 
   │ │     < >  AMD Elan SC520 processor Watchdog                                   │ │
+
  │ │    < >  Software watchdog                                            │ │ 
   │ │     <MCompulab CM-iAM watchdog                                            │ │
+
  │ │    < >  Acquire SBC Watchdog Timer                                    │ │ 
   │ │     < >  Eurotech CPU-1220/1410 Watchdog Timer                                │ │
+
   │ │   < >  Advantech SBC Watchdog Timer                                 │ │
   │ │     < >  IB700 SBC Watchdog Timer                                             │ │
+
   │ │   < >  ALi M1535 PMU Watchdog Timer                                 │ │
   │ │     < >  IBM Automatic Server Restart                                         │ │
+
   │ │   < >  ALi M7101 PMU Computer Watchdog                               │ │
   │ │     < >  ICP Single Board Computer Watchdog Timer                             │ │
+
   │ │   < >  AMD Elan SC520 processor Watchdog                             │ │
   │ └─────v(+)───────────────────────────────────────────────────────────────────────┘
+
   │ │   < >  Eurotech CPU-1220/1410 Watchdog Timer                        │ │
   ├────────────────────────────────────────────────────────────────────────────────────┤
+
   │ │   <MCompulab SBC-FITPC2 watchdog                                  │ │
   │                         <Select>    < Exit >    < Help >                        
+
   │ │   < >  IB700 SBC Watchdog Timer                                     │ │
   └────────────────────────────────────────────────────────────────────────────────────┘
+
   │ │   < >  IBM Automatic Server Restart                                 │ │
 +
   │ │   < >  ICP Single Board Computer Watchdog Timer                     │ │ 
 +
  │ │    < >  Intel 6300ESB Timer/Watchdog                                  │ │ 
 +
  │ │    < >  Intel TCO Timer/Watchdog                                      │ │
 +
   │ └────v(+)────────────────────────────────────────────────────────────────┘
 +
   ├────────────────────────────────────────────────────────────────────────────┤ 
 +
   │                     <Select>    < Exit >    < Help >                    
 +
   └────────────────────────────────────────────────────────────────────────────┘
  
 
== Sound card support ==
 
== Sound card support ==
The CM-iAM and SB-iAM use IDT 92HD83 sound codec. Its full name is 92HD83C1C5 and may not be inserted in the kernel tree yet. Add the following quirk to sound driver for proper codec recognition:
+
The CM-iAM and SB-iAM use IDT 92HD83 sound codec. Its full name is 92HD83C1C5 and it may not yet be inserted into the kernel tree. Add the following quirk to the sound driver for proper codec recognition:
 
<pre>
 
<pre>
 
{ .id = 0x111d7604, .name = "92HD83C1X5", .patch = patch_stac92hd83xxx},
 
{ .id = 0x111d7604, .name = "92HD83C1X5", .patch = patch_stac92hd83xxx},
Line 187: Line 159:
 
{ .id = 0x111d7605, .name = "92HD81B1X5", .patch = patch_stac92hd83xxx},
 
{ .id = 0x111d7605, .name = "92HD81B1X5", .patch = patch_stac92hd83xxx},
 
</pre>
 
</pre>
Source code of sound driver for CM-iAM is ''sound/pci/hda/patch_sigmatel.c''
+
Source code of the sound driver for the CM-iAM is found in {{filename|sound/pci/hda/patch_sigmatel.c}}. The patch is present in official Linux sources starting from the 2.6.34 version.
  
  .config - Linux Kernel v2.6.28-34-sb-iam Configuration
+
  .config - Linux Kernel v2.6.31-34-fitpc2 Configuration
  ─────────────────────────────────────────────────────────────────────────────────────────
+
  ─────────────────────────────────────────────────────────────────────────────────
   ┌────────────────────────────────── Intel HD Audio ──────────────────────────────────┐
+
   ┌────────────────────────────── Intel HD Audio ──────────────────────────────┐
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.  Highlighted        │
+
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.             │  
   │  letters are hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes       
+
   │  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes,  
   │  features.  Press <Esc><Esc> to exit, <?> for Help, </> for Search.  Legend: [*]   │
+
   │  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </>   │ 
  │  built-in  [ ] excluded  <M> module  < > module capable                           
+
  │  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module  
   │ ┌────────────────────────────────────────────────────────────────────────────────┐
+
   │ ┌────────────────────────────────────────────────────────────────────────┐
   │ │     --- Intel HD Audio                                                         │ │
+
   │ │   --- Intel HD Audio                                                 │ │
   │ │     [*]  Build hwdep interface for HD-audio driver                           │ │
+
   │ │   [*]  Build hwdep interface for HD-audio driver                     │ │
   │ │     [ ]    Allow dynamic codec reconfiguration (EXPERIMENTAL)                 │ │
+
   │ │   [ ]    Allow dynamic codec reconfiguration (EXPERIMENTAL)         │ │
   │ │     [ ]  Support digital beep via input layer                                 │ │
+
   │ │   [*]  Support digital beep via input layer                         │ │
   │ │     [*]  Support jack plugging notification via input layer                   │ │
+
   │ │   [*]  Support jack plugging notification via input layer           │ │
   │ │     [ ]  Build Realtek HD-audio codec support                                 │ │
+
   │ │   [*]  Build Realtek HD-audio codec support                         │ │
   │ │     [ ]  Build Analog Device HD-audio codec support                           │ │
+
   │ │   [ ]  Build Analog Device HD-audio codec support                   │ │
   │ │     [*]  Build IDT/Sigmatel HD-audio codec support                           │ │
+
   │ │   [*]  Build IDT/Sigmatel HD-audio codec support                     │ │
   │ │     [ ]  Build VIA HD-audio codec support                                     │ │
+
   │ │   [ ]  Build VIA HD-audio codec support                             │ │
   │ └─────v(+)───────────────────────────────────────────────────────────────────────┘
+
   │ │    [ ]  Build ATI HDMI HD-audio codec support                        │ │ 
   ├────────────────────────────────────────────────────────────────────────────────────┤
+
  │ │    [ ]  Build NVIDIA HDMI HD-audio codec support                      │ │ 
   │                         <Select>    < Exit >    < Help >                        
+
  │ │    [ ]  Build INTEL HDMI HD-audio codec support                      │ │ 
   └────────────────────────────────────────────────────────────────────────────────────┘
+
  │ │    [ ]  Build Conexant HD-audio 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 >                    
 +
   └────────────────────────────────────────────────────────────────────────────┘
  
 
== Network device support ==
 
== Network device support ==
  .config - Linux Kernel v2.6.28-34-sb-iam Configuration
+
  .config - Linux Kernel v2.6.31-34-fitpc2 Configuration
 
  ────────────────────────────────────────────────────────────────────────────────────────
 
  ────────────────────────────────────────────────────────────────────────────────────────
 
   ┌────────────────────────────── Ethernet (1000 Mbit) ───────────────────────────────┐
 
   ┌────────────────────────────── Ethernet (1000 Mbit) ───────────────────────────────┐
Line 229: Line 211:
 
   │                        <Select>    < Exit >    < Help >                          │
 
   │                        <Select>    < Exit >    < Help >                          │
 
   └───────────────────────────────────────────────────────────────────────────────────┘
 
   └───────────────────────────────────────────────────────────────────────────────────┘
 +
 +
.config - Linux Kernel v2.6.31-34-fitpc2 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  │ 
 +
  │ ┌────^(-)────────────────────────────────────────────────────────────────┐ │ 
 +
  │ │    < >  Drivers for SMSC PHYs                                        │ │ 
 +
  │ │    < >  Drivers for Broadcom PHYs                                    │ │ 
 +
  │ │    < >  Drivers for ICPlus PHYs                                      │ │ 
 +
  │ │    <M>  Drivers for Realtek PHYs                                      │ │ 
 +
  │ │    < >  Drivers for National Semiconductor PHYs                      │ │ 
 +
  │ │    < >  Driver for STMicroelectronics STe10Xp PHYs                    │ │ 
 +
  │ └────v(+)────────────────────────────────────────────────────────────────┘ │ 
 +
  ├────────────────────────────────────────────────────────────────────────────┤ 
 +
  │                      <Select>    < Exit >    < Help >                      │ 
 +
  └────────────────────────────────────────────────────────────────────────────┘
  
 
== I2C/SMBus support ==
 
== I2C/SMBus support ==
  .config - Linux Kernel v2.6.28-34-sb-iam Configuration
+
  .config - Linux Kernel v2.6.31-34-fitpc2 Configuration
 
  ─────────────────────────────────────────────────────────────────────────────────────────
 
  ─────────────────────────────────────────────────────────────────────────────────────────
 
   ┌───────────────────────────── I2C Hardware Bus support ─────────────────────────────┐
 
   ┌───────────────────────────── I2C Hardware Bus support ─────────────────────────────┐
Line 254: Line 255:
  
 
== MMC/SD/SDIO card support ==
 
== MMC/SD/SDIO card support ==
  .config - Linux Kernel v2.6.28-34-sb-iam Configuration
+
  .config - Linux Kernel v2.6.31-34-fitpc2 Configuration
  ─────────────────────────────────────────────────────────────────────────────────────────
+
  ─────────────────────────────────────────────────────────────────────────────────
   ┌───────────────────────────── MMC/SD/SDIO card support ─────────────────────────────┐
+
   ┌───────────────────────── MMC/SD/SDIO card support ─────────────────────────┐
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.  Highlighted        │
+
   │  Arrow keys navigate the menu.  <Enter> selects submenus --->.             │  
   │  letters are hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes       
+
   │  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes,  
   │  features.  Press <Esc><Esc> to exit, <?> for Help, </> for Search.  Legend: [*]   │
+
   │  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </>   │ 
  │  built-in  [ ] excluded  <M> module  < > module capable                           
+
  │  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > module  
   │ ┌────────────────────────────────────────────────────────────────────────────────┐
+
   │ ┌────────────────────────────────────────────────────────────────────────┐
   │ │     --- MMC/SD/SDIO card support                                               │ │
+
   │ │   --- MMC/SD/SDIO card support                                       │ │
   │ │     [ ]  MMC debugging                                                       │ │
+
   │ │   [ ]  MMC debugging                                                 │ │
   │ │     [ ]  Allow unsafe resume (DANGEROUS)                                     │ │
+
   │ │   [*]  Allow unsafe resume (DANGEROUS)                               │ │
   │ │           *** MMC/SD/SDIO Card Drivers ***                                     │ │
+
   │ │         *** MMC/SD/SDIO Card Drivers ***                             │ │
   │ │     <M>  MMC block device driver                                             │ │
+
   │ │   <*>  MMC block device driver                                       │ │
   │ │     [*]    Use bounce buffer for simple hosts                                 │ │
+
   │ │   [*]    Use bounce buffer for simple hosts                         │ │
   │ │     < >  SDIO UART/GPS class support                                         │ │
+
   │ │   <M>  SDIO UART/GPS class support                                   │ │
   │ │     < >  MMC host test driver                                                 │ │
+
   │ │   < >  MMC host test driver                                         │ │
   │ │           *** MMC/SD/SDIO Host Controller Drivers ***                         │ │
+
   │ │         *** MMC/SD/SDIO Host Controller Drivers ***                   │ │
   │ │     <M>  Secure Digital Host Controller Interface support                     │ │
+
   │ │   <*>  Secure Digital Host Controller Interface support             │ │
   │ │     < >    SDHCI support on PCI bus                                           │ │
+
   │ │   <*>    SDHCI support on PCI bus                                   │ │
   │ │     < >   Winbond W83L51xD SD/MMC Card Interface support                      │ │
+
   │ │   < >       Ricoh MMC Controller Disabler  (EXPERIMENTAL)            │ │
   │ │     < >   TI Flash Media MMC/SD Interface support (EXPERIMENTAL)              │ │
+
   │ │   < >     SDHCI support on the platform specific bus                  │ │
   │ └────────────────────────────────────────────────────────────────────────────────┘
+
   │ └────v(+)────────────────────────────────────────────────────────────────┘
   ├────────────────────────────────────────────────────────────────────────────────────┤
+
   ├────────────────────────────────────────────────────────────────────────────┤ 
   │                         <Select>    < Exit >    < Help >                        
+
   │                     <Select>    < Exit >    < Help >                    
   └────────────────────────────────────────────────────────────────────────────────────┘
+
   └────────────────────────────────────────────────────────────────────────────┘ 
 +
   
  
 
== See also ==
 
== See also ==
Line 285: Line 287:
 
* [[Ubuntu Linux for CM-iAM]]
 
* [[Ubuntu Linux for CM-iAM]]
  
[[Category:Linux|Kernel]]
+
[[Category:Linux]]
[[Category:CM-IAM|Linux: Kernel]]
+
[[Category:CM-IAM]]

Revision as of 13:37, 5 May 2010

The CM-iAM is a fully-compatible x86 PC. Recent Linux kernels support most CM-iAM hardware features. A customized 2.6.31 kernel is available in The Linux package for CM-iAM under the kernel directory. The configuration file is debian/config/i386/config.fitpc2.

This kernel is suitable for all FIT-PC2 compatible boards (FIT-PC2/FIT-PC2i/CM-iAM).

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

Reboot quirk

Proper reboot handling requires the following patch arch/x86/kernel/reboot.c. The patch is present in official Linux sources starting from the 2.6.31 version.

      .matches = {
         DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
         DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq"),
      },
   },
+   {   /* Handle problems with rebooting on CompuLab SBC-FITPC2 */
+      .callback = set_bios_reboot,
+      .ident = "CompuLab SBC-FITPC2",
+      .matches = {
+         DMI_MATCH(DMI_SYS_VENDOR, "CompuLab"),
+         DMI_MATCH(DMI_PRODUCT_NAME, "SBC-FITPC2"),
+      },
+   },

Another option for proper reboot handling is to add to the kernel command line the reboot=b option, meaning "use BIOS reboot". No patch is needed in this case.

Intel SCH PATA support

Source code of the PATA driver for the CM-iAM is found in drivers/ata/pata_sch.c. The module is present in official Linux sources starting from the 2.6.25 version.

.config - Linux Kernel v2.6.31-34-fitpc2 Configuration
─────────────────────────────────────────────────────────────────────────────────
 ┌──────── Serial ATA (prod) and Parallel ATA (experimental) 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   │  
 │ ┌────^(-)────────────────────────────────────────────────────────────────┐ │  
 │ │    < >     SC1200 PATA support                                         │ │  
 │ │    < >     SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support              │ │  
 │ │    < >     Promise PATA 2027x support                                  │ │  
 │ │    < >     CMD / Silicon Image 680 PATA support                        │ │  
 │ │    < >     SiS PATA support                                            │ │  
 │ │    < >     VIA PATA support                                            │ │  
 │ │    < >     Winbond SL82C105 PATA support                               │ │  
 │ │    <*>     Intel SCH PATA support                                      │ │  
 │ └────────────────────────────────────────────────────────────────────────┘ │  
 ├────────────────────────────────────────────────────────────────────────────┤  
 │                      <Select>    < Exit >    < Help >                      │  
 └────────────────────────────────────────────────────────────────────────────┘

GPIO support

The SB-iAM board from Compulab contains 8 or 15 general purpose I/O pins (GPIO’s) depending on the assembly configuration.

The CM-iAM provides eight general purpose I/O pins (GPIO’s) from the Poulsbo chipset, seven are dedicated and one is shared with alternate functionality, with different power domain support. Seven additional GPIO’s are available from the IT8761E super I/O chip when option S (SIO) is assembled.

The modules are present in official Linux sources starting from the 2.6.34 version.

.config - Linux Kernel v2.6.31-34-fitpc2 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   │  
 │ ┌────────────────────────────────────────────────────────────────────────┐ │  
 │ │    --- GPIO Support                                                    │ │  
 │ │    [ ]   Debug GPIO calls                                              │ │  
 │ │    [*]   /sys/class/gpio/... (sysfs interface)                         │ │  
 │ │          *** Memory mapped GPIO expanders: ***                         │ │  
 │ │    <M>   IT8761E GPIO support                                          │ │  
 │ │    <M>   Intel SCH GPIO                                                │ │  
 │ │          *** I2C GPIO expanders: ***                                   │ │  
 │ │    < >   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      │ │  
 │ │          *** PCI GPIO expanders: ***                                   │ │  
 │ │          *** SPI GPIO expanders: ***                                   │ │  
 │ │                                                                        │ │  
 │ │                                                                        │ │  
 │ │                                                                        │ │  
 │ │                                                                        │ │  
 │ └────────────────────────────────────────────────────────────────────────┘ │  
 ├────────────────────────────────────────────────────────────────────────────┤  
 │                      <Select>    < Exit >    < Help >                      │  
 └────────────────────────────────────────────────────────────────────────────┘

Poulsbo DRM support

Intel® Embedded Graphics Driver (IEGD) requires a kernel drm module for proper functionality. Sources are available at Intel® Embedded Graphics Driver.

Source code of the IEGD driver for the CM-iAM is found in drivers/gpu/drm/iegd/. These drivers are not present in official Linux sources.

.config - Linux Kernel v2.6.31-34-fitpc2 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   │  
 │ ┌────────────────────────────────────────────────────────────────────────┐ │  
 │ │    --- 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 IEGD                                                    │ │  
 │ │                                                                        │ │  
 │ │                                                                        │ │  
 │ │                                                                        │ │  
 │ │                                                                        │ │  
 │ │                                                                        │ │  
 │ └────────────────────────────────────────────────────────────────────────┘ │  
 ├────────────────────────────────────────────────────────────────────────────┤  
 │                      <Select>    < Exit >    < Help >                      │  
 └────────────────────────────────────────────────────────────────────────────┘

Watchdog Timer Support

The CM-iAM provides watchdog functionality. It is possible to enable a watchdog timer either from BIOS (F2) or when running Linux. The CM-iAM watchdog has an operating range between 31 and 255 seconds. The range is defined by the "Watchdog Timer Value" in the BIOS or by the margin parameter of the watchdog driver. Entering the BIOS setup temporarily disables watchdog operation regardless of the current state; therefore, the system will not be restarted during an interactive BIOS session. Once the watchdog has been enabled, the system will be restarted every "Watchdog Timer Value" period, unless the watchdog timer is reset or disabled by software.

Source code of watchdog driver for CM-iAM is found in drivers/watchdog/sbc_fitpc2_wdt.c. The module is present in official Linux sources starting from the 2.6.33 version.

.config - Linux Kernel v2.6.31-34-fitpc2 Configuration
─────────────────────────────────────────────────────────────────────────────────
 ┌────────────────────────── Watchdog Timer 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   │  
 │ ┌────────────────────────────────────────────────────────────────────────┐ │  
 │ │    --- Watchdog Timer Support                                          │ │  
 │ │    [ ]   Disable watchdog shutdown on close                            │ │  
 │ │          *** Watchdog Device Drivers ***                               │ │  
 │ │    < >   Software watchdog                                             │ │  
 │ │    < >   Acquire SBC Watchdog Timer                                    │ │  
 │ │    < >   Advantech SBC Watchdog Timer                                  │ │  
 │ │    < >   ALi M1535 PMU Watchdog Timer                                  │ │  
 │ │    < >   ALi M7101 PMU Computer Watchdog                               │ │  
 │ │    < >   AMD Elan SC520 processor Watchdog                             │ │  
 │ │    < >   Eurotech CPU-1220/1410 Watchdog Timer                         │ │  
 │ │    <M>   Compulab SBC-FITPC2 watchdog                                  │ │  
 │ │    < >   IB700 SBC Watchdog Timer                                      │ │  
 │ │    < >   IBM Automatic Server Restart                                  │ │  
 │ │    < >   ICP Single Board Computer Watchdog Timer                      │ │  
 │ │    < >   Intel 6300ESB Timer/Watchdog                                  │ │  
 │ │    < >   Intel TCO Timer/Watchdog                                      │ │  
 │ └────v(+)────────────────────────────────────────────────────────────────┘ │  
 ├────────────────────────────────────────────────────────────────────────────┤  
 │                      <Select>    < Exit >    < Help >                      │  
 └────────────────────────────────────────────────────────────────────────────┘

Sound card support

The CM-iAM and SB-iAM use IDT 92HD83 sound codec. Its full name is 92HD83C1C5 and it may not yet be inserted into the kernel tree. Add the following quirk to the sound driver for proper codec recognition:

	{ .id = 0x111d7604, .name = "92HD83C1X5", .patch = patch_stac92hd83xxx},
+	{ .id = 0x111d76d4, .name = "92HD83C1C5", .patch = patch_stac92hd83xxx},
	{ .id = 0x111d7605, .name = "92HD81B1X5", .patch = patch_stac92hd83xxx},

Source code of the sound driver for the CM-iAM is found in sound/pci/hda/patch_sigmatel.c. The patch is present in official Linux sources starting from the 2.6.34 version.

.config - Linux Kernel v2.6.31-34-fitpc2 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   │  
 │ ┌────────────────────────────────────────────────────────────────────────┐ │  
 │ │    --- Intel HD Audio                                                  │ │  
 │ │    [*]   Build hwdep interface for HD-audio driver                     │ │  
 │ │    [ ]     Allow dynamic codec reconfiguration (EXPERIMENTAL)          │ │  
 │ │    [*]   Support digital beep via input layer                          │ │  
 │ │    [*]   Support jack plugging notification via input layer            │ │  
 │ │    [*]   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 ATI HDMI HD-audio codec support                         │ │  
 │ │    [ ]   Build NVIDIA HDMI HD-audio codec support                      │ │  
 │ │    [ ]   Build INTEL HDMI HD-audio codec support                       │ │  
 │ │    [ ]   Build Conexant HD-audio 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 >                      │  
 └────────────────────────────────────────────────────────────────────────────┘

Network device support

.config - Linux Kernel v2.6.31-34-fitpc2 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                           │
 │ ┌────^(-)───────────────────────────────────────────────────────────────────────┐ │
 │ │    < >   National Semiconductor DP83820 support                               │ │
 │ │    < >   Packet Engines Hamachi GNIC-II support                               │ │
 │ │    < >   Packet Engines Yellowfin Gigabit-NIC support (EXPERIMENTAL)          │ │
 │ │    <M>   Realtek 8169 gigabit ethernet support                                │ │
 │ │    < >   SiS190/SiS191 gigabit ethernet support                               │ │
 │ └────v(+)───────────────────────────────────────────────────────────────────────┘ │
 ├───────────────────────────────────────────────────────────────────────────────────┤
 │                         <Select>    < Exit >    < Help >                          │
 └───────────────────────────────────────────────────────────────────────────────────┘
.config - Linux Kernel v2.6.31-34-fitpc2 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   │  
 │ ┌────^(-)────────────────────────────────────────────────────────────────┐ │  
 │ │    < >   Drivers for SMSC PHYs                                         │ │  
 │ │    < >   Drivers for Broadcom PHYs                                     │ │  
 │ │    < >   Drivers for ICPlus PHYs                                       │ │  
 │ │    <M>   Drivers for Realtek PHYs                                      │ │  
 │ │    < >   Drivers for National Semiconductor PHYs                       │ │  
 │ │    < >   Driver for STMicroelectronics STe10Xp PHYs                    │ │  
 │ └────v(+)────────────────────────────────────────────────────────────────┘ │  
 ├────────────────────────────────────────────────────────────────────────────┤  
 │                      <Select>    < Exit >    < Help >                      │  
 └────────────────────────────────────────────────────────────────────────────┘

I2C/SMBus support

.config - Linux Kernel v2.6.31-34-fitpc2 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                            │
 │ ┌────────────────────────────────────────────────────────────────────────────────┐ │
 │ │         *** PC SMBus host controller drivers ***                               │ │
 │ │     < > ALI 1535                                                               │ │
 │ │     < > ALI 1563                                                               │ │
 │ │     < > ALI 15x3                                                               │ │
 │ │     < > AMD 756/766/768/8111 and nVidia nForce                                 │ │
 │ │     < > AMD 8111                                                               │ │
 │ │     < > Intel 82801 (ICH)                                                      │ │
 │ │     <M> Intel SCH SMBus 1.0                                                    │ │
 │ │     < > Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)             │ │
 │ └─────v(+)───────────────────────────────────────────────────────────────────────┘ │
 ├────────────────────────────────────────────────────────────────────────────────────┤
 │                          <Select>    < Exit >    < Help >                          │
 └────────────────────────────────────────────────────────────────────────────────────┘

MMC/SD/SDIO card support

.config - Linux Kernel v2.6.31-34-fitpc2 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   │  
 │ ┌────────────────────────────────────────────────────────────────────────┐ │  
 │ │    --- MMC/SD/SDIO card support                                        │ │  
 │ │    [ ]   MMC debugging                                                 │ │  
 │ │    [*]   Allow unsafe resume (DANGEROUS)                               │ │  
 │ │          *** MMC/SD/SDIO Card Drivers ***                              │ │  
 │ │    <*>   MMC block device driver                                       │ │  
 │ │    [*]     Use bounce buffer for simple hosts                          │ │  
 │ │    <M>   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                                    │ │  
 │ │    < >       Ricoh MMC Controller Disabler  (EXPERIMENTAL)             │ │  
 │ │    < >     SDHCI support on the platform specific bus                  │ │  
 │ └────v(+)────────────────────────────────────────────────────────────────┘ │  
 ├────────────────────────────────────────────────────────────────────────────┤  
 │                      <Select>    < Exit >    < Help >                      │  
 └────────────────────────────────────────────────────────────────────────────┘  
   

See also