https://www.coreboot.org/api.php?action=feedcontributions&user=Jbe&feedformat=atomcoreboot - User contributions [en]2024-03-29T09:15:33ZUser contributionsMediaWiki 1.40.0https://www.coreboot.org/index.php?title=Board:axus/tc320&diff=6344Board:axus/tc3202008-04-23T18:00:38Z<p>Jbe: /* Status */</p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = Geode GX1, Pentium 1 like, MMX support, no MTRR.<br />
|CPU_L1_status = OK<br />
|CPU_L1_comments = 16kiB unified cache.<br />
|CPU_L2_status = N/A<br />
|CPU_L2_comments = This CPU does not support L2 cache.<br />
|CPU_L3_status = N/A<br />
|CPU_L3_comments = This CPU does not support L3 cache.<br />
|CPU_multicore_status = N/A<br />
|CPU_virt_status = N/A<br />
|CPU_multiple_status = N/A<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR3_status = N/A<br />
|RAM_DDR_status = N/A<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = Works fine with a 64MiB DIMM at 120MHz (CPU core clock / 2.5).<br />
|RAM_SODIMM_status = N/A<br />
|RAM_dualchannel_status = N/A<br />
|RAM_ecc_status = N/A<br />
<br />
|IDE_status = OK<br />
|IDE_comments = Tested with a special cable (44pin/2mm to 40pin/2.54mm) and an ordinary 3.5" disk (UDMA2: 17.45 MB/sec).<br />
|IDE_25_status = OK<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
|SATA_status = N/A<br />
|SATA_comments =<br />
|USB_status = OK<br />
|USB_comments = USB harddisk as backup media works since month.<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver.<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|PCI_cards_status = N/A<br />
|AGP_cards_status = N/A<br />
|PCIE_cards_status = N/A<br />
|PCIE_x1_status = N/A<br />
|PCIE_x2_status = N/A<br />
|PCIE_x4_status = N/A<br />
|PCIE_x8_status = N/A<br />
|PCIE_x16_status = N/A<br />
|PCIE_x32_status = N/A<br />
|HTX_status = N/A<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
|COM1_status = OK<br />
|COM2_status = OK<br />
|PP_status = Untested<br />
|PS2_keyboard_status = OK<br />
|PS2_mouse_status = OK<br />
<br />
|Sensors_status = OK<br />
|Sensors_comments = This CPU does not need a fan.<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
|ACPI_status = N/A<br />
|Smartcard_status = N/A<br />
|Onboard_CF_status = N/A<br />
|Game_port_status = N/A<br />
|IR_status = N/A<br />
|Speaker_status = Untested<br />
|Watchdog_status = N/A<br />
|Poweroff_status = Untested<br />
|Poweroff_comments = Could be done in the Super I/O but needs a piece of software to do so.<br />
|Powersave_status = Untested<br />
|Powersave_comments = Hardware supports dozens of such features, but someone must write the software to control them.<br />
<br />
|WakeOnLAN_status = Untested<br />
|HPET_status = N/A<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset.<br />
|CAN_bus_status = N/A<br />
|Onboard_modem_status = N/A<br />
|Onboard_PCMCIA_status = N/A<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0e.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget axus/tc320<br />
$ cd axus/tc320/tc320<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoServ-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.2.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.2-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.1.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with coreboot and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes coreboot (LinuxBIOS) and the kernel and various network services like NFS, smb, ssh but no video!. <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=6343Board:axus/tc3202008-04-23T17:58:23Z<p>Jbe: Adding a board support package as an example how to use this machine</p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = Geode GX1, Pentium 1 like, MMX support, no MTRR.<br />
|CPU_L1_status = OK<br />
|CPU_L1_comments = 16kiB unified cache.<br />
|CPU_L2_status = N/A<br />
|CPU_L2_comments = This CPU does not support L2 cache.<br />
|CPU_multicore_status = N/A<br />
|CPU_virt_status = N/A<br />
|CPU_multiple_status = N/A<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR_status = N/A<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = Works fine with a 64MiB DIMM at 120MHz (CPU core clock / 2.5).<br />
|RAM_SODIMM_status = N/A<br />
|RAM_dualchannel_status = N/A<br />
|RAM_ecc_status = N/A<br />
<br />
|IDE_status = OK<br />
|IDE_comments = Tested with a special cable (44pin/2mm to 40pin/2.54mm) and an ordinary 3.5" disk (UDMA2: 17.45 MB/sec).<br />
|IDE_25_status = OK<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
|SATA_status = N/A<br />
|SATA_comments =<br />
|USB_status = OK<br />
|USB_comments = USB harddisk as backup media works since month.<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver.<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|PCI_cards_status = N/A<br />
|AGP_cards_status = N/A<br />
|PCIE_cards_status = N/A<br />
|PCIE_x1_status = N/A<br />
|PCIE_x2_status = N/A<br />
|PCIE_x4_status = N/A<br />
|PCIE_x8_status = N/A<br />
|PCIE_x16_status = N/A<br />
|PCIE_x32_status = N/A<br />
|HTX_status = N/A<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
|COM1_status = OK<br />
|COM2_status = OK<br />
|PP_status = Untested<br />
|PS2_keyboard_status = OK<br />
|PS2_mouse_status = OK<br />
<br />
|Sensors_status = OK<br />
|Sensors_comments = This CPU does not need a fan.<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
|ACPI_status = N/A<br />
|Smartcard_status = N/A<br />
|Onboard_CF_status = N/A<br />
|Game_port_status = N/A<br />
|IR_status = N/A<br />
|Speaker_status = Untested<br />
|Watchdog_status = N/A<br />
|Poweroff_status = Untested<br />
|Poweroff_comments = Could be done in the Super I/O but needs a piece of software to do so.<br />
|Powersave_status = Untested<br />
|Powersave_comments = Hardware supports dozens of such features, but someone must write the software to control them.<br />
<br />
|WakeOnLAN_status = Untested<br />
|HPET_status = N/A<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset.<br />
|CAN_bus_status = N/A<br />
|Onboard_modem_status = N/A<br />
|Onboard_PCMCIA_status = N/A<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0e.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget axus/tc320<br />
$ cd axus/tc320/tc320<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoServ-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.2.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.2-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.1.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with coreboot and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes coreboot (LinuxBIOS) and the kernel and various network services like NFS, smb, ssh but no video!. <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=6342Board:bcom/winnet1002008-04-23T17:46:35Z<p>Jbe: Update to a more recent kernel and some improvements done on the X server</p>
<hr />
<div>The '''[http://web.archive.org/web/20031207003521/http://www.igel.co.za/igel_316_compact.htm BCOM WinNET100]''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X. The hardware is still available nowadays via eBay for ca. 30-40 Euros.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = Geode GX1, Pentium 1 like, MMX support, no MTRR.<br />
|CPU_L1_status = OK<br />
|CPU_L1_comments = 16kiB unified cache (12kiB when X11 is running).<br />
|CPU_L2_status = N/A<br />
|CPU_L2_comments = This CPU does not support L2 cache.<br />
|CPU_L3_status = N/A<br />
|CPU_multiple_status = N/A<br />
|CPU_multicore_status = N/A<br />
|CPU_virt_status = N/A<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_SDRAM_status = N/A<br />
|RAM_SDRAM_comments = No DIMM socket.<br />
|RAM_SODIMM_status = OK<br />
|RAM_SODIMM_comments = Tested with 32MiB, 64MiB and 128MiB modules at 85MHz (CPU core clock / 3,5).<br />
|RAM_DDR_status = N/A<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR3_status = N/A<br />
|RAM_dualchannel_status = N/A<br />
|RAM_ecc_status = N/A<br />
<br />
|IDE_status = N/A<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 2.5" disk.<br />
|IDE_CF_status = OK<br />
|IDE_CF_comments = Works both with vendor BIOS and LinuxBIOS.<br />
|CDROM_DVD_status = Untested<br />
<br />
|SATA_status = N/A<br />
|USB_status = OK<br />
|USB_comments = Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = Tested with '''irqpoll''' kernel parameter.<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver.<br />
|Onboard_modem_status = N/A<br />
|Onboard_firewire_status = N/A<br />
|Smartcard_status = Unknown<br />
|Smartcard_comments = Probably won't work in Linux as there are no public datasheets [http://www.linuxbios.org/pipermail/linuxbios/2007-October/025800.html].<br />
|Onboard_CF_status = N/A<br />
|Onboard_PCMCIA_status = N/A<br />
<br />
|ISA_cards_status = N/A<br />
|AMR_cards_status = N/A<br />
|PCI_cards_status = N/A<br />
|AGP_cards_status = N/A<br />
|PCIE_x1_status = N/A<br />
|PCIE_x2_status = N/A<br />
|PCIE_x4_status = N/A<br />
|PCIE_x8_status = N/A<br />
|PCIE_x16_status = N/A<br />
|PCIE_x32_status = N/A<br />
|HTX_status = N/A<br />
<br />
|Floppy_status = N/A<br />
|COM1_status = OK<br />
|COM2_status = Unknown<br />
|COM2_comments = Simple UART mode only (due to TTL level, used by the smartcard reader). LinuxBIOS enables COM2, but that's about it.<br />
|PP_status = OK<br />
|PP_comments = Running '''modprobe ppdev''' works fine, but further tests were not done, yet.<br />
|PS2_keyboard_status = OK<br />
|PS2_mouse_status = OK<br />
|Game_port_status = N/A<br />
|IR_status = N/A<br />
|Speaker_status = WIP<br />
|Speaker_comments = Doesn't seem to work on LinuxBIOS, not even after '''modprobe pcspkr''' (maybe unmute required?). TODO: Check if it works with SMI polling driver.<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = Might work using '''mtd-tools'''. [[Flashrom]] has some alpha-level support too, but it's unsupported and can only write (not read) the DoC, AFAICS.<br />
<br />
|Sensors_status = N/A<br />
|Sensors_comments = This CPU does not need a fan.<br />
|Watchdog_status = N/A<br />
|CAN_bus_status = N/A<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|Powersave_status = WIP<br />
|Powersave_comments = Hardware supports dozens of such features, but someone must write the software to control them.<br />
|ACPI_status = N/A<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset.<br />
|Poweroff_status = WIP<br />
|Poweroff_comments = Doesn't work yet, neither on vendor BIOS nor LinuxBIOS. Could be done in the Super-I/O but needs a piece of software to do so.<br />
|LEDs_status = N/A<br />
|HPET_status = N/A<br />
|RNG_status = N/A<br />
|WakeOnModem_status = N/A<br />
|WakeOnModem_comments = Probably not feasible, there's no connector available, and no PCI/ISA to attach external modems.<br />
|WakeOnLAN_status = OK<br />
|WakeOnLAN_comments = Works fine with '''wakeonlan xx:xx:xx:xx:xx:xx''' (supplying the MAC address of the onboard ethernet device), both on vendor BIOS and LinuxBIOS. WOL seems to be implemented completely in hardware on this board, thus no special LinuxBIOS support is required.<br />
|WakeOnKeyboard_status = N/A<br />
|WakeOnKeyboard_comments = Doesn't seem to be supported by the Super I/O, and there's no BIOS menu to check/enable this feature.<br />
|WakeOnMouse_status = N/A<br />
|WakeOnMouse_comments = Doesn't seem to be supported by the Super I/O, and there's no BIOS menu to check/enable this feature.<br />
|Flashrom_status = OK<br />
|Flashrom_comments = Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.jpg|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
=== Overview ===<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''SST 39F020A''' or '''SST 39SF020A''' or '''MX 29F002NT''' PLCC32 256kiB flash memory to boot (in a socket)<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip (MD2202-D16), in a socket<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
* '''IMT-S001-1''' smart card chip<br />
<br />
=== Connectors ===<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: stereo line-in, stereo line-out, mic (+ mono built-in speaker)<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the smartcard reader)<br />
<br />
=== Jumpers ===<br />
<br />
* '''JDOC1''' for setting the DiskOnChip address. 1-2: C800, 2-3: D800, 3-4: DC00. Default: 2-3.<br />
* '''JLAN1''' (hardwired to 1-2, purpose unknown)<br />
* '''JP1'''/'''JP2''': XX: 1.8V / 266MHz, 0X: 2.0V / 300MHz, 00: 2.2V / 333MHz (but see also '''JRD01''')<br />
* '''JPWN1''' for switching the power on and off (simple push-button, controlled via the PC97317 Super I/O)<br />
* '''JRD01''' for setting the CPU clock speed. XXX: 266MHz, X00: 300MHz, 0X0: 333MHz. Default: X00 (but see also '''JP1'''/'''JP2''')<br />
* '''JRTC1''' for clearing CMOS. 1-2: clean, 2-3: normal. Default: 2-3.<br />
<br />
<small>(X means empty, 0 means there's a jumper on that pin)</small><br />
<br />
<small><br />
<gallery widths="100px" heights="100px" perrow="6"><br />
Image:JDOC1.jpg|<small>JDOC1</small><br />
Image:JLAN1.jpg|<small>JLAN1</small><br />
Image:JP1JP2.jpg|<small>JP1/JP2</small><br />
Image:JPWN1.jpg|<small>JPWN1</small><br />
Image:JRD01.jpg|<small>JRD01</small><br />
Image:JRTC1.jpg|<small>JRTC1</small><br />
</gallery><br />
</small><br />
<br />
=== Detailed System Information ===<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
Pull the front panel to one side, the casing to the other. Done. You now have access to all relevant parts.<br />
<br />
{|<br />
|- valign="top"<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
|- valign="top"<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
|}<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-3.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.2.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.2-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.1.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with coreboot and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes coreboot (LinuxBIOS) and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5470Board:bcom/winnet1002007-12-10T08:25:55Z<p>Jbe: /* How to build a root filesystem */</p>
<hr />
<div>The '''[http://web.archive.org/web/20031207003521/http://www.igel.co.za/igel_316_compact.htm BCOM WinNET100]''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X. The hardware is still available nowadays via eBay for ca. 30-40 Euros.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = Geode GX1, Pentium 1 like, MMX support, no MTRR.<br />
|CPU_L1_status = OK<br />
|CPU_L1_comments = 16kiB unified cache (12kiB when X11 is running).<br />
|CPU_L2_status = N/A<br />
|CPU_L2_comments = This CPU does not support L2 cache.<br />
|CPU_L3_status = N/A<br />
|CPU_multiple_status = N/A<br />
|CPU_multicore_status = N/A<br />
|CPU_virt_status = N/A<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_SDRAM_status = N/A<br />
|RAM_SDRAM_comments = No DIMM socket.<br />
|RAM_SODIMM_status = OK<br />
|RAM_SODIMM_comments = Tested with 32MiB, 64MiB and 128MiB modules at 85MHz (CPU core clock / 3,5).<br />
|RAM_DDR_status = N/A<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR3_status = N/A<br />
|RAM_dualchannel_status = N/A<br />
|RAM_ecc_status = N/A<br />
<br />
|IDE_status = N/A<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 2.5" disk.<br />
|IDE_CF_status = OK<br />
|IDE_CF_comments = Works both with vendor BIOS and LinuxBIOS.<br />
|CDROM_DVD_status = Untested<br />
<br />
|SATA_status = N/A<br />
|USB_status = OK<br />
|USB_comments = Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = Tested with '''irqpoll''' kernel parameter.<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver.<br />
|Onboard_modem_status = N/A<br />
|Onboard_firewire_status = N/A<br />
|Smartcard_status = Unknown<br />
|Smartcard_comments = Probably won't work in Linux as there are no public datasheets [http://www.linuxbios.org/pipermail/linuxbios/2007-October/025800.html].<br />
|Onboard_CF_status = N/A<br />
|Onboard_PCMCIA_status = N/A<br />
<br />
|ISA_cards_status = N/A<br />
|AMR_cards_status = N/A<br />
|PCI_cards_status = N/A<br />
|AGP_cards_status = N/A<br />
|PCIE_x1_status = N/A<br />
|PCIE_x2_status = N/A<br />
|PCIE_x4_status = N/A<br />
|PCIE_x8_status = N/A<br />
|PCIE_x16_status = N/A<br />
|PCIE_x32_status = N/A<br />
|HTX_status = N/A<br />
<br />
|Floppy_status = N/A<br />
|COM1_status = OK<br />
|COM2_status = Unknown<br />
|COM2_comments = Simple UART mode only (due to TTL level, used by the smartcard reader). LinuxBIOS enables COM2, but that's about it.<br />
|PP_status = OK<br />
|PP_comments = Running '''modprobe ppdev''' works fine, but further tests were not done, yet.<br />
|PS2_keyboard_status = OK<br />
|PS2_mouse_status = OK<br />
|Game_port_status = N/A<br />
|IR_status = N/A<br />
|Speaker_status = WIP<br />
|Speaker_comments = Doesn't seem to work on LinuxBIOS, not even after '''modprobe pcspkr''' (maybe unmute required?). TODO: Check if it works with SMI polling driver.<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = Might work using '''mtd-tools'''. [[Flashrom]] has some alpha-level support too, but it's unsupported and can only write (not read) the DoC, AFAICS.<br />
<br />
|Sensors_status = N/A<br />
|Sensors_comments = This CPU does not need a fan.<br />
|Watchdog_status = N/A<br />
|CAN_bus_status = N/A<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|Powersave_status = WIP<br />
|Powersave_comments = Hardware supports dozens of such features, but someone must write the software to control them.<br />
|ACPI_status = N/A<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset.<br />
|Poweroff_status = WIP<br />
|Poweroff_comments = Doesn't work yet, neither on vendor BIOS nor LinuxBIOS. Could be done in the Super-I/O but needs a piece of software to do so.<br />
|LEDs_status = N/A<br />
|HPET_status = N/A<br />
|RNG_status = N/A<br />
|WakeOnModem_status = N/A<br />
|WakeOnModem_comments = Probably not feasible, there's no connector available, and no PCI/ISA to attach external modems.<br />
|WakeOnLAN_status = OK<br />
|WakeOnLAN_comments = Works fine with '''wakeonlan xx:xx:xx:xx:xx:xx''' (supplying the MAC address of the onboard ethernet device), both on vendor BIOS and LinuxBIOS. WOL seems to be implemented completely in hardware on this board, thus no special LinuxBIOS support is required.<br />
|WakeOnKeyboard_status = N/A<br />
|WakeOnKeyboard_comments = Doesn't seem to be supported by the Super I/O, and there's no BIOS menu to check/enable this feature.<br />
|WakeOnMouse_status = N/A<br />
|WakeOnMouse_comments = Doesn't seem to be supported by the Super I/O, and there's no BIOS menu to check/enable this feature.<br />
|Flashrom_status = OK<br />
|Flashrom_comments = Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.jpg|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
=== Overview ===<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''SST 39F020A''' or '''SST 39SF020A''' or '''MX 29F002NT''' PLCC32 256kiB flash memory to boot (in a socket)<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip (MD2202-D16), in a socket<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
* '''IMT-S001-1''' smart card chip<br />
<br />
=== Connectors ===<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: stereo line-in, stereo line-out, mic (+ mono built-in speaker)<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the smartcard reader)<br />
<br />
=== Jumpers ===<br />
<br />
* '''JDOC1''' for setting the DiskOnChip address. 1-2: C800, 2-3: D800, 3-4: DC00. Default: 2-3.<br />
* '''JLAN1''' (hardwired to 1-2, purpose unknown)<br />
* '''JP1'''/'''JP2''': XX: 1.8V / 266MHz, 0X: 2.0V / 300MHz, 00: 2.2V / 333MHz (but see also '''JRD01''')<br />
* '''JPWN1''' for switching the power on and off (simple push-button, controlled via the PC97317 Super I/O)<br />
* '''JRD01''' for setting the CPU clock speed. XXX: 266MHz, X00: 300MHz, 0X0: 333MHz. Default: X00 (but see also '''JP1'''/'''JP2''')<br />
* '''JRTC1''' for clearing CMOS. 1-2: clean, 2-3: normal. Default: 2-3.<br />
<br />
<small>(X means empty, 0 means there's a jumper on that pin)</small><br />
<br />
<small><br />
<gallery widths="100px" heights="100px" perrow="6"><br />
Image:JDOC1.jpg|<small>JDOC1</small><br />
Image:JLAN1.jpg|<small>JLAN1</small><br />
Image:JP1JP2.jpg|<small>JP1/JP2</small><br />
Image:JPWN1.jpg|<small>JPWN1</small><br />
Image:JRD01.jpg|<small>JRD01</small><br />
Image:JRTC1.jpg|<small>JRTC1</small><br />
</gallery><br />
</small><br />
<br />
=== Detailed System Information ===<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
Pull the front panel to one side, the casing to the other. Done. You now have access to all relevant parts.<br />
<br />
{|<br />
|- valign="top"<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
|- valign="top"<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
|}<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinuxBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5318Board:axus/tc3202007-11-02T19:55:39Z<p>Jbe: /* Status */</p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = Geode GX1, Pentium 1 like, MMX support, no MTRR<br />
<br />
|CPU_L1_status = OK<br />
|CPU_L1_comments = 16kiB unified cache<br />
<br />
|CPU_L2_status = N/A<br />
|CPU_L2_comments = This CPU does not support L2 cache<br />
<br />
|CPU_multicore_status = N/A<br />
|CPU_virt_status = N/A<br />
|CPU_multiple_status = N/A<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR_status = N/A<br />
<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = works fine with a 64MiB DIMM at 120MHz (CPU core clock / 2.5)<br />
<br />
|RAM_SODIMM_status = N/A<br />
|RAM_dualchannel_status = N/A<br />
|RAM_ecc_status = N/A<br />
<br />
|IDE_status = OK<br />
|IDE_comments = Tested with a special cable (44pin/2mm to 40pin/2.54mm) and an ordinary 3.5" disk (UDMA2: 17.45 MB/sec).<br />
<br />
|IDE_25_status = OK<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = USB harddisk as backup media works since month<br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = OK<br />
|COM2_comments = <br />
<br />
|PP_status = Untested<br />
|PP_comments = <br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = OK<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
|ACPI_status = N/A<br />
|ACPI_comments =<br />
<br />
|Smartcard_status = N/A<br />
|Onboard_CF_status = N/A<br />
|Game_port_status = N/A<br />
|IR_status = N/A<br />
|Speaker_status = Untested<br />
|Watchdog_status = N/A<br />
|Poweroff_status = Untested<br />
|Poweroff_comments = Could be done in the Super-I/O but needs a piece of software to do so.<br />
|Powersave_status = Untested<br />
|Powersave_comments = Hardware supports dozens of such features, but someone must write the software to control them<br />
<br />
|WakeOnLAN_status = Untested<br />
<br />
|HPET_status = N/A<br />
|HPET_comments =<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset<br />
<br />
|CAN_bus_status = N/A<br />
|Onboard_modem_status = N/A<br />
|Onboard_PCMCIA_status = N/A<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0e.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget axus/tc320<br />
$ cd axus/tc320/tc320<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5317Board:axus/tc3202007-11-02T19:50:21Z<p>Jbe: /* Required patches */</p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = Geode GX1, Pentium 1 like, MMX support, no MTRR<br />
<br />
|CPU_L1_status = OK<br />
|CPU_L1_comments = 16kiB unified cache<br />
<br />
|CPU_L2_status = N/A<br />
|CPU_L2_comments = This CPU does not support L2 cache<br />
<br />
|CPU_multicore_status = N/A<br />
|CPU_virt_status = N/A<br />
|CPU_multiple_status = N/A<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR_status = N/A<br />
<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = works fine with a 64MiB DIMM at 120MHz (CPU core clock / 2.5)<br />
<br />
|RAM_SODIMM_status = N/A<br />
|RAM_dualchannel_status = N/A<br />
|RAM_ecc_status = N/A<br />
<br />
|IDE_status = OK<br />
|IDE_comments = Tested with a special cable and a 3.5" disk (UDMA2: 17.45 MB/sec).<br />
<br />
|IDE_25_status = OK<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = <br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = OK<br />
|COM2_comments = <br />
<br />
|PP_status = Untested<br />
|PP_comments = <br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = OK<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
|ACPI_status = N/A<br />
|ACPI_comments =<br />
<br />
|Smartcard_status = N/A<br />
|Onboard_CF_status = N/A<br />
|Game_port_status = N/A<br />
|IR_status = N/A<br />
|Speaker_status = Untested<br />
|Watchdog_status = N/A<br />
|Poweroff_status = Untested<br />
|Poweroff_comments = Could be done in the Super-I/O but needs a piece of software to do so.<br />
|Powersave_status = Untested<br />
|Powersave_comments = Hardware supports dozens of such features, but someone must write the software to control them<br />
<br />
|WakeOnLAN_status = Untested<br />
<br />
|HPET_status = N/A<br />
|HPET_comments =<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset<br />
<br />
|CAN_bus_status = N/A<br />
|Onboard_modem_status = N/A<br />
|Onboard_PCMCIA_status = N/A<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0e.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget axus/tc320<br />
$ cd axus/tc320/tc320<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5316Board:axus/tc3202007-11-02T19:48:44Z<p>Jbe: /* Required patches */</p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = Geode GX1, Pentium 1 like, MMX support, no MTRR<br />
<br />
|CPU_L1_status = OK<br />
|CPU_L1_comments = 16kiB unified cache<br />
<br />
|CPU_L2_status = N/A<br />
|CPU_L2_comments = This CPU does not support L2 cache<br />
<br />
|CPU_multicore_status = N/A<br />
|CPU_virt_status = N/A<br />
|CPU_multiple_status = N/A<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR_status = N/A<br />
<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = works fine with a 64MiB DIMM at 120MHz (CPU core clock / 2.5)<br />
<br />
|RAM_SODIMM_status = N/A<br />
|RAM_dualchannel_status = N/A<br />
|RAM_ecc_status = N/A<br />
<br />
|IDE_status = OK<br />
|IDE_comments = Tested with a special cable and a 3.5" disk (UDMA2: 17.45 MB/sec).<br />
<br />
|IDE_25_status = OK<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = <br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = OK<br />
|COM2_comments = <br />
<br />
|PP_status = Untested<br />
|PP_comments = <br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = OK<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
|ACPI_status = N/A<br />
|ACPI_comments =<br />
<br />
|Smartcard_status = N/A<br />
|Onboard_CF_status = N/A<br />
|Game_port_status = N/A<br />
|IR_status = N/A<br />
|Speaker_status = Untested<br />
|Watchdog_status = N/A<br />
|Poweroff_status = Untested<br />
|Poweroff_comments = Could be done in the Super-I/O but needs a piece of software to do so.<br />
|Powersave_status = Untested<br />
|Powersave_comments = Hardware supports dozens of such features, but someone must write the software to control them<br />
<br />
|WakeOnLAN_status = Untested<br />
<br />
|HPET_status = N/A<br />
|HPET_comments =<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset<br />
<br />
|CAN_bus_status = N/A<br />
|Onboard_modem_status = N/A<br />
|Onboard_PCMCIA_status = N/A<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0e.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget axus/tc320<br />
$ cd axus/tc320/tc320<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5315Board:bcom/winnet1002007-11-02T19:04:29Z<p>Jbe: /* Status */</p>
<hr />
<div>The '''[http://web.archive.org/web/20031207003521/http://www.igel.co.za/igel_316_compact.htm BCOM WinNET100]''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X. The hardware is still available nowadays via eBay for ca. 30-40 Euros.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = Geode GX1, Pentium 1 like, MMX support, no MTRR<br />
<br />
|CPU_L1_status = OK<br />
|CPU_L1_comments = 16kiB unified cache (12kiB when X is running)<br />
<br />
|CPU_L2_status = N/A<br />
|CPU_L2_comments = This CPU does not support L2 cache<br />
<br />
|CPU_multiple_status = N/A<br />
|CPU_multicore_status = N/A<br />
|CPU_virt_status = N/A<br />
<br />
|RAM_SDRAM_status = N/A<br />
|RAM_SDRAM_comments = No DIMM socket<br />
<br />
|RAM_SODIMM_status = OK<br />
|RAM_SODIMM_comments = Tested with 32MiB, 64MiB and 128MiB modules at 85MHz (CPU core clock / 3,5).<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_EDO_comments = <br />
<br />
|RAM_DDR_status = N/A<br />
|RAM_DDR_comments = <br />
<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR2_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = N/A<br />
|IDE_comments =<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 2.5" disk.<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = Tested with '''irqpoll''' kernel parameter.<br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|Onboard_modem_status = N/A<br />
<br />
|Onboard_CF_status = N/A<br />
|Onboard_CF_comments =<br />
<br />
|Onboard_PCMCIA_status = N/A<br />
|Onboard_PCMCIA_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = Untested <br />
|COM2_comments = Simple UART mode only (due to TTL level, used by the smartcard reader).<br />
<br />
|PP_status = Untested<br />
|PP_comments = Running '''modprobe ppdev''' works fine, but further tests were not done, yet.<br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Game_port_status = N/A<br />
|Game_port_comments =<br />
<br />
|IR_status = N/A<br />
|Watchdog_status = N/A<br />
<br />
|Sensors_status = OK<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Smartcard_status = OK<br />
|Smartcard_comments = Probably won't work in Linux as there are no public datasheets [http://www.linuxbios.org/pipermail/linuxbios/2007-October/025800.html].<br />
<br />
|CAN_bus_status = N/A<br />
|CAN_bus_comments =<br />
<br />
|Flashrom_status = OK<br />
|Flashrom_comments = Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
<br />
|ACPI_status = N/A<br />
|ACPI_comments =<br />
<br />
|HPET_status = N/A<br />
|HPET_comments =<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset<br />
<br />
|Powersave_status = Untested<br />
|Powersave_comments = Hardware supports dozens of such features, but someone must write the software to control them.<br />
<br />
|Poweroff_status = Untested<br />
|Poweroff_comments = Could be done in the Super-I/O but needs a piece of software to do so.<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.jpg|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
=== Overview ===<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''SST 39F020A''' or '''SST 39SF020A''' or '''MX 29F002NT''' PLCC32 256kiB flash memory to boot (in a socket)<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip (MD2202-D16), in a socket<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
* '''IMT-S001-1''' smart card chip<br />
<br />
=== Connectors ===<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: stereo line-in, stereo line-out, mic (+ mono built-in speaker)<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the smartcard reader)<br />
<br />
=== Jumpers ===<br />
<br />
* '''JDOC1''' for setting the DiskOnChip address. 1-2: C800, 2-3: D800, 3-4: DC00. Default: 2-3.<br />
* '''JLAN1''' (hardwired to 1-2, purpose unknown)<br />
* '''JP1'''/'''JP2''': XX: 1.8V / 266MHz, 0X: 2.0V / 300MHz, 00: 2.2V / 333MHz (but see also '''JRD01''')<br />
* '''JPWN1''' for switching the power on and off (simple push-button, controlled via the PC97317 Super I/O)<br />
* '''JRD01''' for setting the CPU clock speed. XXX: 266MHz, X00: 300MHz, 0X0: 333MHz. Default: X00 (but see also '''JP1'''/'''JP2''')<br />
* '''JRTC1''' for clearing CMOS. 1-2: clean, 2-3: normal. Default: 2-3.<br />
<br />
<small>(X means empty, 0 means there's a jumper on that pin)</small><br />
<br />
<small><br />
<gallery widths="100px" heights="100px" perrow="6"><br />
Image:JDOC1.jpg|<small>JDOC1</small><br />
Image:JLAN1.jpg|<small>JLAN1</small><br />
Image:JP1JP2.jpg|<small>JP1/JP2</small><br />
Image:JPWN1.jpg|<small>JPWN1</small><br />
Image:JRD01.jpg|<small>JRD01</small><br />
Image:JRTC1.jpg|<small>JRTC1</small><br />
</gallery><br />
</small><br />
<br />
=== Detailed System Information ===<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
Pull the front panel to one side, the casing to the other. Done. You now have access to all relevant parts.<br />
<br />
{|<br />
|- valign="top"<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
|- valign="top"<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
|}<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5314Board:axus/tc3202007-11-02T18:53:27Z<p>Jbe: /* Status */</p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = Geode GX1, Pentium 1 like, MMX support, no MTRR<br />
<br />
|CPU_L1_status = OK<br />
|CPU_L1_comments = 16kiB unified cache<br />
<br />
|CPU_L2_status = N/A<br />
|CPU_L2_comments = This CPU does not support L2 cache<br />
<br />
|CPU_multicore_status = N/A<br />
|CPU_virt_status = N/A<br />
|CPU_multiple_status = N/A<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR_status = N/A<br />
<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = works fine with a 64MiB DIMM at 120MHz (CPU core clock / 2.5)<br />
<br />
|RAM_SODIMM_status = N/A<br />
|RAM_dualchannel_status = N/A<br />
|RAM_ecc_status = N/A<br />
<br />
|IDE_status = OK<br />
|IDE_comments = Tested with a special cable and a 3.5" disk (UDMA2: 17.45 MB/sec).<br />
<br />
|IDE_25_status = OK<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = <br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = OK<br />
|COM2_comments = <br />
<br />
|PP_status = Untested<br />
|PP_comments = <br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = OK<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
|ACPI_status = N/A<br />
|ACPI_comments =<br />
<br />
|Smartcard_status = N/A<br />
|Onboard_CF_status = N/A<br />
|Game_port_status = N/A<br />
|IR_status = N/A<br />
|Speaker_status = Untested<br />
|Watchdog_status = N/A<br />
|Poweroff_status = Untested<br />
|Poweroff_comments = Could be done in the Super-I/O but needs a piece of software to do so.<br />
|Powersave_status = Untested<br />
|Powersave_comments = Hardware supports dozens of such features, but someone must write the software to control them<br />
<br />
|WakeOnLAN_status = Untested<br />
<br />
|HPET_status = N/A<br />
|HPET_comments =<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset<br />
<br />
|CAN_bus_status = N/A<br />
|Onboard_modem_status = N/A<br />
|Onboard_PCMCIA_status = N/A<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0e.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5313Board:axus/tc3202007-11-02T18:24:43Z<p>Jbe: /* Status */</p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_EDO_comments = <br />
<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR2_comments =<br />
<br />
|RAM_DDR_status = N/A<br />
|RAM_DDR_comments =<br />
<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = works fine with a 64MiB DIMM<br />
<br />
|RAM_SODIMM_status = N/A<br />
|RAM_SODIMM_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = OK<br />
|IDE_comments = Tested with a special cable and a 3.5" disk.<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments =<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = <br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = OK<br />
|COM2_comments = <br />
<br />
|PP_status = Untested<br />
|PP_comments = <br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = OK<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
|ACPI_status = N/A<br />
|ACPI_comments =<br />
<br />
|HPET_status = N/A<br />
|HPET_comments =<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset<br />
<br />
|CAN_bus_status = N/A<br />
|CAN_bus_comments =<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0e.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5312Board:bcom/winnet1002007-11-02T18:24:19Z<p>Jbe: /* Status */</p>
<hr />
<div>The '''[http://web.archive.org/web/20031207003521/http://www.igel.co.za/igel_316_compact.htm BCOM WinNET100]''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X. The hardware is still available nowadays via eBay for ca. 30-40 Euros.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_SDRAM_status = N/A<br />
|RAM_SDRAM_comments = No DIMM socket<br />
<br />
|RAM_SODIMM_status = OK<br />
|RAM_SODIMM_comments = Tested with 32MiB, 64MiB and 128MiB modules.<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_EDO_comments = <br />
<br />
|RAM_DDR_status = N/A<br />
|RAM_DDR_comments = <br />
<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR2_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = N/A<br />
|IDE_comments =<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 2.5" disk.<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = Tested with '''irqpoll''' kernel parameter.<br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|Onboard_CF_status = N/A<br />
|Onboard_CF_comments =<br />
<br />
|Onboard_PCMCIA_status = N/A<br />
|Onboard_PCMCIA_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = Untested <br />
|COM2_comments = Simple UART mode only (due to TTL level, used by the smartcard reader).<br />
<br />
|PP_status = Untested<br />
|PP_comments = Running '''modprobe ppdev''' works fine, but further tests were not done, yet.<br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Game_port_status = N/A<br />
|Game_port_comments =<br />
<br />
|Sensors_status = OK<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Smartcard_status = OK<br />
|Smartcard_comments = Probably won't work in Linux as there are no public datasheets [http://www.linuxbios.org/pipermail/linuxbios/2007-October/025800.html].<br />
<br />
|CAN_bus_status = N/A<br />
|CAN_bus_comments =<br />
<br />
|Flashrom_status = OK<br />
|Flashrom_comments = Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
<br />
|ACPI_status = N/A<br />
|ACPI_comments =<br />
<br />
|HPET_status = N/A<br />
|HPET_comments =<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.jpg|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
=== Overview ===<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''SST 39F020A''' or '''SST 39SF020A''' or '''MX 29F002NT''' PLCC32 256kiB flash memory to boot (in a socket)<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip (MD2202-D16), in a socket<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
* '''IMT-S001-1''' smart card chip<br />
<br />
=== Connectors ===<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: stereo line-in, stereo line-out, mic (+ mono built-in speaker)<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the smartcard reader)<br />
<br />
=== Jumpers ===<br />
<br />
* '''JDOC1''' for setting the DiskOnChip address. 1-2: C800, 2-3: D800, 3-4: DC00. Default: 2-3.<br />
* '''JLAN1''' (hardwired to 1-2, purpose unknown)<br />
* '''JP1'''/'''JP2''': XX: 1.8V / 266MHz, 0X: 2.0V / 300MHz, 00: 2.2V / 333MHz (but see also '''JRD01''')<br />
* '''JPWN1''' for switching the power on and off (simple push-button, controlled via the PC97317 Super I/O)<br />
* '''JRD01''' for setting the CPU clock speed. XXX: 266MHz, X00: 300MHz, 0X0: 333MHz. Default: X00 (but see also '''JP1'''/'''JP2''')<br />
* '''JRTC1''' for clearing CMOS. 1-2: clean, 2-3: normal. Default: 2-3.<br />
<br />
<small>(X means empty, 0 means there's a jumper on that pin)</small><br />
<br />
<small><br />
<gallery widths="100px" heights="100px" perrow="6"><br />
Image:JDOC1.jpg|<small>JDOC1</small><br />
Image:JLAN1.jpg|<small>JLAN1</small><br />
Image:JP1JP2.jpg|<small>JP1/JP2</small><br />
Image:JPWN1.jpg|<small>JPWN1</small><br />
Image:JRD01.jpg|<small>JRD01</small><br />
Image:JRTC1.jpg|<small>JRTC1</small><br />
</gallery><br />
</small><br />
<br />
=== Detailed System Information ===<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
Pull the front panel to one side, the casing to the other. Done. You now have access to all relevant parts.<br />
<br />
{|<br />
|- valign="top"<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
|- valign="top"<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
|}<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5311Board:bcom/winnet1002007-11-02T18:19:44Z<p>Jbe: /* Status */</p>
<hr />
<div>The '''[http://web.archive.org/web/20031207003521/http://www.igel.co.za/igel_316_compact.htm BCOM WinNET100]''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X. The hardware is still available nowadays via eBay for ca. 30-40 Euros.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_SDRAM_status = N/A<br />
|RAM_SDRAM_comments = No DIMM socket<br />
<br />
|RAM_SODIMM_status = OK<br />
|RAM_SODIMM_comments = Tested with 32MiB, 64MiB and 128MiB modules.<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_EDO_comments = <br />
<br />
|RAM_DDR_status = N/A<br />
|RAM_DDR_comments = <br />
<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR2_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = N/A<br />
|IDE_comments =<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 2.5" disk.<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = Tested with '''irqpoll''' kernel parameter.<br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|Onboard_CF_status = N/A<br />
|Onboard_CF_comments =<br />
<br />
|Onboard_PCMCIA_status = N/A<br />
|Onboard_PCMCIA_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = Untested <br />
|COM2_comments = Simple UART mode only (due to TTL level, used by the smartcard reader).<br />
<br />
|PP_status = Untested<br />
|PP_comments = Running '''modprobe ppdev''' works fine, but further tests were not done, yet.<br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Game_port_status = N/A<br />
|Game_port_comments =<br />
<br />
|Sensors_status = Untested<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Smartcard_status = OK<br />
|Smartcard_comments = Probably won't work in Linux as there are no public datasheets [http://www.linuxbios.org/pipermail/linuxbios/2007-October/025800.html].<br />
<br />
|CAN_bus_status = N/A<br />
|CAN_bus_comments =<br />
<br />
|Flashrom_status = OK<br />
|Flashrom_comments = Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.jpg|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
=== Overview ===<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''SST 39F020A''' or '''SST 39SF020A''' or '''MX 29F002NT''' PLCC32 256kiB flash memory to boot (in a socket)<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip (MD2202-D16), in a socket<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
* '''IMT-S001-1''' smart card chip<br />
<br />
=== Connectors ===<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: stereo line-in, stereo line-out, mic (+ mono built-in speaker)<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the smartcard reader)<br />
<br />
=== Jumpers ===<br />
<br />
* '''JDOC1''' for setting the DiskOnChip address. 1-2: C800, 2-3: D800, 3-4: DC00. Default: 2-3.<br />
* '''JLAN1''' (hardwired to 1-2, purpose unknown)<br />
* '''JP1'''/'''JP2''': XX: 1.8V / 266MHz, 0X: 2.0V / 300MHz, 00: 2.2V / 333MHz (but see also '''JRD01''')<br />
* '''JPWN1''' for switching the power on and off (simple push-button, controlled via the PC97317 Super I/O)<br />
* '''JRD01''' for setting the CPU clock speed. XXX: 266MHz, X00: 300MHz, 0X0: 333MHz. Default: X00 (but see also '''JP1'''/'''JP2''')<br />
* '''JRTC1''' for clearing CMOS. 1-2: clean, 2-3: normal. Default: 2-3.<br />
<br />
<small>(X means empty, 0 means there's a jumper on that pin)</small><br />
<br />
<small><br />
<gallery widths="100px" heights="100px" perrow="6"><br />
Image:JDOC1.jpg|<small>JDOC1</small><br />
Image:JLAN1.jpg|<small>JLAN1</small><br />
Image:JP1JP2.jpg|<small>JP1/JP2</small><br />
Image:JPWN1.jpg|<small>JPWN1</small><br />
Image:JRD01.jpg|<small>JRD01</small><br />
Image:JRTC1.jpg|<small>JRTC1</small><br />
</gallery><br />
</small><br />
<br />
=== Detailed System Information ===<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
Pull the front panel to one side, the casing to the other. Done. You now have access to all relevant parts.<br />
<br />
{|<br />
|- valign="top"<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
|- valign="top"<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
|}<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5309Board:axus/tc3202007-11-02T18:16:36Z<p>Jbe: </p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_EDO_comments = <br />
<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR2_comments =<br />
<br />
|RAM_DDR_status = N/A<br />
|RAM_DDR_comments =<br />
<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = works fine with a 64MiB DIMM<br />
<br />
|RAM_SODIMM_status = N/A<br />
|RAM_SODIMM_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = OK<br />
|IDE_comments = Tested with a special cable and a 3.5" disk.<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments =<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = <br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = OK<br />
|COM2_comments = <br />
<br />
|PP_status = Untested<br />
|PP_comments = <br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = OK<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
|ACPI_status = N/A<br />
|ACPI_comments =<br />
<br />
|HPET_status = N/A<br />
|HPET_comments =<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0e.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5306Board:axus/tc3202007-11-02T18:08:55Z<p>Jbe: </p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_EDO_comments = <br />
<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR2_comments =<br />
<br />
|RAM_DDR_status = N/A<br />
|RAM_DDR_comments =<br />
<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = works fine with a 64MiB DIMM<br />
<br />
|RAM_SODIMM_status = N/A<br />
|RAM_SODIMM_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = N/A<br />
|IDE_comments =<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 5.25" disk.<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = <br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Works with a special SMI polling driver, but not perfectly<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = OK<br />
|COM2_comments = <br />
<br />
|PP_status = Untested<br />
|PP_comments = <br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = Untested<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
|ACPI_status = N/A<br />
|ACPI_comments =<br />
<br />
|HPET_status = N/A<br />
|HPET_comments =<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5303Board:axus/tc3202007-11-02T18:03:04Z<p>Jbe: </p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = works fine with a 64MiB DIMM<br />
<br />
|RAM_SODIMM_status = N/A<br />
|RAM_SODIMM_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = N/A<br />
|IDE_comments =<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 5.25" disk.<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = <br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Works with a special SMI polling driver, but not perfectly<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = OK<br />
|COM2_comments = <br />
<br />
|PP_status = Untested<br />
|PP_comments = <br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = Untested<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
|ACPI_status = N/A<br />
|ACPI_comments =<br />
<br />
|HPET_status = N/A<br />
|HPET_comments =<br />
<br />
|Reboot_status = OK<br />
|Reboot_comments = Linux supports this chipset to force a hard reset<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5302Board:axus/tc3202007-11-02T18:01:29Z<p>Jbe: </p>
<hr />
<div>This page describes how to use the '''[http://www.keyton.co.jp/products/UAXT/TC-320.html AXUS TC320]''' thin client with LinuxBIOS.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_SDRAM_status = OK<br />
|RAM_SDRAM_comments = works fine with a 64MiB DIMM<br />
<br />
|RAM_SODIMM_status = N/A<br />
|RAM_SODIMM_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = N/A<br />
|IDE_comments =<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 5.25" disk.<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = <br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Works with a special SMI polling driver, but not perfectly<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = OK<br />
|COM2_comments = <br />
<br />
|PP_status = Untested<br />
|PP_comments = <br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = Untested<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5291Board:bcom/winnet1002007-11-02T17:20:24Z<p>Jbe: /* Status */</p>
<hr />
<div>The '''[http://web.archive.org/web/20031207003521/http://www.igel.co.za/igel_316_compact.htm BCOM WinNET100]''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X. The hardware is still available nowadays via eBay for ca. 30-40 Euros.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_S0DIMM_status = OK<br />
|RAM_S0DIMM_comments = Testes with 32MiB, 64MiB and 128MiB modules<br />
<br />
|RAM_EDO_status = N/A<br />
|RAM_EDO_comments = <br />
<br />
|RAM_DDR_status = N/A<br />
|RAM_DDR_comments = <br />
<br />
|RAM_DDR2_status = N/A<br />
|RAM_DDR2_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = N/A<br />
|IDE_comments =<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 2.5" disk.<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = Tested with '''irqpoll''' kernel parameter.<br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|Onboard_CF_status = N/A<br />
|Onboard_CF_comments =<br />
<br />
|Onboard_PCMCIA_status = N/A<br />
|Onboard_PCMCIA_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = Untested <br />
|COM2_comments = Simple UART mode only (due to TTL level, used by the smartcard reader).<br />
<br />
|PP_status = Untested<br />
|PP_comments = Running '''modprobe ppdev''' works fine, but further tests were not done, yet.<br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Game_port_status = N/A<br />
|Game_port_comments =<br />
<br />
|Sensors_status = Untested<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Smartcard_status = OK<br />
|Smartcard_comments = Probably won't work in Linux as there are no public datasheets [http://www.linuxbios.org/pipermail/linuxbios/2007-October/025800.html].<br />
<br />
|CAN_bus_status = N/A<br />
|CAN_bus_comments =<br />
<br />
|Flashrom_status = OK<br />
|Flashrom_comments = Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.jpg|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
=== Overview ===<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''SST 39F020A''' or '''SST 39SF020A''' or '''MX 29F002NT''' PLCC32 256kiB flash memory to boot (in a socket)<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip (MD2202-D16), in a socket<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
* '''IMT-S001-1''' smart card chip<br />
<br />
=== Connectors ===<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: stereo line-in, stereo line-out, mic (+ mono built-in speaker)<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the smartcard reader)<br />
<br />
=== Jumpers ===<br />
<br />
* '''JDOC1''' for setting the DiskOnChip address. 1-2: C800, 2-3: D800, 3-4: DC00. Default: 2-3.<br />
* '''JLAN1''' (hardwired to 1-2, purpose unknown)<br />
* '''JP1'''/'''JP2''': XX: 1.8V / 266MHz, 0X: 2.0V / 300MHz, 00: 2.2V / 333MHz (but see also '''JRD01''')<br />
* '''JPWN1''' for switching the power on and off (simple push-button, controlled via the PC97317 Super I/O)<br />
* '''JRD01''' for setting the CPU clock speed. XXX: 266MHz, X00: 300MHz, 0X0: 333MHz. Default: X00 (but see also '''JP1'''/'''JP2''')<br />
* '''JRTC1''' for clearing CMOS. 1-2: clean, 2-3: normal. Default: 2-3.<br />
<br />
<small>(X means empty, 0 means there's a jumper on that pin)</small><br />
<br />
<small><br />
<gallery widths="100px" heights="100px" perrow="6"><br />
Image:JDOC1.jpg|<small>JDOC1</small><br />
Image:JLAN1.jpg|<small>JLAN1</small><br />
Image:JP1JP2.jpg|<small>JP1/JP2</small><br />
Image:JPWN1.jpg|<small>JPWN1</small><br />
Image:JRD01.jpg|<small>JRD01</small><br />
Image:JRTC1.jpg|<small>JRTC1</small><br />
</gallery><br />
</small><br />
<br />
=== Detailed System Information ===<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
Pull the front panel to one side, the casing to the other. Done. You now have access to all relevant parts.<br />
<br />
{|<br />
|- valign="top"<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
|- valign="top"<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
|}<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5217Board:bcom/winnet1002007-10-26T08:39:43Z<p>Jbe: Audio status changed</p>
<hr />
<div>The '''BCOM WinNET100''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X. The hardware is still available nowadays via eBay for ca. 30-40 Euros.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_status = OK<br />
|RAM_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = N/A<br />
|IDE_comments =<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 2.5" disk.<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = Tested with '''irqpoll''' kernel parameter.<br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Tested with a special realtime SMI polling (no regular IRQs from the audio hardware) and Kahlua ALSA driver<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = Untested <br />
|COM2_comments = Simple UART mode only (due to TTL level, used by the smartcard reader).<br />
<br />
|PP_status = Untested<br />
|PP_comments = Running '''modprobe ppdev''' works fine, but further tests were not done, yet.<br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = Untested<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Smartcard_status = OK<br />
|Smartcard_comments = Probably won't work in Linux as there are no public datasheets [http://www.linuxbios.org/pipermail/linuxbios/2007-October/025800.html].<br />
<br />
<br />
|Flashrom_status = OK<br />
|Flashrom_comments = Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.jpg|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
=== Overview ===<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''SST 39F020A''' or '''SST 39SF020A''' or '''MX 29F002NT''' PLCC32 256kiB flash memory to boot (in a socket)<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip (MD2202-D16), in a socket<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
* '''IMT-S001-1''' smart card chip<br />
<br />
=== Connectors ===<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: stereo line-in, stereo line-out, mic (+ mono built-in speaker)<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the smartcard reader)<br />
<br />
=== Jumpers ===<br />
<br />
* '''JDOC1''' for setting the DiskOnChip address. 1-2: C800, 2-3: D800, 3-4: DC00. Default: 2-3.<br />
* '''JLAN1''' (hardwired to 1-2, purpose unknown)<br />
* '''JP1'''/'''JP2''': XX: 1.8V / 266MHz, 0X: 2.0V / 300MHz, 00: 2.2V / 333MHz (but see also '''JRD01''')<br />
* '''JPWN1''' for switching the power on and off (simple push-button, controlled via the PC97317 Super I/O)<br />
* '''JRD01''' for setting the CPU clock speed. XXX: 266MHz, X00: 300MHz, 0X0: 333MHz. Default: X00 (but see also '''JP1'''/'''JP2''')<br />
* '''JRTC1''' for clearing CMOS. 1-2: clean, 2-3: normal. Default: 2-3.<br />
<br />
<small>(X means empty, 0 means there's a jumper on that pin)</small><br />
<br />
<small><br />
<gallery widths="100px" heights="100px" perrow="6"><br />
Image:JDOC1.jpg|<small>JDOC1</small><br />
Image:JLAN1.jpg|<small>JLAN1</small><br />
Image:JP1JP2.jpg|<small>JP1/JP2</small><br />
Image:JPWN1.jpg|<small>JPWN1</small><br />
Image:JRD01.jpg|<small>JRD01</small><br />
Image:JRTC1.jpg|<small>JRTC1</small><br />
</gallery><br />
</small><br />
<br />
=== Detailed System Information ===<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
Pull the front panel to one side, the casing to the other. Done. You now have access to all relevant parts.<br />
<br />
{|<br />
|- valign="top"<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
|- valign="top"<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
|}<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=File:Axus_schaubild.png&diff=5191File:Axus schaubild.png2007-10-24T07:09:16Z<p>Jbe: </p>
<hr />
<div>AXUS TC320 Block Diagram<br />
Author: Juergen Beisert<br />
License: {{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=File:Axus-tc320.jpg&diff=5190File:Axus-tc320.jpg2007-10-24T07:08:26Z<p>Jbe: </p>
<hr />
<div>The AXUS TC320 terminal<br />
Author: Juergen Beisert<br />
License: {{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=File:Winnet_open_case.jpg&diff=5189File:Winnet open case.jpg2007-10-24T07:07:44Z<p>Jbe: </p>
<hr />
<div>The opened case and the location of DOC, flash and SDRAM<br />
Author: Juergen Beisert<br />
License: {{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=File:Winnet_open_the_case.jpg&diff=5188File:Winnet open the case.jpg2007-10-24T07:07:16Z<p>Jbe: </p>
<hr />
<div>How to open the IGEL-316<br />
Author: Juergen Beisert<br />
License: {{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=File:Schaubild.png&diff=5187File:Schaubild.png2007-10-24T07:06:44Z<p>Jbe: </p>
<hr />
<div>Block diagram of the winnet100 mainboard<br />
Author: Juergen Beisert<br />
License: {{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=File:Igel_winnet100_2.jpg&diff=5186File:Igel winnet100 2.jpg2007-10-24T07:06:02Z<p>Jbe: </p>
<hr />
<div>The reverse of the IGEL-316<br />
Author: Juergen Beisert<br />
License: {{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=File:Igel_winnet100_3.jpg&diff=5175File:Igel winnet100 3.jpg2007-10-21T11:33:57Z<p>Jbe: uploaded a new version of "Image:Igel winnet100 3.jpg": Picture shows Igel316's mainboard: A BCOM Winnet100.
Author: Juergen Beisert
License: {{Cc-by-2.5}}</p>
<hr />
<div>The mainboard</div>Jbehttps://www.coreboot.org/index.php?title=File:Igel_winnet100_2.jpg&diff=5174File:Igel winnet100 2.jpg2007-10-21T11:30:05Z<p>Jbe: uploaded a new version of "Image:Igel winnet100 2.jpg": Picture shows Igel316's reverse with external connectors (USB is at the front).
Author: Juergen Beisert
License: {{Cc-by-2.5}}</p>
<hr />
<div>The reverse of the IGEL-316</div>Jbehttps://www.coreboot.org/index.php?title=File:Igel_winnet100_2.jpg&diff=5173File:Igel winnet100 2.jpg2007-10-21T11:26:04Z<p>Jbe: uploaded a new version of "Image:Igel winnet100 2.jpg": Picture shows Igel316's reverse with external connectors (USB is at the front).
Author: Juergen Beisert
License: {{Cc-by-2.5}}</p>
<hr />
<div>The reverse of the IGEL-316</div>Jbehttps://www.coreboot.org/index.php?title=File:Igel_winnet100_2.jpg&diff=5172File:Igel winnet100 2.jpg2007-10-21T11:23:14Z<p>Jbe: uploaded a new version of "Image:Igel winnet100 2.jpg": Picture shows Igel316's reverse with external connectors (USB is at the front).
Author: Juergen Beisert
{{Cc-by-2.5}}</p>
<hr />
<div>The reverse of the IGEL-316</div>Jbehttps://www.coreboot.org/index.php?title=File:Igel_winnet100_1.jpg&diff=5171File:Igel winnet100 1.jpg2007-10-21T11:18:28Z<p>Jbe: Picture shows one of my Igel316 terminals.
Author: Juergen Beisert
License: {{Cc-by-2.5}}</p>
<hr />
<div>Picture shows one of my Igel316 terminals.<br />
Author: Juergen Beisert<br />
License: {{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5170Board:bcom/winnet1002007-10-21T11:14:10Z<p>Jbe: Igel's picture as JPEG added (larger picture, less file size)</p>
<hr />
<div>The '''BCOM WinNET100''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X. The hardware is still available nowadays via eBay for ca. 30-40 Euros.<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_status = OK<br />
|RAM_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = N/A<br />
|IDE_comments =<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 2.5" disk.<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = Tested with '''irqpoll''' kernel parameter.<br />
<br />
|Onboard_audio_status = Untested<br />
|Onboard_audio_comments =<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = Untested <br />
|COM2_comments = Simple UART mode only (due to TTL level, used by the smartcard reader).<br />
<br />
|PP_status = Untested<br />
|PP_comments = Running '''modprobe ppdev''' works fine, but further tests were not done, yet.<br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = Untested<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Smartcard_status = OK<br />
|Smartcard_comments = Probably won't work in Linux as there are no public datasheets [http://www.linuxbios.org/pipermail/linuxbios/2007-October/025800.html].<br />
<br />
<br />
|Flashrom_status = OK<br />
|Flashrom_comments = Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.jpg|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
=== Overview ===<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''SST 39F020A''' or '''SST 39SF020A''' or '''MX 29F002NT''' PLCC32 256kiB flash memory to boot (in a socket)<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip (MD2202-D16), in a socket<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
* '''IMT-S001-1''' smart card chip<br />
<br />
=== Connectors ===<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: stereo line-in, stereo line-out, mic (+ mono built-in speaker)<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the smartcard reader)<br />
<br />
=== Jumpers ===<br />
<br />
* '''JDOC1''' for setting the DiskOnChip address. 1-2: C800, 2-3: D800, 3-4: DC00. Default: 2-3.<br />
* '''JLAN1''' (hardwired to 1-2, purpose unknown)<br />
* '''JP1'''/'''JP2''': XX: 1.8V / 266MHz, 0X: 2.0V / 300MHz, 00: 2.2V / 333MHz (but see also '''JRD01''')<br />
* '''JPWN1''' for switching the power on and off (simple push-button, controlled via the PC97317 Super I/O)<br />
* '''JRD01''' for setting the CPU clock speed. XXX: 266MHz, X00: 300MHz, 0X0: 333MHz. Default: X00 (but see also '''JP1'''/'''JP2''')<br />
* '''JRTC1''' for clearing CMOS. 1-2: clean, 2-3: normal. Default: 2-3.<br />
<br />
<small>(X means empty, 0 means there's a jumper on that pin)</small><br />
<br />
<small><br />
<gallery widths="100px" heights="100px" perrow="6"><br />
Image:JDOC1.jpg|<small>JDOC1</small><br />
Image:JLAN1.jpg|<small>JLAN1</small><br />
Image:JP1JP2.jpg|<small>JP1/JP2</small><br />
Image:JPWN1.jpg|<small>JPWN1</small><br />
Image:JRD01.jpg|<small>JRD01</small><br />
Image:JRTC1.jpg|<small>JRTC1</small><br />
</gallery><br />
</small><br />
<br />
=== Detailed System Information ===<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
Pull the front panel to one side, the casing to the other. Done. You now have access to all relevant parts.<br />
<br />
{|<br />
|- valign="top"<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
|- valign="top"<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
|}<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5144Board:axus/tc3202007-10-17T06:44:58Z<p>Jbe: Status added</p>
<hr />
<div>AXUS-TC320 Winterminal<br />
<br />
'''Note: Preliminary only (its currently not part of the repository).'''<br />
<br />
== Status ==<br />
<br />
{{Status|<br />
<br />
|CPU_status = OK<br />
|CPU_comments = <br />
<br />
|RAM_status = OK<br />
|RAM_comments = <br />
<br />
|RAM_dualchannel_status = N/A<br />
|RAM_dualchannel_comments = <br />
<br />
|RAM_ecc_status = N/A<br />
|RAM_ecc_comments = <br />
<br />
|IDE_status = N/A<br />
|IDE_comments =<br />
<br />
|IDE_25_status = OK<br />
|IDE_25_comments = Tested with 5.25" disk.<br />
<br />
|IDE_CF_status = Untested<br />
|IDE_CF_comments =<br />
<br />
|DiskOnChip_status = Untested<br />
|DiskOnChip_comments = <br />
<br />
|SATA_status = N/A<br />
|SATA_comments =<br />
<br />
|USB_status = OK<br />
|USB_comments = <br />
<br />
|Onboard_VGA_status = OK<br />
|Onboard_VGA_comments = VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
<br />
|Onboard_ethernet_status = OK<br />
|Onboard_ethernet_comments = <br />
<br />
|Onboard_audio_status = OK<br />
|Onboard_audio_comments = Works with a special SMI polling driver, but not perfectly<br />
<br />
|Onboard_firewire_status = N/A<br />
|Onboard_firewire_comments =<br />
<br />
|ISA_cards_status = N/A<br />
|ISA_cards_comments = <br />
<br />
|PCI_cards_status = N/A<br />
|PCI_cards_comments = <br />
<br />
|AGP_cards_status = N/A<br />
|AGP_cards_comments = <br />
<br />
|PCIE_cards_status = N/A<br />
|PCIE_cards_comments =<br />
<br />
|PCIE_x1_status = N/A<br />
|PCIE_x1_comments =<br />
<br />
|PCIE_x2_status = N/A<br />
|PCIE_x2_comments =<br />
<br />
|PCIE_x4_status = N/A<br />
|PCIE_x4_comments =<br />
<br />
|PCIE_x8_status = N/A<br />
|PCIE_x8_comments =<br />
<br />
|PCIE_x16_status = N/A<br />
|PCIE_x16_comments =<br />
<br />
|PCIE_x32_status = N/A<br />
|PCIE_x32_comments =<br />
<br />
|HTX_status = N/A<br />
|HTX_comments =<br />
<br />
|Floppy_status = N/A<br />
|Floppy_comments = No connector provided.<br />
<br />
|COM1_status = OK<br />
|COM1_comments = <br />
<br />
|COM2_status = OK<br />
|COM2_comments = <br />
<br />
|PP_status = Untested<br />
|PP_comments = <br />
<br />
|PS2_keyboard_status = OK<br />
|PS2_keyboard_comments =<br />
<br />
|PS2_mouse_status = OK<br />
|PS2_mouse_comments =<br />
<br />
|Sensors_status = Untested<br />
|Sensors_comments = This CPU does not need a fan.<br />
<br />
|CPUfreq_status = OK<br />
|CPUfreq_comments = Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
<br />
|Flashrom_status = Untested<br />
|Flashrom_comments = <br />
<br />
}}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5080Board:bcom/winnet1002007-10-14T15:27:06Z<p>Jbe: How to control the power</p>
<hr />
<div>The '''BCOM WinNET100''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X. The hardware is still available nowadays via eBay for ca. 30-40 Euros.<br />
<br />
== Status ==<br />
<br />
{| border="0" style="font-size: smaller" valign="top"<br />
|- bgcolor="#6699dd"<br />
! align="left" | Device/functionality<br />
! align="left" | Status<br />
! align="left" | Comments<br />
<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| RAM<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE<br />
| style="background:lime" | Works<br />
| Tested with 2.5" disk.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE using CF-to-IDE adapter<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| DiskOnChip<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| SATA<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| USB<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board ethernet<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board audio<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board VGA<br />
| style="background:lime" | Works<br />
| VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI Express add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Floppy<br />
| style="background:lightgray" | N/A<br />
| No connector provided.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM1)<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM2)<br />
| style="background:yellow" | Untested<br />
| Simple UART mode only (due to TTL level, used by the SmartCard Reader).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Parallel port<br />
| style="background:yellow" | Untested<br />
| Running 'modprobe ppdev' works fine, but further tests were not done, yet.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 keyboard<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 mouse<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Smartcard reader<br />
| style="background:yellow" | Untested<br />
| Probably won't work in Linux as there are no public datasheets [http://www.linuxbios.org/pipermail/linuxbios/2007-October/025800.html].<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Mainboard sensors/fans<br />
| style="background:lightgray" | N/A<br />
| This CPU does not need a fan.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU frequency scaling / powersave modes<br />
| style="background:lime" | Works<br />
| Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| [[Flashrom]]<br />
| style="background:lime" | Works<br />
| Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
=== Overview ===<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''SST 39F020A''' or '''SST 39SF020A''' or '''MX 29F002NT''' PLCC32 256kiB flash memory to boot (in a socket)<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip (MD2202-D16), in a socket<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
* '''IMT-S001-1''' smart card chip<br />
<br />
=== Connectors ===<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: stereo line-in, stereo line-out, mic (+ mono built-in speaker)<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the smartcard reader)<br />
<br />
=== Jumpers ===<br />
<br />
* '''JDOC1''' for setting the DiskOnChip address. 1-2: C800, 2-3: D800, 3-4: DC00. Default: 2-3.<br />
* '''JLAN1''' (hardwired to 1-2, purpose unknown)<br />
* '''JP1'''/'''JP2''': XX: 1.8V / 266MHz, 0X: 2.0V / 300MHz, 00: 2.2V / 333MHz (but see also '''JRD01''')<br />
* '''JPWN1''' for switching the power on and off (simple push-button, controlled via the PC97317 Super I/O)<br />
* '''JRD01''' for setting the CPU clock speed. XXX: 266MHz, X00: 300MHz, 0X0: 333MHz. Default: X00 (but see also '''JP1'''/'''JP2''')<br />
* '''JRTC1''' for clearing CMOS. 1-2: clean, 2-3: normal. Default: 2-3.<br />
<br />
<small>(X means empty, 0 means there's a jumper on that pin)</small><br />
<br />
<small><br />
<gallery widths="100px" heights="100px" perrow="6"><br />
Image:JDOC1.jpg|<small>JDOC1</small><br />
Image:JLAN1.jpg|<small>JLAN1</small><br />
Image:JP1JP2.jpg|<small>JP1/JP2</small><br />
Image:JPWN1.jpg|<small>JPWN1</small><br />
Image:JRD01.jpg|<small>JRD01</small><br />
Image:JRTC1.jpg|<small>JRTC1</small><br />
</gallery><br />
</small><br />
<br />
=== Detailed System Information ===<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tvnn'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master [1078:0001]<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua] [1078:0100]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua] [1078:0101]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua] [1078:0102]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua] [1078:0103]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua] [1078:0104]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB [0e11:a0f8]<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
Pull the front panel to one side, the casing to the other. Done. You now have access to all relevant parts.<br />
<br />
{|<br />
|- valign="top"<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
|- valign="top"<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
|}<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5055Board:bcom/winnet1002007-10-11T17:10:43Z<p>Jbe: typo fixed</p>
<hr />
<div>The '''BCOM WinNET100''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X.<br />
<br />
== Status ==<br />
<br />
{| border="0" style="font-size: smaller" valign="top"<br />
|- bgcolor="#6699dd"<br />
! align="left" | Device/functionality<br />
! align="left" | Status<br />
! align="left" | Comments<br />
<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| RAM<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE<br />
| style="background:lime" | Works<br />
| Tested with 2.5" disk.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE using CF-to-IDE adapter<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| SATA<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| USB<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board ethernet<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board audio<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board VGA<br />
| style="background:lime" | Works<br />
| VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI Express add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Floppy<br />
| style="background:lightgray" | N/A<br />
| No connector provided.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM1)<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM2)<br />
| style="background:yellow" | Untested<br />
| Simple UART mode only (due to TTL level, used by the SmartCard Reader).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Parallel port<br />
| style="background:yellow" | Untested<br />
| Running 'modprobe ppdev' works fine, but further tests were not done, yet.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 keyboard<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 mouse<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Smartcard reader<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Mainboard sensors/fans<br />
| style="background:lightgray" | N/A<br />
| This CPU does not need a fan.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU frequency scaling / powersave modes<br />
| style="background:lime" | Works<br />
| Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| [[Flashrom]]<br />
| style="background:lime" | Works<br />
| Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''39F020A''' PLCC32 256kiB flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
<br />
== Connectors ==<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the card reader)<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run a 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
<br />
Pull the front panel to one side, the casing to the other. Ready. You now have access to all relevant parts.<br />
<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5054Board:bcom/winnet1002007-10-11T09:06:05Z<p>Jbe: LANG=C hint added</p>
<hr />
<div>The '''BCOM WinNET100''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X.<br />
<br />
== Status ==<br />
<br />
{| border="0" style="font-size: smaller" valign="top"<br />
|- bgcolor="#6699dd"<br />
! align="left" | Device/functionality<br />
! align="left" | Status<br />
! align="left" | Comments<br />
<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| RAM<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE<br />
| style="background:lime" | Works<br />
| Tested with 2.5" disk.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE using CF-to-IDE adapter<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| SATA<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| USB<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board ethernet<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board audio<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board VGA<br />
| style="background:lime" | Works<br />
| VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI Express add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Floppy<br />
| style="background:lightgray" | N/A<br />
| No connector provided.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM1)<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM2)<br />
| style="background:yellow" | Untested<br />
| Simple UART mode only (due to TTL level, used by the SmartCard Reader).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Parallel port<br />
| style="background:yellow" | Untested<br />
| Running 'modprobe ppdev' works fine, but further tests were not done, yet.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 keyboard<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 mouse<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Smartcard reader<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Mainboard sensors/fans<br />
| style="background:lightgray" | N/A<br />
| This CPU does not need a fan.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU frequency scaling / powersave modes<br />
| style="background:lime" | Works<br />
| Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| [[Flashrom]]<br />
| style="background:lime" | Works<br />
| Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''39F020A''' PLCC32 256kiB flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
<br />
== Connectors ==<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the card reader)<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ LANG=C make<br />
<br />
The '''LANG=C''' is only for those users (like me) that uses a localised system. Determining some include pathes fails in LB's build system, if the GCC answers in German...<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
<br />
Pull the front panel to one side, the casing to the other. Ready. You now have access to all relevant parts.<br />
<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5053Board:bcom/winnet1002007-10-11T07:00:25Z<p>Jbe: Use of UART2 added</p>
<hr />
<div>The '''BCOM WinNET100''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X.<br />
<br />
== Status ==<br />
<br />
{| border="0" style="font-size: smaller" valign="top"<br />
|- bgcolor="#6699dd"<br />
! align="left" | Device/functionality<br />
! align="left" | Status<br />
! align="left" | Comments<br />
<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| RAM<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE<br />
| style="background:lime" | Works<br />
| Tested with 2.5" disk.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE using CF-to-IDE adapter<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| SATA<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| USB<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board ethernet<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board audio<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board VGA<br />
| style="background:lime" | Works<br />
| VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI Express add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Floppy<br />
| style="background:lightgray" | N/A<br />
| No connector provided.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM1)<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM2)<br />
| style="background:yellow" | Untested<br />
| Simple UART mode only (due to TTL level, used by the SmartCard Reader).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Parallel port<br />
| style="background:yellow" | Untested<br />
| Running 'modprobe ppdev' works fine, but further tests were not done, yet.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 keyboard<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 mouse<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Smartcard reader<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Mainboard sensors/fans<br />
| style="background:lightgray" | N/A<br />
| This CPU does not need a fan.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU frequency scaling / powersave modes<br />
| style="background:lime" | Works<br />
| Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| [[Flashrom]]<br />
| style="background:lime" | Works<br />
| Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''39F020A''' PLCC32 256kiB flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
<br />
== Connectors ==<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the card reader)<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ make<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
<br />
Pull the front panel to one side, the casing to the other. Ready. You now have access to all relevant parts.<br />
<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5052Board:bcom/winnet1002007-10-11T06:57:08Z<p>Jbe: Adding how to build this image</p>
<hr />
<div>The '''BCOM WinNET100''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X.<br />
<br />
== Status ==<br />
<br />
{| border="0" style="font-size: smaller" valign="top"<br />
|- bgcolor="#6699dd"<br />
! align="left" | Device/functionality<br />
! align="left" | Status<br />
! align="left" | Comments<br />
<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| RAM<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE<br />
| style="background:lime" | Works<br />
| Tested with 2.5" disk.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE using CF-to-IDE adapter<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| SATA<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| USB<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board ethernet<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board audio<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board VGA<br />
| style="background:lime" | Works<br />
| VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI Express add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Floppy<br />
| style="background:lightgray" | N/A<br />
| No connector provided.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM1)<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM2)<br />
| style="background:yellow" | Untested<br />
| Simple UART mode only (due to TTL level).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Parallel port<br />
| style="background:yellow" | Untested<br />
| Running 'modprobe ppdev' works fine, but further tests were not done, yet.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 keyboard<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 mouse<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Smartcard reader<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Mainboard sensors/fans<br />
| style="background:lightgray" | N/A<br />
| This CPU does not need a fan.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU frequency scaling / powersave modes<br />
| style="background:lime" | Works<br />
| Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| [[Flashrom]]<br />
| style="background:lime" | Works<br />
| Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''39F020A''' PLCC32 256kiB flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
<br />
== Connectors ==<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the card reader)<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Building a LinuxBIOS image ==<br />
<br />
$ cd targets<br />
$ ./buildtarget bcom/winnet100<br />
$ cd bcom/winnet100/winnet100<br />
$ make<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
<br />
Pull the front panel to one side, the casing to the other. Ready. You now have access to all relevant parts.<br />
<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5051Board:bcom/winnet1002007-10-11T06:54:22Z<p>Jbe: Note about current kernel failure added</p>
<hr />
<div>The '''BCOM WinNET100''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X.<br />
<br />
== Status ==<br />
<br />
{| border="0" style="font-size: smaller" valign="top"<br />
|- bgcolor="#6699dd"<br />
! align="left" | Device/functionality<br />
! align="left" | Status<br />
! align="left" | Comments<br />
<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| RAM<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE<br />
| style="background:lime" | Works<br />
| Tested with 2.5" disk.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE using CF-to-IDE adapter<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| SATA<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| USB<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board ethernet<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board audio<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board VGA<br />
| style="background:lime" | Works<br />
| VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI Express add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Floppy<br />
| style="background:lightgray" | N/A<br />
| No connector provided.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM1)<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM2)<br />
| style="background:yellow" | Untested<br />
| Simple UART mode only (due to TTL level).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Parallel port<br />
| style="background:yellow" | Untested<br />
| Running 'modprobe ppdev' works fine, but further tests were not done, yet.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 keyboard<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 mouse<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Smartcard reader<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Mainboard sensors/fans<br />
| style="background:lightgray" | N/A<br />
| This CPU does not need a fan.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU frequency scaling / powersave modes<br />
| style="background:lime" | Works<br />
| Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| [[Flashrom]]<br />
| style="background:lime" | Works<br />
| Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''39F020A''' PLCC32 256kiB flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
<br />
== Connectors ==<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the card reader)<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
Since kernel 2.6.23 Geode chipset access macros are now working as expected. Due to this, some chipset tweaks embedded in the kernel are working now. One of these tweaks setup the performance incrementor for a 233MHz CPU. This may fail on a 300MHz CPU now (additionally it depends on the SDRAM speed). The symptom of this failure is a freezing system after running a while (after warm up). Take a look into '''arch/i386/kernel/cpu/cyrix.c''', function '''set_cx86_inc()'''. Correct the setting to:<br />
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x05);<br />
when you run 300MHz CPU.<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
<br />
Pull the front panel to one side, the casing to the other. Ready. You now have access to all relevant parts.<br />
<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5050Board:bcom/winnet1002007-10-11T06:41:13Z<p>Jbe: Internal second UART added</p>
<hr />
<div>The '''BCOM WinNET100''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X.<br />
<br />
== Status ==<br />
<br />
{| border="0" style="font-size: smaller" valign="top"<br />
|- bgcolor="#6699dd"<br />
! align="left" | Device/functionality<br />
! align="left" | Status<br />
! align="left" | Comments<br />
<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| RAM<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE<br />
| style="background:lime" | Works<br />
| Tested with 2.5" disk.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE using CF-to-IDE adapter<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| SATA<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| USB<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board ethernet<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board audio<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board VGA<br />
| style="background:lime" | Works<br />
| VGA support in LinuxBIOS works fine (e.g. for displaying a boot logo), for console/X11 you need a special kernel console and Xorg driver.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI Express add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Floppy<br />
| style="background:lightgray" | N/A<br />
| No connector provided.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM1)<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM2)<br />
| style="background:yellow" | Untested<br />
| Simple UART mode only (due to TTL level).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Parallel port<br />
| style="background:yellow" | Untested<br />
| Running 'modprobe ppdev' works fine, but further tests were not done, yet.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 keyboard<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 mouse<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Smartcard reader<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Mainboard sensors/fans<br />
| style="background:lightgray" | N/A<br />
| This CPU does not need a fan.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU frequency scaling / powersave modes<br />
| style="background:lime" | Works<br />
| Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| [[Flashrom]]<br />
| style="background:lime" | Works<br />
| Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''39F020A''' PLCC32 256kiB flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
<br />
== Connectors ==<br />
<br />
External:<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
<br />
Internal:<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
* 1x serial port (COM2), but TTL levels only (used for the card reader)<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
<br />
Pull the front panel to one side, the casing to the other. Ready. You now have access to all relevant parts.<br />
<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5047Board:bcom/winnet1002007-10-10T18:32:16Z<p>Jbe: Some test information added</p>
<hr />
<div>The '''BCOM WinNET100''' mainboard was sold by IGEL some years ago as their product '''IGEL-316'''. Their product was a Linux based terminal to work remotely with Windows and X.<br />
<br />
== Status ==<br />
<br />
{| border="0" style="font-size: smaller" valign="top"<br />
|- bgcolor="#6699dd"<br />
! align="left" | Device/functionality<br />
! align="left" | Status<br />
! align="left" | Comments<br />
<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| RAM<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| IDE using CF-to-IDE adapter<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| SATA<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| USB<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter. Tested: USB thumb drive.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board ethernet<br />
| style="background:lime" | Works<br />
| Tested with '''irqpoll''' kernel parameter.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board audio<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| On-board VGA<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PCI Express add-on cards<br />
| style="background:lightgray" | N/A<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Floppy<br />
| style="background:yellow" | N/A<br />
| No connector provided<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM1)<br />
| style="background:lime" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Serial port (COM2)<br />
| style="background:lightgray" | Untested<br />
| Simple UART mode only (due to TTL level) <br />
|- bgcolor="#eeeeee" valign="top"<br />
| Parallel port<br />
| style="background:yellow" | Untested<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 keyboard<br />
| style="background:yellow" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| PS/2 mouse<br />
| style="background:yellow" | Works<br />
| &mdash;<br />
|- bgcolor="#eeeeee" valign="top"<br />
| Mainboard sensors/fans<br />
| style="background:yellow" | N/A<br />
| This CPU do not need a fan<br />
|- bgcolor="#eeeeee" valign="top"<br />
| CPU frequency scaling / powersave modes<br />
| style="background:lightgray" | Work<br />
| Frequency Scaling on this CPU is useless. Stop clock on HLT saves more power (enabled by Linux as default).<br />
|- bgcolor="#eeeeee" valign="top"<br />
| [[Flashrom]]<br />
| style="background:lime" | Works<br />
| Works fine, both with LinuxBIOS and with the proprietary BIOS.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| VGA at boot-time<br />
| style="background:lime" | Works<br />
| LinuxBIOS logo is displayed just fine.<br />
|- bgcolor="#eeeeee" valign="top"<br />
| X11<br />
| style="background:yellow" | Work<br />
| Needs special kernel console and Xorg driver.<br />
|}<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super I/O<br />
* '''RTL8139C''' Realtec network controller<br />
* '''39F020A''' PLCC32 256kiB flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analogue<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the CS5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS based Geode systems, as they were shipped with broken PIRQ tables [http://lkml.org/lkml/2006/11/24/47]).<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successful to boot anything other than the software in the DoC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successful to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions up to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
<br />
Pull the front panel to one side, the casing to the other. Ready. You now have access to all relevant parts.<br />
<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
<br />
To disassemble the PLCC32 boot flash ROM you need something with a hook. I'm using my SMD tweezer. Did I mention that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz Board Support Package (BSP)]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz Build System]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz Patch package]<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz Generic projects package]<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2 Toolchain package]<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system,<br />
* get a cross toolchain for the Geode GX1,<br />
* configure the BSP and build it,<br />
* bring this target up and running with LinusBIOS and GNU/Linux.<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on it's part of mainline.<br />
<br />
{{Cc-by-2.5}}</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=5030Board:axus/tc3202007-10-09T06:47:41Z<p>Jbe: Note added, one patch is not needed anymore</p>
<hr />
<div>{{Cc-by-2.5}}<br />
<br />
AXUS-TC320 Winterminal<br />
<br />
'''Note: Preliminary only (its currently not part of the repository).'''<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5029Board:bcom/winnet1002007-10-09T06:46:39Z<p>Jbe: Note added, one patch is not needed anymore</p>
<hr />
<div>{{Cc-by-2.5}}<br />
<br />
BCOM WINNET100 Build Tutorial<br />
<br />
'''Note: Preliminary only (its currently not part of the repository).'''<br />
<br />
This mainboard was sold by IGEL some years ago as their product IGEL-316. Their<br />
product was a Linux based terminal to work remotely with Windows and X.<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''39F020A''' PLCC32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x Parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the cs5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS<br />
based Geode system, as they where shipped with broken PIRQ tables).<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successfull to boot anything other than the software in the DOC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successfull to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions upt to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
<br />
Pull the front panel to one side, the casing to the other. Ready. You now have access to all relevant parts.<br />
<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
<br />
To disassemble the PLCC32 boot flash rom you need something with a hook. I'm using my SMD tweezer. Did I mentioned that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz] Board Support Package (BSP)<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz] Build System<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz] Patch package<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz] Generic projects package<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2] Toolchain package<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system<br />
* get a cross toolchain for the Geode GX1<br />
* to configure the BSP and build it<br />
* to bring this target up and running with LinusBIOS and Linux/GNU<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes the LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own Kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed. This patch is required only for kernels up to 2.6.22. From Linux 2.6.23 on its part of mainline.</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=5013Board:bcom/winnet1002007-10-05T20:29:02Z<p>Jbe: Update to new kernel and adding information about a board support package</p>
<hr />
<div>{{Cc-by-2.5}}<br />
<br />
BCOM WINNET100 Build Tutorial<br />
<br />
'''Note: Preliminary only (its currently not part of the repository).'''<br />
<br />
This mainboard was sold by IGEL some years ago as their product IGEL-316. Their<br />
product was a Linux based terminal to work remotely with Windows and X.<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''39F020A''' PLCC32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x Parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.22/23 kernel does not know the cs5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS<br />
based Geode system, as they where shipped with broken PIRQ tables).<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successfull to boot anything other than the software in the DOC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successfull to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions upt to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
<br />
Pull the front panel to one side, the casing to the other. Ready. You now have access to all relevant parts.<br />
<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
<br />
To disassemble the PLCC32 boot flash rom you need something with a hook. I'm using my SMD tweezer. Did I mentioned that you will need something to burn your flash?<br />
<br />
== How to build a root filesystem ==<br />
<br />
This question is easy to answer. Download the following archives:<br />
<br />
* [http://www.pengutronix.de/software/geode/OSELAS.BSP-JB-GeoTerm-2.tgz] Board Support Package (BSP)<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0.tgz] Build System<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-patches.tgz] Patch package<br />
* [http://www.pengutronix.de/software/ptxdist/download/v1.0/ptxdist-1.0.0-projects.tgz] Generic projects package<br />
* [http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.1.0.tar.bz2] Toolchain package<br />
<br />
Start with the BSP, extract it and read the quickstart in Documentation/GeoTerm-Quickstart.pdf. It will guide you through the steps that are required to:<br />
<br />
* get a generic project build system<br />
* get a cross toolchain for the Geode GX1<br />
* to configure the BSP and build it<br />
* to bring this target up and running with LinusBIOS and Linux/GNU<br />
<br />
The BSP builds all parts to run this Geode GX1 system. This includes the LinuxBIOS and the kernel and also userland with X to run as a terminal (not as host!). <br />
<br />
Note: This BSP includes all required patches for the kernel. You won't need the patches below.<br />
<br />
== Required patches ==<br />
<br />
When you build your own Kernel for this target you might need the following patches:<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed.</div>Jbehttps://www.coreboot.org/index.php?title=Board:axus/tc320&diff=4729Board:axus/tc3202007-07-02T06:33:27Z<p>Jbe: Copyright added</p>
<hr />
<div>{{Cc-by-2.5}}<br />
<br />
AXUS-TC320 Winterminal<br />
<br />
'''Note: Preliminary only (its currently not part of the repository).'''<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:axus-tc320.jpg|thumb|The AXUS TC320 Winterminal.]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''Pm29F002T''' DIL32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 64MiB SDRAM with 133MHz/CL2 capability as DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard<br />
* 1x PS/2 mouse<br />
* 2x serial port (ttyS0/ttyS1)<br />
* 1x Parallel port<br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:axus_schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.1<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008300-400083ff : display_control<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0e.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
'''/proc/ioports'''<br />
<br />
0000-001f : dma1<br />
0020-0021 : pic1<br />
0040-0043 : timer0<br />
0050-0053 : timer1<br />
0060-006f : keyboard<br />
0070-0077 : rtc<br />
0080-008f : dma page reg<br />
00a0-00a1 : pic2<br />
00c0-00df : dma2<br />
00f0-00ff : fpu<br />
0170-0177 : 0000:00:12.2<br />
01f0-01f7 : 0000:00:12.2<br />
01f0-01f7 : ide0<br />
02f8-02ff : serial<br />
0376-0376 : 0000:00:12.2<br />
03f6-03f6 : 0000:00:12.2<br />
03f6-03f6 : ide0<br />
03f8-03ff : serial<br />
0cf8-0cff : PCI conf1<br />
1000-10ff : 0000:00:0e.0<br />
1000-10ff : 8139too<br />
1400-147f : 0000:00:12.2<br />
1400-1407 : ide0<br />
1408-140f : ide1<br />
<br />
'''/proc/interrupts'''<br />
<br />
CPU0<br />
0: 86290487 XT-PIC-XT timer<br />
2: 0 XT-PIC-XT cascade<br />
4: 17272 XT-PIC-XT serial<br />
8: 0 XT-PIC-XT rtc<br />
11: 0 XT-PIC-XT ohci_hcd:usb1<br />
14: 410947 XT-PIC-XT ide0<br />
15: 5952261 XT-PIC-XT eth0<br />
NMI: 0<br />
ERR: 0<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed.</div>Jbehttps://www.coreboot.org/index.php?title=Board:bcom/winnet100&diff=4728Board:bcom/winnet1002007-07-02T06:32:47Z<p>Jbe: Copyright added</p>
<hr />
<div>{{Cc-by-2.5}}<br />
<br />
BCOM WINNET100 Build Tutorial<br />
<br />
'''Note: Preliminary only (its currently not part of the repository).'''<br />
<br />
This mainboard was sold by IGEL some years ago as their product IGEL-316. Their<br />
product was a Linux based terminal to work remotely with Windows and X.<br />
<br />
== Hardware ==<br />
<br />
{| style="float: right; background: transparent; padding: 0px; margin: 0px;"<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_1.png|thumb|The IGEL-316 (WinNET 100) thin client.]]<br />
| [[Image:Igel_winnet100_2.jpg|thumb|The backpanel.]]<br />
|- valign="top"<br />
| [[Image:Igel_winnet100_3.jpg|thumb|The mainboard]]<br />
|}<br />
<br />
* '''GX1-300B-85-20''' Cyrix/National/AMD Main CPU with 300MHz core clock<br />
* '''CS5530A-UCE''' part of the chipset, Cyrix/National/AMD companion device<br />
* '''PC97317''' Super IO<br />
* '''RTL8139C''' Realtec network controller<br />
* '''39F020A''' PLCC32 256kiB Flash memory to boot<br />
* '''LM4546''' National, AC97 AD/DA<br />
* '''DOC2000''' DIL32 16MiB DiskOnChip<br />
* '''SDRAM''' 32MiB SDRAM with 133MHz/CL2 capability as SO-DIMM<br />
<br />
== Connectors (internal and external) ==<br />
<br />
* 1x PS/2 keyboard <br />
* 1x PS/2 mouse<br />
* 1x serial port (COM1) <br />
* 1x Parallel port <br />
* 2x USB (OHCI)<br />
* 1x DSUB15 VGA analouge<br />
* 1x RJ45<br />
* Audio: Line-in, line-out, Mic<br />
* 1x 44pin 2mm 2.5" harddisk connector<br />
<br />
== Detailed System Information ==<br />
<br />
'''Block diagram'''<br />
<br />
[[Image:schaubild.png]]<br />
<br />
The following information was gathered on a running Linux 2.6.21 system, booted via LinuxBIOS:<br />
<br />
'''lspci -tv'''<br />
<br />
-[0000:00]-+-00.0 Cyrix Corporation PCI Master<br />
+-0f.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />
+-12.0 Cyrix Corporation 5530 Legacy [Kahlua]<br />
+-12.1 Cyrix Corporation 5530 SMI [Kahlua]<br />
+-12.2 Cyrix Corporation 5530 IDE [Kahlua]<br />
+-12.3 Cyrix Corporation 5530 Audio [Kahlua]<br />
+-12.4 Cyrix Corporation 5530 Video [Kahlua]<br />
\-13.0 Compaq Computer Corporation ZFMicro Chipset USB<br />
<br />
'''/proc/cpuinfo'''<br />
<br />
processor : 0<br />
vendor_id : Geode by NSC<br />
cpu family : 5<br />
model : 9<br />
model name : Geode(TM) Integrated Processor by National Semi<br />
stepping : 2<br />
cpu MHz : 300.691<br />
cache size : 16 KB<br />
fdiv_bug : no<br />
hlt_bug : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu : yes<br />
fpu_exception : yes<br />
cpuid level : 2<br />
wp : yes<br />
flags : fpu tsc msr cx8 cmov mmx cxmmx<br />
bogomips : 602.14<br />
clflush size : 32<br />
<br />
'''/proc/iomem'''<br />
<br />
00000000-000006d3 : reserved<br />
000006d4-0009ffff : System RAM<br />
000a0000-000bffff : Video RAM area<br />
000f0000-000fffff : System ROM<br />
00100000-01bfffff : System RAM<br />
00100000-00253ad9 : Kernel code<br />
00253ada-002a5f2b : Kernel data<br />
40000000-40000fff : scratch_pad_ram<br />
40000000-40000fff : Geode GX1 Framebuffer<br />
40008000-400080ff : bus_interface<br />
40008000-400080ff : Geode GX1 Bus Interface<br />
40008100-400082ff : video_pipeline<br />
40008100-400082ff : Geode GX1 Framebuffer<br />
40008300-400083ff : display_control<br />
40008300-400083ff : Geode GX1 Framebuffer<br />
40008400-400084ff : memory_control<br />
40008400-400084ff : Geode GX1 Memory Control<br />
40008500-40008fff : power_control.0<br />
40400000-407fffff : smm_area.0<br />
40800000-487fffff : video_memory<br />
40800000-487fffff : Geode GX1 Framebuffer<br />
febfb000-febfbfff : 0000:00:12.4<br />
febfb000-febfbfff : Geode GX1 Framebuffer<br />
febfc000-febfcfff : 0000:00:13.0<br />
febfc000-febfcfff : ohci_hcd<br />
febfd000-febfd0ff : 0000:00:0f.0<br />
febfd000-febfd0ff : 8139too<br />
febfe000-febfe0ff : 0000:00:12.1<br />
febfe000-febfe0ff : CS5530a (Kahlua) SMI handler<br />
febff000-febff07f : 0000:00:12.3<br />
fffc0000-ffffffff : flash_memory.0<br />
<br />
== Using the hardware with a current kernel ==<br />
<br />
The current 2.6.21 kernel does not know the cs5530 interrupt router. So it is impossible to let the kernel itself setup PCI's interrupt routing. Even if you provide the kernel with a valid interrupt routing table (PIRQ). No interrupts will work as the interrupt routing registers are still left at their reset values.<br />
The small patch below solves this issue (it was rejected in mainline as it breaks various standard BIOS<br />
based Geode system, as they where shipped with broken PIRQ tables).<br />
<br />
== How to bring LinuxBIOS in ==<br />
<br />
I was not successfull to boot anything other than the software in the DOC to get some information about this board. It seems a very special BIOS as it only outputs "booting os" and nothing else. Then the splash screen comes up and the graphical environment starts.<br />
One or two times I was successfull to run an update of this firmware. Because the update process fails (the server it tries to connect to doesn't answer anymore), the console comes up. That's why I know they run a 2.4 kernel with an XFree86 3.x. Their software needs about one and a half minute to boot up and supports graphical resolutions upt to XGA@64k colours and SXGA@256 colours.<br />
<br />
With my own implementation (LinuxBIOSv2, Linux 2.6.2x kernel, Xorg 7.2) I boot this machine in about 10 seconds, then the xdm dialogue occures (its a terminal, not a workstation) and supports also SXGA@64k colours.<br />
<br />
As is it hard to get a console on this system with the original software, I found no way to reprogram the boot flash in a running system. But it is very easy to disassemble the flash memory. Only 3 screws to unscrew at the reverse.<br />
<br />
[[Image:winnet_open_the_case.jpg|How to open the case]]<br />
<br />
Pull the front panel to one side, the casing to the other. Ready. You now have access to all relevant parts.<br />
<br />
[[Image:winnet_open_case.jpg|Access to all relevant parts]]<br />
<br />
To disassemble the PLCC32 boot flash rom you need something with a hook. I'm using my SMD tweezer. Did I mentioned that you will need something to burn your flash?<br />
<br />
== Required patches ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/setup_correct_chipset_access_functions.patch patch] is needed as someone has overoptimised chipset tweaks so the used access macros failed.</div>Jbehttps://www.coreboot.org/index.php?title=Creating_Valid_IRQ_Tables&diff=4727Creating Valid IRQ Tables2007-07-02T06:31:59Z<p>Jbe: Copyright added</p>
<hr />
<div>{{Cc-by-2.5}}<br />
<br />
'''Generating a valid interrupt routing table'''<br />
<br />
This article should help people who can't read back a valid interrupt routing table from their system.<br />
<br />
== What you will need ==<br />
<br />
* current Linux kernel source (this is for 2.6.21)<br />
* LinuxBIOS for your mainboard with highest debug level output<br />
* (cross) toolchain to build the kernel and LinuxBIOS<br />
* a fast method to boot and reboot your mainboard (for example etherboot and NFS root filesystem)<br />
* some data about your chipset and how it routes exernal interrupts<br />
* and very important: Ensure the kernel knows your interrupt router<br />
<br />
'''For documentation only: Here is the generic routing for up to four slots'''<br />
<br />
[[Image:routing_full.png]]<br />
<br />
== Patching the development kernel ==<br />
<br />
We start with a faked pirq table for LinuxBIOS to make its build system happy. It really doesn't matter what's in it, due to we will provide Linux itself with its own table.<br />
<br />
* copy [http://www.pengutronix.de/software/ptxdist/temporary-src/references/my_irq_table.c this file] as '''my_pirq_table.c''' into kernel's '''arch/i386/pci/'''<br />
* open '''arch/i386/pci/irq.c''' with your favorite editor and search for the functions '''pirq_find_routing_table()''' and '''pirq_check_routing_table()'''.<br />
* Remove them with the well known '''#if 0 / #endif''' directives.<br />
* add a '''#include "my_pirq_table.c"''' to the code (''after'' the #defines for PIRQ_SIGNATURE/PIRQ_VERSION)<br />
* modify '''arch/i386/pci/pci.h''' and define the '''DEBUG''' macro. Linux will output helpful info, when this macro is enabled.<br />
* modify '''my_pirq_table.c''' for your requirements. Search for ''TODO'' in the source where to change something<br />
** define slot/device count<br />
** define the interrupt router<br />
** select some IRQ channels you like to use for the PCI devices<br />
** select only one IRQ channel per INT?# in (it makes this job easier)<br />
<br />
== Here's what I did ==<br />
<br />
I have two PCI devices connected to my Geode GX1 based board (CS5530 chipset):<br />
* The internal USB OHCI<br />
* and an external Realtek 8139 network chip.<br />
<br />
There is no additional slot, it is a very small Win-Terminal.<br />
<br />
I assumed the Realtek outputs its interrupt on its INTA# pin (the starting kernel will state this if the '''DEBUG''' macro in '''pci.h''' is defined, so read the ''dmesg'' output if you're unsure). The same I assumed for the USB device. Also I assumed RealTek's INTA# output is connected to chipset's<br />
INTA# input, and USB's INTA# output is connected to chipset's INTB# input.<br />
<br />
To find a start, I tried to use IRQ15 and IRQ11 for these devices. I wanted the network device connected to IRQ15 (green line) and the USB device connected to IRQ11 (red line). The PCI chip info the table needs I got from LinuxBIOS, when it scans the PCI bus. So activate a higher level of debug output in LinuxBIOS to collect all information you need here. Ignore the black lines in the picture. They may or may not exist.<br />
<br />
[[Image:first_attempt.png]]<br />
<br />
So [http://www.pengutronix.de/software/ptxdist/temporary-src/references/pci_irq_fake_1.c my first routing table] in "my_pirq_table.c" looked like this:<br />
<br />
00:0f slot=00 0:01/8000 1:02/0800 2:03/0000 3:04/0000<br />
00:13 slot=00 0:02/0800 1:03/0000 2:04/0000 3:01/8000<br />
<br />
== Building this kernel and preparing it for boot ==<br />
<br />
$ mkelfImage "--command-line=console=ttyS0,115200 ip=dhcp rw root=/dev/nfs irqpoll"<br />
--type=bzImage-i386 --kernel=arch/i386/boot/bzImage --output=/tftpboot/igel-kernel<br />
<br />
The important kernel parameter is '''irqpoll'''. This lets the network card do its job without a valid interrupt routing! It slows down the system, but makes it work! (in my case the NFS root filesystem)<br />
<br />
Boot this kernel (I did it with etherboot). When the system is up and running, login to it and run a<br />
<br />
$ cat /proc/interrupts<br />
<br />
to see what happens with the interrupts.<br />
<br />
* "ping" the network card and check if its interrupt count increases. Check all the other PCI devices in your system and let them generate interrupts. Always check '''/proc/interrupts''' to see which interrupt get this signal.<br />
* In my case I got nothing both on the network and the USB interrupt. A "ping" does not increase any interrupt count. Then I attached an USB hub to my system and IRQ15 count increases. '''BINGO!''' This means the network device isn't connected to chipset's INTA# input, its the USB device instead! And it also means INTB# does not receive any interrupt, so it seems not connected to any device. For the next step I used INTC# for the network device instead.<br />
<br />
Note: Check the interrupt steering setting the Linux routing setup stores into the IRQ router! In my case it took hours to see, Linux didn't know my IRQ router! So the steering registers were still at their reset value, which means "No routing"! After adding the IRQ router support for my chipset it routes the interrupts!<br />
<br />
* I changed the routing table in "my_pirq_table.c" again to the routing shown below, rebuilt the kernel and reboot<br />
<br />
[[Image:second_attempt.png]]<br />
<br />
00:13 slot=00 0:01/0800 1:02/0000 2:03/8000 3:04/0000<br />
00:0f slot=00 0:03/8000 1:04/0000 2:01/0800 3:02/0000<br />
<br />
This is the [http://www.pengutronix.de/software/ptxdist/temporary-src/references/pci_irq_fake_2.c source] I used in this case.<br />
<br />
With this table also the network interrupt receives signals. Then I removed the "irqpoll" option and rebooted this kernel again. The system runs with interrupts only (and no more polling).<br />
<br />
The interrupt routing table from '''my_pirq_table.c''' is now ready to be used in LinuxBIOS. Only the checksum may not be usable.<br />
<br />
My kernel patch ignores a wrong checksum but calculates the right one instead! See ''dmesg'''s output, search for the right checksum and change it in the source file. Rebuild LinuxBIOS with this new IRQ routing table and flash it into your target.<br />
<br />
Now you can run an unpatched kernel on your system.<br />
<br />
== Required patches for Geode's companion CS5530 ==<br />
<br />
* This [http://www.pengutronix.de/software/ptxdist/temporary-src/references/geode-5530.patch patch] is needed to let Linux know the Cyrix 5530 interrupt router.</div>Jbehttps://www.coreboot.org/index.php?title=File:Runtime.png&diff=4725File:Runtime.png2007-07-01T20:57:28Z<p>Jbe: </p>
<hr />
<div></div>Jbehttps://www.coreboot.org/index.php?title=File:Llayout.png&diff=4723File:Llayout.png2007-07-01T20:39:15Z<p>Jbe: </p>
<hr />
<div></div>Jbehttps://www.coreboot.org/index.php?title=File:Blocklayout.png&diff=4710File:Blocklayout.png2007-07-01T19:43:08Z<p>Jbe: </p>
<hr />
<div></div>Jbehttps://www.coreboot.org/index.php?title=File:Mirror.png&diff=4709File:Mirror.png2007-07-01T19:24:23Z<p>Jbe: </p>
<hr />
<div></div>Jbehttps://www.coreboot.org/index.php?title=File:Gatea20.png&diff=4708File:Gatea20.png2007-07-01T19:22:44Z<p>Jbe: Small image to explain what gate A20 means</p>
<hr />
<div>Small image to explain what gate A20 means</div>Jbe