Skip to content

Commit 5b49c82

Browse files
MaJunguoren83
authored andcommitted
csky: Add PCI support
Add the pci related code for csky arch to support basic pci virtual function, such as qemu virt-pci-9pfs. Signed-off-by: MaJun <[email protected]> Signed-off-by: Guo Ren <[email protected]>
1 parent dc2efc0 commit 5b49c82

File tree

3 files changed

+39
-1
lines changed

3 files changed

+39
-1
lines changed

arch/csky/Kconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@ config CSKY
5858
select TIMER_OF
5959
select USB_ARCH_HAS_EHCI
6060
select USB_ARCH_HAS_OHCI
61+
select GENERIC_PCI_IOMAP
62+
select HAVE_PCI
63+
select PCI_DOMAINS_GENERIC if PCI
64+
select PCI_SYSCALL if PCI
65+
select PCI_MSI if PCI
6166

6267
config CPU_HAS_CACHEV2
6368
bool

arch/csky/include/asm/Kbuild

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ generic-y += local64.h
2828
generic-y += mm-arch-hooks.h
2929
generic-y += mmiowb.h
3030
generic-y += module.h
31-
generic-y += pci.h
3231
generic-y += percpu.h
3332
generic-y += preempt.h
3433
generic-y += qrwlock.h

arch/csky/include/asm/pci.h

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/* SPDX-License-Identifier: GPL-2.0-only */
2+
3+
#ifndef __ASM_CSKY_PCI_H
4+
#define __ASM_CSKY_PCI_H
5+
6+
#include <linux/types.h>
7+
#include <linux/slab.h>
8+
#include <linux/dma-mapping.h>
9+
10+
#include <asm/io.h>
11+
12+
#define PCIBIOS_MIN_IO 0
13+
#define PCIBIOS_MIN_MEM 0
14+
15+
/* C-SKY shim does not initialize PCI bus */
16+
#define pcibios_assign_all_busses() 1
17+
18+
extern int isa_dma_bridge_buggy;
19+
20+
#ifdef CONFIG_PCI
21+
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
22+
{
23+
/* no legacy IRQ on csky */
24+
return -ENODEV;
25+
}
26+
27+
static inline int pci_proc_domain(struct pci_bus *bus)
28+
{
29+
/* always show the domain in /proc */
30+
return 1;
31+
}
32+
#endif /* CONFIG_PCI */
33+
34+
#endif /* __ASM_CSKY_PCI_H */

0 commit comments

Comments
 (0)