xref: /openbmc/linux/arch/arm/mach-ixp4xx/Kconfig (revision b00ced38)
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 ARCH_IXDP425
37	bool "IXDP425"
38	depends on IXP4XX_PCI_LEGACY
39	help
40	  Say 'Y' here if you want your kernel to support Intel's
41	  IXDP425 Development Platform (Also known as Richfield).
42	  For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
43
44config MACH_IXDPG425
45	bool "IXDPG425"
46	depends on IXP4XX_PCI_LEGACY
47	help
48	  Say 'Y' here if you want your kernel to support Intel's
49	  IXDPG425 Development Platform (Also known as Montajade).
50	  For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
51
52config MACH_IXDP465
53	bool "IXDP465"
54	help
55	  Say 'Y' here if you want your kernel to support Intel's
56	  IXDP465 Development Platform (Also known as BMP).
57	  For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
58
59config MACH_GORAMO_MLR
60	bool "GORAMO Multi Link Router"
61	help
62	  Say 'Y' here if you want your kernel to support GORAMO
63	  MultiLink router.
64
65config MACH_KIXRP435
66	bool "KIXRP435"
67	help
68	  Say 'Y' here if you want your kernel to support Intel's
69	  KIXRP435 Reference Platform.
70	  For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
71
72#
73# IXCDP1100 is the exact same HW as IXDP425, but with a different machine
74# number from the bootloader due to marketing monkeys, so we just enable it
75# by default if IXDP425 is enabled.
76#
77config ARCH_IXCDP1100
78	bool
79	depends on ARCH_IXDP425
80	default y
81
82config ARCH_PRPMC1100
83	bool "PrPMC1100"
84	help
85	  Say 'Y' here if you want your kernel to support the Motorola
86	  PrPCM1100 Processor Mezanine Module. For more information on
87	  this platform, see <file:Documentation/arm/ixp4xx.rst>.
88
89config	ARCH_IXDP4XX
90	bool
91	depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435
92	default y
93
94config MACH_FSG
95	bool
96	prompt "Freecom FSG-3"
97	depends on IXP4XX_PCI_LEGACY
98	help
99	  Say 'Y' here if you want your kernel to support Freecom's
100	  FSG-3 device. For more information on this platform,
101	  see http://www.nslu2-linux.org/wiki/FSG3/HomePage
102
103#
104# Certain registers and IRQs are only enabled if supporting IXP465 CPUs
105#
106config CPU_IXP46X
107	bool
108	depends on MACH_IXDP465
109	default y
110
111config CPU_IXP43X
112	bool
113	depends on MACH_KIXRP435
114	default y
115
116config MACH_GTWX5715
117	bool "Gemtek WX5715 (Linksys WRV54G)"
118	depends on ARCH_IXP4XX
119	depends on IXP4XX_PCI_LEGACY
120	help
121		This board is currently inside the Linksys WRV54G Gateways.
122
123		IXP425 - 266mhz
124		32mb SDRAM
125		8mb Flash
126		miniPCI slot 0 does not have a card connector soldered to the board
127		miniPCI slot 1 has an ISL3880 802.11g card (Prism54)
128		npe0 is connected to a Kendin KS8995M Switch (4 ports)
129		npe1 is the "wan" port
130		"Console" UART is available on J11 as console
131		"High Speed" UART is n/c (as far as I can tell)
132		20 Pin ARM/Xscale JTAG interface on J2
133
134comment "IXP4xx Options"
135
136config IXP4XX_PCI_LEGACY
137	bool "IXP4xx legacy PCI driver support"
138	depends on PCI
139	help
140	  Selects legacy PCI driver.
141	  Not recommended for new development.
142
143config IXP4XX_INDIRECT_PCI
144	bool "Use indirect PCI memory access"
145	depends on IXP4XX_PCI_LEGACY
146	help
147          IXP4xx provides two methods of accessing PCI memory space:
148
149          1) A direct mapped window from 0x48000000 to 0x4BFFFFFF (64MB).
150             To access PCI via this space, we simply ioremap() the BAR
151             into the kernel and we can use the standard read[bwl]/write[bwl]
152             macros. This is the preferred method due to speed but it
153             limits the system to just 64MB of PCI memory. This can be
154             problematic if using video cards and other memory-heavy devices.
155
156	  2) If > 64MB of memory space is required, the IXP4xx can be
157	     configured to use indirect registers to access the whole PCI
158	     memory space. This currently allows for up to 1 GB (0x10000000
159	     to 0x4FFFFFFF) of memory on the bus. The disadvantage of this
160	     is that every PCI access requires three local register accesses
161	     plus a spinlock, but in some cases the performance hit is
162	     acceptable. In addition, you cannot mmap() PCI devices in this
163	     case due to the indirect nature of the PCI window.
164
165	  By default, the direct method is used. Choose this option if you
166	  need to use the indirect method instead. If you don't know
167	  what you need, leave this option unselected.
168
169endmenu
170
171endif
172