Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | # |
Dominik Brodowski | bf45d9b0 | 2005-07-07 17:58:58 -0700 | [diff] [blame] | 3 | # PCCARD (PCMCIA/CardBus) bus subsystem configuration |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | # |
| 5 | |
Jan Engelhardt | 42c5323 | 2007-10-16 01:23:48 -0700 | [diff] [blame] | 6 | menuconfig PCCARD |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | tristate "PCCard (PCMCIA/CardBus) support" |
Christoph Hellwig | 8fb71ef | 2018-11-15 20:05:35 +0100 | [diff] [blame] | 8 | depends on !UML |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 9 | help |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | Say Y here if you want to attach PCMCIA- or PC-cards to your Linux |
| 11 | computer. These are credit-card size devices such as network cards, |
| 12 | modems or hard drives often used with laptops computers. There are |
Dominik Brodowski | 9a5555b | 2005-06-27 16:28:47 -0700 | [diff] [blame] | 13 | actually two varieties of these cards: 16 bit PCMCIA and 32 bit |
| 14 | CardBus cards. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 | |
| 16 | To compile this driver as modules, choose M here: the |
| 17 | module will be called pcmcia_core. |
| 18 | |
| 19 | if PCCARD |
| 20 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 21 | config PCMCIA |
| 22 | tristate "16-bit PCMCIA support" |
Dominik Brodowski | f861bd2 | 2005-06-27 16:28:57 -0700 | [diff] [blame] | 23 | select CRC32 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | default y |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 25 | help |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 26 | This option enables support for 16-bit PCMCIA cards. Most older |
| 27 | PC-cards are such 16-bit PCMCIA cards, so unless you know you're |
| 28 | only using 32-bit CardBus cards, say Y or M here. |
| 29 | |
Dominik Brodowski | 9a5555b | 2005-06-27 16:28:47 -0700 | [diff] [blame] | 30 | To use 16-bit PCMCIA cards, you will need supporting software in |
| 31 | most cases. (see the file <file:Documentation/Changes> for |
| 32 | location and details). |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | |
| 34 | To compile this driver as modules, choose M here: the |
| 35 | module will be called pcmcia. |
| 36 | |
| 37 | If unsure, say Y. |
| 38 | |
Dominik Brodowski | daa9517 | 2005-06-27 16:28:14 -0700 | [diff] [blame] | 39 | config PCMCIA_LOAD_CIS |
Kees Cook | 204911f | 2012-10-02 11:18:44 -0700 | [diff] [blame] | 40 | bool "Load CIS updates from userspace" |
| 41 | depends on PCMCIA |
Dominik Brodowski | daa9517 | 2005-06-27 16:28:14 -0700 | [diff] [blame] | 42 | select FW_LOADER |
| 43 | default y |
| 44 | help |
| 45 | Some PCMCIA cards require an updated Card Information Structure (CIS) |
| 46 | to be loaded from userspace to work correctly. If you say Y here, |
| 47 | and your userspace is arranged correctly, this will be loaded |
| 48 | automatically using the in-kernel firmware loader and the hotplug |
| 49 | subsystem, instead of relying on cardmgr from pcmcia-cs to do so. |
| 50 | |
| 51 | If unsure, say Y. |
| 52 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 53 | config CARDBUS |
Dominik Brodowski | 9fea84f | 2009-12-07 22:11:45 +0100 | [diff] [blame] | 54 | bool "32-bit CardBus support" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 55 | depends on PCI |
| 56 | default y |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 57 | help |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 58 | CardBus is a bus mastering architecture for PC-cards, which allows |
| 59 | for 32 bit PC-cards (the original PCMCIA standard specifies only |
| 60 | a 16 bit wide bus). Many newer PC-cards are actually CardBus cards. |
| 61 | |
| 62 | To use 32 bit PC-cards, you also need a CardBus compatible host |
| 63 | bridge. Virtually all modern PCMCIA bridges do this, and most of |
| 64 | them are "yenta-compatible", so say Y or M there, too. |
| 65 | |
| 66 | If unsure, say Y. |
| 67 | |
Russell King | bebdf98 | 2018-11-28 13:57:23 +0000 | [diff] [blame] | 68 | config PCMCIA_MAX1600 |
| 69 | tristate |
| 70 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 71 | comment "PC-card bridges" |
| 72 | |
| 73 | config YENTA |
| 74 | tristate "CardBus yenta-compatible bridge support" |
Dominik Brodowski | 89b39f5 | 2005-07-07 17:59:09 -0700 | [diff] [blame] | 75 | depends on PCI |
David Rientjes | 6a108a1 | 2011-01-20 14:44:16 -0800 | [diff] [blame] | 76 | select CARDBUS if !EXPERT |
Greg Kroah-Hartman | 3d7a827 | 2015-03-11 14:21:23 +0100 | [diff] [blame] | 77 | select PCCARD_NONSTATIC if PCMCIA != n |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 78 | help |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 79 | This option enables support for CardBus host bridges. Virtually |
Dominik Brodowski | 9fea84f | 2009-12-07 22:11:45 +0100 | [diff] [blame] | 80 | all modern PCMCIA bridges are CardBus compatible. A "bridge" is |
| 81 | the hardware inside your computer that PCMCIA cards are plugged |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 82 | into. |
| 83 | |
| 84 | To compile this driver as modules, choose M here: the |
| 85 | module will be called yenta_socket. |
| 86 | |
| 87 | If unsure, say Y. |
| 88 | |
Daniel Ritz | 63e7ebd | 2005-11-03 21:12:14 +0100 | [diff] [blame] | 89 | config YENTA_O2 |
| 90 | default y |
David Rientjes | 6a108a1 | 2011-01-20 14:44:16 -0800 | [diff] [blame] | 91 | bool "Special initialization for O2Micro bridges" if EXPERT |
Daniel Ritz | 63e7ebd | 2005-11-03 21:12:14 +0100 | [diff] [blame] | 92 | depends on YENTA |
| 93 | |
| 94 | config YENTA_RICOH |
| 95 | default y |
David Rientjes | 6a108a1 | 2011-01-20 14:44:16 -0800 | [diff] [blame] | 96 | bool "Special initialization for Ricoh bridges" if EXPERT |
Daniel Ritz | 63e7ebd | 2005-11-03 21:12:14 +0100 | [diff] [blame] | 97 | depends on YENTA |
| 98 | |
| 99 | config YENTA_TI |
| 100 | default y |
David Rientjes | 6a108a1 | 2011-01-20 14:44:16 -0800 | [diff] [blame] | 101 | bool "Special initialization for TI and EnE bridges" if EXPERT |
Daniel Ritz | 63e7ebd | 2005-11-03 21:12:14 +0100 | [diff] [blame] | 102 | depends on YENTA |
| 103 | |
| 104 | config YENTA_ENE_TUNE |
| 105 | default y |
David Rientjes | 6a108a1 | 2011-01-20 14:44:16 -0800 | [diff] [blame] | 106 | bool "Auto-tune EnE bridges for CB cards" if EXPERT |
Daniel Ritz | 63e7ebd | 2005-11-03 21:12:14 +0100 | [diff] [blame] | 107 | depends on YENTA_TI && CARDBUS |
| 108 | |
| 109 | config YENTA_TOSHIBA |
| 110 | default y |
David Rientjes | 6a108a1 | 2011-01-20 14:44:16 -0800 | [diff] [blame] | 111 | bool "Special initialization for Toshiba ToPIC bridges" if EXPERT |
Daniel Ritz | 63e7ebd | 2005-11-03 21:12:14 +0100 | [diff] [blame] | 112 | depends on YENTA |
| 113 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 114 | config PD6729 |
| 115 | tristate "Cirrus PD6729 compatible bridge support" |
| 116 | depends on PCMCIA && PCI |
Greg Kroah-Hartman | 3d7a827 | 2015-03-11 14:21:23 +0100 | [diff] [blame] | 117 | select PCCARD_NONSTATIC |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 118 | help |
| 119 | This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge |
| 120 | device, found in some older laptops and PCMCIA card readers. |
| 121 | |
| 122 | config I82092 |
| 123 | tristate "i82092 compatible bridge support" |
| 124 | depends on PCMCIA && PCI |
Greg Kroah-Hartman | 3d7a827 | 2015-03-11 14:21:23 +0100 | [diff] [blame] | 125 | select PCCARD_NONSTATIC |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 126 | help |
| 127 | This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device, |
| 128 | found in some older laptops and more commonly in evaluation boards for the |
| 129 | chip. |
| 130 | |
| 131 | config I82365 |
| 132 | tristate "i82365 compatible bridge support" |
| 133 | depends on PCMCIA && ISA |
| 134 | select PCCARD_NONSTATIC |
| 135 | help |
| 136 | Say Y here to include support for ISA-bus PCMCIA host bridges that |
| 137 | are register compatible with the Intel i82365. These are found on |
| 138 | older laptops and ISA-bus card readers for desktop systems. A |
| 139 | "bridge" is the hardware inside your computer that PCMCIA cards are |
| 140 | plugged into. If unsure, say N. |
| 141 | |
| 142 | config TCIC |
| 143 | tristate "Databook TCIC host bridge support" |
Komuro | 8100080 | 2005-09-24 23:12:40 -0700 | [diff] [blame] | 144 | depends on PCMCIA && ISA |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 145 | select PCCARD_NONSTATIC |
| 146 | help |
| 147 | Say Y here to include support for the Databook TCIC family of PCMCIA |
| 148 | host bridges. These are only found on a handful of old systems. |
| 149 | "Bridge" is the name used for the hardware inside your computer that |
| 150 | PCMCIA cards are plugged into. If unsure, say N. |
| 151 | |
Manuel Lauss | 66213b3 | 2009-10-04 14:55:27 +0200 | [diff] [blame] | 152 | config PCMCIA_ALCHEMY_DEVBOARD |
| 153 | tristate "Alchemy Db/Pb1xxx PCMCIA socket services" |
Manuel Lauss | 42a4f17 | 2010-07-15 21:45:04 +0200 | [diff] [blame] | 154 | depends on MIPS_ALCHEMY && PCMCIA |
Manuel Lauss | 66213b3 | 2009-10-04 14:55:27 +0200 | [diff] [blame] | 155 | help |
| 156 | Enable this driver of you want PCMCIA support on your Alchemy |
Manuel Lauss | 64cd04d | 2011-11-10 12:03:26 +0000 | [diff] [blame] | 157 | Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300 |
| 158 | board. NOT suitable for the PB1000! |
Manuel Lauss | 66213b3 | 2009-10-04 14:55:27 +0200 | [diff] [blame] | 159 | |
| 160 | This driver is also available as a module called db1xxx_ss.ko |
| 161 | |
Manuel Lauss | 0273b4e | 2009-10-04 14:55:29 +0200 | [diff] [blame] | 162 | config PCMCIA_XXS1500 |
| 163 | tristate "MyCable XXS1500 PCMCIA socket support" |
| 164 | depends on PCMCIA && MIPS_XXS1500 |
Manuel Lauss | 0273b4e | 2009-10-04 14:55:29 +0200 | [diff] [blame] | 165 | help |
| 166 | Support for the PCMCIA/CF socket interface on MyCable XXS1500 |
| 167 | systems. |
| 168 | |
| 169 | This driver is also available as a module called xxs1500_ss.ko |
| 170 | |
Maxime Bizon | 553d6d5 | 2009-09-28 14:49:43 +0200 | [diff] [blame] | 171 | config PCMCIA_BCM63XX |
| 172 | tristate "bcm63xx pcmcia support" |
| 173 | depends on BCM63XX && PCMCIA |
| 174 | |
Russell King - ARM Linux | 0f767de | 2009-03-26 21:14:19 +0000 | [diff] [blame] | 175 | config PCMCIA_SOC_COMMON |
Russell King | 1bf8e62 | 2009-12-06 16:58:50 +0000 | [diff] [blame] | 176 | tristate |
Russell King - ARM Linux | 0f767de | 2009-03-26 21:14:19 +0000 | [diff] [blame] | 177 | |
Russell King | 136b758 | 2012-01-17 22:36:45 +0000 | [diff] [blame] | 178 | config PCMCIA_SA11XX_BASE |
| 179 | tristate |
| 180 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 181 | config PCMCIA_SA1100 |
| 182 | tristate "SA1100 support" |
| 183 | depends on ARM && ARCH_SA1100 && PCMCIA |
Russell King - ARM Linux | 0f767de | 2009-03-26 21:14:19 +0000 | [diff] [blame] | 184 | select PCMCIA_SOC_COMMON |
Russell King | 136b758 | 2012-01-17 22:36:45 +0000 | [diff] [blame] | 185 | select PCMCIA_SA11XX_BASE |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 186 | help |
| 187 | Say Y here to include support for SA11x0-based PCMCIA or CF |
| 188 | sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/ |
| 189 | Xscale(R) embedded machines. |
| 190 | |
| 191 | This driver is also available as a module called sa1100_cs. |
| 192 | |
| 193 | config PCMCIA_SA1111 |
| 194 | tristate "SA1111 support" |
Russell King | 11990b2 | 2012-01-17 22:43:20 +0000 | [diff] [blame] | 195 | depends on ARM && SA1111 && PCMCIA |
Russell King - ARM Linux | 0f767de | 2009-03-26 21:14:19 +0000 | [diff] [blame] | 196 | select PCMCIA_SOC_COMMON |
Russell King | 11990b2 | 2012-01-17 22:43:20 +0000 | [diff] [blame] | 197 | select PCMCIA_SA11XX_BASE if ARCH_SA1100 |
Arnd Bergmann | f1674f2 | 2014-06-05 23:05:48 +0200 | [diff] [blame] | 198 | select PCMCIA_PXA2XX if ARCH_LUBBOCK && SA1111 |
Russell King | e2125d0 | 2018-11-28 13:57:23 +0000 | [diff] [blame] | 199 | select PCMCIA_MAX1600 if ASSABET_NEPONSET |
Russell King | f1f05ee | 2018-11-28 13:57:23 +0000 | [diff] [blame] | 200 | select PCMCIA_MAX1600 if ARCH_LUBBOCK && SA1111 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 201 | help |
| 202 | Say Y here to include support for SA1111-based PCMCIA or CF |
| 203 | sockets, found on the Jornada 720, Graphicsmaster and other |
| 204 | StrongARM(R)/Xscale(R) embedded machines. |
| 205 | |
| 206 | This driver is also available as a module called sa1111_cs. |
| 207 | |
| 208 | config PCMCIA_PXA2XX |
| 209 | tristate "PXA2xx support" |
| 210 | depends on ARM && ARCH_PXA && PCMCIA |
Marek VaĊĦut | 3597840 | 2008-07-07 17:28:59 +0100 | [diff] [blame] | 211 | depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \ |
Russell King | cc513ac | 2008-10-07 19:08:32 +0100 | [diff] [blame] | 212 | || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \ |
Marek Vasut | addff0f | 2010-03-10 04:16:28 +0100 | [diff] [blame] | 213 | || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2 \ |
Marek Vasut | fd62999 | 2010-08-11 05:04:53 +0200 | [diff] [blame] | 214 | || MACH_VPAC270 || MACH_BALLOON3 || MACH_COLIBRI \ |
Paul Parsons | 9524430 | 2012-05-06 01:09:19 +0100 | [diff] [blame] | 215 | || MACH_COLIBRI320 || MACH_H4700) |
Russell King - ARM Linux | 0f767de | 2009-03-26 21:14:19 +0000 | [diff] [blame] | 216 | select PCMCIA_SOC_COMMON |
Russell King | 34fdbe6 | 2018-11-28 13:57:23 +0000 | [diff] [blame] | 217 | select PCMCIA_MAX1600 if MACH_MAINSTONE |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 218 | help |
| 219 | Say Y here to include support for the PXA2xx PCMCIA controller |
| 220 | |
Dominik Brodowski | c9f50dd | 2009-10-23 12:56:46 +0200 | [diff] [blame] | 221 | config PCMCIA_DEBUG |
| 222 | bool "Enable debugging" |
| 223 | depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX) |
| 224 | help |
| 225 | Say Y here to enable debugging for the SoC PCMCIA layer. |
| 226 | You will need to choose the debugging level either via the |
| 227 | kernel command line, or module options depending whether |
| 228 | you build the drivers as modules. |
| 229 | |
| 230 | The kernel command line options are: |
| 231 | sa11xx_core.pc_debug=N |
| 232 | pxa2xx_core.pc_debug=N |
| 233 | |
| 234 | The module option is called pc_debug=N |
| 235 | |
| 236 | In all the above examples, N is the debugging verbosity |
| 237 | level. |
| 238 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 239 | config PCMCIA_PROBE |
| 240 | bool |
Alexander Shiyan | ea6add0 | 2013-06-16 22:42:05 +0400 | [diff] [blame] | 241 | default y if ISA && !ARCH_SA1100 && !PARISC |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 242 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 243 | config PCMCIA_VRC4171 |
| 244 | tristate "NEC VRC4171 Card Controllers support" |
Yoichi Yuasa | daaeb72 | 2006-04-06 15:08:29 +0900 | [diff] [blame] | 245 | depends on CPU_VR41XX && ISA && PCMCIA |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 246 | |
| 247 | config PCMCIA_VRC4173 |
| 248 | tristate "NEC VRC4173 CARDU support" |
| 249 | depends on CPU_VR41XX && PCI && PCMCIA |
| 250 | |
David Brownell | f74e48a | 2005-09-09 13:03:28 -0700 | [diff] [blame] | 251 | config OMAP_CF |
| 252 | tristate "OMAP CompactFlash Controller" |
| 253 | depends on PCMCIA && ARCH_OMAP16XX |
| 254 | help |
| 255 | Say Y here to support the CompactFlash controller on OMAP. |
| 256 | Note that this doesn't support "True IDE" mode. |
| 257 | |
Andrew Victor | 2c1f3b7 | 2006-02-21 12:56:52 +0200 | [diff] [blame] | 258 | config AT91_CF |
| 259 | tristate "AT91 CompactFlash Controller" |
Arnd Bergmann | 1be27c6 | 2015-03-12 15:54:23 +0100 | [diff] [blame] | 260 | depends on PCI |
Joachim Eastwood | ed9084e | 2013-06-06 10:24:18 +0200 | [diff] [blame] | 261 | depends on PCMCIA && ARCH_AT91 |
Andrew Victor | 2c1f3b7 | 2006-02-21 12:56:52 +0200 | [diff] [blame] | 262 | help |
| 263 | Say Y here to support the CompactFlash controller on AT91 chips. |
| 264 | Or choose M to compile the driver as a module named "at91_cf". |
| 265 | |
Olof Johansson | 2b571a0 | 2007-10-16 23:26:20 -0700 | [diff] [blame] | 266 | config ELECTRA_CF |
| 267 | tristate "Electra CompactFlash Controller" |
| 268 | depends on PCMCIA && PPC_PASEMI |
| 269 | help |
| 270 | Say Y here to support the CompactFlash controller on the |
| 271 | PA Semi Electra eval board. |
| 272 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 273 | config PCCARD_NONSTATIC |
Dominik Brodowski | 49b1153 | 2010-03-07 16:41:57 +0100 | [diff] [blame] | 274 | bool |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 275 | |
Dominik Brodowski | 3b27e94 | 2005-12-07 12:32:20 +0100 | [diff] [blame] | 276 | config PCCARD_IODYN |
| 277 | bool |
| 278 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 279 | endif # PCCARD |