1 /* 2 * OpenRISC Linux 3 * 4 * Linux architectural port borrowing liberally from similar works of 5 * others. All original copyrights apply as per the original source 6 * declaration. 7 * 8 * OpenRISC implementation: 9 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> 10 * et al. 11 * 12 * This program is free software; you can redistribute it and/or modify 13 * it under the terms of the GNU General Public License as published by 14 * the Free Software Foundation; either version 2 of the License, or 15 * (at your option) any later version. 16 */ 17 18 #include <linux/of.h> /* linux/of.h gets to determine #include ordering */ 19 20 #ifndef _ASM_OPENRISC_PROM_H 21 #define _ASM_OPENRISC_PROM_H 22 #ifdef __KERNEL__ 23 #ifndef __ASSEMBLY__ 24 25 #include <linux/types.h> 26 #include <asm/irq.h> 27 #include <linux/irqdomain.h> 28 #include <linux/atomic.h> 29 #include <linux/of_irq.h> 30 #include <linux/of_fdt.h> 31 #include <linux/of_address.h> 32 #include <linux/proc_fs.h> 33 #include <linux/platform_device.h> 34 #define HAVE_ARCH_DEVTREE_FIXUPS 35 36 /* Other Prototypes */ 37 extern int early_uartlite_console(void); 38 39 /* Parse the ibm,dma-window property of an OF node into the busno, phys and 40 * size parameters. 41 */ 42 void of_parse_dma_window(struct device_node *dn, const void *dma_window_prop, 43 unsigned long *busno, unsigned long *phys, unsigned long *size); 44 45 extern void kdump_move_device_tree(void); 46 47 /* CPU OF node matching */ 48 struct device_node *of_get_cpu_node(int cpu, unsigned int *thread); 49 50 /* Get the MAC address */ 51 extern const void *of_get_mac_address(struct device_node *np); 52 53 /** 54 * of_irq_map_pci - Resolve the interrupt for a PCI device 55 * @pdev: the device whose interrupt is to be resolved 56 * @out_irq: structure of_irq filled by this function 57 * 58 * This function resolves the PCI interrupt for a given PCI device. If a 59 * device-node exists for a given pci_dev, it will use normal OF tree 60 * walking. If not, it will implement standard swizzling and walk up the 61 * PCI tree until an device-node is found, at which point it will finish 62 * resolving using the OF tree walking. 63 */ 64 struct pci_dev; 65 extern int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq); 66 67 #endif /* __ASSEMBLY__ */ 68 #endif /* __KERNEL__ */ 69 #endif /* _ASM_OPENRISC_PROM_H */ 70