diff options
author | 2007-10-23 15:14:42 -0400 | |
---|---|---|
committer | 2008-01-26 15:03:44 +0000 | |
commit | c67de5b3c0bb48ac56f14928e11f1f7d76add26f (patch) | |
tree | fe611cc5bc571fc8d9068330b3ac95f2c85be19a /arch/arm/mach-orion/common.h | |
parent | [ARM] Orion: PCI support (diff) | |
download | linux-dev-c67de5b3c0bb48ac56f14928e11f1f7d76add26f.tar.xz linux-dev-c67de5b3c0bb48ac56f14928e11f1f7d76add26f.zip |
[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 '')
-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 02d0fec44a40..056043464ca1 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. |