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