I changed the Subject.
2007/5/5, Peter Stuge stuge-linuxbios@cdy.org:
On Fri, May 04, 2007 at 11:04:45PM -0700, Kenji Noguchi wrote:
//CS5530A pdev = dev_find_slot(0, (0x12 << 3) + 0); pci_write_config8(pdev, 0x5c, 0xab); pci_write_config8(pdev, 0x5d, 0x09); pci_assign_irqs(0, 0x13, usb_irq); pci_assign_irqs(0, 0x15, nic_irq);
I couldn't find a code in LinuxBIOSv2 that does the same thing Where should I put these lines if such code does not exist, and mainboard.c is not a right place?
I think this goes into the mainboard Config.lb, where the PCI devices are listed.
I still don't understand fully how LB initializes stuff, or what the scope of LB is in terms of PCI IRQ configuration. So please bare with my noob questions.
1) What is the name of the config options in the Config.lb for PCI IRQ# and IRQ sterring? 2) Where is the corresponding code that actually configures IRQ sterring for CS5530? 3) Or, can/should I leave the configuration part to a OS as long as irq_tables.c sets a proper irq_routing_table? I've read about people who booted LB with GX1 in the ML. Did they solely rely on the irq_routin_table?
doesn't work: VGA,
Not even with geodefb?
I wasn't aware of the driver existed. I loaded the driver but the VGA is still not on. I will read documents of the driver.
tv:~# modprobe gx1fb gx1fb 0000:00:12.4: 4096 Kibyte of video memory at 0x40800000 Console: switching to colour frame buffer device 80x30 fb0: GX1 frame buffer device
Sound ,
There is a FreeBSD driver but that doesn't help you of course. See if you can find a native CS5530 ALSA driver that does the same thing.
It seems the same topic was discussed in the ML sometime back. Anyone still working on it? If not, I'll try to port the driver when I have more time.
Reset(rebooting hangs the machine)
Dunno about this one.
CONFIG_X86_REBOOTFIXUPS=y in ther kernel config fixed the problem.
Thanks, Kenji Noguchi
On Tuesday 08 May 2007 04:40, Kenji Noguchi wrote:
2007/5/5, Peter Stuge stuge-linuxbios@cdy.org:
On Fri, May 04, 2007 at 11:04:45PM -0700, Kenji Noguchi wrote:
//CS5530A pdev = dev_find_slot(0, (0x12 << 3) + 0); pci_write_config8(pdev, 0x5c, 0xab); pci_write_config8(pdev, 0x5d, 0x09); pci_assign_irqs(0, 0x13, usb_irq); pci_assign_irqs(0, 0x15, nic_irq);
I couldn't find a code in LinuxBIOSv2 that does the same thing Where should I put these lines if such code does not exist, and mainboard.c is not a right place?
I think this goes into the mainboard Config.lb, where the PCI devices are listed.
I still don't understand fully how LB initializes stuff, or what the scope of LB is in terms of PCI IRQ configuration. So please bare with my noob questions.
On my system LinuxBIOS left all PCI irq registers at their reset value.
- Or, can/should I leave the configuration part to a OS as long as
irq_tables.c sets a proper irq_routing_table? I've read about people who booted LB with GX1 in the ML. Did they solely rely on the irq_routin_table?
Yes. With a working irq routing table and a (small) special Linux kernel patch (only with this patch Linux is able to setup the IRQ routing correctly. The patch was rejected in mainline, because it breaks other systems. The current kernel implementation is wrong, as it permuts the nibbles in the routing register. I have no idea how this could work on the other systems...)
doesn't work: VGA,
Not even with geodefb?
I wasn't aware of the driver existed. I loaded the driver but the VGA is still not on. I will read documents of the driver.
tv:~# modprobe gx1fb gx1fb 0000:00:12.4: 4096 Kibyte of video memory at 0x40800000 Console: switching to colour frame buffer device 80x30 fb0: GX1 frame buffer device
Hmmm, should work. Don't know why it fails in your system.
Sound ,
There is a FreeBSD driver but that doesn't help you of course. See if you can find a native CS5530 ALSA driver that does the same thing.
It seems the same topic was discussed in the ML sometime back. Anyone still working on it? If not, I'll try to port the driver when I have more time.
I'm working on it. And I can play sounds with it. But under higher system load it crashes yet. There is not interrupt available to setup the next sound data if the current one is finished. The hardware can only generate SMIs. So a second part of my driver polls the SMI statusbits and calls the sound driver when it flags "ready" for next data.
Reset(rebooting hangs the machine)
Dunno about this one.
CONFIG_X86_REBOOTFIXUPS=y in ther kernel config fixed the problem.
Ack.
I can send you my whole embedded project. It contains graphics (special framebuffer driver and Xorg, both with acceleration), audio (not finished yet), irq-routing table (but for my hardware only) and a build system to build a cross compiler and the root filesystem, kernel and LinuxBIOS.
Maybe it could help you. Sorry, documentation is not finished yet... ;-)
Juergen
Hi!
my first report since the IEI Nova board was 'kinda' supported.
If I use irqpoll commandline switch, the system seems to work properly but there are still IRQ related issues.
more comments below:
On 5/8/07, Juergen Beisert juergen127@kreuzholzen.de wrote:
On Tuesday 08 May 2007 04:40, Kenji Noguchi wrote:
2007/5/5, Peter Stuge stuge-linuxbios@cdy.org:
On Fri, May 04, 2007 at 11:04:45PM -0700, Kenji Noguchi wrote:
//CS5530A pdev = dev_find_slot(0, (0x12 << 3) + 0); pci_write_config8(pdev, 0x5c, 0xab); pci_write_config8(pdev, 0x5d, 0x09); pci_assign_irqs(0, 0x13, usb_irq); pci_assign_irqs(0, 0x15, nic_irq);
I couldn't find a code in LinuxBIOSv2 that does the same thing Where should I put these lines if such code does not exist, and mainboard.c is not a right place?
I think this goes into the mainboard Config.lb, where the PCI devices are listed.
I still don't understand fully how LB initializes stuff, or what the scope of LB is in terms of PCI IRQ configuration. So please bare with my noob questions.
On my system LinuxBIOS left all PCI irq registers at their reset value.
- Or, can/should I leave the configuration part to a OS as long as
irq_tables.c sets a proper irq_routing_table? I've read about people who booted LB with GX1 in the ML. Did they solely rely on the irq_routin_table?
Yes. With a working irq routing table and a (small) special Linux kernel patch (only with this patch Linux is able to setup the IRQ routing correctly. The patch was rejected in mainline, because it breaks other systems. The current kernel implementation is wrong, as it permuts the nibbles in the routing register. I have no idea how this could work on the other systems...)
Where can I get this kernel patch?
doesn't work: VGA,
Not even with geodefb?
I wasn't aware of the driver existed. I loaded the driver but the VGA is still not on. I will read documents of the driver.
tv:~# modprobe gx1fb gx1fb 0000:00:12.4: 4096 Kibyte of video memory at 0x40800000 Console: switching to colour frame buffer device 80x30 fb0: GX1 frame buffer device
Hmmm, should work. Don't know why it fails in your system.
i've given up setting up the VSA for the Geode. Is there any workaround or any other thing we could use to enable VGA?
I'm lost here... :)
The VGA is not a priority for me as the main function for this board is being a router. Only the serial port really matters and that one is already working.
Besides, if the VGA is not enabled, the board is more power efficient (not that is matters, it's more like an excuse)
Sound ,
There is a FreeBSD driver but that doesn't help you of course. See if you can find a native CS5530 ALSA driver that does the same thing.
It seems the same topic was discussed in the ML sometime back. Anyone still working on it? If not, I'll try to port the driver when I have more time.
I'm working on it. And I can play sounds with it. But under higher system load it crashes yet. There is not interrupt available to setup the next sound data if the current one is finished. The hardware can only generate SMIs. So a second part of my driver polls the SMI statusbits and calls the sound driver when it flags "ready" for next data.
Reset(rebooting hangs the machine)
Dunno about this one.
CONFIG_X86_REBOOTFIXUPS=y in ther kernel config fixed the problem.
Ack.
My board does not reboot as well (a reset is needed) i'll investigate it also.
I can send you my whole embedded project. It contains graphics (special framebuffer driver and Xorg, both with acceleration), audio (not finished yet), irq-routing table (but for my hardware only) and a build system to build a cross compiler and the root filesystem, kernel and LinuxBIOS.
I'm also interested in it, i'll contact you off list to sort out how I could get it.
BTW, how good is it when decoding video streams?
Maybe it could help you. Sorry, documentation is not finished yet... ;-)
Juergen
Luis Correia
Hi Correia,
On Tuesday 08 May 2007 10:05, Luis Correia wrote:
If I use irqpoll commandline switch, the system seems to work properly but there are still IRQ related issues.
That is fine. With a running target like this you will be able to create a valid irq routing table. Documentation how to do I will send in a separated mail.
Where can I get this kernel patch?
Attached.
doesn't work: VGA,
Not even with geodefb?
I wasn't aware of the driver existed. I loaded the driver but the VGA is still not on. I will read documents of the driver.
tv:~# modprobe gx1fb gx1fb 0000:00:12.4: 4096 Kibyte of video memory at 0x40800000 Console: switching to colour frame buffer device 80x30 fb0: GX1 frame buffer device
Hmmm, should work. Don't know why it fails in your system.
i've given up setting up the VSA for the Geode. Is there any workaround or any other thing we could use to enable VGA?
Do not use any VSA. You really not need it.
I'm lost here... :)
The VGA is not a priority for me as the main function for this board is being a router. Only the serial port really matters and that one is already working.
Besides, if the VGA is not enabled, the board is more power efficient (not that is matters, it's more like an excuse)
Sure.
Reset(rebooting hangs the machine)
Dunno about this one.
CONFIG_X86_REBOOTFIXUPS=y in ther kernel config fixed the problem.
Ack.
My board does not reboot as well (a reset is needed) i'll investigate it also.
My system reboots since my first try to run LinxuBIOS on it. So I have no idea what could be going wrong within your hardware.
I can send you my whole embedded project. It contains graphics (special framebuffer driver and Xorg, both with acceleration), audio (not finished yet), irq-routing table (but for my hardware only) and a build system to build a cross compiler and the root filesystem, kernel and LinuxBIOS.
I'm also interested in it, i'll contact you off list to sort out how I could get it.
You are welcome.
BTW, how good is it when decoding video streams?
Due to the lack of video hardware (no NTSC/PAL decoder) in my system: No idea, sorry.
Juergen
On Tue, May 08, 2007 at 09:04:55AM +0200, Juergen Beisert wrote:
I can send you my whole embedded project. It contains graphics (special framebuffer driver and Xorg, both with acceleration), audio (not finished yet), irq-routing table (but for my hardware only) and a build system to build a cross compiler and the root filesystem, kernel and LinuxBIOS.
Can you put this up on some website or maybe in the LinuxBIOS wiki? It seems this will be very useful for lots of people...
Uwe.
On 08/05/07 11:34 +0200, Uwe Hermann wrote:
On Tue, May 08, 2007 at 09:04:55AM +0200, Juergen Beisert wrote:
I can send you my whole embedded project. It contains graphics (special framebuffer driver and Xorg, both with acceleration), audio (not finished yet), irq-routing table (but for my hardware only) and a build system to build a cross compiler and the root filesystem, kernel and LinuxBIOS.
Can you put this up on some website or maybe in the LinuxBIOS wiki? It seems this will be very useful for lots of people...
Indeed. This sounds like some interesting stuff we could integrate with buildROM.
Jordan
On Tuesday 08 May 2007 16:20, Jordan Crouse wrote:
On 08/05/07 11:34 +0200, Uwe Hermann wrote:
On Tue, May 08, 2007 at 09:04:55AM +0200, Juergen Beisert wrote:
I can send you my whole embedded project. It contains graphics (special framebuffer driver and Xorg, both with acceleration), audio (not finished yet), irq-routing table (but for my hardware only) and a build system to build a cross compiler and the root filesystem, kernel and LinuxBIOS.
Can you put this up on some website or maybe in the LinuxBIOS wiki? It seems this will be very useful for lots of people...
Indeed. This sounds like some interesting stuff we could integrate with buildROM.
Could someone explain me how to work with the LinuxBIOS wiki? Do I need an account? How to start?
Juergen
On 5/8/07, Juergen Beisert juergen127@kreuzholzen.de wrote:
Yes. With a working irq routing table and a (small) special Linux kernel patch (only with this patch Linux is able to setup the IRQ routing correctly. The patch was rejected in mainline, because it breaks other systems. The current kernel implementation is wrong, as it permuts the nibbles in the routing register. I have no idea how this could work on the other systems...)
This problem goes back six years. Fully half the GX1s on the planet have a broken PIRQ table. It's enough to drive you crazy.
ron
On Tuesday 08 May 2007 16:58, ron minnich wrote:
On 5/8/07, Juergen Beisert juergen127@kreuzholzen.de wrote:
Yes. With a working irq routing table and a (small) special Linux kernel patch (only with this patch Linux is able to setup the IRQ routing correctly. The patch was rejected in mainline, because it breaks other systems. The current kernel implementation is wrong, as it permuts the nibbles in the routing register. I have no idea how this could work on the other systems...)
This problem goes back six years. Fully half the GX1s on the planet have a broken PIRQ table. It's enough to drive you crazy.
:-))
Juergen
Hi,
It's pretty informative. Thanks.
2007/5/8, Juergen Beisert juergen127@kreuzholzen.de:
On my system LinuxBIOS left all PCI irq registers at their reset value.
- Or, can/should I leave the configuration part to a OS as long as
irq_tables.c sets a proper irq_routing_table? I've read about people who booted LB with GX1 in the ML. Did they solely rely on the irq_routin_table?
Yes. With a working irq routing table and a (small) special Linux kernel patch (only with this patch Linux is able to setup the IRQ routing correctly. The patch was rejected in mainline, because it breaks other systems. The current kernel implementation is wrong, as it permuts the nibbles in the routing register. I have no idea how this could work on the other systems...)
ok, I think that's a right way that a payload or OS configures IRQ routing since they need to initialize PCI controllers anyway, and it's not possible for a bios to configure all the add-on PCI devices.
My only concern is portability to other architecures. The struct irq_routing_table seems to be x86 PC specific.
Sound ,
I'm working on it. And I can play sounds with it. But under higher system load it crashes yet. There is not interrupt available to setup the next sound data if the current one is finished. The hardware can only generate SMIs. So a second part of my driver polls the SMI statusbits and calls the sound driver when it flags "ready" for next data.
I noticed that CS5535 is very similiar to CS5530 except CS5535 has two more DMAs. I suspect the CS5535audio driver would work for CS5530 just by adding PCI vendor/device ID.
I can send you my whole embedded project. It contains graphics (special
I'm very much interested in it. Please send it to me unless you are gonig to put yout whole stuff to the wiki. Thank you!
Kenji Noguchi
ps. anyone interested to port LB to MIPS? gxemul is my target so far.
On Tue, 8 May 2007 11:15:25 -0700 "Kenji Noguchi" tokyo246@gmail.com wrote:
ps. anyone interested to port LB to MIPS? gxemul is my target so far.
Which CPU?
Thanks.