m68k: add IO access definitions to support PCI on ColdFire platforms
authorGreg Ungerer <gerg@uclinux.org>
Thu, 28 Jun 2012 14:03:27 +0000 (00:03 +1000)
committerGreg Ungerer <gerg@uclinux.org>
Tue, 17 Jul 2012 05:49:43 +0000 (15:49 +1000)
Define the usual memory access functions (readb/writeb/...) and I/O space
functions (inb/outb/...) for PCI bus support on ColdFire CPU based platforms.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/include/asm/io_mm.h

index b85dbef85e1c209439d603d847ad222d30deab27..a6686d26fe175a1d2996abff370d5dd7ddc80fe8 100644 (file)
 
 
 
-#ifdef CONFIG_ISA
+#if defined(CONFIG_PCI) && defined(CONFIG_COLDFIRE)
+
+#define HAVE_ARCH_PIO_SIZE
+#define PIO_OFFSET     0
+#define PIO_MASK       0xffff
+#define PIO_RESERVED   0x10000
+
+u8 mcf_pci_inb(u32 addr);
+u16 mcf_pci_inw(u32 addr);
+u32 mcf_pci_inl(u32 addr);
+void mcf_pci_insb(u32 addr, u8 *buf, u32 len);
+void mcf_pci_insw(u32 addr, u16 *buf, u32 len);
+void mcf_pci_insl(u32 addr, u32 *buf, u32 len);
+
+void mcf_pci_outb(u8 v, u32 addr);
+void mcf_pci_outw(u16 v, u32 addr);
+void mcf_pci_outl(u32 v, u32 addr);
+void mcf_pci_outsb(u32 addr, const u8 *buf, u32 len);
+void mcf_pci_outsw(u32 addr, const u16 *buf, u32 len);
+void mcf_pci_outsl(u32 addr, const u32 *buf, u32 len);
+
+#define        inb     mcf_pci_inb
+#define        inb_p   mcf_pci_inb
+#define        inw     mcf_pci_inw
+#define        inw_p   mcf_pci_inw
+#define        inl     mcf_pci_inl
+#define        inl_p   mcf_pci_inl
+#define        insb    mcf_pci_insb
+#define        insw    mcf_pci_insw
+#define        insl    mcf_pci_insl
+
+#define        outb    mcf_pci_outb
+#define        outb_p  mcf_pci_outb
+#define        outw    mcf_pci_outw
+#define        outw_p  mcf_pci_outw
+#define        outl    mcf_pci_outl
+#define        outl_p  mcf_pci_outl
+#define        outsb   mcf_pci_outsb
+#define        outsw   mcf_pci_outsw
+#define        outsl   mcf_pci_outsl
+
+#define readb(addr)    in_8(addr)
+#define writeb(v, addr)        out_8((addr), (v))
+#define readw(addr)    in_le16(addr)
+#define writew(v, addr)        out_le16((addr), (v))
+
+#elif defined(CONFIG_ISA)
 
 #if MULTI_ISA == 0
 #undef MULTI_ISA