![Krzysztof Hałasa](/assets/img/avatar_default.png)
IXP4xx CPUs can indirectly access the whole 4 GB PCI MMIO address space (using the non-prefetch registers). Previously the available space depended on the CPU variant, since one of the IXP43x platforms needed more than the usual 128 MB. 1 GB should be enough for everyone, and if not, we can trivially increase it. Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
219 lines
6.3 KiB
Text
219 lines
6.3 KiB
Text
if ARCH_IXP4XX
|
|
|
|
config ARCH_SUPPORTS_BIG_ENDIAN
|
|
bool
|
|
default y
|
|
|
|
menu "Intel IXP4xx Implementation Options"
|
|
|
|
comment "IXP4xx Platforms"
|
|
|
|
config MACH_NSLU2
|
|
bool
|
|
prompt "Linksys NSLU2"
|
|
select PCI
|
|
help
|
|
Say 'Y' here if you want your kernel to support Linksys's
|
|
NSLU2 NAS device. For more information on this platform,
|
|
see http://www.nslu2-linux.org
|
|
|
|
config MACH_AVILA
|
|
bool "Avila"
|
|
select PCI
|
|
help
|
|
Say 'Y' here if you want your kernel to support the Gateworks
|
|
Avila Network Platform. For more information on this platform,
|
|
see <file:Documentation/arm/IXP4xx>.
|
|
|
|
config MACH_LOFT
|
|
bool "Loft"
|
|
depends on MACH_AVILA
|
|
help
|
|
Say 'Y' here if you want your kernel to support the Giant
|
|
Shoulder Inc Loft board (a minor variation on the standard
|
|
Gateworks Avila Network Platform).
|
|
|
|
config ARCH_ADI_COYOTE
|
|
bool "Coyote"
|
|
select PCI
|
|
help
|
|
Say 'Y' here if you want your kernel to support the ADI
|
|
Engineering Coyote Gateway Reference Platform. For more
|
|
information on this platform, see <file:Documentation/arm/IXP4xx>.
|
|
|
|
config MACH_GATEWAY7001
|
|
bool "Gateway 7001"
|
|
select PCI
|
|
help
|
|
Say 'Y' here if you want your kernel to support Gateway's
|
|
7001 Access Point. For more information on this platform,
|
|
see http://openwrt.org
|
|
|
|
config MACH_WG302V2
|
|
bool "Netgear WG302 v2 / WAG302 v2"
|
|
select PCI
|
|
help
|
|
Say 'Y' here if you want your kernel to support Netgear's
|
|
WG302 v2 or WAG302 v2 Access Points. For more information
|
|
on this platform, see http://openwrt.org
|
|
|
|
config ARCH_IXDP425
|
|
bool "IXDP425"
|
|
help
|
|
Say 'Y' here if you want your kernel to support Intel's
|
|
IXDP425 Development Platform (Also known as Richfield).
|
|
For more information on this platform, see <file:Documentation/arm/IXP4xx>.
|
|
|
|
config MACH_IXDPG425
|
|
bool "IXDPG425"
|
|
help
|
|
Say 'Y' here if you want your kernel to support Intel's
|
|
IXDPG425 Development Platform (Also known as Montajade).
|
|
For more information on this platform, see <file:Documentation/arm/IXP4xx>.
|
|
|
|
config MACH_IXDP465
|
|
bool "IXDP465"
|
|
help
|
|
Say 'Y' here if you want your kernel to support Intel's
|
|
IXDP465 Development Platform (Also known as BMP).
|
|
For more information on this platform, see <file:Documentation/arm/IXP4xx>.
|
|
|
|
config MACH_GORAMO_MLR
|
|
bool "GORAMO Multi Link Router"
|
|
help
|
|
Say 'Y' here if you want your kernel to support GORAMO
|
|
MultiLink router.
|
|
|
|
config MACH_KIXRP435
|
|
bool "KIXRP435"
|
|
help
|
|
Say 'Y' here if you want your kernel to support Intel's
|
|
KIXRP435 Reference Platform.
|
|
For more information on this platform, see <file:Documentation/arm/IXP4xx>.
|
|
|
|
#
|
|
# IXCDP1100 is the exact same HW as IXDP425, but with a different machine
|
|
# number from the bootloader due to marketing monkeys, so we just enable it
|
|
# by default if IXDP425 is enabled.
|
|
#
|
|
config ARCH_IXCDP1100
|
|
bool
|
|
depends on ARCH_IXDP425
|
|
default y
|
|
|
|
config ARCH_PRPMC1100
|
|
bool "PrPMC1100"
|
|
help
|
|
Say 'Y' here if you want your kernel to support the Motorola
|
|
PrPCM1100 Processor Mezanine Module. For more information on
|
|
this platform, see <file:Documentation/arm/IXP4xx>.
|
|
|
|
config MACH_NAS100D
|
|
bool
|
|
prompt "NAS100D"
|
|
select PCI
|
|
help
|
|
Say 'Y' here if you want your kernel to support Iomega's
|
|
NAS 100d device. For more information on this platform,
|
|
see http://www.nslu2-linux.org/wiki/NAS100d/HomePage
|
|
|
|
config MACH_DSMG600
|
|
bool
|
|
prompt "D-Link DSM-G600 RevA"
|
|
select PCI
|
|
help
|
|
Say 'Y' here if you want your kernel to support D-Link's
|
|
DSM-G600 RevA device. For more information on this platform,
|
|
see http://www.nslu2-linux.org/wiki/DSMG600/HomePage
|
|
|
|
config ARCH_IXDP4XX
|
|
bool
|
|
depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435
|
|
default y
|
|
|
|
config MACH_FSG
|
|
bool
|
|
prompt "Freecom FSG-3"
|
|
select PCI
|
|
help
|
|
Say 'Y' here if you want your kernel to support Freecom's
|
|
FSG-3 device. For more information on this platform,
|
|
see http://www.nslu2-linux.org/wiki/FSG3/HomePage
|
|
|
|
#
|
|
# Certain registers and IRQs are only enabled if supporting IXP465 CPUs
|
|
#
|
|
config CPU_IXP46X
|
|
bool
|
|
depends on MACH_IXDP465
|
|
default y
|
|
|
|
config CPU_IXP43X
|
|
bool
|
|
depends on MACH_KIXRP435
|
|
default y
|
|
|
|
config MACH_GTWX5715
|
|
bool "Gemtek WX5715 (Linksys WRV54G)"
|
|
depends on ARCH_IXP4XX
|
|
select PCI
|
|
help
|
|
This board is currently inside the Linksys WRV54G Gateways.
|
|
|
|
IXP425 - 266mhz
|
|
32mb SDRAM
|
|
8mb Flash
|
|
miniPCI slot 0 does not have a card connector soldered to the board
|
|
miniPCI slot 1 has an ISL3880 802.11g card (Prism54)
|
|
npe0 is connected to a Kendin KS8995M Switch (4 ports)
|
|
npe1 is the "wan" port
|
|
"Console" UART is available on J11 as console
|
|
"High Speed" UART is n/c (as far as I can tell)
|
|
20 Pin ARM/Xscale JTAG interface on J2
|
|
|
|
comment "IXP4xx Options"
|
|
|
|
config IXP4XX_INDIRECT_PCI
|
|
bool "Use indirect PCI memory access"
|
|
depends on PCI
|
|
help
|
|
IXP4xx provides two methods of accessing PCI memory space:
|
|
|
|
1) A direct mapped window from 0x48000000 to 0x4BFFFFFF (64MB).
|
|
To access PCI via this space, we simply ioremap() the BAR
|
|
into the kernel and we can use the standard read[bwl]/write[bwl]
|
|
macros. This is the preferred method due to speed but it
|
|
limits the system to just 64MB of PCI memory. This can be
|
|
problematic if using video cards and other memory-heavy devices.
|
|
|
|
2) If > 64MB of memory space is required, the IXP4xx can be
|
|
configured to use indirect registers to access the whole PCI
|
|
memory space. This currently allows for up to 1 GB (0x10000000
|
|
to 0x4FFFFFFF) of memory on the bus. The disadvantage of this
|
|
is that every PCI access requires three local register accesses
|
|
plus a spinlock, but in some cases the performance hit is
|
|
acceptable. In addition, you cannot mmap() PCI devices in this
|
|
case due to the indirect nature of the PCI window.
|
|
|
|
By default, the direct method is used. Choose this option if you
|
|
need to use the indirect method instead. If you don't know
|
|
what you need, leave this option unselected.
|
|
|
|
config IXP4XX_QMGR
|
|
tristate "IXP4xx Queue Manager support"
|
|
help
|
|
This driver supports IXP4xx built-in hardware queue manager
|
|
and is automatically selected by Ethernet and HSS drivers.
|
|
|
|
config IXP4XX_NPE
|
|
tristate "IXP4xx Network Processor Engine support"
|
|
select HOTPLUG
|
|
select FW_LOADER
|
|
help
|
|
This driver supports IXP4xx built-in network coprocessors
|
|
and is automatically selected by Ethernet and HSS drivers.
|
|
|
|
endmenu
|
|
|
|
endif
|