Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
if ETRAX_ARCH_V32

config ETRAX_ETHERNET
	bool "Ethernet support"
	depends on ETRAX_ARCH_V32 && NETDEVICES
	select MII
	help
	  This option enables the ETRAX FS built-in 10/100Mbit Ethernet
	  controller.

config ETRAX_NO_PHY
	bool "PHY not present"
	depends on ETRAX_ETHERNET
	help
	  This option disables all MDIO communication with an ethernet
	  transceiver connected to the MII interface. This option shall
	  typically be enabled if the MII interface is connected to a
	  switch. This option should normally be disabled. If enabled,
	  speed and duplex will be locked to 100 Mbit and full duplex.

config ETRAXFS_SERIAL
	bool "Serial-port support"
	depends on ETRAX_ARCH_V32
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	help
	  Enables the ETRAX FS serial driver for ser0 (ttyS0)
	  You probably want this enabled.

config ETRAX_RS485
	bool "RS-485 support"
	depends on ETRAXFS_SERIAL
	help
	  Enables support for RS-485 serial communication.

config ETRAX_RS485_DISABLE_RECEIVER
	bool "Disable serial receiver"
	depends on ETRAX_RS485
	help
	  It is necessary to disable the serial receiver to avoid serial
	  loopback.  Not all products are able to do this in software only.

config ETRAX_SERIAL_PORT0
	bool "Serial port 0 enabled"
	depends on ETRAXFS_SERIAL
	help
	  Enables the ETRAX FS serial driver for ser0 (ttyS0)
	  Normally you want this on. You can control what DMA channels to use
	  if you do not need DMA to something else.
	  ser0 can use dma4 or dma6 for output and dma5 or dma7 for input.

config ETRAX_SERIAL_PORT1
	bool "Serial port 1 enabled"
	depends on ETRAXFS_SERIAL
	help
	  Enables the ETRAX FS serial driver for ser1 (ttyS1).

config ETRAX_SERIAL_PORT2
	bool "Serial port 2 enabled"
	depends on ETRAXFS_SERIAL
	help
	  Enables the ETRAX FS serial driver for ser2 (ttyS2).

config ETRAX_SERIAL_PORT3
	bool "Serial port 3 enabled"
	depends on ETRAXFS_SERIAL
	help
	  Enables the ETRAX FS serial driver for ser3 (ttyS3).

config ETRAX_SYNCHRONOUS_SERIAL
	bool "Synchronous serial-port support"
	depends on ETRAX_ARCH_V32
	help
	  Enables the ETRAX FS synchronous serial driver.

config ETRAX_SYNCHRONOUS_SERIAL_PORT0
         bool "Synchronous serial port 0 enabled"
         depends on ETRAX_SYNCHRONOUS_SERIAL
         help
           Enabled synchronous serial port 0.

config ETRAX_SYNCHRONOUS_SERIAL0_DMA
         bool "Enable DMA on synchronous serial port 0."
         depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0
         help
           A synchronous serial port can run in manual or DMA mode.
           Selecting this option will make it run in DMA mode.

config ETRAX_SYNCHRONOUS_SERIAL_PORT1
         bool "Synchronous serial port 1 enabled"
         depends on ETRAX_SYNCHRONOUS_SERIAL && ETRAXFS
         help
           Enabled synchronous serial port 1.

config ETRAX_SYNCHRONOUS_SERIAL1_DMA
         bool "Enable DMA on synchronous serial port 1."
         depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1
         help
           A synchronous serial port can run in manual or DMA mode.
           Selecting this option will make it run in DMA mode.

config ETRAX_AXISFLASHMAP
	bool "Axis flash-map support"
	depends on ETRAX_ARCH_V32
	select MTD
	select MTD_CFI
	select MTD_CFI_AMDSTD
	select MTD_JEDECPROBE
	select MTD_BLOCK
	select MTD_COMPLEX_MAPPINGS
	help
	  This option enables MTD mapping of flash devices.  Needed to use
	  flash memories.  If unsure, say Y.

config ETRAX_AXISFLASHMAP_MTD0WHOLE
	bool "MTD0 is whole boot flash device"
	depends on ETRAX_AXISFLASHMAP
	help
	  When this option is not set, mtd0 refers to the first partition
	  on the boot flash device. When set, mtd0 refers to the whole
	  device, with mtd1 referring to the first partition etc.

config ETRAX_PTABLE_SECTOR
	int "Byte-offset of partition table sector"
	depends on ETRAX_AXISFLASHMAP
	default "65536"
	help
	  Byte-offset of the partition table in the first flash chip.
	  The default value is 64kB and should not be changed unless
	  you know exactly what you are doing. The only valid reason
	  for changing this is when the flash block size is bigger
	  than 64kB (e.g. when using two parallel 16 bit flashes).

config ETRAX_NANDFLASH
	bool "NAND flash support"
	depends on ETRAX_ARCH_V32
	select MTD_NAND
	select MTD_NAND_IDS
	help
	  This option enables MTD mapping of NAND flash devices.  Needed to use
	  NAND flash memories.  If unsure, say Y.

config ETRAX_NANDBOOT
	bool "Boot from NAND flash"
	depends on ETRAX_NANDFLASH
	help
	  This options enables booting from NAND flash devices.
	  Say Y if your boot code, kernel and root file system is in
	  NAND flash. Say N if they are in NOR flash.

config ETRAX_I2C
	bool "I2C driver"
	depends on ETRAX_ARCH_V32
	help
	  This option enables the I2C driver used by e.g. the RTC driver.

config ETRAX_V32_I2C_DATA_PORT
	string "I2C data pin"
	depends on ETRAX_I2C
	help
	  The pin to use for I2C data.

config ETRAX_V32_I2C_CLK_PORT
	string "I2C clock pin"
	depends on ETRAX_I2C
	help
	  The pin to use for I2C clock.

config ETRAX_GPIO
	bool "GPIO support"
	depends on ETRAX_ARCH_V32
	---help---
	  Enables the ETRAX general port device (major 120, minors 0-4).
	  You can use this driver to access the general port bits. It supports
	  these ioctl's:
	  #include <linux/etraxgpio.h>
	  fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob
	  ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set);
	  ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear);
	  err = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READ_INBITS), &val);
	  Remember that you need to setup the port directions appropriately in
	  the General configuration.

config ETRAX_VIRTUAL_GPIO
	bool "Virtual GPIO support"
	depends on ETRAX_GPIO
	help
	  Enables the virtual Etrax general port device (major 120, minor 6).
	  It uses an I/O expander for the I2C-bus.

config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN
	int "Virtual GPIO interrupt pin on PA pin"
	range 0 7
	depends on ETRAX_VIRTUAL_GPIO
	help
	  The pin to use on PA for virtual gpio interrupt.

config ETRAX_PA_CHANGEABLE_DIR
	hex "PA user changeable dir mask"
	depends on ETRAX_GPIO
	default "0x00" if ETRAXFS
	default "0x00000000" if !ETRAXFS
	help
	  This is a bitmask (8 bits) with information of what bits in PA that a
	  user can change direction on using ioctl's.
	  Bit set = changeable.
	  You probably want 0 here, but it depends on your hardware.

config ETRAX_PA_CHANGEABLE_BITS
	hex "PA user changeable bits mask"
	depends on ETRAX_GPIO
	default "0x00" if ETRAXFS
	default "0x00000000" if !ETRAXFS
	help
	  This is a bitmask (8 bits) with information of what bits in PA
	  that a user can change the value on using ioctl's.
	  Bit set = changeable.

config ETRAX_PB_CHANGEABLE_DIR
	hex "PB user changeable dir mask"
	depends on ETRAX_GPIO
	default "0x00000" if ETRAXFS
	default "0x00000000" if !ETRAXFS
	help
	  This is a bitmask (18 bits) with information of what bits in PB
	  that a user can change direction on using ioctl's.
	  Bit set = changeable.
	  You probably want 0 here, but it depends on your hardware.

config ETRAX_PB_CHANGEABLE_BITS
	hex "PB user changeable bits mask"
	depends on ETRAX_GPIO
	default "0x00000" if ETRAXFS
	default "0x00000000" if !ETRAXFS
	help
	  This is a bitmask (18 bits) with information of what bits in PB
	  that a user can change the value on using ioctl's.
	  Bit set = changeable.

config ETRAX_PC_CHANGEABLE_DIR
	hex "PC user changeable dir mask"
	depends on ETRAX_GPIO
	default "0x00000" if ETRAXFS
	default "0x00000000" if !ETRAXFS
	help
	  This is a bitmask (18 bits) with information of what bits in PC
	  that a user can change direction on using ioctl's.
	  Bit set = changeable.
	  You probably want 0 here, but it depends on your hardware.

config ETRAX_PC_CHANGEABLE_BITS
	hex "PC user changeable bits mask"
	depends on ETRAX_GPIO
	default "0x00000" if ETRAXFS
	default "0x00000000" if ETRAXFS
	help
	  This is a bitmask (18 bits) with information of what bits in PC
	  that a user can change the value on using ioctl's.
	  Bit set = changeable.

config ETRAX_PD_CHANGEABLE_DIR
	hex "PD user changeable dir mask"
	depends on ETRAX_GPIO && ETRAXFS
	default "0x00000"
	help
	  This is a bitmask (18 bits) with information of what bits in PD
	  that a user can change direction on using ioctl's.
	  Bit set = changeable.
	  You probably want 0x00000 here, but it depends on your hardware.

config ETRAX_PD_CHANGEABLE_BITS
	hex "PD user changeable bits mask"
	depends on ETRAX_GPIO && ETRAXFS
	default "0x00000"
	help
	  This is a bitmask (18 bits) with information of what bits in PD
	  that a user can change the value on using ioctl's.
	  Bit set = changeable.

config ETRAX_PE_CHANGEABLE_DIR
	hex "PE user changeable dir mask"
	depends on ETRAX_GPIO && ETRAXFS
	default "0x00000"
	help
	  This is a bitmask (18 bits) with information of what bits in PE
	  that a user can change direction on using ioctl's.
	  Bit set = changeable.
	  You probably want 0x00000 here, but it depends on your hardware.

config ETRAX_PE_CHANGEABLE_BITS
	hex "PE user changeable bits mask"
 	depends on ETRAX_GPIO && ETRAXFS
	default "0x00000"
	help
	  This is a bitmask (18 bits) with information of what bits in PE
	  that a user can change the value on using ioctl's.
	  Bit set = changeable.

config ETRAX_PV_CHANGEABLE_DIR
	hex "PV user changeable dir mask"
	depends on ETRAX_VIRTUAL_GPIO
	default "0x0000"
	help
	  This is a bitmask (16 bits) with information of what bits in PV
	  that a user can change direction on using ioctl's.
	  Bit set = changeable.
	  You probably want 0x0000 here, but it depends on your hardware.

config ETRAX_PV_CHANGEABLE_BITS
	hex "PV user changeable bits mask"
	depends on ETRAX_VIRTUAL_GPIO
	default "0x0000"
	help
	  This is a bitmask (16 bits) with information of what bits in PV
	  that a user can change the value on using ioctl's.
	  Bit set = changeable.

config ETRAX_CARDBUS
        bool "Cardbus support"
        depends on ETRAX_ARCH_V32
        help
	 Enabled the ETRAX Cardbus driver.

config PCI
       bool
       depends on ETRAX_CARDBUS
       default y
       select HAVE_GENERIC_DMA_COHERENT

config ETRAX_IOP_FW_LOAD
	tristate "IO-processor hotplug firmware loading support"
	depends on ETRAX_ARCH_V32
	select FW_LOADER
	help
	  Enables IO-processor hotplug firmware loading support.

config ETRAX_STREAMCOPROC
	tristate "Stream co-processor driver enabled"
	depends on ETRAX_ARCH_V32
	help
	  This option enables a driver for the stream co-processor
	  for cryptographic operations.

config ETRAX_MMC_IOP
	tristate "MMC/SD host driver using IO-processor"
	depends on ETRAX_ARCH_V32 && MMC
	help
	  This option enables the SD/MMC host controller interface.
	  The host controller is implemented using the built in
	  IO-Processor. Only the SPU is used in this implementation.

config ETRAX_SPI_MMC
# Make this one of several "choices" (possible simultaneously but
# suggested uniquely) when an IOP driver emerges for "real" MMC/SD
# protocol support.
	tristate
	depends on !ETRAX_MMC_IOP
	default MMC
	select SPI
	select MMC_SPI
	select ETRAX_SPI_MMC_BOARD

# For the parts that can't be a module (due to restrictions in
# framework elsewhere).
config ETRAX_SPI_MMC_BOARD
       boolean
       default n

# While the board info is MMC_SPI only, the drivers are written to be
# independent of MMC_SPI, so we'll keep SPI non-dependent on the
# MMC_SPI config choices (well, except for a single depends-on-line
# for the board-info file until a separate non-MMC SPI board file
# emerges).
# FIXME: When that happens, we'll need to be able to ask for and
# configure non-MMC SPI ports together with MMC_SPI ports (if multiple
# SPI ports are enabled).

config SPI_ETRAX_SSER
	tristate
	depends on SPI_MASTER && ETRAX_ARCH_V32
	select SPI_BITBANG
	help
	  This enables using an synchronous serial (sser) port as a
	  SPI master controller on Axis ETRAX FS and later.  The
	  driver can be configured to use any sser port.

config SPI_ETRAX_GPIO
	tristate
	depends on SPI_MASTER && ETRAX_ARCH_V32
	select SPI_BITBANG
	help
	  This enables using GPIO pins port as a SPI master controller
	  on Axis ETRAX FS and later.  The driver can be configured to
	  use any GPIO pins.

config ETRAX_SPI_SSER0
	tristate "SPI using synchronous serial port 0 (sser0)"
	depends on ETRAX_SPI_MMC
	default m if MMC_SPI=m
	default y if MMC_SPI=y
	default y if MMC_SPI=n
	select SPI_ETRAX_SSER
	help
	  Say Y for an MMC/SD socket connected to synchronous serial port 0,
	  or for devices using the SPI protocol on that port.  Say m if you
	  want to build it as a module, which will be named spi_crisv32_sser.
	  (You need to select MMC separately.)

config ETRAX_SPI_SSER1
	tristate "SPI using synchronous serial port 1 (sser1)"
	depends on ETRAX_SPI_MMC
	default m if MMC_SPI=m && ETRAX_SPI_SSER0=n
	default y if MMC_SPI=y && ETRAX_SPI_SSER0=n
	default y if MMC_SPI=n && ETRAX_SPI_SSER0=n
	select SPI_ETRAX_SSER
	help
	  Say Y for an MMC/SD socket connected to synchronous serial port 1,
	  or for devices using the SPI protocol on that port.  Say m if you
	  want to build it as a module, which will be named spi_crisv32_sser.
	  (You need to select MMC separately.)

config ETRAX_SPI_GPIO
	tristate "Bitbanged SPI using gpio pins"
	depends on ETRAX_SPI_MMC
	select SPI_ETRAX_GPIO
	default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
	default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
	default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
	help
	  Say Y for an MMC/SD socket connected to general I/O pins (but not
	  a complete synchronous serial ports), or for devices using the SPI
	  protocol on general I/O pins.  Slow and slows down the system.
	  Say m to build it as a module, which will be called spi_crisv32_gpio.
	  (You need to select MMC separately.)

endif