资源简介
IIS音频试验
Redhat9
ARMlinux

代码片段和文件信息
/*
* Philips UDA1341 Audio Device Driver for S3C2410 Linux
*
* Copyright (C) 2002 MIZI Research Inc.
*
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#undef DEBUG
#ifdef DEBUG
#define DPRINTK( x... ) printk( ##x )
#else
#define DPRINTK( x... )
#endif
/* UDA1341 Register bits */
#define UDA1341_ADDR 0x14
#define UDA1341_REG_DATA 0x0
#define UDA1341_REG_STATUS 0x2
#define SC_512fs (0x0 << 4)
#define SC_384fs (0x1 << 4)
#define SC_256fs (0x2 << 4)
#define IF_IIS (0x0 << 1)
#define IF_LSB_16 (0x1 << 1)
#define IF_LSB_18 (0x2 << 1)
#define IF_LSB_20 (0x3 << 1)
#define IF_MSB (0x4 << 1)
#define MUTE (0x1 << 2)
#define NO_DE_EMPHASIS (0x10 << 3)
#define DE_EMPHASIS_32 (0x11 << 3)
#define DE_EMPHASIS_441 (0x12 << 3)
#define DE_EMPHASIS_48 (0x13 << 3)
#define GPIO_L3CLOCK (GPIO_MODE_OUT | GPIO_PULLUP_DIS | GPIO_B4)
#define GPIO_L3DATA (GPIO_MODE_OUT | GPIO_PULLUP_DIS | GPIO_B3)
#define GPIO_L3MODE (GPIO_MODE_OUT | GPIO_PULLUP_DIS | GPIO_B2)
#define AUDIO_NAME “UDA1341“
#define AUDIO_NAME_VERBOSE “UDA1341 audio driver“
#define AUDIO_FMT_MASK (AFMT_S16_LE)
#define AUDIO_FMT_DEFAULT (AFMT_S16_LE)
#define AUDIO_CHANNELS_DEFAULT 2
#define AUDIO_RATE_DEFAULT 22050
#define AUDIO_NBFRAGS_DEFAULT 8
#define AUDIO_FRAGSIZE_DEFAULT 8192
#define S_CLOCK_FREQ 384
#define PCM_ABS(a) (a < 0 ? -a : a)
typedef struct {
int size; /* buffer size */
char *start; /* point to actual buffer */
dma_addr_t dma_addr; /* physical buffer address */
struct semaphore sem; /* down before touching the buffer */
int master; /* owner for buffer allocation contain size when true */
} audio_buf_t;
typedef struct {
audio_buf_t *buffers; /* pointer to audio buffer structures */
audio_buf_t *buf; /* current buffer used by read/write */
u_int buf_idx; /* index for the pointer above */
u_int fragsize; /* fragment i.e. buffer size */
u_int nbfrags; /* nbr of fragments */
dmach_t dma_ch; /* DMA channel (channel2 for audio) */
} audio_stream_t;
static audio_stream_t output_stream;
#define NEXT_BUF(_s__b_) { \
(_s_)->_b_##_idx++; \
(_s_)->_b_##_idx %= (_s_)->nbfrags; \
(_s_)->_b_ = (_s_)->buffers + (_s_)->_b_##_idx; }
static u_int audio_rate;
static int audio_channels;
static int audio_fmt;
static u_int audio_fragsize;
static u_int audio_nbfrags;
static int audio_rd_refcount;
static int audio_wr_refcount;
#define audio_active (audio_rd_refcount | audio_wr_refcount)
static int audio_dev_dsp;
static int
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 33792 2010-06-20 13:21 312007080605211尤静嵌入式课程设计\音频驱动移植任务书.doc
文件 172196 2008-04-22 04:00 312007080605211尤静嵌入式课程设计\jk.wav
文件 2860544 2010-06-21 17:44 312007080605211尤静嵌入式课程设计\音频驱动程序移植报告.doc
文件 21050 2010-06-18 09:36 312007080605211尤静嵌入式课程设计\s3c2410-uda1341.c
目录 0 2010-06-20 13:21 312007080605211尤静嵌入式课程设计
----------- --------- ---------- ----- ----
3087582 5
相关资源
- uboot到linux logo显示不间断 补丁
- UNIX/LINUX编程实践教程的源码
- Linux任务管理器
- linux应用层的华容道游戏源代码
- ubuntu9.10 可加载内核模块和字符设备驱
- MP3文件ID3v2ID3v2APEv2标签读取
- 操作系统实验——虚存管理实验
- linux下的发包工具sendip
- 尚观培训linux许巍关于c 的笔记和讲义
- 尚观培训linux董亮老师关于数据结构的
- linux 线程池源码 c 版
- linux C 电梯程序练习
- linux下用多进程同步方法解决生产者
- Linux 操作系统实验(全)
- Linux From Scratch 中文手册
- linux 网络实验 ftp程序
- Linux命令大全离线版&在线版
- 操作系统共享内存实验
- dos 下运行Linux 命令--gnu_utils
- linux 0.12内核源代码
- linux简易shell C实现
- linux实验报告及心得体会
- 基于GTK的Linux环境下的简易任务管理器
- linux扫雷游戏代码
- CAN Linux驱动代码
- Linux系统教材
- intel 82579LM 网卡驱动Linux系统版 v1.9.
- SA1110处理器掌上电脑液晶显示器设计
- 基于Linux的串口服务器设计
- Windows下访问LINUX的利器-SSH
评论
共有 条评论