aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/configs/ddb5476_defconfig
blob: 70addc73f699600891cc9aebc1a352c5184762ef (plain) (blame)
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
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.11-rc2
# Wed Jan 26 02:49:02 2005
#
CONFIG_MIPS=y
# CONFIG_64BIT is not set
# CONFIG_64BIT is not set
CONFIG_32BIT=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_HOTPLUG is not set
CONFIG_KOBJECT_UEVENT=y
# CONFIG_IKCONFIG is not set
CONFIG_EMBEDDED=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set

#
# Loadable module support
#
# CONFIG_MODULES is not set

#
# Machine selection
#
# CONFIG_MACH_JAZZ is not set
# CONFIG_MACH_VR41XX is not set
# CONFIG_TOSHIBA_JMR3927 is not set
# CONFIG_MIPS_COBALT is not set
# CONFIG_MACH_DECSTATION is not set
# CONFIG_MIPS_EV64120 is not set
# CONFIG_MIPS_EV96100 is not set
# CONFIG_MIPS_IVR is not set
# CONFIG_LASAT is not set
# CONFIG_MIPS_ITE8172 is not set
# CONFIG_MIPS_ATLAS is not set
# CONFIG_MIPS_MALTA is not set
# CONFIG_MIPS_SEAD is not set
# CONFIG_MOMENCO_OCELOT is not set
# CONFIG_MOMENCO_OCELOT_G is not set
# CONFIG_MOMENCO_OCELOT_C is not set
# CONFIG_MOMENCO_OCELOT_3 is not set
# CONFIG_MOMENCO_JAGUAR_ATX is not set
# CONFIG_PMC_YOSEMITE is not set
# CONFIG_DDB5074 is not set
CONFIG_DDB5476=y
# CONFIG_DDB5477 is not set
# CONFIG_NEC_OSPREY is not set
# CONFIG_SGI_IP22 is not set
# CONFIG_SOC_AU1X00 is not set
# CONFIG_SIBYTE_SB1xxx_SOC is not set
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_TOSHIBA_RBTX4927 is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DMA_NEED_PCI_MAP_STATE=y
CONFIG_I8259=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_IRQ_CPU=y
CONFIG_DDB5XXX_COMMON=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
CONFIG_HAVE_STD_PC_SERIAL_PORT=y

#
# CPU selection
#
# CONFIG_CPU_MIPS32 is not set
# CONFIG_CPU_MIPS64 is not set
# CONFIG_CPU_R3000 is not set
# CONFIG_CPU_TX39XX is not set
# CONFIG_CPU_VR41XX is not set
# CONFIG_CPU_R4300 is not set
# CONFIG_CPU_R4X00 is not set
# CONFIG_CPU_TX49XX is not set
# CONFIG_CPU_R5000 is not set
CONFIG_CPU_R5432=y
# CONFIG_CPU_R6000 is not set
# CONFIG_CPU_NEVADA is not set
# CONFIG_CPU_R8000 is not set
# CONFIG_CPU_R10000 is not set
# CONFIG_CPU_RM7000 is not set
# CONFIG_CPU_RM9000 is not set
# CONFIG_CPU_SB1 is not set
CONFIG_PAGE_SIZE_4KB=y
# CONFIG_PAGE_SIZE_8KB is not set
# CONFIG_PAGE_SIZE_16KB is not set
# CONFIG_PAGE_SIZE_64KB is not set
# CONFIG_CPU_ADVANCED is not set
CONFIG_CPU_HAS_LLSC=y
CONFIG_CPU_HAS_LLDSCD=y
CONFIG_CPU_HAS_SYNC=y
# CONFIG_PREEMPT is not set

#
# Bus options (PCI, PCMCIA, EISA, ISA, TC)
#
CONFIG_HW_HAS_PCI=y
CONFIG_PCI=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
CONFIG_ISA=y
CONFIG_MMU=y

#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set

#
# PC-card bridges
#
CONFIG_PCMCIA_PROBE=y

#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_TRAD_SIGNALS=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play support
#
# CONFIG_PNP is not set

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_RAM is not set
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_ATA_OVER_ETH=y

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_IDE_TASK_IOCTL is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_IDEPCI is not set
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
# CONFIG_BLK_DEV_IDEDMA is not set
# CONFIG_IDEDMA_AUTO is not set
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
# CONFIG_SCSI is not set

#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set

#
# Fusion MPT device support
#

#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
CONFIG_NET_KEY=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
CONFIG_INET_TUNNEL=y
CONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set
CONFIG_XFRM=y
CONFIG_XFRM_USER=y

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
# CONFIG_NET_CLS_ROUTE is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_MII is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y
# CONFIG_SERIO_I8042 is not set
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
# CONFIG_SERIO_LIBPS2 is not set
CONFIG_SERIO_RAW=y

#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set

#
# I2C support
#
# CONFIG_I2C is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Misc devices
#

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
CONFIG_FB=y
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_E1356 is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set

#
# Logo configuration
#
# CONFIG_LOGO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Sound
#
# CONFIG_SOUND is not set

#
# USB support
#
# CONFIG_USB is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
#

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# MMC/SD Card support
#
# CONFIG_MMC is not set

#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
CONFIG_DEVPTS_FS_SECURITY=y
# CONFIG_TMPFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
# CONFIG_EXPORTFS is not set
CONFIG_SUNRPC=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y

#
# Native Language Support
#
# CONFIG_NLS is not set

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
# CONFIG_DEBUG_KERNEL is not set
CONFIG_CROSSCOMPILE=y
CONFIG_CMDLINE="ip=any"

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY is not set

#
# Cryptographic options
#
# CONFIG_CRYPTO is not set

#
# Hardware crypto devices
#

#
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC32 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
>/* Playback period pointer. Used with PLAYBACK_LIST_PTR to determine buffer position currently in DAC */ /* POINTER[15:0], Default: 0x0 */ #define PLAYBACK_PERIOD_END_ADDR 0x07 /* Playback fifo end address */ /* END_ADDR[15:0], FLAG[16] 0 = don't stop, 1 = stop */ #define PLAYBACK_FIFO_OFFSET_ADDRESS 0x08 /* Current fifo offset address [21:16] */ /* Cache size valid [5:0] */ #define PLAYBACK_UNKNOWN9 0x09 /* 0x9 to 0xf Unused */ #define CAPTURE_DMA_ADDR 0x10 /* Capture DMA address */ /* DMA[31:0], Default: 0x0 */ #define CAPTURE_BUFFER_SIZE 0x11 /* Capture buffer size */ /* SIZE[31:16], Default: 0x0 */ #define CAPTURE_POINTER 0x12 /* Capture buffer pointer. Sample currently in ADC */ /* POINTER[15:0], Default: 0x0 */ #define CAPTURE_FIFO_OFFSET_ADDRESS 0x13 /* Current fifo offset address [21:16] */ /* Cache size valid [5:0] */ #define PLAYBACK_LAST_SAMPLE 0x20 /* The sample currently being played */ /* 0x21 - 0x3f unused */ #define BASIC_INTERRUPT 0x40 /* Used by both playback and capture interrupt handler */ /* Playback (0x1<<channel_id) */ /* Capture (0x100<<channel_id) */ /* Playback sample rate 96000 = 0x20000 */ /* Start Playback [3:0] (one bit per channel) * Start Capture [11:8] (one bit per channel) * Playback rate [23:16] (2 bits per channel) (0=48kHz, 1=44.1kHz, 2=96kHz, 3=192Khz) * Playback mixer in enable [27:24] (one bit per channel) * Playback mixer out enable [31:28] (one bit per channel) */ /* The Digital out jack is shared with the Center/LFE Analogue output. * The jack has 4 poles. I will call 1 - Tip, 2 - Next to 1, 3 - Next to 2, 4 - Next to 3 * For Analogue: 1 -> Center Speaker, 2 -> Sub Woofer, 3 -> Ground, 4 -> Ground * For Digital: 1 -> Front SPDIF, 2 -> Rear SPDIF, 3 -> Center/Subwoofer SPDIF, 4 -> Ground. * Standard 4 pole Video A/V cable with RCA outputs: 1 -> White, 2 -> Yellow, 3 -> Shield on all three, 4 -> Red. * So, from this you can see that you cannot use a Standard 4 pole Video A/V cable with the SB Audigy LS card. */ /* The Front SPDIF PCM gets mixed with samples from the AC97 codec, so can only work for Stereo PCM and not AC3/DTS * The Rear SPDIF can be used for Stereo PCM and also AC3/DTS * The Center/LFE SPDIF cannot be used for AC3/DTS, but can be used for Stereo PCM. * Summary: For ALSA we use the Rear channel for SPDIF Digital AC3/DTS output */ /* A standard 2 pole mono mini-jack to RCA plug can be used for SPDIF Stereo PCM output from the Front channel. * A standard 3 pole stereo mini-jack to 2 RCA plugs can be used for SPDIF AC3/DTS and Stereo PCM output utilising the Rear channel and just one of the RCA plugs. */ #define SPCS0 0x41 /* SPDIF output Channel Status 0 register. For Rear. default=0x02108004, non-audio=0x02108006 */ #define SPCS1 0x42 /* SPDIF output Channel Status 1 register. For Front */ #define SPCS2 0x43 /* SPDIF output Channel Status 2 register. For Center/LFE */ #define SPCS3 0x44 /* SPDIF output Channel Status 3 register. Unknown */ /* When Channel set to 0: */ #define SPCS_CLKACCYMASK 0x30000000 /* Clock accuracy */ #define SPCS_CLKACCY_1000PPM 0x00000000 /* 1000 parts per million */ #define SPCS_CLKACCY_50PPM 0x10000000 /* 50 parts per million */ #define SPCS_CLKACCY_VARIABLE 0x20000000 /* Variable accuracy */ #define SPCS_SAMPLERATEMASK 0x0f000000 /* Sample rate */ #define SPCS_SAMPLERATE_44 0x00000000 /* 44.1kHz sample rate */ #define SPCS_SAMPLERATE_48 0x02000000 /* 48kHz sample rate */ #define SPCS_SAMPLERATE_32 0x03000000 /* 32kHz sample rate */ #define SPCS_CHANNELNUMMASK 0x00f00000 /* Channel number */ #define SPCS_CHANNELNUM_UNSPEC 0x00000000 /* Unspecified channel number */ #define SPCS_CHANNELNUM_LEFT 0x00100000 /* Left channel */ #define SPCS_CHANNELNUM_RIGHT 0x00200000 /* Right channel */ #define SPCS_SOURCENUMMASK 0x000f0000 /* Source number */ #define SPCS_SOURCENUM_UNSPEC 0x00000000 /* Unspecified source number */ #define SPCS_GENERATIONSTATUS 0x00008000 /* Originality flag (see IEC-958 spec) */ #define SPCS_CATEGORYCODEMASK 0x00007f00 /* Category code (see IEC-958 spec) */ #define SPCS_MODEMASK 0x000000c0 /* Mode (see IEC-958 spec) */ #define SPCS_EMPHASISMASK 0x00000038 /* Emphasis */ #define SPCS_EMPHASIS_NONE 0x00000000 /* No emphasis */ #define SPCS_EMPHASIS_50_15 0x00000008 /* 50/15 usec 2 channel */ #define SPCS_COPYRIGHT 0x00000004 /* Copyright asserted flag -- do not modify */ #define SPCS_NOTAUDIODATA 0x00000002 /* 0 = Digital audio, 1 = not audio */ #define SPCS_PROFESSIONAL 0x00000001 /* 0 = Consumer (IEC-958), 1 = pro (AES3-1992) */ /* When Channel set to 1: */ #define SPCS_WORD_LENGTH_MASK 0x0000000f /* Word Length Mask */ #define SPCS_WORD_LENGTH_16 0x00000008 /* Word Length 16 bit */ #define SPCS_WORD_LENGTH_17 0x00000006 /* Word Length 17 bit */ #define SPCS_WORD_LENGTH_18 0x00000004 /* Word Length 18 bit */ #define SPCS_WORD_LENGTH_19 0x00000002 /* Word Length 19 bit */ #define SPCS_WORD_LENGTH_20A 0x0000000a /* Word Length 20 bit */ #define SPCS_WORD_LENGTH_20 0x00000009 /* Word Length 20 bit (both 0xa and 0x9 are 20 bit) */ #define SPCS_WORD_LENGTH_21 0x00000007 /* Word Length 21 bit */ #define SPCS_WORD_LENGTH_22 0x00000005 /* Word Length 22 bit */ #define SPCS_WORD_LENGTH_23 0x00000003 /* Word Length 23 bit */ #define SPCS_WORD_LENGTH_24 0x0000000b /* Word Length 24 bit */ #define SPCS_ORIGINAL_SAMPLE_RATE_MASK 0x000000f0 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_NONE 0x00000000 /* Original Sample rate not indicated */ #define SPCS_ORIGINAL_SAMPLE_RATE_16000 0x00000010 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_RES1 0x00000020 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_32000 0x00000030 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_12000 0x00000040 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_11025 0x00000050 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_8000 0x00000060 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_RES2 0x00000070 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_192000 0x00000080 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_24000 0x00000090 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_96000 0x000000a0 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_48000 0x000000b0 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_176400 0x000000c0 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_22050 0x000000d0 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_88200 0x000000e0 /* Original Sample rate */ #define SPCS_ORIGINAL_SAMPLE_RATE_44100 0x000000f0 /* Original Sample rate */ #define SPDIF_SELECT1 0x45 /* Enables SPDIF or Analogue outputs 0-SPDIF, 0xf00-Analogue */ /* 0x100 - Front, 0x800 - Rear, 0x200 - Center/LFE. * But as the jack is shared, use 0xf00. * The Windows2000 driver uses 0x0000000f for both digital and analog. * 0xf00 introduces interesting noises onto the Center/LFE. * If you turn the volume up, you hear computer noise, * e.g. mouse moving, changing between app windows etc. * So, I am going to set this to 0x0000000f all the time now, * same as the windows driver does. * Use register SPDIF_SELECT2(0x72) to switch between SPDIF and Analog. */ /* When Channel = 0: * Wide SPDIF format [3:0] (one bit for each channel) (0=20bit, 1=24bit) * Tristate SPDIF Output [11:8] (one bit for each channel) (0=Not tristate, 1=Tristate) * SPDIF Bypass enable [19:16] (one bit for each channel) (0=Not bypass, 1=Bypass) */ /* When Channel = 1: * SPDIF 0 User data [7:0] * SPDIF 1 User data [15:8] * SPDIF 0 User data [23:16] * SPDIF 0 User data [31:24] * User data can be sent by using the SPDIF output frame pending and SPDIF output user bit interrupts. */ #define WATERMARK 0x46 /* Test bit to indicate cache usage level */ #define SPDIF_INPUT_STATUS 0x49 /* SPDIF Input status register. Bits the same as SPCS. * When Channel = 0: Bits the same as SPCS channel 0. * When Channel = 1: Bits the same as SPCS channel 1. * When Channel = 2: * SPDIF Input User data [16:0] * SPDIF Input Frame count [21:16] */ #define CAPTURE_CACHE_DATA 0x50 /* 0x50-0x5f Recorded samples. */ #define CAPTURE_SOURCE 0x60 /* Capture Source 0 = MIC */ #define CAPTURE_SOURCE_CHANNEL0 0xf0000000 /* Mask for selecting the Capture sources */ #define CAPTURE_SOURCE_CHANNEL1 0x0f000000 /* 0 - SPDIF mixer output. */ #define CAPTURE_SOURCE_CHANNEL2 0x00f00000 /* 1 - What you hear or . 2 - ?? */ #define CAPTURE_SOURCE_CHANNEL3 0x000f0000 /* 3 - Mic in, Line in, TAD in, Aux in. */ #define CAPTURE_SOURCE_RECORD_MAP 0x0000ffff /* Default 0x00e4 */ /* Record Map [7:0] (2 bits per channel) 0=mapped to channel 0, 1=mapped to channel 1, 2=mapped to channel2, 3=mapped to channel3 * Record source select for channel 0 [18:16] * Record source select for channel 1 [22:20] * Record source select for channel 2 [26:24] * Record source select for channel 3 [30:28] * 0 - SPDIF mixer output. * 1 - i2s mixer output. * 2 - SPDIF input. * 3 - i2s input. * 4 - AC97 capture. * 5 - SRC output. */ #define CAPTURE_VOLUME1 0x61 /* Capture volume per channel 0-3 */ #define CAPTURE_VOLUME2 0x62 /* Capture volume per channel 4-7 */ #define PLAYBACK_ROUTING1 0x63 /* Playback routing of channels 0-7. Effects AC3 output. Default 0x32765410 */ #define ROUTING1_REAR 0x77000000 /* Channel_id 0 sends to 10, Channel_id 1 sends to 32 */ #define ROUTING1_NULL 0x00770000 /* Channel_id 2 sends to 54, Channel_id 3 sends to 76 */ #define ROUTING1_CENTER_LFE 0x00007700 /* 0x32765410 means, send Channel_id 0 to FRONT, Channel_id 1 to REAR */ #define ROUTING1_FRONT 0x00000077 /* Channel_id 2 to CENTER_LFE, Channel_id 3 to NULL. */ /* Channel_id's handle stereo channels. Channel X is a single mono channel */ /* Host is input from the PCI bus. */ /* Host channel 0 [2:0] -> SPDIF Mixer/Router channel 0-7. * Host channel 1 [6:4] -> SPDIF Mixer/Router channel 0-7. * Host channel 2 [10:8] -> SPDIF Mixer/Router channel 0-7. * Host channel 3 [14:12] -> SPDIF Mixer/Router channel 0-7. * Host channel 4 [18:16] -> SPDIF Mixer/Router channel 0-7. * Host channel 5 [22:20] -> SPDIF Mixer/Router channel 0-7. * Host channel 6 [26:24] -> SPDIF Mixer/Router channel 0-7. * Host channel 7 [30:28] -> SPDIF Mixer/Router channel 0-7. */ #define PLAYBACK_ROUTING2 0x64 /* Playback Routing . Feeding Capture channels back into Playback. Effects AC3 output. Default 0x76767676 */ /* SRC is input from the capture inputs. */ /* SRC channel 0 [2:0] -> SPDIF Mixer/Router channel 0-7. * SRC channel 1 [6:4] -> SPDIF Mixer/Router channel 0-7. * SRC channel 2 [10:8] -> SPDIF Mixer/Router channel 0-7. * SRC channel 3 [14:12] -> SPDIF Mixer/Router channel 0-7. * SRC channel 4 [18:16] -> SPDIF Mixer/Router channel 0-7. * SRC channel 5 [22:20] -> SPDIF Mixer/Router channel 0-7. * SRC channel 6 [26:24] -> SPDIF Mixer/Router channel 0-7. * SRC channel 7 [30:28] -> SPDIF Mixer/Router channel 0-7. */ #define PLAYBACK_MUTE 0x65 /* Unknown. While playing 0x0, while silent 0x00fc0000 */ /* SPDIF Mixer input control: * Invert SRC to SPDIF Mixer [7-0] (One bit per channel) * Invert Host to SPDIF Mixer [15:8] (One bit per channel) * SRC to SPDIF Mixer disable [23:16] (One bit per channel) * Host to SPDIF Mixer disable [31:24] (One bit per channel) */ #define PLAYBACK_VOLUME1 0x66 /* Playback SPDIF volume per channel. Set to the same PLAYBACK_VOLUME(0x6a) */ /* PLAYBACK_VOLUME1 must be set to 30303030 for SPDIF AC3 Playback */ /* SPDIF mixer input volume. 0=12dB, 0x30=0dB, 0xFE=-51.5dB, 0xff=Mute */ /* One register for each of the 4 stereo streams. */ /* SRC Right volume [7:0] * SRC Left volume [15:8] * Host Right volume [23:16] * Host Left volume [31:24] */ #define CAPTURE_ROUTING1 0x67 /* Capture Routing. Default 0x32765410 */ /* Similar to register 0x63, except that the destination is the I2S mixer instead of the SPDIF mixer. I.E. Outputs to the Analog outputs instead of SPDIF. */ #define CAPTURE_ROUTING2 0x68 /* Unknown Routing. Default 0x76767676 */ /* Similar to register 0x64, except that the destination is the I2S mixer instead of the SPDIF mixer. I.E. Outputs to the Analog outputs instead of SPDIF. */ #define CAPTURE_MUTE 0x69 /* Unknown. While capturing 0x0, while silent 0x00fc0000 */ /* Similar to register 0x65, except that the destination is the I2S mixer instead of the SPDIF mixer. I.E. Outputs to the Analog outputs instead of SPDIF. */ #define PLAYBACK_VOLUME2 0x6a /* Playback Analog volume per channel. Does not effect AC3 output */ /* Similar to register 0x66, except that the destination is the I2S mixer instead of the SPDIF mixer. I.E. Outputs to the Analog outputs instead of SPDIF. */ #define UNKNOWN6b 0x6b /* Unknown. Readonly. Default 00400000 00400000 00400000 00400000 */ #define MIDI_UART_A_DATA 0x6c /* Midi Uart A Data */ #define MIDI_UART_A_CMD 0x6d /* Midi Uart A Command/Status */ #define MIDI_UART_B_DATA 0x6e /* Midi Uart B Data (currently unused) */ #define MIDI_UART_B_CMD 0x6f /* Midi Uart B Command/Status (currently unused) */ /* unique channel identifier for midi->channel */ #define CA0106_MIDI_CHAN_A 0x1 #define CA0106_MIDI_CHAN_B 0x2 /* from mpu401 */ #define CA0106_MIDI_INPUT_AVAIL 0x80 #define CA0106_MIDI_OUTPUT_READY 0x40 #define CA0106_MPU401_RESET 0xff #define CA0106_MPU401_ENTER_UART 0x3f #define CA0106_MPU401_ACK 0xfe #define SAMPLE_RATE_TRACKER_STATUS 0x70 /* Readonly. Default 00108000 00108000 00500000 00500000 */ /* Estimated sample rate [19:0] Relative to 48kHz. 0x8000 = 1.0 * Rate Locked [20] * SPDIF Locked [21] For SPDIF channel only. * Valid Audio [22] For SPDIF channel only. */ #define CAPTURE_CONTROL 0x71 /* Some sort of routing. default = 40c81000 30303030 30300000 00700000 */ /* Channel_id 0: 0x40c81000 must be changed to 0x40c80000 for SPDIF AC3 input or output. */ /* Channel_id 1: 0xffffffff(mute) 0x30303030(max) controls CAPTURE feedback into PLAYBACK. */ /* Sample rate output control register Channel=0 * Sample output rate [1:0] (0=48kHz, 1=44.1kHz, 2=96kHz, 3=192Khz) * Sample input rate [3:2] (0=48kHz, 1=Not available, 2=96kHz, 3=192Khz) * SRC input source select [4] 0=Audio from digital mixer, 1=Audio from analog source. * Record rate [9:8] (0=48kHz, 1=Not available, 2=96kHz, 3=192Khz) * Record mixer output enable [12:10] * I2S input rate master mode [15:14] (0=48kHz, 1=44.1kHz, 2=96kHz, 3=192Khz) * I2S output rate [17:16] (0=48kHz, 1=44.1kHz, 2=96kHz, 3=192Khz) * I2S output source select [18] (0=Audio from host, 1=Audio from SRC) * Record mixer I2S enable [20:19] (enable/disable i2sin1 and i2sin0) * I2S output master clock select [21] (0=256*I2S output rate, 1=512*I2S output rate.) * I2S input master clock select [22] (0=256*I2S input rate, 1=512*I2S input rate.) * I2S input mode [23] (0=Slave, 1=Master) * SPDIF output rate [25:24] (0=48kHz, 1=44.1kHz, 2=96kHz, 3=192Khz) * SPDIF output source select [26] (0=host, 1=SRC) * Not used [27] * Record Source 0 input [29:28] (0=SPDIF in, 1=I2S in, 2=AC97 Mic, 3=AC97 PCM) * Record Source 1 input [31:30] (0=SPDIF in, 1=I2S in, 2=AC97 Mic, 3=AC97 PCM) */ /* Sample rate output control register Channel=1 * I2S Input 0 volume Right [7:0] * I2S Input 0 volume Left [15:8] * I2S Input 1 volume Right [23:16] * I2S Input 1 volume Left [31:24] */ /* Sample rate output control register Channel=2 * SPDIF Input volume Right [23:16] * SPDIF Input volume Left [31:24] */ /* Sample rate output control register Channel=3 * No used */ #define SPDIF_SELECT2 0x72 /* Some sort of routing. Channel_id 0 only. default = 0x0f0f003f. Analog 0x000b0000, Digital 0x0b000000 */ #define ROUTING2_FRONT_MASK 0x00010000 /* Enable for Front speakers. */ #define ROUTING2_CENTER_LFE_MASK 0x00020000 /* Enable for Center/LFE speakers. */ #define ROUTING2_REAR_MASK 0x00080000 /* Enable for Rear speakers. */ /* Audio output control * AC97 output enable [5:0] * I2S output enable [19:16] * SPDIF output enable [27:24] */ #define UNKNOWN73 0x73 /* Unknown. Readonly. Default 0x0 */ #define CHIP_VERSION 0x74 /* P17 Chip version. Channel_id 0 only. Default 00000071 */ #define EXTENDED_INT_MASK 0x75 /* Used by both playback and capture interrupt handler */ /* Sets which Interrupts are enabled. */ /* 0x00000001 = Half period. Playback. * 0x00000010 = Full period. Playback. * 0x00000100 = Half buffer. Playback. * 0x00001000 = Full buffer. Playback. * 0x00010000 = Half buffer. Capture. * 0x00100000 = Full buffer. Capture. * Capture can only do 2 periods. * 0x01000000 = End audio. Playback. * 0x40000000 = Half buffer Playback,Caputre xrun. * 0x80000000 = Full buffer Playback,Caputre xrun. */ #define EXTENDED_INT 0x76 /* Used by both playback and capture interrupt handler */ /* Shows which interrupts are active at the moment. */ /* Same bit layout as EXTENDED_INT_MASK */ #define COUNTER77 0x77 /* Counter range 0 to 0x3fffff, 192000 counts per second. */ #define COUNTER78 0x78 /* Counter range 0 to 0x3fffff, 44100 counts per second. */ #define EXTENDED_INT_TIMER 0x79 /* Channel_id 0 only. Used by both playback and capture interrupt handler */ /* Causes interrupts based on timer intervals. */ #define SPI 0x7a /* SPI: Serial Interface Register */ #define I2C_A 0x7b /* I2C Address. 32 bit */ #define I2C_D0 0x7c /* I2C Data Port 0. 32 bit */ #define I2C_D1 0x7d /* I2C Data Port 1. 32 bit */ //I2C values #define I2C_A_ADC_ADD_MASK 0x000000fe //The address is a 7 bit address #define I2C_A_ADC_RW_MASK 0x00000001 //bit mask for R/W #define I2C_A_ADC_TRANS_MASK 0x00000010 //Bit mask for I2c address DAC value #define I2C_A_ADC_ABORT_MASK 0x00000020 //Bit mask for I2C transaction abort flag #define I2C_A_ADC_LAST_MASK 0x00000040 //Bit mask for Last word transaction #define I2C_A_ADC_BYTE_MASK 0x00000080 //Bit mask for Byte Mode #define I2C_A_ADC_ADD 0x00000034 //This is the Device address for ADC #define I2C_A_ADC_READ 0x00000001 //To perform a read operation #define I2C_A_ADC_START 0x00000100 //Start I2C transaction #define I2C_A_ADC_ABORT 0x00000200 //I2C transaction abort #define I2C_A_ADC_LAST 0x00000400 //I2C last transaction #define I2C_A_ADC_BYTE 0x00000800 //I2C one byte mode #define I2C_D_ADC_REG_MASK 0xfe000000 //ADC address register #define I2C_D_ADC_DAT_MASK 0x01ff0000 //ADC data register #define ADC_TIMEOUT 0x00000007 //ADC Timeout Clock Disable #define ADC_IFC_CTRL 0x0000000b //ADC Interface Control #define ADC_MASTER 0x0000000c //ADC Master Mode Control #define ADC_POWER 0x0000000d //ADC PowerDown Control #define ADC_ATTEN_ADCL 0x0000000e //ADC Attenuation ADCL #define ADC_ATTEN_ADCR 0x0000000f //ADC Attenuation ADCR #define ADC_ALC_CTRL1 0x00000010 //ADC ALC Control 1 #define ADC_ALC_CTRL2 0x00000011 //ADC ALC Control 2 #define ADC_ALC_CTRL3 0x00000012 //ADC ALC Control 3 #define ADC_NOISE_CTRL 0x00000013 //ADC Noise Gate Control #define ADC_LIMIT_CTRL 0x00000014 //ADC Limiter Control #define ADC_MUX 0x00000015 //ADC Mux offset #if 0 /* FIXME: Not tested yet. */ #define ADC_GAIN_MASK 0x000000ff //Mask for ADC Gain #define ADC_ZERODB 0x000000cf //Value to set ADC to 0dB #define ADC_MUTE_MASK 0x000000c0 //Mask for ADC mute #define ADC_MUTE 0x000000c0 //Value to mute ADC #define ADC_OSR 0x00000008 //Mask for ADC oversample rate select #define ADC_TIMEOUT_DISABLE 0x00000008 //Value and mask to disable Timeout clock #define ADC_HPF_DISABLE 0x00000100 //Value and mask to disable High pass filter #define ADC_TRANWIN_MASK 0x00000070 //Mask for Length of Transient Window #endif #define ADC_MUX_MASK 0x0000000f //Mask for ADC Mux #define ADC_MUX_PHONE 0x00000001 //Value to select TAD at ADC Mux (Not used) #define ADC_MUX_MIC 0x00000002 //Value to select Mic at ADC Mux #define ADC_MUX_LINEIN 0x00000004 //Value to select LineIn at ADC Mux #define ADC_MUX_AUX 0x00000008 //Value to select Aux at ADC Mux #define SET_CHANNEL 0 /* Testing channel outputs 0=Front, 1=Center/LFE, 2=Unknown, 3=Rear */ #define PCM_FRONT_CHANNEL 0 #define PCM_REAR_CHANNEL 1 #define PCM_CENTER_LFE_CHANNEL 2 #define PCM_UNKNOWN_CHANNEL 3 #define CONTROL_FRONT_CHANNEL 0 #define CONTROL_REAR_CHANNEL 3 #define CONTROL_CENTER_LFE_CHANNEL 1 #define CONTROL_UNKNOWN_CHANNEL 2 /* Based on WM8768 Datasheet Rev 4.2 page 32 */ #define SPI_REG_MASK 0x1ff /* 16-bit SPI writes have a 7-bit address */ #define SPI_REG_SHIFT 9 /* followed by 9 bits of data */ #define SPI_LDA1_REG 0 /* digital attenuation */ #define SPI_RDA1_REG 1 #define SPI_LDA2_REG 4 #define SPI_RDA2_REG 5 #define SPI_LDA3_REG 6 #define SPI_RDA3_REG 7 #define SPI_LDA4_REG 13 #define SPI_RDA4_REG 14 #define SPI_MASTDA_REG 8 #define SPI_DA_BIT_UPDATE (1<<8) /* update attenuation values */ #define SPI_DA_BIT_0dB 0xff /* 0 dB */ #define SPI_DA_BIT_infdB 0x00 /* inf dB attenuation (mute) */ #define SPI_PL_REG 2 #define SPI_PL_BIT_L_M (0<<5) /* left channel = mute */ #define SPI_PL_BIT_L_L (1<<5) /* left channel = left */ #define SPI_PL_BIT_L_R (2<<5) /* left channel = right */ #define SPI_PL_BIT_L_C (3<<5) /* left channel = (L+R)/2 */ #define SPI_PL_BIT_R_M (0<<7) /* right channel = mute */ #define SPI_PL_BIT_R_L (1<<7) /* right channel = left */ #define SPI_PL_BIT_R_R (2<<7) /* right channel = right */ #define SPI_PL_BIT_R_C (3<<7) /* right channel = (L+R)/2 */ #define SPI_IZD_REG 2 #define SPI_IZD_BIT (1<<4) /* infinite zero detect */ #define SPI_FMT_REG 3 #define SPI_FMT_BIT_RJ (0<<0) /* right justified mode */ #define SPI_FMT_BIT_LJ (1<<0) /* left justified mode */ #define SPI_FMT_BIT_I2S (2<<0) /* I2S mode */ #define SPI_FMT_BIT_DSP (3<<0) /* DSP Modes A or B */ #define SPI_LRP_REG 3 #define SPI_LRP_BIT (1<<2) /* invert LRCLK polarity */ #define SPI_BCP_REG 3 #define SPI_BCP_BIT (1<<3) /* invert BCLK polarity */ #define SPI_IWL_REG 3 #define SPI_IWL_BIT_16 (0<<4) /* 16-bit world length */ #define SPI_IWL_BIT_20 (1<<4) /* 20-bit world length */ #define SPI_IWL_BIT_24 (2<<4) /* 24-bit world length */ #define SPI_IWL_BIT_32 (3<<4) /* 32-bit world length */ #define SPI_MS_REG 10 #define SPI_MS_BIT (1<<5) /* master mode */ #define SPI_RATE_REG 10 /* only applies in master mode */ #define SPI_RATE_BIT_128 (0<<6) /* MCLK = LRCLK * 128 */ #define SPI_RATE_BIT_192 (1<<6) #define SPI_RATE_BIT_256 (2<<6) #define SPI_RATE_BIT_384 (3<<6) #define SPI_RATE_BIT_512 (4<<6) #define SPI_RATE_BIT_768 (5<<6) /* They really do label the bit for the 4th channel "4" and not "3" */ #define SPI_DMUTE0_REG 9 #define SPI_DMUTE1_REG 9 #define SPI_DMUTE2_REG 9 #define SPI_DMUTE4_REG 15 #define SPI_DMUTE0_BIT (1<<3) #define SPI_DMUTE1_BIT (1<<4) #define SPI_DMUTE2_BIT (1<<5) #define SPI_DMUTE4_BIT (1<<2) #define SPI_PHASE0_REG 3 #define SPI_PHASE1_REG 3 #define SPI_PHASE2_REG 3 #define SPI_PHASE4_REG 15 #define SPI_PHASE0_BIT (1<<6) #define SPI_PHASE1_BIT (1<<7) #define SPI_PHASE2_BIT (1<<8) #define SPI_PHASE4_BIT (1<<3) #define SPI_PDWN_REG 2 /* power down all DACs */ #define SPI_PDWN_BIT (1<<2) #define SPI_DACD0_REG 10 /* power down individual DACs */ #define SPI_DACD1_REG 10 #define SPI_DACD2_REG 10 #define SPI_DACD4_REG 15 #define SPI_DACD0_BIT (1<<1) #define SPI_DACD1_BIT (1<<2) #define SPI_DACD2_BIT (1<<3) #define SPI_DACD4_BIT (1<<0) /* datasheet error says it's 1 */ #define SPI_PWRDNALL_REG 10 /* power down everything */ #define SPI_PWRDNALL_BIT (1<<4) #include "ca_midi.h" struct snd_ca0106; struct snd_ca0106_channel { struct snd_ca0106 *emu; int number; int use; void (*interrupt)(struct snd_ca0106 *emu, struct snd_ca0106_channel *channel); struct snd_ca0106_pcm *epcm; }; struct snd_ca0106_pcm { struct snd_ca0106 *emu; struct snd_pcm_substream *substream; int channel_id; unsigned short running; }; struct snd_ca0106_details { u32 serial; char * name; int ac97; /* ac97 = 0 -> Select MIC, Line in, TAD in, AUX in. ac97 = 1 -> Default to AC97 in. */ int gpio_type; /* gpio_type = 1 -> shared mic-in/line-in gpio_type = 2 -> shared side-out/line-in. */ int i2c_adc; /* with i2c_adc=1, the driver adds some capture volume controls, phone, mic, line-in and aux. */ u16 spi_dac; /* spi_dac = 0 -> no spi interface for DACs spi_dac = 0x<front><rear><center-lfe><side> -> specifies DAC id for each channel pair. */ }; // definition of the chip-specific record struct snd_ca0106 { struct snd_card *card; struct snd_ca0106_details *details; struct pci_dev *pci; unsigned long port; struct resource *res_port; int irq; unsigned int serial; /* serial number */ unsigned short model; /* subsystem id */ spinlock_t emu_lock; struct snd_ac97 *ac97; struct snd_pcm *pcm[4]; struct snd_ca0106_channel playback_channels[4]; struct snd_ca0106_channel capture_channels[4]; u32 spdif_bits[4]; /* s/pdif out default setup */ u32 spdif_str_bits[4]; /* s/pdif out per-stream setup */ int spdif_enable; int capture_source; int i2c_capture_source; u8 i2c_capture_volume[4][2]; int capture_mic_line_in; struct snd_dma_buffer buffer; struct snd_ca_midi midi; struct snd_ca_midi midi2; u16 spi_dac_reg[16]; #ifdef CONFIG_PM_SLEEP #define NUM_SAVED_VOLUMES 9 unsigned int saved_vol[NUM_SAVED_VOLUMES]; #endif }; int snd_ca0106_mixer(struct snd_ca0106 *emu); int snd_ca0106_proc_init(struct snd_ca0106 * emu); unsigned int snd_ca0106_ptr_read(struct snd_ca0106 * emu, unsigned int reg, unsigned int chn); void snd_ca0106_ptr_write(struct snd_ca0106 *emu, unsigned int reg, unsigned int chn, unsigned int data); int snd_ca0106_i2c_write(struct snd_ca0106 *emu, u32 reg, u32 value); int snd_ca0106_spi_write(struct snd_ca0106 * emu, unsigned int data); #ifdef CONFIG_PM_SLEEP void snd_ca0106_mixer_suspend(struct snd_ca0106 *chip); void snd_ca0106_mixer_resume(struct snd_ca0106 *chip); #else #define snd_ca0106_mixer_suspend(chip) do { } while (0) #define snd_ca0106_mixer_resume(chip) do { } while (0) #endif