一、AC108驱动移植

1、驱动添加

cp r18/lichee/linux-4.4/sound/soc/codecs/ac108.* a64/linux-3.10/sound/soc/codecs/

2、Kconfig、Makefile修改

linux-3.10\sound\soc\codecs\Kconfig修改:

menu "CODEC drivers"

config SND_SOC_ALL_CODECS

# ac108 config

config SND_SOC_AC108

tristate "ac108 mic array "

depends on ARCH_SUN50IW1

select SND_SUNXI_SOC_SUNXI_DAUDIO

default n

help

say Y or M if you want to add support for AC108.

endmenu

r18 sound/soc/codecs/Kconfig配置

SND_SUNXI_SOC_SUNXI_DAUDIO

ac108添加

Device Drivers  --->

<*> Sound card support  --->

<*>   Advanced Linux Sound Architecture  --->

<*>   ALSA for SoC audio support  --->

CODEC drivers  --->

<*> ac108 mic array

sunxi-snddaudio0添加

Device Drivers  --->

<*> Sound card support  --->

<*>   Advanced Linux Sound Architecture  --->

<*>   ALSA for SoC audio support  --->

<*>   ASoC support for SUNXI  --->

<*>   ASoC support for daudio0 machine

二、buildroot

https://www.cnblogs.com/zhangshenghui/p/11008115.html

三、耳机喇叭驱动

查看A64开发板声卡驱动

在linux-3.10内核代码中搜索audiocodec关键字,查找到如下:

推断在sunxi_sndcodec.c中,查看linux-3.10\sound\soc\sunxi\目录下Kconfig和Makefile查看内核配置信息打开。

四、内核配置文件

1、驱动设备树

linux-3.10/arch/arm64/boot/dts/sun50iw1p1.dtsi

五、R18 ac108、tas5731驱动

ac108 驱动目录:

linux-4.4\sound\soc\codecs\ac108.c

tas5731驱动目录:

linux-4.4\sound\soc\codecs\tas5731.c

sun50iw1p1-tulip-noma.dts文件查看设备树配置:

跟踪查找snddaudio-codec-dai关键字,sunxi-snddaudio.c

查看 /proc/asound/cards文件

在SDK 查找 sndac10810035发现:

ERROR (duplicate_label): Duplicate label 'twi0' on /soc@01c00000/twi@0x0x01C2AC00 and /soc@01c00000/twi@0x01c2ac00

ERROR: Input tree has errors, aborting (use -f to force output)

make[1]: *** [arch/arm64/boot/dts/sun50iw1p1-soc.dtb] Error 2

六、adb

参考网站:

https://www.cnblogs.com/zengjfgit/p/6289873.html

1. 编译拷贝模块:make modules && make modules_install INSTALL_MOD_PATH=~/rootfs

2. modprobe g_ffs idVendor=0x18d1 idProduct=0x4e42 iSerialNumber="buildroot"

3. mkdir -p /dev/usb-ffs/adb

4. mount -t functionfs adb /dev/usb-ffs/adb -o uid=2000,gid=2000

5. adbd &

6. 插上USB OTG线,会先安装驱动,安装完成后,可以使用adb工具了。
    7. Ubuntu里可以直接安装一下android adb tool就可以连接了。

备份:

改后:

七、A64喇叭播放

amixer cset name='Earpiece Switch' 'on'

amixer cset name='earpiece volume' '31'

aplay music_16_2.wav &

喇叭和耳机同时播放,Earpiece Switch控制开关,earpiece volume控制音量

八、A64移植tina系统

ERROR: "sunxi_wlan_get_oob_irq_flags" [drivers/net/wireless/bcmdhd/bcmdhd.ko] undefined!

ERROR: "sunxi_wlan_get_bus_index" [drivers/net/wireless/bcmdhd/bcmdhd.ko] undefined!

ERROR: "sunxi_wlan_set_power" [drivers/net/wireless/bcmdhd/bcmdhd.ko] undefined!

ERROR: "sunxi_wlan_get_oob_irq" [drivers/net/wireless/bcmdhd/bcmdhd.ko] undefined!

make[6]: *** [__modpost] Error 1

make[5]: *** [modules] Error 2

make[5]: Leaving directory `/home/danny/share/allwinner/sdk/A64/r18_tina/lichee/linux-4.4'

make[4]: *** [/home/danny/share/allwinner/sdk/A64/r18_tina/out/tulip-noma/compile_dir/target/linux-tulip-noma/linux-4.4.89/.image] Error 2

make[4]: Leaving directory `/home/danny/share/allwinner/sdk/A64/r18_tina/target/allwinner/tulip-noma'

make[3]: *** [install] Error 2

make[3]: Leaving directory `/home/danny/share/allwinner/sdk/A64/r18_tina/target/allwinner'

make[2]: *** [target/allwinner/install] Error 2

make[2]: Leaving directory `/home/danny/share/allwinner/sdk/A64/r18_tina'

make[1]: *** [/home/danny/share/allwinner/sdk/A64/r18_tina/out/tulip-noma/staging_dir/target/stamp/.target_install] Error 2

make[1]: Leaving directory `/home/danny/share/allwinner/sdk/A64/r18_tina'

make: *** [world] Error 2

九、麦克风采集与喇叭播放放到I2S0上

static void sunxi_daudio_txctrl_enable(struct sunxi_daudio_info *sunxi_daudio,

int enable)

static void sunxi_daudio_rxctrl_enable(struct sunxi_daudio_info *sunxi_daudio,

int enable)

pinctrl_select_state

static int sunxi_daudio_dai_startup(struct snd_pcm_substream *substream,

struct snd_soc_dai *dai)

(十二)A64的更多相关文章

  1. 前端开发中SEO的十二条总结

    一. 合理使用title, description, keywords二. 合理使用h1 - h6, h1标签的权重很高, 注意使用频率三. 列表代码使用ul, 重要文字使用strong标签四. 图片 ...

  2. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  3. 我的MYSQL学习心得(十二) 触发器

    我的MYSQL学习心得(十二) 触发器 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数 ...

  4. Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】

    2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...

  5. 第十二章Fundamental Data Types 基本数据类型

    目录: 12.1 数值概论 12.2整数 12.3浮点数 12.4 字符和字符串 12.5布尔变量 12.6枚举类型 12.7具名常量 12.8数组 12.9创建你自己的类型 12.1   数值概论 ...

  6. [分享] IT天空的二十二条军规

    Una 发表于 2014-9-19 20:25:06 https://www.itsk.com/thread-335975-1-1.html IT天空的二十二条军规 第一条.你不是什么都会,也不是什么 ...

  7. Bootstrap <基础三十二>模态框(Modal)插件

    模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用  ...

  8. Bootstrap <基础二十二>超大屏幕(Jumbotron)

    Bootstrap 支持的另一个特性,超大屏幕(Jumbotron).顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin).使用超大屏幕(Jumbotron)的步骤如下: ...

  9. Bootstrap <基础十二>下拉菜单(Dropdowns)

    Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 ...

  10. AngularJs的UI组件ui-Bootstrap分享(十二)——Rating

    Rating是一个用于打分或排名的控件.看一个最简单的例子: <!DOCTYPE html> <html ng-app="ui.bootstrap.demo" x ...

随机推荐

  1. CockroachDB学习笔记——[译]The New Stack:遇见CockroachDB,一个弹性SQL数据库

    原文链接:https://www.cockroachlabs.com/blog/the-new-stack-meet-cockroachdb-the-resilient-sql-database/ 原 ...

  2. leetcode 求一个字符串的最长回文子串

    最长回文子串问题:给定一个字符串,求它的最长回文子串长度.如果一个字符串正着读和反着读是一样的,那它就是回文串.   给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最 ...

  3. 为 Exchange 2010 用户添加联系人头像

    一.修改AD架构 为了给联系人添加头像,实际是让联系人头像缩略图能够显示在全局地址列表 GAL 中,需要让其在全局编录(GC)中进行复制,默认情况下,对象的“thumbnailphoto”属性值不会在 ...

  4. Centos7 yum源配置及关闭防火墙

    清理源 #yum clean all更新源缓存 #yum makecache更新源 #yum update 设置主机名: #hostnamectl set-hostname 查看防火墙状态 #syst ...

  5. vc++中播放声音

    http://www.cnblogs.com/xuemaxiongfeng/articles/2462560.html http://bbs.csdn.net/topics/390729457 htt ...

  6. 最新 映客java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.映客等10家互联网公司的校招Offer,因为某些自身原因最终选择了映客.6.7月主要是做系统复习.项目复盘.LeetCode ...

  7. The 2019 ACM-ICPC China Shannxi Provincial Programming Contest (西安邀请赛重现) J. And And And

    链接:https://nanti.jisuanke.com/t/39277 思路: 一开始看着很像树分治,就用树分治写了下,发现因为异或操作的特殊性,我们是可以优化树分治中的容斥操作的,不合理的情况只 ...

  8. [bzoj1151][CTSC2007]动物园zoo_状压dp

    动物园zoo 题目大意:https://www.lydsy.com/JudgeOnline/problem.php?id=1151 题解: 我们发现每个点只会往右延伸$5$个,这个数非常小. 再加上每 ...

  9. MySQL添加、修改、撤销用户数据库操作权限的一些记录

    查看MYSQL数据库中所有用户 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; ...

  10. J.U.C之AQS介绍

    从JDK1.5开始,引入了并发包java.util.concurrent(J.U.C),并发容器里的同步容器AQS(AbstractQueuedSynchronizer)是J.U.C的核心,AQS底层 ...