Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
if CONFIG_ARCH_IXP4XX

menu "Intel IXP4xx Implementation Options"

comment "IXP4xx Platforms"

config CONFIG_MACH_IXP4XX_OF
	bool
	prompt "Devce Tree IXP4xx boards"
	default y
	select CONFIG_ARM_APPENDED_DTB # Old Redboot bootloaders deployed
	select CONFIG_I2C
	select CONFIG_I2C_IOP3XX
	select CONFIG_PCI
	select CONFIG_TIMER_OF
	select CONFIG_USE_OF
	help
	  Say 'Y' here to support Device Tree-based IXP4xx platforms.

config CONFIG_MACH_NSLU2
	bool
	prompt "Linksys NSLU2"
	select CONFIG_FORCE_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 CONFIG_MACH_AVILA
	bool "Avila"
	select CONFIG_FORCE_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.rst>.

config CONFIG_MACH_LOFT
    bool "Loft"
    depends on CONFIG_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 CONFIG_ARCH_ADI_COYOTE
	bool "Coyote"
	select CONFIG_FORCE_PCI
	help
	  Say 'Y' here if you want your kernel to support the CONFIG_ADI 
	  Engineering Coyote Gateway Reference Platform. For more
	  information on this platform, see <file:Documentation/arm/ixp4xx.rst>.

config CONFIG_MACH_GATEWAY7001
	bool "Gateway 7001"
	select CONFIG_FORCE_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 CONFIG_MACH_WG302V2
	bool "Netgear WG302 v2 / WAG302 v2"
	select CONFIG_FORCE_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 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.rst>.

config 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.rst>.

config 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.rst>.

config CONFIG_MACH_GORAMO_MLR
	bool "GORAMO Multi Link Router"
	help
	  Say 'Y' here if you want your kernel to support GORAMO
	  MultiLink router.

config 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.rst>.

#
# 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 CONFIG_ARCH_IXCDP1100
	bool 
	depends on CONFIG_ARCH_IXDP425
	default y

config 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.rst>.

config CONFIG_MACH_NAS100D
	bool
	prompt "NAS100D"
	select CONFIG_FORCE_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 CONFIG_MACH_DSMG600
	bool
	prompt "D-Link DSM-G600 RevA"
	select CONFIG_FORCE_PCI
	help
	  Say 'Y' here if you want your kernel to support CONFIG_D-Link's
	  DSM-G600 RevA device. For more information on this platform,
	  see http://www.nslu2-linux.org/wiki/DSMG600/HomePage

config	CONFIG_ARCH_IXDP4XX
	bool
	depends on CONFIG_ARCH_IXDP425 || CONFIG_MACH_IXDP465 || CONFIG_MACH_KIXRP435
	default y

config CONFIG_MACH_FSG
	bool
	prompt "Freecom FSG-3"
	select CONFIG_FORCE_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

config CONFIG_MACH_ARCOM_VULCAN
	bool
	prompt "Arcom/Eurotech Vulcan"
	select CONFIG_FORCE_PCI
	help
	  Say 'Y' here if you want your kernel to support Arcom's
	  Vulcan board.

#
# Certain registers and IRQs are only enabled if supporting IXP465 CPUs
#
config CONFIG_CPU_IXP46X
	bool
	depends on CONFIG_MACH_IXDP465
	default y

config CONFIG_CPU_IXP43X
	bool
	depends on CONFIG_MACH_KIXRP435
	default y

config CONFIG_MACH_GTWX5715
	bool "Gemtek WX5715 (Linksys WRV54G)"
	depends on CONFIG_ARCH_IXP4XX
	select CONFIG_FORCE_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 CONFIG_ARM/Xscale JTAG interface on J2

config CONFIG_MACH_DEVIXP
	bool "Omicron DEVIXP"
	help
	  Say 'Y' here if you want your kernel to support the DEVIXP
	  board from OMICRON electronics GmbH.

config CONFIG_MACH_MICCPT
	bool "Omicron MICCPT"
	select CONFIG_FORCE_PCI
	help
	  Say 'Y' here if you want your kernel to support the MICCPT
	  board from OMICRON electronics GmbH.

config CONFIG_MACH_MIC256
	bool "Omicron MIC256"
	help
	  Say 'Y' here if you want your kernel to support the MIC256
	  board from OMICRON electronics GmbH.

comment "IXP4xx Options"

config CONFIG_IXP4XX_INDIRECT_PCI
	bool "Use indirect PCI memory access"
	depends on CONFIG_PCI
	help
          IXP4xx provides two methods of accessing CONFIG_PCI memory space:

          1) CONFIG_A direct mapped window from 0x48000000 to 0x4BFFFFFF (64MB).
             To access CONFIG_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 CONFIG_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 CONFIG_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 CONFIG_PCI access requires three local register accesses
	     plus a spinlock, but in some cases the performance hit is
	     acceptable. In addition, you cannot mmap() CONFIG_PCI devices in this
	     case due to the indirect nature of the CONFIG_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.

endmenu

endif