Hi Jürgen! On Fri, May 11, 2007 at 11:11:59PM +0200, Juergen Beisert wrote: > attached the patch to add basic support for the mainboard in a so called > IGEL-316 graphical terminal. I'm not sure who the original manufacturer of > this mainboard is. It is labeled with "WINNET100 VER: 1.1 (30-3130000-110)"
Great, thanks! Comments below, but please resend with a proper sign-off, otherwise we cannot commit the code: http://linuxbios.org/Development_Guidelines#Sign-off_Procedure That, and please add the common license header to all source files: http://linuxbios.org/Development_Guidelines#Common_License_Header (At least the following ones:) - src/mainboard/igel/igel-316/auto.c - src/mainboard/igel/igel-316/chip.h - targets/igel/igel-316/Config.lb - src/mainboard/igel/igel-316/irq_tables.c - src/mainboard/igel/igel-316/mainboard.c - src/mainboard/igel/igel-316/raminit.h - src/mainboard/igel/igel-316/sdram_timing.h What's the status of this code? Does it boot a payload correctly? Does it fully boot a Linux kernel? Which hardware works, which doesn't when booted with LinuxBIOS? > Index: LinuxBIOSv2/src/mainboard/igel/igel-316/Config.lb > =================================================================== > --- /dev/null > +chip northbridge/amd/gx1 > + device pci_domain 0 on > + device pci 0.0 on end > + chip southbridge/amd/cs5530 > + device pci 12.0 on > + chip superio/nsc/pc97317 > + device pnp 2e.0 on # Keyboard > + io 0x60 = 0x60 > + io 0x62 = 0x64 > + irq 0x70 = 1 > + end > + device pnp 2e.1 on # Mouse > + irq 0x70 = 12 > + end > + device pnp 2e.2 on # RTC > + io 0x60 = 0x70 > + irq 0x70 = 8 > + end > + device pnp 2e.3 off # FDC > + end > + device pnp 2e.4 on # Parallel Port > + io 0x60 = 0x378 > + irq 0x70 = 7 > + end > + device pnp 2e.5 off # COM2 > + io 0x60 = 0x2f8 > + irq 0x70 = 3 > + end > + device pnp 2e.6 on # COM1 > + io 0x60 = 0x3f8 > + irq 0x70 = 4 > + end > + device pnp 2e.7 on # GPIO > + io 0x60 = 0xe0 > + end > + device pnp 2e.8 on # Power Management > + io 0x60 = 0xe800 > + end > + register "com1" = "{115200}" > + register "com2" = "{38400}" > + end > + device pci 12.1 off end # SMI > + device pci 12.2 off end # IDE > + device pci 12.3 on end # Audio > + device pci 12.4 on end # VGA > +# device pci 13.0 on end # USB > + end > + end > + end Is the above correct for the Winnet? What does 'lspnp -v' report when booted from the proprietary BIOS? Also, can you please send some more system information (lspci -nn, /proc/cpuinfo etc. etc.) so it gets recorded in the list archives for other people who'll search for it later... A full bootlog (LinuxBIOS + Linux, with maximum verbosity) would be nice, too. > Index: LinuxBIOSv2/src/mainboard/igel/igel-316/cmos.layout > =================================================================== > --- /dev/null > +++ LinuxBIOSv2/src/mainboard/igel/igel-316/cmos.layout Is this needed or used at the moment? Otherwise please drop it for now (needs some adaptions in Config.lb otherwise it won't compile any more). We can reintroduce it when it's really needed. > Index: LinuxBIOSv2/targets/igel/igel-316/Config.lb > =================================================================== > --- /dev/null > +++ LinuxBIOSv2/targets/igel/igel-316/Config.lb ^^^^^^^^ > @@ -0,0 +1,22 @@ > +# Config file for the IGEL-316 motherboard > + > +target igel-316 ^^^^^^^^ > +mainboard igel/igel-316 ^^^^^^^^ Shouldn't we use igel_316 instead of igel-316 as directory name? All other mainboards do that AFAICS. My guess is that this is an ASI/BCom board (but I don't have evidence), so it should go into targets/asi/xxxx, too? Are there any other names or part numbers on the PCB? Something similar to (MB-)5BL* or so? > Index: LinuxBIOSv2/src/mainboard/igel/igel-316/irq_tables.c > =================================================================== > --- /dev/null > +++ LinuxBIOSv2/src/mainboard/igel/igel-316/irq_tables.c > @@ -0,0 +1,113 @@ > +/** > + * Documentation at : http://www.microsoft.com/whdc/archive/pciirq.mspx > + **/ > + > +/* > + * It was not possible to read back the pirq-Table. In the 0xF segment was > + * no string like $PIRQ... > + * But the already running 2.4.21 kernel provides eth0 IRQ15 and USB IRQ 11 > + * The Realtek was device 0.f.0, the usb 0.13.0 > + */ > + > +#include <arch/pirq_routing.h> > + > +/* > + * IRQ 5530 USB Network > + * controller northbridge device device > + * 00.13.0 00.0f.00 > + * -------------------------------------------- > + * 11 INTA# INTA# n.c. > + * 10 INTB# n.c. n.c. > + * 15 INTC# n.c. INTA# > + * 9 INTD# n.c. n.c. I'm currently trying to figure out the IRQ settings for my Winnet III (ASI MB-5BLMP). Where/how did you gather the information required to write the correct version for this file? I have the values from lspci and lspnp, so I know which IRQs the original kernel uses, but that's about it. How do I generate an irq_tables.c file out of this? The getpir utility didn't give any results on my board either, btw... > Index: LinuxBIOSv2/src/mainboard/igel/igel-316/raminit.c > =================================================================== > --- /dev/null > +++ LinuxBIOSv2/src/mainboard/igel/igel-316/raminit.c OK, this part should definately be done in the generic RAM init code, not here. Can this easily be merged into the generic GX1 code? I haven't yet looked at that... > Index: LinuxBIOSv2/src/mainboard/igel/igel-316/raminit.h > =================================================================== > --- /dev/null > +++ LinuxBIOSv2/src/mainboard/igel/igel-316/raminit.h Is this mainboard-specific or generic for the GX1? Maybe it should go into src/northbridge/amd/gx1/raminit.[ch], too? > Index: LinuxBIOSv2/src/mainboard/igel/igel-316/sdram_timing.h > =================================================================== > --- /dev/null > +++ LinuxBIOSv2/src/mainboard/igel/igel-316/sdram_timing.h Same here. Is it mainboard-specific? Otherwise merge it into src/northbridge/amd/gx1/raminit.[ch]? Should it get its own file? If so, why? > +/** > + * @brief This defines CPU's core frequency in kHz The @brief is not needed, we configure Doxygen to always use the first sentence as short description (JavaDoc-like). > +/****************************************************************************** > + * This is SDRAM specific. Currently I found no way to read the SPD EEPROM > + * on the SO-DIMM to autodetect things. I have no clue where the manufacturer > + * has connected the required I2C lines for this purpose > + > ******************************************************************************/ I'll try to dump the SPD information on my Winnet3 and report the results... > Index: LinuxBIOSv2/documentation/HOWTO/igel-316-howto.txt > =================================================================== > --- /dev/null > +++ LinuxBIOSv2/documentation/HOWTO/igel-316-howto.txt Please drop this here, and create a wiki tutorial containing this info (and other instructions how to get LinuxBIOS+Linux running on this thin client). > @@ -0,0 +1,37 @@ > +The IGEL-316 is a small and nice terminal based on the old Geode GX1 CPU. It > +was shipped with a 16MiB DOC, that contains an older 2.4 Linux kernel and a > 3.x > +Xfree86 for the graphics. There was no regular BIOS in it to boot other > things > +than the DOC content. Are you sure? Mine has a BIOS chip and a DoC. While the BIOS usually boots a kernel from the DoC, if you attach an IDE disk (with external power, as the thin client doesn't provide it), it will boot a Linux from the disk just fine. HTH, Uwe. -- http://www.hermann-uwe.de | http://www.holsham-traders.de http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
signature.asc
Description: Digital signature
-- linuxbios mailing list [email protected] http://www.linuxbios.org/mailman/listinfo/linuxbios
