read the source ron!
Andrew Ip
aip at cwlinux.com
Thu Oct 2 11:20:39 CEST 2003
Hi,
Kevin did this fine job in v1. Basically it assigns irqs for PCI devices
in case of PIRQ table doesn't work. I have been using in different
place. I also think it would be nice to do it in config file instead
of in source just like geode. Ron, does epia work now?
-Andrew
On Wed, Oct 01, 2003 at 05:38:51PM -0600, ron minnich wrote:
>
> in V1:
>
> void pci_assign_irqs(unsigned bus, unsigned slot, const unsigned char
> pIntAtoD[4]);
>
>
> static const unsigned char southbridgeIrqs[4] = { 11, 5, 10, 12 };
> static const unsigned char enetIrqs[4] = { 11, 5, 10, 12 };
> static const unsigned char slotIrqs[4] = { 5, 10, 12, 11 };
>
> /*
> Our IDSEL mappings are as follows
> PCI slot is AD31 (device 15) (00:14.0)
> Southbridge is AD28 (device 12) (00:11.0)
> */
> static void pci_routing_fixup(void)
> {
> struct pci_dev *dev;
>
> dev = pci_find_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8231,
> 0);
> if (dev != NULL) {
> /* initialize PCI interupts - these assignments depend
> on the PCB routing of PINTA-D
>
> PINTA = IRQ11
> PINTB = IRQ5
> PINTC = IRQ10
> PINTD = IRQ12
> */
> pci_write_config_byte(dev, 0x55, 0xb0);
> pci_write_config_byte(dev, 0x56, 0xa5);
> pci_write_config_byte(dev, 0x57, 0xc0);
> }
>
> // Standard southbridge components
> printk_info("setting southbridge\n");
> pci_assign_irqs(0, 0x11, southbridgeIrqs);
>
> // Ethernet built into southbridge
> printk_info("setting ethernet\n");
> pci_assign_irqs(0, 0x12, enetIrqs);
>
> // PCI slot
> printk_info("setting pci slot\n");
> pci_assign_irqs(0, 0x14, slotIrqs);
>
> }
>
>
>
> ok, that explains it!
>
> ron
>
> _______________________________________________
> Linuxbios mailing list
> Linuxbios at clustermatic.org
> http://www.clustermatic.org/mailman/listinfo/linuxbios
--
Andrew Ip
Email: aip at cwlinux.com
Tel: (852) 2542 2046
Fax: (852) 2542 2036
Mobile: (852) 9201 9866
Cwlinux Limited
Unit 202B 2/F Lai Cheong Factory Building,
479-479A Castle Peak Road,
Lai Chi Kok, Kowloon,
Hong Kong.
For public pgp key, please obtain it from http://www.keyserver.net/en.
More information about the coreboot
mailing list