1if ETRAX_ARCH_V32 2 3config ETRAX_ETHERNET 4 bool "Ethernet support" 5 depends on ETRAX_ARCH_V32 6 select NET_ETHERNET 7 select MII 8 help 9 This option enables the ETRAX FS built-in 10/100Mbit Ethernet 10 controller. 11 12config ETRAX_NO_PHY 13 bool "PHY not present" 14 depends on ETRAX_ETHERNET 15 default N 16 help 17 This option disables all MDIO communication with an ethernet 18 transceiver connected to the MII interface. This option shall 19 typically be enabled if the MII interface is connected to a 20 switch. This option should normally be disabled. If enabled, 21 speed and duplex will be locked to 100 Mbit and full duplex. 22 23config ETRAX_ETHERNET_IFACE0 24 depends on ETRAX_ETHERNET 25 bool "Enable network interface 0" 26 27config ETRAX_ETHERNET_IFACE1 28 depends on (ETRAX_ETHERNET && ETRAXFS) 29 bool "Enable network interface 1 (uses DMA6 and DMA7)" 30 31config ETRAX_ETHERNET_GBIT 32 depends on (ETRAX_ETHERNET && CRIS_MACH_ARTPEC3) 33 bool "Enable gigabit Ethernet support" 34 35choice 36 prompt "Eth0 led group" 37 depends on ETRAX_ETHERNET_IFACE0 38 default ETRAX_ETH0_USE_LEDGRP0 39 40config ETRAX_ETH0_USE_LEDGRP0 41 bool "Use LED grp 0" 42 depends on ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO 43 help 44 Use LED grp 0 for eth0 45 46config ETRAX_ETH0_USE_LEDGRP1 47 bool "Use LED grp 1" 48 depends on ETRAX_NBR_LED_GRP_TWO 49 help 50 Use LED grp 1 for eth0 51 52config ETRAX_ETH0_USE_LEDGRPNULL 53 bool "Use no LEDs for eth0" 54 help 55 Use no LEDs for eth0 56endchoice 57 58choice 59 prompt "Eth1 led group" 60 depends on ETRAX_ETHERNET_IFACE1 61 default ETRAX_ETH1_USE_LEDGRP1 62 63config ETRAX_ETH1_USE_LEDGRP0 64 bool "Use LED grp 0" 65 depends on ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO 66 help 67 Use LED grp 0 for eth1 68 69config ETRAX_ETH1_USE_LEDGRP1 70 bool "Use LED grp 1" 71 depends on ETRAX_NBR_LED_GRP_TWO 72 help 73 Use LED grp 1 for eth1 74 75config ETRAX_ETH1_USE_LEDGRPNULL 76 bool "Use no LEDs for eth1" 77 help 78 Use no LEDs for eth1 79endchoice 80 81config ETRAXFS_SERIAL 82 bool "Serial-port support" 83 depends on ETRAX_ARCH_V32 84 select SERIAL_CORE 85 select SERIAL_CORE_CONSOLE 86 help 87 Enables the ETRAX FS serial driver for ser0 (ttyS0) 88 You probably want this enabled. 89 90config ETRAX_RS485 91 bool "RS-485 support" 92 depends on ETRAXFS_SERIAL 93 help 94 Enables support for RS-485 serial communication. 95 96config ETRAX_RS485_DISABLE_RECEIVER 97 bool "Disable serial receiver" 98 depends on ETRAX_RS485 99 help 100 It is necessary to disable the serial receiver to avoid serial 101 loopback. Not all products are able to do this in software only. 102 103config ETRAX_SERIAL_PORT0 104 bool "Serial port 0 enabled" 105 depends on ETRAXFS_SERIAL 106 help 107 Enables the ETRAX FS serial driver for ser0 (ttyS0) 108 Normally you want this on. You can control what DMA channels to use 109 if you do not need DMA to something else. 110 ser0 can use dma4 or dma6 for output and dma5 or dma7 for input. 111 112choice 113 prompt "Ser0 default port type " 114 depends on ETRAX_SERIAL_PORT0 115 default ETRAX_SERIAL_PORT0_TYPE_232 116 help 117 Type of serial port. 118 119config ETRAX_SERIAL_PORT0_TYPE_232 120 bool "Ser0 is a RS-232 port" 121 help 122 Configure serial port 0 to be a RS-232 port. 123 124config ETRAX_SERIAL_PORT0_TYPE_485HD 125 bool "Ser0 is a half duplex RS-485 port" 126 depends on ETRAX_RS485 127 help 128 Configure serial port 0 to be a half duplex (two wires) RS-485 port. 129 130config ETRAX_SERIAL_PORT0_TYPE_485FD 131 bool "Ser0 is a full duplex RS-485 port" 132 depends on ETRAX_RS485 133 help 134 Configure serial port 0 to be a full duplex (four wires) RS-485 port. 135endchoice 136 137config ETRAX_SER0_DTR_BIT 138 string "Ser 0 DTR bit (empty = not used)" 139 depends on ETRAX_SERIAL_PORT0 140 141config ETRAX_SER0_RI_BIT 142 string "Ser 0 RI bit (empty = not used)" 143 depends on ETRAX_SERIAL_PORT0 144 145config ETRAX_SER0_DSR_BIT 146 string "Ser 0 DSR bit (empty = not used)" 147 depends on ETRAX_SERIAL_PORT0 148 149config ETRAX_SER0_CD_BIT 150 string "Ser 0 CD bit (empty = not used)" 151 depends on ETRAX_SERIAL_PORT0 152 153config ETRAX_SERIAL_PORT1 154 bool "Serial port 1 enabled" 155 depends on ETRAXFS_SERIAL 156 help 157 Enables the ETRAX FS serial driver for ser1 (ttyS1). 158 159choice 160 prompt "Ser1 default port type" 161 depends on ETRAX_SERIAL_PORT1 162 default ETRAX_SERIAL_PORT1_TYPE_232 163 help 164 Type of serial port. 165 166config ETRAX_SERIAL_PORT1_TYPE_232 167 bool "Ser1 is a RS-232 port" 168 help 169 Configure serial port 1 to be a RS-232 port. 170 171config ETRAX_SERIAL_PORT1_TYPE_485HD 172 bool "Ser1 is a half duplex RS-485 port" 173 depends on ETRAX_RS485 174 help 175 Configure serial port 1 to be a half duplex (two wires) RS-485 port. 176 177config ETRAX_SERIAL_PORT1_TYPE_485FD 178 bool "Ser1 is a full duplex RS-485 port" 179 depends on ETRAX_RS485 180 help 181 Configure serial port 1 to be a full duplex (four wires) RS-485 port. 182endchoice 183 184config ETRAX_SER1_DTR_BIT 185 string "Ser 1 DTR bit (empty = not used)" 186 depends on ETRAX_SERIAL_PORT1 187 188config ETRAX_SER1_RI_BIT 189 string "Ser 1 RI bit (empty = not used)" 190 depends on ETRAX_SERIAL_PORT1 191 192config ETRAX_SER1_DSR_BIT 193 string "Ser 1 DSR bit (empty = not used)" 194 depends on ETRAX_SERIAL_PORT1 195 196config ETRAX_SER1_CD_BIT 197 string "Ser 1 CD bit (empty = not used)" 198 depends on ETRAX_SERIAL_PORT1 199 200config ETRAX_SERIAL_PORT2 201 bool "Serial port 2 enabled" 202 depends on ETRAXFS_SERIAL 203 help 204 Enables the ETRAX FS serial driver for ser2 (ttyS2). 205 206choice 207 prompt "Ser2 default port type" 208 depends on ETRAX_SERIAL_PORT2 209 default ETRAX_SERIAL_PORT2_TYPE_232 210 help 211 What DMA channel to use for ser2 212 213config ETRAX_SERIAL_PORT2_TYPE_232 214 bool "Ser2 is a RS-232 port" 215 help 216 Configure serial port 2 to be a RS-232 port. 217 218config ETRAX_SERIAL_PORT2_TYPE_485HD 219 bool "Ser2 is a half duplex RS-485 port" 220 depends on ETRAX_RS485 221 help 222 Configure serial port 2 to be a half duplex (two wires) RS-485 port. 223 224config ETRAX_SERIAL_PORT2_TYPE_485FD 225 bool "Ser2 is a full duplex RS-485 port" 226 depends on ETRAX_RS485 227 help 228 Configure serial port 2 to be a full duplex (four wires) RS-485 port. 229endchoice 230 231 232config ETRAX_SER2_DTR_BIT 233 string "Ser 2 DTR bit (empty = not used)" 234 depends on ETRAX_SERIAL_PORT2 235 236config ETRAX_SER2_RI_BIT 237 string "Ser 2 RI bit (empty = not used)" 238 depends on ETRAX_SERIAL_PORT2 239 240config ETRAX_SER2_DSR_BIT 241 string "Ser 2 DSR bit (empty = not used)" 242 depends on ETRAX_SERIAL_PORT2 243 244config ETRAX_SER2_CD_BIT 245 string "Ser 2 CD bit (empty = not used)" 246 depends on ETRAX_SERIAL_PORT2 247 248config ETRAX_SERIAL_PORT3 249 bool "Serial port 3 enabled" 250 depends on ETRAXFS_SERIAL 251 help 252 Enables the ETRAX FS serial driver for ser3 (ttyS3). 253 254choice 255 prompt "Ser3 default port type" 256 depends on ETRAX_SERIAL_PORT3 257 default ETRAX_SERIAL_PORT3_TYPE_232 258 help 259 What DMA channel to use for ser3. 260 261config ETRAX_SERIAL_PORT3_TYPE_232 262 bool "Ser3 is a RS-232 port" 263 help 264 Configure serial port 3 to be a RS-232 port. 265 266config ETRAX_SERIAL_PORT3_TYPE_485HD 267 bool "Ser3 is a half duplex RS-485 port" 268 depends on ETRAX_RS485 269 help 270 Configure serial port 3 to be a half duplex (two wires) RS-485 port. 271 272config ETRAX_SERIAL_PORT3_TYPE_485FD 273 bool "Ser3 is a full duplex RS-485 port" 274 depends on ETRAX_RS485 275 help 276 Configure serial port 3 to be a full duplex (four wires) RS-485 port. 277endchoice 278 279config ETRAX_SER3_DTR_BIT 280 string "Ser 3 DTR bit (empty = not used)" 281 depends on ETRAX_SERIAL_PORT3 282 283config ETRAX_SER3_RI_BIT 284 string "Ser 3 RI bit (empty = not used)" 285 depends on ETRAX_SERIAL_PORT3 286 287config ETRAX_SER3_DSR_BIT 288 string "Ser 3 DSR bit (empty = not used)" 289 depends on ETRAX_SERIAL_PORT3 290 291config ETRAX_SER3_CD_BIT 292 string "Ser 3 CD bit (empty = not used)" 293 depends on ETRAX_SERIAL_PORT3 294 295config ETRAX_SERIAL_PORT4 296 bool "Serial port 4 enabled" 297 depends on ETRAXFS_SERIAL && CRIS_MACH_ARTPEC3 298 help 299 Enables the ETRAX FS serial driver for ser4 (ttyS4). 300 301choice 302 prompt "Ser4 default port type" 303 depends on ETRAX_SERIAL_PORT4 304 default ETRAX_SERIAL_PORT4_TYPE_232 305 help 306 What DMA channel to use for ser4. 307 308config ETRAX_SERIAL_PORT4_TYPE_232 309 bool "Ser4 is a RS-232 port" 310 help 311 Configure serial port 4 to be a RS-232 port. 312 313config ETRAX_SERIAL_PORT4_TYPE_485HD 314 bool "Ser4 is a half duplex RS-485 port" 315 depends on ETRAX_RS485 316 help 317 Configure serial port 4 to be a half duplex (two wires) RS-485 port. 318 319config ETRAX_SERIAL_PORT4_TYPE_485FD 320 bool "Ser4 is a full duplex RS-485 port" 321 depends on ETRAX_RS485 322 help 323 Configure serial port 4 to be a full duplex (four wires) RS-485 port. 324endchoice 325 326choice 327 prompt "Ser4 DMA in channel " 328 depends on ETRAX_SERIAL_PORT4 329 default ETRAX_SERIAL_PORT4_NO_DMA_IN 330 help 331 What DMA channel to use for ser4. 332 333 334config ETRAX_SERIAL_PORT4_NO_DMA_IN 335 bool "Ser4 uses no DMA for input" 336 help 337 Do not use DMA for ser4 input. 338 339config ETRAX_SERIAL_PORT4_DMA9_IN 340 bool "Ser4 uses DMA9 for input" 341 depends on ETRAX_SERIAL_PORT4 342 help 343 Enables the DMA9 input channel for ser4 (ttyS4). 344 If you do not enable DMA, an interrupt for each character will be 345 used when receiving data. 346 Normally you want to use DMA, unless you use the DMA channel for 347 something else. 348 349endchoice 350 351config ETRAX_SER4_DTR_BIT 352 string "Ser 4 DTR bit (empty = not used)" 353 depends on ETRAX_SERIAL_PORT4 354 355config ETRAX_SER4_RI_BIT 356 string "Ser 4 RI bit (empty = not used)" 357 depends on ETRAX_SERIAL_PORT4 358 359config ETRAX_SER4_DSR_BIT 360 string "Ser 4 DSR bit (empty = not used)" 361 depends on ETRAX_SERIAL_PORT4 362 363config ETRAX_SER4_CD_BIT 364 string "Ser 4 CD bit (empty = not used)" 365 depends on ETRAX_SERIAL_PORT4 366 367config ETRAX_SYNCHRONOUS_SERIAL 368 bool "Synchronous serial-port support" 369 depends on ETRAX_ARCH_V32 370 help 371 Enables the ETRAX FS synchronous serial driver. 372 373config ETRAX_SYNCHRONOUS_SERIAL_PORT0 374 bool "Synchronous serial port 0 enabled" 375 depends on ETRAX_SYNCHRONOUS_SERIAL 376 help 377 Enabled synchronous serial port 0. 378 379config ETRAX_SYNCHRONOUS_SERIAL0_DMA 380 bool "Enable DMA on synchronous serial port 0." 381 depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0 382 help 383 A synchronous serial port can run in manual or DMA mode. 384 Selecting this option will make it run in DMA mode. 385 386config ETRAX_SYNCHRONOUS_SERIAL_PORT1 387 bool "Synchronous serial port 1 enabled" 388 depends on ETRAX_SYNCHRONOUS_SERIAL && ETRAXFS 389 help 390 Enabled synchronous serial port 1. 391 392config ETRAX_SYNCHRONOUS_SERIAL1_DMA 393 bool "Enable DMA on synchronous serial port 1." 394 depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1 395 help 396 A synchronous serial port can run in manual or DMA mode. 397 Selecting this option will make it run in DMA mode. 398 399config ETRAX_AXISFLASHMAP 400 bool "Axis flash-map support" 401 depends on ETRAX_ARCH_V32 402 select MTD 403 select MTD_CFI 404 select MTD_CFI_AMDSTD 405 select MTD_JEDECPROBE 406 select MTD_CHAR 407 select MTD_BLOCK 408 select MTD_PARTITIONS 409 select MTD_COMPLEX_MAPPINGS 410 help 411 This option enables MTD mapping of flash devices. Needed to use 412 flash memories. If unsure, say Y. 413 414config ETRAX_AXISFLASHMAP_MTD0WHOLE 415 bool "MTD0 is whole boot flash device" 416 depends on ETRAX_AXISFLASHMAP 417 default N 418 help 419 When this option is not set, mtd0 refers to the first partition 420 on the boot flash device. When set, mtd0 refers to the whole 421 device, with mtd1 referring to the first partition etc. 422 423config ETRAX_PTABLE_SECTOR 424 int "Byte-offset of partition table sector" 425 depends on ETRAX_AXISFLASHMAP 426 default "65536" 427 help 428 Byte-offset of the partition table in the first flash chip. 429 The default value is 64kB and should not be changed unless 430 you know exactly what you are doing. The only valid reason 431 for changing this is when the flash block size is bigger 432 than 64kB (e.g. when using two parallel 16 bit flashes). 433 434config ETRAX_NANDFLASH 435 bool "NAND flash support" 436 depends on ETRAX_ARCH_V32 437 select MTD_NAND 438 select MTD_NAND_IDS 439 help 440 This option enables MTD mapping of NAND flash devices. Needed to use 441 NAND flash memories. If unsure, say Y. 442 443config ETRAX_NANDBOOT 444 bool "Boot from NAND flash" 445 depends on ETRAX_NANDFLASH 446 help 447 This options enables booting from NAND flash devices. 448 Say Y if your boot code, kernel and root file system is in 449 NAND flash. Say N if they are in NOR flash. 450 451config ETRAX_I2C 452 bool "I2C driver" 453 depends on ETRAX_ARCH_V32 454 help 455 This option enables the I2C driver used by e.g. the RTC driver. 456 457config ETRAX_V32_I2C_DATA_PORT 458 string "I2C data pin" 459 depends on ETRAX_I2C 460 help 461 The pin to use for I2C data. 462 463config ETRAX_V32_I2C_CLK_PORT 464 string "I2C clock pin" 465 depends on ETRAX_I2C 466 help 467 The pin to use for I2C clock. 468 469config ETRAX_GPIO 470 bool "GPIO support" 471 depends on ETRAX_ARCH_V32 472 ---help--- 473 Enables the ETRAX general port device (major 120, minors 0-4). 474 You can use this driver to access the general port bits. It supports 475 these ioctl's: 476 #include <linux/etraxgpio.h> 477 fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob 478 ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set); 479 ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear); 480 err = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READ_INBITS), &val); 481 Remember that you need to setup the port directions appropriately in 482 the General configuration. 483 484config ETRAX_VIRTUAL_GPIO 485 bool "Virtual GPIO support" 486 depends on ETRAX_GPIO 487 help 488 Enables the virtual Etrax general port device (major 120, minor 6). 489 It uses an I/O expander for the I2C-bus. 490 491config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN 492 int "Virtual GPIO interrupt pin on PA pin" 493 range 0 7 494 depends on ETRAX_VIRTUAL_GPIO 495 help 496 The pin to use on PA for virtual gpio interrupt. 497 498config ETRAX_PA_CHANGEABLE_DIR 499 hex "PA user changeable dir mask" 500 depends on ETRAX_GPIO 501 default "0x00" if ETRAXFS 502 default "0x00000000" if !ETRAXFS 503 help 504 This is a bitmask (8 bits) with information of what bits in PA that a 505 user can change direction on using ioctl's. 506 Bit set = changeable. 507 You probably want 0 here, but it depends on your hardware. 508 509config ETRAX_PA_CHANGEABLE_BITS 510 hex "PA user changeable bits mask" 511 depends on ETRAX_GPIO 512 default "0x00" if ETRAXFS 513 default "0x00000000" if !ETRAXFS 514 help 515 This is a bitmask (8 bits) with information of what bits in PA 516 that a user can change the value on using ioctl's. 517 Bit set = changeable. 518 519config ETRAX_PB_CHANGEABLE_DIR 520 hex "PB user changeable dir mask" 521 depends on ETRAX_GPIO 522 default "0x00000" if ETRAXFS 523 default "0x00000000" if !ETRAXFS 524 help 525 This is a bitmask (18 bits) with information of what bits in PB 526 that a user can change direction on using ioctl's. 527 Bit set = changeable. 528 You probably want 0 here, but it depends on your hardware. 529 530config ETRAX_PB_CHANGEABLE_BITS 531 hex "PB user changeable bits mask" 532 depends on ETRAX_GPIO 533 default "0x00000" if ETRAXFS 534 default "0x00000000" if !ETRAXFS 535 help 536 This is a bitmask (18 bits) with information of what bits in PB 537 that a user can change the value on using ioctl's. 538 Bit set = changeable. 539 540config ETRAX_PC_CHANGEABLE_DIR 541 hex "PC user changeable dir mask" 542 depends on ETRAX_GPIO 543 default "0x00000" if ETRAXFS 544 default "0x00000000" if !ETRAXFS 545 help 546 This is a bitmask (18 bits) with information of what bits in PC 547 that a user can change direction on using ioctl's. 548 Bit set = changeable. 549 You probably want 0 here, but it depends on your hardware. 550 551config ETRAX_PC_CHANGEABLE_BITS 552 hex "PC user changeable bits mask" 553 depends on ETRAX_GPIO 554 default "0x00000" if ETRAXFS 555 default "0x00000000" if ETRAXFS 556 help 557 This is a bitmask (18 bits) with information of what bits in PC 558 that a user can change the value on using ioctl's. 559 Bit set = changeable. 560 561config ETRAX_PD_CHANGEABLE_DIR 562 hex "PD user changeable dir mask" 563 depends on ETRAX_GPIO && ETRAXFS 564 default "0x00000" 565 help 566 This is a bitmask (18 bits) with information of what bits in PD 567 that a user can change direction on using ioctl's. 568 Bit set = changeable. 569 You probably want 0x00000 here, but it depends on your hardware. 570 571config ETRAX_PD_CHANGEABLE_BITS 572 hex "PD user changeable bits mask" 573 depends on ETRAX_GPIO && ETRAXFS 574 default "0x00000" 575 help 576 This is a bitmask (18 bits) with information of what bits in PD 577 that a user can change the value on using ioctl's. 578 Bit set = changeable. 579 580config ETRAX_PE_CHANGEABLE_DIR 581 hex "PE user changeable dir mask" 582 depends on ETRAX_GPIO && ETRAXFS 583 default "0x00000" 584 help 585 This is a bitmask (18 bits) with information of what bits in PE 586 that a user can change direction on using ioctl's. 587 Bit set = changeable. 588 You probably want 0x00000 here, but it depends on your hardware. 589 590config ETRAX_PE_CHANGEABLE_BITS 591 hex "PE user changeable bits mask" 592 depends on ETRAX_GPIO && ETRAXFS 593 default "0x00000" 594 help 595 This is a bitmask (18 bits) with information of what bits in PE 596 that a user can change the value on using ioctl's. 597 Bit set = changeable. 598 599config ETRAX_PV_CHANGEABLE_DIR 600 hex "PV user changeable dir mask" 601 depends on ETRAX_VIRTUAL_GPIO 602 default "0x0000" 603 help 604 This is a bitmask (16 bits) with information of what bits in PV 605 that a user can change direction on using ioctl's. 606 Bit set = changeable. 607 You probably want 0x0000 here, but it depends on your hardware. 608 609config ETRAX_PV_CHANGEABLE_BITS 610 hex "PV user changeable bits mask" 611 depends on ETRAX_VIRTUAL_GPIO 612 default "0x0000" 613 help 614 This is a bitmask (16 bits) with information of what bits in PV 615 that a user can change the value on using ioctl's. 616 Bit set = changeable. 617 618config ETRAX_CARDBUS 619 bool "Cardbus support" 620 depends on ETRAX_ARCH_V32 621 select HOTPLUG 622 help 623 Enabled the ETRAX Cardbus driver. 624 625config PCI 626 bool 627 depends on ETRAX_CARDBUS 628 default y 629 select HAVE_GENERIC_DMA_COHERENT 630 631config ETRAX_IOP_FW_LOAD 632 tristate "IO-processor hotplug firmware loading support" 633 depends on ETRAX_ARCH_V32 634 select FW_LOADER 635 help 636 Enables IO-processor hotplug firmware loading support. 637 638config ETRAX_STREAMCOPROC 639 tristate "Stream co-processor driver enabled" 640 depends on ETRAX_ARCH_V32 641 help 642 This option enables a driver for the stream co-processor 643 for cryptographic operations. 644 645source drivers/mmc/Kconfig 646 647config ETRAX_MMC_IOP 648 tristate "MMC/SD host driver using IO-processor" 649 depends on ETRAX_ARCH_V32 && MMC 650 help 651 This option enables the SD/MMC host controller interface. 652 The host controller is implemented using the built in 653 IO-Processor. Only the SPU is used in this implementation. 654 655config ETRAX_SPI_MMC 656# Make this one of several "choices" (possible simultaneously but 657# suggested uniquely) when an IOP driver emerges for "real" MMC/SD 658# protocol support. 659 tristate 660 depends on !ETRAX_MMC_IOP 661 default MMC 662 select SPI 663 select MMC_SPI 664 select ETRAX_SPI_MMC_BOARD 665 666# For the parts that can't be a module (due to restrictions in 667# framework elsewhere). 668config ETRAX_SPI_MMC_BOARD 669 boolean 670 default n 671 672# While the board info is MMC_SPI only, the drivers are written to be 673# independent of MMC_SPI, so we'll keep SPI non-dependent on the 674# MMC_SPI config choices (well, except for a single depends-on-line 675# for the board-info file until a separate non-MMC SPI board file 676# emerges). 677# FIXME: When that happens, we'll need to be able to ask for and 678# configure non-MMC SPI ports together with MMC_SPI ports (if multiple 679# SPI ports are enabled). 680 681config SPI_ETRAX_SSER 682 tristate 683 depends on SPI_MASTER && ETRAX_ARCH_V32 && EXPERIMENTAL 684 select SPI_BITBANG 685 help 686 This enables using an synchronous serial (sser) port as a 687 SPI master controller on Axis ETRAX FS and later. The 688 driver can be configured to use any sser port. 689 690config SPI_ETRAX_GPIO 691 tristate 692 depends on SPI_MASTER && ETRAX_ARCH_V32 && EXPERIMENTAL 693 select SPI_BITBANG 694 help 695 This enables using GPIO pins port as a SPI master controller 696 on Axis ETRAX FS and later. The driver can be configured to 697 use any GPIO pins. 698 699config ETRAX_SPI_SSER0 700 tristate "SPI using synchronous serial port 0 (sser0)" 701 depends on ETRAX_SPI_MMC 702 default m if MMC_SPI=m 703 default y if MMC_SPI=y 704 default y if MMC_SPI=n 705 select SPI_ETRAX_SSER 706 help 707 Say Y for an MMC/SD socket connected to synchronous serial port 0, 708 or for devices using the SPI protocol on that port. Say m if you 709 want to build it as a module, which will be named spi_crisv32_sser. 710 (You need to select MMC separately.) 711 712config ETRAX_SPI_SSER0_DMA 713 bool "DMA for SPI on sser0 enabled" 714 depends on ETRAX_SPI_SSER0 715 depends on !ETRAX_SERIAL_PORT1_DMA4_OUT && !ETRAX_SERIAL_PORT1_DMA5_IN 716 default y 717 help 718 Say Y if using DMA (dma4/dma5) for SPI on synchronous serial port 0. 719 720config ETRAX_SPI_MMC_CD_SSER0_PIN 721 string "MMC/SD card detect pin for SPI on sser0" 722 depends on ETRAX_SPI_SSER0 && MMC_SPI 723 default "pd11" 724 help 725 The pin to use for SD/MMC card detect. This pin should be pulled up 726 and grounded when a card is present. If defined as " " (space), no 727 pin is selected. A card must then always be inserted for proper 728 action. 729 730config ETRAX_SPI_MMC_WP_SSER0_PIN 731 string "MMC/SD card write-protect pin for SPI on sser0" 732 depends on ETRAX_SPI_SSER0 && MMC_SPI 733 default "pd10" 734 help 735 The pin to use for the SD/MMC write-protect signal for a memory 736 card. If defined as " " (space), the card is considered writable. 737 738config ETRAX_SPI_SSER1 739 tristate "SPI using synchronous serial port 1 (sser1)" 740 depends on ETRAX_SPI_MMC 741 default m if MMC_SPI=m && ETRAX_SPI_SSER0=n 742 default y if MMC_SPI=y && ETRAX_SPI_SSER0=n 743 default y if MMC_SPI=n && ETRAX_SPI_SSER0=n 744 select SPI_ETRAX_SSER 745 help 746 Say Y for an MMC/SD socket connected to synchronous serial port 1, 747 or for devices using the SPI protocol on that port. Say m if you 748 want to build it as a module, which will be named spi_crisv32_sser. 749 (You need to select MMC separately.) 750 751config ETRAX_SPI_SSER1_DMA 752 bool "DMA for SPI on sser1 enabled" 753 depends on ETRAX_SPI_SSER1 && !ETRAX_ETHERNET_IFACE1 754 depends on !ETRAX_SERIAL_PORT0_DMA6_OUT && !ETRAX_SERIAL_PORT0_DMA7_IN 755 default y 756 help 757 Say Y if using DMA (dma6/dma7) for SPI on synchronous serial port 1. 758 759config ETRAX_SPI_MMC_CD_SSER1_PIN 760 string "MMC/SD card detect pin for SPI on sser1" 761 depends on ETRAX_SPI_SSER1 && MMC_SPI 762 default "pd12" 763 help 764 The pin to use for SD/MMC card detect. This pin should be pulled up 765 and grounded when a card is present. If defined as " " (space), no 766 pin is selected. A card must then always be inserted for proper 767 action. 768 769config ETRAX_SPI_MMC_WP_SSER1_PIN 770 string "MMC/SD card write-protect pin for SPI on sser1" 771 depends on ETRAX_SPI_SSER1 && MMC_SPI 772 default "pd9" 773 help 774 The pin to use for the SD/MMC write-protect signal for a memory 775 card. If defined as " " (space), the card is considered writable. 776 777config ETRAX_SPI_GPIO 778 tristate "Bitbanged SPI using gpio pins" 779 depends on ETRAX_SPI_MMC 780 select SPI_ETRAX_GPIO 781 default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n 782 default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n 783 default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n 784 help 785 Say Y for an MMC/SD socket connected to general I/O pins (but not 786 a complete synchronous serial ports), or for devices using the SPI 787 protocol on general I/O pins. Slow and slows down the system. 788 Say m to build it as a module, which will be called spi_crisv32_gpio. 789 (You need to select MMC separately.) 790 791# The default match that of sser0, only because that's how it was tested. 792config ETRAX_SPI_CS_PIN 793 string "SPI chip select pin" 794 depends on ETRAX_SPI_GPIO 795 default "pc3" 796 help 797 The pin to use for SPI chip select. 798 799config ETRAX_SPI_CLK_PIN 800 string "SPI clock pin" 801 depends on ETRAX_SPI_GPIO 802 default "pc1" 803 help 804 The pin to use for the SPI clock. 805 806config ETRAX_SPI_DATAIN_PIN 807 string "SPI MISO (data in) pin" 808 depends on ETRAX_SPI_GPIO 809 default "pc16" 810 help 811 The pin to use for SPI data in from the device. 812 813config ETRAX_SPI_DATAOUT_PIN 814 string "SPI MOSI (data out) pin" 815 depends on ETRAX_SPI_GPIO 816 default "pc0" 817 help 818 The pin to use for SPI data out to the device. 819 820config ETRAX_SPI_MMC_CD_GPIO_PIN 821 string "MMC/SD card detect pin for SPI using gpio (space for none)" 822 depends on ETRAX_SPI_GPIO && MMC_SPI 823 default "pd11" 824 help 825 The pin to use for SD/MMC card detect. This pin should be pulled up 826 and grounded when a card is present. If defined as " " (space), no 827 pin is selected. A card must then always be inserted for proper 828 action. 829 830config ETRAX_SPI_MMC_WP_GPIO_PIN 831 string "MMC/SD card write-protect pin for SPI using gpio (space for none)" 832 depends on ETRAX_SPI_GPIO && MMC_SPI 833 default "pd10" 834 help 835 The pin to use for the SD/MMC write-protect signal for a memory 836 card. If defined as " " (space), the card is considered writable. 837 838# Avoid choices causing non-working configs by conditionalizing the inclusion. 839if ETRAX_SPI_MMC 840source drivers/spi/Kconfig 841endif 842 843endif 844