(十二)A64
一、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的更多相关文章
- 前端开发中SEO的十二条总结
一. 合理使用title, description, keywords二. 合理使用h1 - h6, h1标签的权重很高, 注意使用频率三. 列表代码使用ul, 重要文字使用strong标签四. 图片 ...
- CRL快速开发框架系列教程十二(MongoDB支持)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- 我的MYSQL学习心得(十二) 触发器
我的MYSQL学习心得(十二) 触发器 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数 ...
- Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】
2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...
- 第十二章Fundamental Data Types 基本数据类型
目录: 12.1 数值概论 12.2整数 12.3浮点数 12.4 字符和字符串 12.5布尔变量 12.6枚举类型 12.7具名常量 12.8数组 12.9创建你自己的类型 12.1 数值概论 ...
- [分享] IT天空的二十二条军规
Una 发表于 2014-9-19 20:25:06 https://www.itsk.com/thread-335975-1-1.html IT天空的二十二条军规 第一条.你不是什么都会,也不是什么 ...
- Bootstrap <基础三十二>模态框(Modal)插件
模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用 ...
- Bootstrap <基础二十二>超大屏幕(Jumbotron)
Bootstrap 支持的另一个特性,超大屏幕(Jumbotron).顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin).使用超大屏幕(Jumbotron)的步骤如下: ...
- Bootstrap <基础十二>下拉菜单(Dropdowns)
Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 ...
- AngularJs的UI组件ui-Bootstrap分享(十二)——Rating
Rating是一个用于打分或排名的控件.看一个最简单的例子: <!DOCTYPE html> <html ng-app="ui.bootstrap.demo" x ...
随机推荐
- Node.js使用Express实现Get和Post请求
var express = require('express'); var app = express(); // 主页输出 "Hello World" app.get('/', ...
- 学用 ASP.Net 之 System.Collections.ArrayList 类
ArrayList 是 .Net 的动态数组. 主要成员: /* 静态方法 */ ArrayList.Adapter() //把其他 IList 对象包装为 ArrayList 使用 ArrayLis ...
- 在Flutter中构建布局
这是在Flutter中构建布局的指南.首先,您将构建以下屏幕截图的布局.然后回过头, 本指南将解释Flutter的布局方法,并说明如何在屏幕上放置一个widget.在讨论如何水平和垂直放置widget ...
- JAVA数据结构和算法 2-数组
数组中使用的主要算法:插入.查找(线性查找-无序/二分查找-有序).删除 在JAVA中数组属于对象类型: 1.创建方法有3种: 或者 数组一旦创建,大小不可改变.数组大小可以通过length字段获得: ...
- logstash数据迁移
logstash是一个非常强大的数据迁移工具.这里主要记录今天使用到的几个简单用法. 其中比较需要注意的是 迁移到elasticsearch的时候,output 的 elasticsearch 中的 ...
- Guava源码阅读-base-CharMatcher
package com.google.common.base; (部分内容摘自:http://blog.csdn.net/idealemail/article/details/53860439) 之前 ...
- [转帖]System Dynamic Management Views
System Dynamic Management Views https://docs.microsoft.com/en-us/sql/relational-databases/system-dyn ...
- python基础(十)--函数进阶
嵌套函数 >>> graphic = '三角形' >>> def chang(): graphic = '正方形' def chang1(): #内部嵌套的函数命名 ...
- 【leetcode】287. 寻找重复数
题目链接:传送门 题目描述: 给定一个数组 nums 包含 n + 1 个整数,每个整数在 1 到 n 之间,包括 1 和 n.现在假设数组中存在一个重复的数字,找到该重复的数字. 注意 不能修改数组 ...
- 监控提示message
见文件 监控提示message.rar ---可作时时监控提示功能