Changeset 338f1dc in rtems


Ignore:
Timestamp:
01/10/00 13:26:00 (24 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
94608578
Parents:
d273d78a
Message:

Patch from Eric Valette <valette@…> that makes sure the
interrupt code works on "old buggy MCP750 boards". The symptom was
that there was no ethernet PCI IRQ at all.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/shared/irq/irq_init.c

    rd273d78a r338f1dc  
    2525#include <libcpu/raw_exception.h>
    2626#include <bsp/motorola.h>
     27
     28/*
     29#define SHOW_ISA_PCI_BRIDGE_SETTINGS
     30*/
    2731
    2832typedef struct {
     
    127131      printk("Vendor/device = %x\n", temp);
    128132#endif
    129       if ( (temp == (((unsigned short) PCI_VENDOR_ID_VIA) | (PCI_DEVICE_ID_VIA_82C586_1 << 16)))
    130            ||
    131            (temp == (((unsigned short) PCI_VENDOR_ID_VIA) | (PCI_DEVICE_ID_VIA_82C586_0 << 16)))
     133      if ((temp == (((unsigned short) PCI_VENDOR_ID_VIA) | (PCI_DEVICE_ID_VIA_82C586_0 << 16)))
    132134         ) {
    133135        bridge = pci_dev;
     
    197199    printk(" PCI ISA bridge control2 = %x\n", (unsigned) tmp);
    198200#endif       
    199     /*
    200      * Enable 4D0/4D1 ISA interrupt level/edge config registers
    201      */
    202     tmp |= 0x20;
    203     pci_write_config_byte(via_82c586->bus, via_82c586->device, via_82c586->function,
    204                           0x47, tmp);
    205 #ifdef SHOW_ISA_PCI_BRIDGE_SETTINGS     
    206     tmp = inb(ISA8259_S_ELCR);
    207     printk(" PCI ISA bridge slave edge/level control bit = %x\n", (unsigned) tmp);
    208     tmp = inb(ISA8259_M_ELCR);;
    209     printk(" PCI ISA bridge master edge/level control bit = %x\n", (unsigned) tmp);
    210 #endif       
    211     /*
    212      * Must disable the 4D0/4D1 ISA interrupt level/edge config registers
    213      * or the card will die a soon as we we will enable external interrupts
    214      */
    215     pci_read_config_byte(via_82c586->bus, via_82c586->device, via_82c586->function,
    216                          0x47,  &tmp);
    217     tmp &= ~(0x20);
    218     pci_write_config_byte(via_82c586->bus, via_82c586->device, via_82c586->function,
    219                           0x47, tmp);
    220201    /*
    221202     * Show the Interrupt inputs inverting/non-inverting level status
Note: See TracChangeset for help on using the changeset viewer.