Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
 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}