Hi Uwe, so many questions.... ;-)
On Saturday 12 May 2007 09:56, Uwe Hermann wrote: > 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 I will do and resend the patch. > 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? Status is "tested on my boards" (I'm currenlty using 5 IGEL-316 at home). It works with etherboot and FILO. And boots my 2.6.21 kernel with Video and without (one IGEL is my file server, the others are small X terminals, connected to my main workstation). > > 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? As I stated. I copied it from the eaglelion/5bcm and modified it until it works on my hardware... > 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. I will do so. > > 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. I have currently no idea what it does. So I will try t oremove it. > > 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. Ack. > 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? Is there a way to compare it with other boards (pictures from the other boards)? > Are there any other names or part numbers on the PCB? Something similar > to (MB-)5BL* or so? I will send a list of components on this board. > > 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? Long time ago I sent my instructions how to do it to this list. But I will place it on the wiki. > 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... Its a bit tricky but no impossible. There are only 16 irq channels. No so much to test... ;-) > > 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... A few day ago I ask how to do so, but no answer yet. I we merge it into the generic GX1 code we also must adapt all other GX1 implementations. > > 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? If my raminit.c will be generic, then this file also would be generic. > > 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? Some parts are mainboard specific, some are SDRAM specific. Unless we can read back the SPD EEPROM, we must manually add the SDRAM data. > > +/** > > + * @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). I see, I will remove them. > > +/*********************************************************************** > >******* + * 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... But it would be valid only for exact one SDRAM type! Not for all the others. > > 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). Ack. > > @@ -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. Yes I'm sure. At system start I only see "booting...". No way found to stop it. Juergen -- linuxbios mailing list [email protected] http://www.linuxbios.org/mailman/listinfo/linuxbios
