Kconfig 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438
  1. if ETRAX_ARCH_V32
  2. config ETRAX_ETHERNET
  3. bool "Ethernet support"
  4. depends on ETRAX_ARCH_V32 && NETDEVICES
  5. select MII
  6. help
  7. This option enables the ETRAX FS built-in 10/100Mbit Ethernet
  8. controller.
  9. config ETRAX_NO_PHY
  10. bool "PHY not present"
  11. depends on ETRAX_ETHERNET
  12. default N
  13. help
  14. This option disables all MDIO communication with an ethernet
  15. transceiver connected to the MII interface. This option shall
  16. typically be enabled if the MII interface is connected to a
  17. switch. This option should normally be disabled. If enabled,
  18. speed and duplex will be locked to 100 Mbit and full duplex.
  19. config ETRAXFS_SERIAL
  20. bool "Serial-port support"
  21. depends on ETRAX_ARCH_V32
  22. select SERIAL_CORE
  23. select SERIAL_CORE_CONSOLE
  24. help
  25. Enables the ETRAX FS serial driver for ser0 (ttyS0)
  26. You probably want this enabled.
  27. config ETRAX_RS485
  28. bool "RS-485 support"
  29. depends on ETRAXFS_SERIAL
  30. help
  31. Enables support for RS-485 serial communication.
  32. config ETRAX_RS485_DISABLE_RECEIVER
  33. bool "Disable serial receiver"
  34. depends on ETRAX_RS485
  35. help
  36. It is necessary to disable the serial receiver to avoid serial
  37. loopback. Not all products are able to do this in software only.
  38. config ETRAX_SERIAL_PORT0
  39. bool "Serial port 0 enabled"
  40. depends on ETRAXFS_SERIAL
  41. help
  42. Enables the ETRAX FS serial driver for ser0 (ttyS0)
  43. Normally you want this on. You can control what DMA channels to use
  44. if you do not need DMA to something else.
  45. ser0 can use dma4 or dma6 for output and dma5 or dma7 for input.
  46. config ETRAX_SERIAL_PORT1
  47. bool "Serial port 1 enabled"
  48. depends on ETRAXFS_SERIAL
  49. help
  50. Enables the ETRAX FS serial driver for ser1 (ttyS1).
  51. config ETRAX_SERIAL_PORT2
  52. bool "Serial port 2 enabled"
  53. depends on ETRAXFS_SERIAL
  54. help
  55. Enables the ETRAX FS serial driver for ser2 (ttyS2).
  56. config ETRAX_SERIAL_PORT3
  57. bool "Serial port 3 enabled"
  58. depends on ETRAXFS_SERIAL
  59. help
  60. Enables the ETRAX FS serial driver for ser3 (ttyS3).
  61. config ETRAX_SYNCHRONOUS_SERIAL
  62. bool "Synchronous serial-port support"
  63. depends on ETRAX_ARCH_V32
  64. help
  65. Enables the ETRAX FS synchronous serial driver.
  66. config ETRAX_SYNCHRONOUS_SERIAL_PORT0
  67. bool "Synchronous serial port 0 enabled"
  68. depends on ETRAX_SYNCHRONOUS_SERIAL
  69. help
  70. Enabled synchronous serial port 0.
  71. config ETRAX_SYNCHRONOUS_SERIAL0_DMA
  72. bool "Enable DMA on synchronous serial port 0."
  73. depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0
  74. help
  75. A synchronous serial port can run in manual or DMA mode.
  76. Selecting this option will make it run in DMA mode.
  77. config ETRAX_SYNCHRONOUS_SERIAL_PORT1
  78. bool "Synchronous serial port 1 enabled"
  79. depends on ETRAX_SYNCHRONOUS_SERIAL && ETRAXFS
  80. help
  81. Enabled synchronous serial port 1.
  82. config ETRAX_SYNCHRONOUS_SERIAL1_DMA
  83. bool "Enable DMA on synchronous serial port 1."
  84. depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1
  85. help
  86. A synchronous serial port can run in manual or DMA mode.
  87. Selecting this option will make it run in DMA mode.
  88. config ETRAX_AXISFLASHMAP
  89. bool "Axis flash-map support"
  90. depends on ETRAX_ARCH_V32
  91. select MTD
  92. select MTD_CFI
  93. select MTD_CFI_AMDSTD
  94. select MTD_JEDECPROBE
  95. select MTD_BLOCK
  96. select MTD_COMPLEX_MAPPINGS
  97. help
  98. This option enables MTD mapping of flash devices. Needed to use
  99. flash memories. If unsure, say Y.
  100. config ETRAX_AXISFLASHMAP_MTD0WHOLE
  101. bool "MTD0 is whole boot flash device"
  102. depends on ETRAX_AXISFLASHMAP
  103. default N
  104. help
  105. When this option is not set, mtd0 refers to the first partition
  106. on the boot flash device. When set, mtd0 refers to the whole
  107. device, with mtd1 referring to the first partition etc.
  108. config ETRAX_PTABLE_SECTOR
  109. int "Byte-offset of partition table sector"
  110. depends on ETRAX_AXISFLASHMAP
  111. default "65536"
  112. help
  113. Byte-offset of the partition table in the first flash chip.
  114. The default value is 64kB and should not be changed unless
  115. you know exactly what you are doing. The only valid reason
  116. for changing this is when the flash block size is bigger
  117. than 64kB (e.g. when using two parallel 16 bit flashes).
  118. config ETRAX_NANDFLASH
  119. bool "NAND flash support"
  120. depends on ETRAX_ARCH_V32
  121. select MTD_NAND
  122. select MTD_NAND_IDS
  123. help
  124. This option enables MTD mapping of NAND flash devices. Needed to use
  125. NAND flash memories. If unsure, say Y.
  126. config ETRAX_NANDBOOT
  127. bool "Boot from NAND flash"
  128. depends on ETRAX_NANDFLASH
  129. help
  130. This options enables booting from NAND flash devices.
  131. Say Y if your boot code, kernel and root file system is in
  132. NAND flash. Say N if they are in NOR flash.
  133. config ETRAX_I2C
  134. bool "I2C driver"
  135. depends on ETRAX_ARCH_V32
  136. help
  137. This option enables the I2C driver used by e.g. the RTC driver.
  138. config ETRAX_V32_I2C_DATA_PORT
  139. string "I2C data pin"
  140. depends on ETRAX_I2C
  141. help
  142. The pin to use for I2C data.
  143. config ETRAX_V32_I2C_CLK_PORT
  144. string "I2C clock pin"
  145. depends on ETRAX_I2C
  146. help
  147. The pin to use for I2C clock.
  148. config ETRAX_GPIO
  149. bool "GPIO support"
  150. depends on ETRAX_ARCH_V32
  151. ---help---
  152. Enables the ETRAX general port device (major 120, minors 0-4).
  153. You can use this driver to access the general port bits. It supports
  154. these ioctl's:
  155. #include <linux/etraxgpio.h>
  156. fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob
  157. ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set);
  158. ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear);
  159. err = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READ_INBITS), &val);
  160. Remember that you need to setup the port directions appropriately in
  161. the General configuration.
  162. config ETRAX_VIRTUAL_GPIO
  163. bool "Virtual GPIO support"
  164. depends on ETRAX_GPIO
  165. help
  166. Enables the virtual Etrax general port device (major 120, minor 6).
  167. It uses an I/O expander for the I2C-bus.
  168. config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN
  169. int "Virtual GPIO interrupt pin on PA pin"
  170. range 0 7
  171. depends on ETRAX_VIRTUAL_GPIO
  172. help
  173. The pin to use on PA for virtual gpio interrupt.
  174. config ETRAX_PA_CHANGEABLE_DIR
  175. hex "PA user changeable dir mask"
  176. depends on ETRAX_GPIO
  177. default "0x00" if ETRAXFS
  178. default "0x00000000" if !ETRAXFS
  179. help
  180. This is a bitmask (8 bits) with information of what bits in PA that a
  181. user can change direction on using ioctl's.
  182. Bit set = changeable.
  183. You probably want 0 here, but it depends on your hardware.
  184. config ETRAX_PA_CHANGEABLE_BITS
  185. hex "PA user changeable bits mask"
  186. depends on ETRAX_GPIO
  187. default "0x00" if ETRAXFS
  188. default "0x00000000" if !ETRAXFS
  189. help
  190. This is a bitmask (8 bits) with information of what bits in PA
  191. that a user can change the value on using ioctl's.
  192. Bit set = changeable.
  193. config ETRAX_PB_CHANGEABLE_DIR
  194. hex "PB user changeable dir mask"
  195. depends on ETRAX_GPIO
  196. default "0x00000" if ETRAXFS
  197. default "0x00000000" if !ETRAXFS
  198. help
  199. This is a bitmask (18 bits) with information of what bits in PB
  200. that a user can change direction on using ioctl's.
  201. Bit set = changeable.
  202. You probably want 0 here, but it depends on your hardware.
  203. config ETRAX_PB_CHANGEABLE_BITS
  204. hex "PB user changeable bits mask"
  205. depends on ETRAX_GPIO
  206. default "0x00000" if ETRAXFS
  207. default "0x00000000" if !ETRAXFS
  208. help
  209. This is a bitmask (18 bits) with information of what bits in PB
  210. that a user can change the value on using ioctl's.
  211. Bit set = changeable.
  212. config ETRAX_PC_CHANGEABLE_DIR
  213. hex "PC user changeable dir mask"
  214. depends on ETRAX_GPIO
  215. default "0x00000" if ETRAXFS
  216. default "0x00000000" if !ETRAXFS
  217. help
  218. This is a bitmask (18 bits) with information of what bits in PC
  219. that a user can change direction on using ioctl's.
  220. Bit set = changeable.
  221. You probably want 0 here, but it depends on your hardware.
  222. config ETRAX_PC_CHANGEABLE_BITS
  223. hex "PC user changeable bits mask"
  224. depends on ETRAX_GPIO
  225. default "0x00000" if ETRAXFS
  226. default "0x00000000" if ETRAXFS
  227. help
  228. This is a bitmask (18 bits) with information of what bits in PC
  229. that a user can change the value on using ioctl's.
  230. Bit set = changeable.
  231. config ETRAX_PD_CHANGEABLE_DIR
  232. hex "PD user changeable dir mask"
  233. depends on ETRAX_GPIO && ETRAXFS
  234. default "0x00000"
  235. help
  236. This is a bitmask (18 bits) with information of what bits in PD
  237. that a user can change direction on using ioctl's.
  238. Bit set = changeable.
  239. You probably want 0x00000 here, but it depends on your hardware.
  240. config ETRAX_PD_CHANGEABLE_BITS
  241. hex "PD user changeable bits mask"
  242. depends on ETRAX_GPIO && ETRAXFS
  243. default "0x00000"
  244. help
  245. This is a bitmask (18 bits) with information of what bits in PD
  246. that a user can change the value on using ioctl's.
  247. Bit set = changeable.
  248. config ETRAX_PE_CHANGEABLE_DIR
  249. hex "PE user changeable dir mask"
  250. depends on ETRAX_GPIO && ETRAXFS
  251. default "0x00000"
  252. help
  253. This is a bitmask (18 bits) with information of what bits in PE
  254. that a user can change direction on using ioctl's.
  255. Bit set = changeable.
  256. You probably want 0x00000 here, but it depends on your hardware.
  257. config ETRAX_PE_CHANGEABLE_BITS
  258. hex "PE user changeable bits mask"
  259. depends on ETRAX_GPIO && ETRAXFS
  260. default "0x00000"
  261. help
  262. This is a bitmask (18 bits) with information of what bits in PE
  263. that a user can change the value on using ioctl's.
  264. Bit set = changeable.
  265. config ETRAX_PV_CHANGEABLE_DIR
  266. hex "PV user changeable dir mask"
  267. depends on ETRAX_VIRTUAL_GPIO
  268. default "0x0000"
  269. help
  270. This is a bitmask (16 bits) with information of what bits in PV
  271. that a user can change direction on using ioctl's.
  272. Bit set = changeable.
  273. You probably want 0x0000 here, but it depends on your hardware.
  274. config ETRAX_PV_CHANGEABLE_BITS
  275. hex "PV user changeable bits mask"
  276. depends on ETRAX_VIRTUAL_GPIO
  277. default "0x0000"
  278. help
  279. This is a bitmask (16 bits) with information of what bits in PV
  280. that a user can change the value on using ioctl's.
  281. Bit set = changeable.
  282. config ETRAX_CARDBUS
  283. bool "Cardbus support"
  284. depends on ETRAX_ARCH_V32
  285. help
  286. Enabled the ETRAX Cardbus driver.
  287. config PCI
  288. bool
  289. depends on ETRAX_CARDBUS
  290. default y
  291. select HAVE_GENERIC_DMA_COHERENT
  292. config ETRAX_IOP_FW_LOAD
  293. tristate "IO-processor hotplug firmware loading support"
  294. depends on ETRAX_ARCH_V32
  295. select FW_LOADER
  296. help
  297. Enables IO-processor hotplug firmware loading support.
  298. config ETRAX_STREAMCOPROC
  299. tristate "Stream co-processor driver enabled"
  300. depends on ETRAX_ARCH_V32
  301. help
  302. This option enables a driver for the stream co-processor
  303. for cryptographic operations.
  304. config ETRAX_MMC_IOP
  305. tristate "MMC/SD host driver using IO-processor"
  306. depends on ETRAX_ARCH_V32 && MMC
  307. help
  308. This option enables the SD/MMC host controller interface.
  309. The host controller is implemented using the built in
  310. IO-Processor. Only the SPU is used in this implementation.
  311. config ETRAX_SPI_MMC
  312. # Make this one of several "choices" (possible simultaneously but
  313. # suggested uniquely) when an IOP driver emerges for "real" MMC/SD
  314. # protocol support.
  315. tristate
  316. depends on !ETRAX_MMC_IOP
  317. default MMC
  318. select SPI
  319. select MMC_SPI
  320. select ETRAX_SPI_MMC_BOARD
  321. # For the parts that can't be a module (due to restrictions in
  322. # framework elsewhere).
  323. config ETRAX_SPI_MMC_BOARD
  324. boolean
  325. default n
  326. # While the board info is MMC_SPI only, the drivers are written to be
  327. # independent of MMC_SPI, so we'll keep SPI non-dependent on the
  328. # MMC_SPI config choices (well, except for a single depends-on-line
  329. # for the board-info file until a separate non-MMC SPI board file
  330. # emerges).
  331. # FIXME: When that happens, we'll need to be able to ask for and
  332. # configure non-MMC SPI ports together with MMC_SPI ports (if multiple
  333. # SPI ports are enabled).
  334. config SPI_ETRAX_SSER
  335. tristate
  336. depends on SPI_MASTER && ETRAX_ARCH_V32
  337. select SPI_BITBANG
  338. help
  339. This enables using an synchronous serial (sser) port as a
  340. SPI master controller on Axis ETRAX FS and later. The
  341. driver can be configured to use any sser port.
  342. config SPI_ETRAX_GPIO
  343. tristate
  344. depends on SPI_MASTER && ETRAX_ARCH_V32
  345. select SPI_BITBANG
  346. help
  347. This enables using GPIO pins port as a SPI master controller
  348. on Axis ETRAX FS and later. The driver can be configured to
  349. use any GPIO pins.
  350. config ETRAX_SPI_SSER0
  351. tristate "SPI using synchronous serial port 0 (sser0)"
  352. depends on ETRAX_SPI_MMC
  353. default m if MMC_SPI=m
  354. default y if MMC_SPI=y
  355. default y if MMC_SPI=n
  356. select SPI_ETRAX_SSER
  357. help
  358. Say Y for an MMC/SD socket connected to synchronous serial port 0,
  359. or for devices using the SPI protocol on that port. Say m if you
  360. want to build it as a module, which will be named spi_crisv32_sser.
  361. (You need to select MMC separately.)
  362. config ETRAX_SPI_SSER1
  363. tristate "SPI using synchronous serial port 1 (sser1)"
  364. depends on ETRAX_SPI_MMC
  365. default m if MMC_SPI=m && ETRAX_SPI_SSER0=n
  366. default y if MMC_SPI=y && ETRAX_SPI_SSER0=n
  367. default y if MMC_SPI=n && ETRAX_SPI_SSER0=n
  368. select SPI_ETRAX_SSER
  369. help
  370. Say Y for an MMC/SD socket connected to synchronous serial port 1,
  371. or for devices using the SPI protocol on that port. Say m if you
  372. want to build it as a module, which will be named spi_crisv32_sser.
  373. (You need to select MMC separately.)
  374. config ETRAX_SPI_GPIO
  375. tristate "Bitbanged SPI using gpio pins"
  376. depends on ETRAX_SPI_MMC
  377. select SPI_ETRAX_GPIO
  378. default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
  379. default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
  380. default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
  381. help
  382. Say Y for an MMC/SD socket connected to general I/O pins (but not
  383. a complete synchronous serial ports), or for devices using the SPI
  384. protocol on general I/O pins. Slow and slows down the system.
  385. Say m to build it as a module, which will be called spi_crisv32_gpio.
  386. (You need to select MMC separately.)
  387. endif