diff options
author | Tzachi Perelstein <tzachi@marvell.com> | 2007-10-23 15:14:42 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-01-26 15:03:44 +0000 |
commit | c67de5b3c0bb48ac56f14928e11f1f7d76add26f (patch) | |
tree | fe611cc5bc571fc8d9068330b3ac95f2c85be19a /arch/arm/mach-orion/common.h | |
parent | 038ee0832ee1b1e2bd2be4599cd535ea9aaaf658 (diff) |
[ARM] Orion: programable address map support
The Orion has fully programable address map. There's a separate address
map for each of the device _master_ interfaces, e.g. CPU, PCI, PCIE, USB,
Gigabit Ethernet, DMA/XOR engines, etc.
Signed-off-by: Tzachi Perelstein <tzachi@marvell.com>
Reviewed-by: Nicolas Pitre <nico@marvell.com>
Reviewed-by: Lennert Buytenhek <buytenh@marvell.com>
Diffstat (limited to 'arch/arm/mach-orion/common.h')
-rw-r--r-- | arch/arm/mach-orion/common.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/arm/mach-orion/common.h b/arch/arm/mach-orion/common.h index 02d0fec44a4..056043464ca 100644 --- a/arch/arm/mach-orion/common.h +++ b/arch/arm/mach-orion/common.h @@ -4,7 +4,37 @@ /* * Basic Orion init functions used early by machine-setup. */ + void __init orion_map_io(void); +void __init orion_init(void); + +/* + * Enumerations and functions for Orion windows mapping. Used by Orion core + * functions to map its interfaces and by the machine-setup to map its on- + * board devices. Details in /mach-orion/addr-map.c + */ + +enum orion_target { + ORION_DEV_BOOT = 0, + ORION_DEV0, + ORION_DEV1, + ORION_DEV2, + ORION_PCIE_MEM, + ORION_PCIE_IO, + ORION_PCI_MEM, + ORION_PCI_IO, + ORION_DDR, + ORION_REGS, + ORION_MAX_TARGETS +}; + +void orion_setup_cpu_win(enum orion_target target, u32 base, u32 size, int remap); +void orion_setup_cpu_wins(void); +void orion_setup_eth_wins(void); +void orion_setup_usb_wins(void); +void orion_setup_pci_wins(void); +void orion_setup_pcie_wins(void); +void orion_setup_sata_wins(void); /* * Shared code used internally by other Orion core functions. |