Dezhong Diao | f2ffa5a | 2010-10-13 00:52:46 -0600 | [diff] [blame] | 1 | /* |
| 2 | * arch/mips/include/asm/prom.h |
| 3 | * |
| 4 | * Copyright (C) 2010 Cisco Systems Inc. <dediao@cisco.com> |
| 5 | * |
| 6 | * This program is free software; you can redistribute it and/or modify |
| 7 | * it under the terms of the GNU General Public License version 2 as |
| 8 | * published by the Free Software Foundation. |
| 9 | * |
| 10 | */ |
Ralf Baechle | dd5d1380 | 2011-06-27 09:45:42 +0100 | [diff] [blame] | 11 | #ifndef __ASM_PROM_H |
| 12 | #define __ASM_PROM_H |
Dezhong Diao | f2ffa5a | 2010-10-13 00:52:46 -0600 | [diff] [blame] | 13 | |
| 14 | #ifdef CONFIG_OF |
Ralf Baechle | 0a4c531 | 2012-04-30 11:32:58 +0200 | [diff] [blame] | 15 | #include <linux/bug.h> |
| 16 | #include <linux/io.h> |
| 17 | #include <linux/types.h> |
Dezhong Diao | f2ffa5a | 2010-10-13 00:52:46 -0600 | [diff] [blame] | 18 | #include <asm/bootinfo.h> |
| 19 | |
Dezhong Diao | f2ffa5a | 2010-10-13 00:52:46 -0600 | [diff] [blame] | 20 | extern int early_init_dt_scan_memory_arch(unsigned long node, |
| 21 | const char *uname, int depth, void *data); |
| 22 | |
| 23 | extern int reserve_mem_mach(unsigned long addr, unsigned long size); |
| 24 | extern void free_mem_mach(unsigned long addr, unsigned long size); |
| 25 | |
David Daney | 4c60071 | 2010-10-19 15:50:31 -0700 | [diff] [blame] | 26 | extern void device_tree_init(void); |
Ralf Baechle | 0a4c531 | 2012-04-30 11:32:58 +0200 | [diff] [blame] | 27 | |
| 28 | static inline unsigned long pci_address_to_pio(phys_addr_t address) |
| 29 | { |
| 30 | /* |
| 31 | * The ioport address can be directly used by inX() / outX() |
| 32 | */ |
| 33 | BUG_ON(address > IO_SPACE_LIMIT); |
| 34 | |
| 35 | return (unsigned long) address; |
| 36 | } |
| 37 | #define pci_address_to_pio pci_address_to_pio |
| 38 | |
Ralf Baechle | 7d6168e5 | 2012-01-25 15:03:19 +0100 | [diff] [blame^] | 39 | struct boot_param_header; |
| 40 | |
| 41 | extern void __dt_setup_arch(struct boot_param_header *bph); |
| 42 | |
| 43 | #define dt_setup_arch(sym) \ |
| 44 | ({ \ |
| 45 | extern struct boot_param_header __dtb_##sym##_begin; \ |
| 46 | \ |
| 47 | __dt_setup_arch(&__dtb_##sym##_begin); \ |
| 48 | }) |
| 49 | |
Dezhong Diao | f2ffa5a | 2010-10-13 00:52:46 -0600 | [diff] [blame] | 50 | #else /* CONFIG_OF */ |
David Daney | 4c60071 | 2010-10-19 15:50:31 -0700 | [diff] [blame] | 51 | static inline void device_tree_init(void) { } |
Dezhong Diao | f2ffa5a | 2010-10-13 00:52:46 -0600 | [diff] [blame] | 52 | #endif /* CONFIG_OF */ |
| 53 | |
Ralf Baechle | dd5d1380 | 2011-06-27 09:45:42 +0100 | [diff] [blame] | 54 | #endif /* __ASM_PROM_H */ |