Kconfig 13 KB

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