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 MACH_AVILA 21 bool "Avila" 22 depends on IXP4XX_PCI_LEGACY 23 help 24 Say 'Y' here if you want your kernel to support the Gateworks 25 Avila Network Platform. For more information on this platform, 26 see <file:Documentation/arm/ixp4xx.rst>. 27 28config MACH_LOFT 29 bool "Loft" 30 depends on MACH_AVILA 31 help 32 Say 'Y' here if you want your kernel to support the Giant 33 Shoulder Inc Loft board (a minor variation on the standard 34 Gateworks Avila Network Platform). 35 36config ARCH_ADI_COYOTE 37 bool "Coyote" 38 depends on IXP4XX_PCI_LEGACY 39 help 40 Say 'Y' here if you want your kernel to support the ADI 41 Engineering Coyote Gateway Reference Platform. For more 42 information on this platform, see <file:Documentation/arm/ixp4xx.rst>. 43 44config MACH_GATEWAY7001 45 bool "Gateway 7001" 46 depends on IXP4XX_PCI_LEGACY 47 help 48 Say 'Y' here if you want your kernel to support Gateway's 49 7001 Access Point. For more information on this platform, 50 see http://openwrt.org 51 52config MACH_WG302V2 53 bool "Netgear WG302 v2 / WAG302 v2" 54 depends on IXP4XX_PCI_LEGACY 55 help 56 Say 'Y' here if you want your kernel to support Netgear's 57 WG302 v2 or WAG302 v2 Access Points. For more information 58 on this platform, see http://openwrt.org 59 60config ARCH_IXDP425 61 bool "IXDP425" 62 depends on IXP4XX_PCI_LEGACY 63 help 64 Say 'Y' here if you want your kernel to support Intel's 65 IXDP425 Development Platform (Also known as Richfield). 66 For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>. 67 68config MACH_IXDPG425 69 bool "IXDPG425" 70 depends on IXP4XX_PCI_LEGACY 71 help 72 Say 'Y' here if you want your kernel to support Intel's 73 IXDPG425 Development Platform (Also known as Montajade). 74 For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>. 75 76config MACH_IXDP465 77 bool "IXDP465" 78 help 79 Say 'Y' here if you want your kernel to support Intel's 80 IXDP465 Development Platform (Also known as BMP). 81 For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>. 82 83config MACH_GORAMO_MLR 84 bool "GORAMO Multi Link Router" 85 help 86 Say 'Y' here if you want your kernel to support GORAMO 87 MultiLink router. 88 89config MACH_KIXRP435 90 bool "KIXRP435" 91 help 92 Say 'Y' here if you want your kernel to support Intel's 93 KIXRP435 Reference Platform. 94 For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>. 95 96# 97# IXCDP1100 is the exact same HW as IXDP425, but with a different machine 98# number from the bootloader due to marketing monkeys, so we just enable it 99# by default if IXDP425 is enabled. 100# 101config ARCH_IXCDP1100 102 bool 103 depends on ARCH_IXDP425 104 default y 105 106config ARCH_PRPMC1100 107 bool "PrPMC1100" 108 help 109 Say 'Y' here if you want your kernel to support the Motorola 110 PrPCM1100 Processor Mezanine Module. For more information on 111 this platform, see <file:Documentation/arm/ixp4xx.rst>. 112 113config MACH_NAS100D 114 bool 115 prompt "NAS100D" 116 depends on IXP4XX_PCI_LEGACY 117 help 118 Say 'Y' here if you want your kernel to support Iomega's 119 NAS 100d device. For more information on this platform, 120 see http://www.nslu2-linux.org/wiki/NAS100d/HomePage 121 122config MACH_DSMG600 123 bool 124 prompt "D-Link DSM-G600 RevA" 125 depends on IXP4XX_PCI_LEGACY 126 help 127 Say 'Y' here if you want your kernel to support D-Link's 128 DSM-G600 RevA device. For more information on this platform, 129 see http://www.nslu2-linux.org/wiki/DSMG600/HomePage 130 131config ARCH_IXDP4XX 132 bool 133 depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435 134 default y 135 136config MACH_FSG 137 bool 138 prompt "Freecom FSG-3" 139 depends on IXP4XX_PCI_LEGACY 140 help 141 Say 'Y' here if you want your kernel to support Freecom's 142 FSG-3 device. For more information on this platform, 143 see http://www.nslu2-linux.org/wiki/FSG3/HomePage 144 145config MACH_ARCOM_VULCAN 146 bool 147 prompt "Arcom/Eurotech Vulcan" 148 depends on IXP4XX_PCI_LEGACY 149 help 150 Say 'Y' here if you want your kernel to support Arcom's 151 Vulcan board. 152 153# 154# Certain registers and IRQs are only enabled if supporting IXP465 CPUs 155# 156config CPU_IXP46X 157 bool 158 depends on MACH_IXDP465 159 default y 160 161config CPU_IXP43X 162 bool 163 depends on MACH_KIXRP435 164 default y 165 166config MACH_GTWX5715 167 bool "Gemtek WX5715 (Linksys WRV54G)" 168 depends on ARCH_IXP4XX 169 depends on IXP4XX_PCI_LEGACY 170 help 171 This board is currently inside the Linksys WRV54G Gateways. 172 173 IXP425 - 266mhz 174 32mb SDRAM 175 8mb Flash 176 miniPCI slot 0 does not have a card connector soldered to the board 177 miniPCI slot 1 has an ISL3880 802.11g card (Prism54) 178 npe0 is connected to a Kendin KS8995M Switch (4 ports) 179 npe1 is the "wan" port 180 "Console" UART is available on J11 as console 181 "High Speed" UART is n/c (as far as I can tell) 182 20 Pin ARM/Xscale JTAG interface on J2 183 184config MACH_DEVIXP 185 bool "Omicron DEVIXP" 186 help 187 Say 'Y' here if you want your kernel to support the DEVIXP 188 board from OMICRON electronics GmbH. 189 190config MACH_MICCPT 191 bool "Omicron MICCPT" 192 depends on IXP4XX_PCI_LEGACY 193 help 194 Say 'Y' here if you want your kernel to support the MICCPT 195 board from OMICRON electronics GmbH. 196 197config MACH_MIC256 198 bool "Omicron MIC256" 199 help 200 Say 'Y' here if you want your kernel to support the MIC256 201 board from OMICRON electronics GmbH. 202 203comment "IXP4xx Options" 204 205config IXP4XX_PCI_LEGACY 206 bool "IXP4xx legacy PCI driver support" 207 depends on PCI 208 help 209 Selects legacy PCI driver. 210 Not recommended for new development. 211 212config IXP4XX_INDIRECT_PCI 213 bool "Use indirect PCI memory access" 214 depends on IXP4XX_PCI_LEGACY 215 help 216 IXP4xx provides two methods of accessing PCI memory space: 217 218 1) A direct mapped window from 0x48000000 to 0x4BFFFFFF (64MB). 219 To access PCI via this space, we simply ioremap() the BAR 220 into the kernel and we can use the standard read[bwl]/write[bwl] 221 macros. This is the preferred method due to speed but it 222 limits the system to just 64MB of PCI memory. This can be 223 problematic if using video cards and other memory-heavy devices. 224 225 2) If > 64MB of memory space is required, the IXP4xx can be 226 configured to use indirect registers to access the whole PCI 227 memory space. This currently allows for up to 1 GB (0x10000000 228 to 0x4FFFFFFF) of memory on the bus. The disadvantage of this 229 is that every PCI access requires three local register accesses 230 plus a spinlock, but in some cases the performance hit is 231 acceptable. In addition, you cannot mmap() PCI devices in this 232 case due to the indirect nature of the PCI window. 233 234 By default, the direct method is used. Choose this option if you 235 need to use the indirect method instead. If you don't know 236 what you need, leave this option unselected. 237 238endmenu 239 240endif 241