xref: /openbmc/linux/arch/arm/mach-ixp4xx/Kconfig (revision 73d04ca5)
1# SPDX-License-Identifier: GPL-2.0-only
2if ARCH_IXP4XX
3
4menu "Intel IXP4xx Implementation Options"
5
6comment "IXP4xx Platforms"
7
8config MACH_IXP4XX_OF
9	bool
10	prompt "Device Tree IXP4xx boards"
11	default y
12	select ARM_APPENDED_DTB # Old Redboot bootloaders deployed
13	select I2C
14	select I2C_IOP3XX
15	select PCI
16	select USE_OF
17	help
18	  Say 'Y' here to support Device Tree-based IXP4xx platforms.
19
20config ARCH_ADI_COYOTE
21	bool "Coyote"
22	depends on IXP4XX_PCI_LEGACY
23	help
24	  Say 'Y' here if you want your kernel to support the ADI
25	  Engineering Coyote Gateway Reference Platform. For more
26	  information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
27
28config MACH_GATEWAY7001
29	bool "Gateway 7001"
30	depends on IXP4XX_PCI_LEGACY
31	help
32	  Say 'Y' here if you want your kernel to support Gateway's
33	  7001 Access Point. For more information on this platform,
34	  see http://openwrt.org
35
36config MACH_IXDPG425
37	bool "IXDPG425"
38	depends on IXP4XX_PCI_LEGACY
39	help
40	  Say 'Y' here if you want your kernel to support Intel's
41	  IXDPG425 Development Platform (Also known as Montajade).
42	  For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
43
44config MACH_GORAMO_MLR
45	bool "GORAMO Multi Link Router"
46	help
47	  Say 'Y' here if you want your kernel to support GORAMO
48	  MultiLink router.
49
50config ARCH_PRPMC1100
51	bool "PrPMC1100"
52	help
53	  Say 'Y' here if you want your kernel to support the Motorola
54	  PrPCM1100 Processor Mezanine Module. For more information on
55	  this platform, see <file:Documentation/arm/ixp4xx.rst>.
56
57config MACH_FSG
58	bool
59	prompt "Freecom FSG-3"
60	depends on IXP4XX_PCI_LEGACY
61	help
62	  Say 'Y' here if you want your kernel to support Freecom's
63	  FSG-3 device. For more information on this platform,
64	  see http://www.nslu2-linux.org/wiki/FSG3/HomePage
65
66#
67# Certain registers and IRQs are only enabled if supporting IXP465 CPUs
68#
69config CPU_IXP46X
70	bool
71	depends on MACH_IXDP465
72	default y
73
74config CPU_IXP43X
75	bool
76	depends on MACH_KIXRP435
77	default y
78
79config MACH_GTWX5715
80	bool "Gemtek WX5715 (Linksys WRV54G)"
81	depends on ARCH_IXP4XX
82	depends on IXP4XX_PCI_LEGACY
83	help
84		This board is currently inside the Linksys WRV54G Gateways.
85
86		IXP425 - 266mhz
87		32mb SDRAM
88		8mb Flash
89		miniPCI slot 0 does not have a card connector soldered to the board
90		miniPCI slot 1 has an ISL3880 802.11g card (Prism54)
91		npe0 is connected to a Kendin KS8995M Switch (4 ports)
92		npe1 is the "wan" port
93		"Console" UART is available on J11 as console
94		"High Speed" UART is n/c (as far as I can tell)
95		20 Pin ARM/Xscale JTAG interface on J2
96
97comment "IXP4xx Options"
98
99config IXP4XX_PCI_LEGACY
100	bool "IXP4xx legacy PCI driver support"
101	depends on PCI
102	help
103	  Selects legacy PCI driver.
104	  Not recommended for new development.
105
106config IXP4XX_INDIRECT_PCI
107	bool "Use indirect PCI memory access"
108	depends on IXP4XX_PCI_LEGACY
109	help
110          IXP4xx provides two methods of accessing PCI memory space:
111
112          1) A direct mapped window from 0x48000000 to 0x4BFFFFFF (64MB).
113             To access PCI via this space, we simply ioremap() the BAR
114             into the kernel and we can use the standard read[bwl]/write[bwl]
115             macros. This is the preferred method due to speed but it
116             limits the system to just 64MB of PCI memory. This can be
117             problematic if using video cards and other memory-heavy devices.
118
119	  2) If > 64MB of memory space is required, the IXP4xx can be
120	     configured to use indirect registers to access the whole PCI
121	     memory space. This currently allows for up to 1 GB (0x10000000
122	     to 0x4FFFFFFF) of memory on the bus. The disadvantage of this
123	     is that every PCI access requires three local register accesses
124	     plus a spinlock, but in some cases the performance hit is
125	     acceptable. In addition, you cannot mmap() PCI devices in this
126	     case due to the indirect nature of the PCI window.
127
128	  By default, the direct method is used. Choose this option if you
129	  need to use the indirect method instead. If you don't know
130	  what you need, leave this option unselected.
131
132endmenu
133
134endif
135