fixup-tb0226.c (1708B)
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * fixup-tb0226.c, The TANBAC TB0226 specific PCI fixups. 4 * 5 * Copyright (C) 2002-2005 Yoichi Yuasa <yuasa@linux-mips.org> 6 */ 7#include <linux/init.h> 8#include <linux/pci.h> 9 10#include <asm/vr41xx/giu.h> 11#include <asm/vr41xx/tb0226.h> 12 13int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 14{ 15 int irq = -1; 16 17 switch (slot) { 18 case 12: 19 vr41xx_set_irq_trigger(GD82559_1_PIN, 20 IRQ_TRIGGER_LEVEL, 21 IRQ_SIGNAL_THROUGH); 22 vr41xx_set_irq_level(GD82559_1_PIN, IRQ_LEVEL_LOW); 23 irq = GD82559_1_IRQ; 24 break; 25 case 13: 26 vr41xx_set_irq_trigger(GD82559_2_PIN, 27 IRQ_TRIGGER_LEVEL, 28 IRQ_SIGNAL_THROUGH); 29 vr41xx_set_irq_level(GD82559_2_PIN, IRQ_LEVEL_LOW); 30 irq = GD82559_2_IRQ; 31 break; 32 case 14: 33 switch (pin) { 34 case 1: 35 vr41xx_set_irq_trigger(UPD720100_INTA_PIN, 36 IRQ_TRIGGER_LEVEL, 37 IRQ_SIGNAL_THROUGH); 38 vr41xx_set_irq_level(UPD720100_INTA_PIN, 39 IRQ_LEVEL_LOW); 40 irq = UPD720100_INTA_IRQ; 41 break; 42 case 2: 43 vr41xx_set_irq_trigger(UPD720100_INTB_PIN, 44 IRQ_TRIGGER_LEVEL, 45 IRQ_SIGNAL_THROUGH); 46 vr41xx_set_irq_level(UPD720100_INTB_PIN, 47 IRQ_LEVEL_LOW); 48 irq = UPD720100_INTB_IRQ; 49 break; 50 case 3: 51 vr41xx_set_irq_trigger(UPD720100_INTC_PIN, 52 IRQ_TRIGGER_LEVEL, 53 IRQ_SIGNAL_THROUGH); 54 vr41xx_set_irq_level(UPD720100_INTC_PIN, 55 IRQ_LEVEL_LOW); 56 irq = UPD720100_INTC_IRQ; 57 break; 58 default: 59 break; 60 } 61 break; 62 default: 63 break; 64 } 65 66 return irq; 67} 68 69/* Do platform specific device initialization at pci_enable_device() time */ 70int pcibios_plat_dev_init(struct pci_dev *dev) 71{ 72 return 0; 73}