From 3fafe9c202321a3edc47386d2071af89555c9f45 Mon Sep 17 00:00:00 2001 From: Benjamin Herrenschmidt Date: Mon, 15 Jul 2013 13:03:11 +1000 Subject: powerpc/powernv: Add PIO accessors for Power8 LPC bus This uses the hooks provided by CONFIG_PPC_INDIRECT_PIO to implement a set of hooks for IO port access to use the LPC bus via OPAL calls for the first 64K of IO space Signed-off-by: Benjamin Herrenschmidt --- arch/powerpc/include/asm/io.h | 8 ++++++++ arch/powerpc/include/asm/opal.h | 2 ++ 2 files changed, 10 insertions(+) (limited to 'arch/powerpc/include') diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h index 6cc61a3c43ee..5a64757dc0d1 100644 --- a/arch/powerpc/include/asm/io.h +++ b/arch/powerpc/include/asm/io.h @@ -69,6 +69,14 @@ extern unsigned long pci_dram_offset; extern resource_size_t isa_mem_base; +/* Boolean set by platform if PIO accesses are suppored while _IO_BASE + * is not set or addresses cannot be translated to MMIO. This is typically + * set when the platform supports "special" PIO accesses via a non memory + * mapped mechanism, and allows things like the early udbg UART code to + * function. + */ +extern bool isa_io_special; + #ifdef CONFIG_PPC32 #if defined(CONFIG_PPC_INDIRECT_PIO) || defined(CONFIG_PPC_INDIRECT_MMIO) #error CONFIG_PPC_INDIRECT_{PIO,MMIO} are not yet supported on 32 bits diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h index c701e2be73b1..48ad6780c6d9 100644 --- a/arch/powerpc/include/asm/opal.h +++ b/arch/powerpc/include/asm/opal.h @@ -687,6 +687,8 @@ extern int opal_machine_check(struct pt_regs *regs); extern void opal_shutdown(void); +extern void opal_lpc_init(void); + #endif /* __ASSEMBLY__ */ #endif /* __OPAL_H */ -- cgit v1.2.3