Changeset 20264


Ignore:
Timestamp:
2010-03-18T11:56:00+01:00 (8 years ago)
Author:
blogic
Message:

[ifxmips] Make it possible for boards to disable PCI REQ signals in the PCI controller, signed off by Ithamar R. Adema

Location:
trunk/target/linux/ifxmips/files/arch/mips
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ifxmips/files/arch/mips/ifxmips/board.c

    r18010 r20264  
    5656 
    5757extern int ifxmips_pci_external_clock; 
     58extern int ifxmips_pci_req_mask; 
    5859 
    5960static unsigned int chiprev; 
     
    7172        struct gpio_led *gpio_leds; 
    7273        int pci_external_clock; 
     74        int pci_req_mask; 
    7375        int num_devs; 
    7476}; 
     
    393395        if (board->pci_external_clock) 
    394396                ifxmips_pci_external_clock = 1; 
     397        if (board->pci_req_mask) 
     398                ifxmips_pci_req_mask = board->pci_req_mask; 
    395399        printk(KERN_INFO "using board definition %s\n", board->name); 
    396400        return platform_add_devices(board->devs, board->num_devs); 
  • trunk/target/linux/ifxmips/files/arch/mips/pci/pci-ifxmips.c

    r20262 r20264  
    5454u32 ifxmips_pci_mapped_cfg; 
    5555int ifxmips_pci_external_clock = 0; 
     56 
     57/* Since the PCI REQ pins can be reused for other functionality, make it possible 
     58   to exclude those from interpretation by the PCI controller */ 
     59int ifxmips_pci_req_mask = 0xf; 
    5660 
    5761static int __init 
     
    127131        /* enable external 2 PCI masters */ 
    128132        temp_buffer = ifxmips_r32(PCI_CR_PC_ARB); 
    129         temp_buffer &= (~(0xf << 16)); 
     133        temp_buffer &= (~(ifxmips_pci_req_mask << 16)); 
    130134        /* enable internal arbiter */ 
    131135        temp_buffer |= (1 << INTERNAL_ARB_ENABLE_BIT); 
Note: See TracChangeset for help on using the changeset viewer.