MTK平台释疑android M 配置中断相关问题

1.使用老方法(android L)配置中断,调用request_irq函数时出错,错误代码 -22

Dear Customer:
您好!
如电话沟通,贵司可以在发过来的code基础上做下面的修改再试试:
(1)修改aw8155.c

static int aw8155_drv_probe(struct platform_device *dev)
{
//...

// ------------------ here add your code to init device tree
-------------------- start
aw8155_pinctrl1 =
devm_pinctrl_get(&dev->dev);
if (IS_ERR(aw8155_pinctrl1)) {

AW8155_LOGE("devm_pinctrl_get error\n");
}
else{ //add

pins_default = pinctrl_lookup_state(aw8155_pinctrl1, "default");
if
(IS_ERR(pins_default)) {
AW8155_LOGE("pinctrl_lookup_state default
error\n");
}

pa_pins_int = pinctrl_lookup_state(aw8155_pinctrl1,
"pa_ctl_output0");
if (IS_ERR(pa_pins_int)) {

AW8155_LOGE("pinctrl_lookup_state pa_ctl_output0 error\n");
}
else
//add
pinctrl_select_state(aw8155_pinctrl1, pa_pins_int);
}
//
------------------ here add your code to init device tree ----------------------
end
//...

#if 0 //add
static struct platform_device
aw8155_platform_device = {
.name = "aw8155",
.id = -1,
.dev = {

.release = aw8155_dev_release,
}
};
#endif
static int __init
aw8155_init(void)
{
int ret = 0;
AW8155_LOGD("+%s\n", __func__);

#if 0 //add
ret = platform_device_register
(&aw8155_platform_device);
if (ret) {

AW8155_LOGE("platform_device_register fail\n");
return ret;
}

#endif

(2)修改fc8180_spi.c
static int dtveint_drv_probe(struct
platform_device *dev)
{
//...
eint_pinctrl =
devm_pinctrl_get(&dev->dev);
if (IS_ERR(eint_pinctrl)) {

printk(KERN_INFO "eintDebug devm_pinctrl_get error\n");
}
else{
//add
pins_default = pinctrl_lookup_state(eint_pinctrl, "default");
if
(IS_ERR(pins_default)) {
printk(KERN_INFO "eintDebug pinctrl_lookup_state
default error\n");
}

eint_pins = pinctrl_lookup_state(eint_pinctrl,
"eint_cfg");
if (IS_ERR(eint_pins)) {
printk(KERN_INFO "eintDebug
pinctrl_lookup_state pa_ctl_output0 error\n");
}
else //add

pinctrl_select_state(eint_pinctrl, eint_pins);
}
//...

#if 0
//add
static struct platform_device dtveint_platform_device = {
.name =
"dtveint",
.id = -1,
.dev = {
.release = dtveint_dev_release,
}

};
#endif
static int dtveint_init(void)
{
int ret = 0;

printk(KERN_INFO "eintDebug +%s\n", __func__);
#if 0 //add
ret =
platform_device_register (&dtveint_platform_device);
if (ret) {

printk("eintDebug platform_device_register fail\n");
return ret;
}

#endif
//...
谢谢!

2.使用spi_device驱动调用devm_pinctrl_get(&spi->dev),出现错误,反复重启,错误
”log见反复重启.log“

Dear Customer:
您好!
您这个cust_eint.dtsi文件是通过window下运行dct
tool生成的吧,这个只是做个参考。我们真正使用的是编译生成的cust.dtsi。所以您要check的话,可以check文件cust.dtsi。或者在linux下运行
dct生成相应的文件。

example:
(1)在window下运行dct
tool生成的cust_eint.dtsi文件中的accdet中断为:
[email protected] {
compatible = "mediatek,
ACCDET-eint";
interrupt-parent = <&eintc>;
interrupts = <6
8>;
debounce = <6 256000>;
};
(2)在linux下运行dct
生成的cust_eint_dtsi文件会在编译生成cust.dtsi文件中的accdet中断为:
&accdet {

interrupt-parent = <&eintc>;
interrupts = <6
IRQ_TYPE_LEVEL_LOW>;
debounce = <6 256000>;
status = "okay";

};

谢谢!

3.能否提供一个spi驱动设备树配置的样板,可能过后需要在spi驱动的probe中进行中断和gpio的配置?

Dear Customer:
您好!
举例,在SPI0 bus上挂device
(kernel-3.18\arch\arm64\boot\dts\xxxx.dts)

&spi0 {

#address-cells = <1>;
#size-cells = <0>;

label:Your
device [email protected] {
compatible = "your compatible name";
reg = <0>;
=> 表示SPI0上的第一个device
spi-max-frequency = <xxxx>; =>
如有需要,可自行添加SPI相关的info,这里以max freq为例
/* your device info ….*/
};
};

时间: 2024-10-27 18:43:19

MTK平台释疑android M 配置中断相关问题的相关文章

关于MTK平台SIM-ME Lock的配置方案

针对一些运营商的锁网需求,MTK平台已经对其有很好的支持.绝大多数的海外需求可以通过直接配置相关文件来完成.这里简单描述一下配置方法,不做原理分析. 相关数据结构分析: Modem中与SML锁网配置相关的数据结构有: Sml_context_struct:SML上下文, cat:SML种类,目前MTK平台共支持7种锁网方式(Network Lock,Network Subset Lock,Service Provider Lock,Corporate Lock,IMSI Lock,Linked

【转】高通平台android 环境配置编译及开发经验总结

原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流程分析 qcril 流程分析,设置sim卡锁 python scons 语法学习 Python 语言之 scons 工具流程分析: 1.2 搭建高通平台环境开发环境 高通and

Android 普通APP APK 如何确认系统是MTK 平台

前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net 雨季o莫忧离:http://blog.csdn.net/luckkof 正文 [Description] 普通APP APK 如何确认系统是MTK 平台 [Keyword] APP APK MTK 平台 System Property [Solution] 有一些APP 厂商,可能针对MTK 平台进行优化设计,那么普通APP 如何确认系统是MTK 平台呢? 目前在

【React Native开发】React Native For Android环境配置以及第一个实例

转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50456967 本文出自:[江清清的博客] (一)前言 FaceBook早期开源发布了React Native For IOS,终于在2015年9月15日也发布了ReactNative for Android,虽然Android版本的项目发布比较迟,但是也没有阻挡了广大开发者的热情.可以这样讲在2015年移动平台市场上有两个方向技术研究比较火,第一种为阿里,百度,腾讯

MTK 平台上查询当前使用的摄像头模组及所支持预览分辨率

1,MTK 平台如何查询当前使用的是哪颗摄像头及相关的模组信息? 在该目录下可以查到当前平台及相关项目的配置文件 ProjectConfig.mk \ALPS.JB.MP.V1_W_20120919\mediatek\config\project**\ 该文件中配置了当前项目中使用的硬件芯片等信息 //如这个是指收音机所使用的芯片信息 CUSTOM_HAL_FMRADIO = mt6628 //下面这个是指当前项目所采用的 ROM 芯片CUSTOM_HAL_EEPROM=IMX111OTP_EE

开发腾讯移动游戏平台SDK Android版Ane扩展 总结

来源:http://blog.csdn.net/linguifa/article/details/25832011 本文记录了在开发 腾讯移动游戏平台SDK(MSDK) Android版Ane扩展 过程中所遇到的问题和相关解决方案 问题一:编译报错:Unable to resolve target 'android-7': 将低版本的代码导入eclipse时,常遇到这样的问题:Unable to resolve target 'android-XX' 这是原代码中project.properti

MTK平台LCD驱动框架详解(一)

许多学习嵌入式的进入MTK开发平台,很多东西都会感到很陌生.在MTK平台上你可以简简单单几分钟就点亮一块屏.加上MTK快速开发的节奏,也很少有时间自己整理学习.如果不思进取,不加班加点学习.很容易就慢慢--.这也难怪有些人说MTK造就了一批懒人,毁掉了一批工程师.但其实都是基于linux开发,核心的东西都是一样一样的.我刚入行业,在迷茫之际,自己整理跟踪源码.想慢慢找回自己熟悉的感觉,掌握MTK的整体框架.也希望能给有需要的人带来些帮助.好吧!前话说到这,开始正题. 本文肯定有不少地方会出现错误

centos6.5监控平台nagios搭建与配置

监控平台之-nagios安装配置 小贝比尔IT技术交流网-小贝比尔 提醒:内存1G  硬盘15G(硬盘最好不要低于15G,不然安装期间会出问题) Selinux和防火墙先关闭,安装成功后再配置 1.关闭selinux  vim/etc/sysconfig/selinu更改:SELINUX=enforcing 为 SELINUX=disabled 1.png (22.12 KB, 下载次数: 0) 下载附件 半小时前 上传 2.关闭iptables  service iptables stop 监

用C++语言开发Android程序 配置开发环境

如果你是一个C++语言的死忠,你喜欢C++语言到了偏执的状态,如果不想学习Java语言,或者你很讨厌Java语言,如果你认为Java虚拟机的内存占用太多和执行低效.如果你过度关注Andoird程序的执行效率,对Android程序的执行速度过于敏感,喜欢自己用手动档来控制程序的内存和线程等资源,如果你在其他平台下用C++语言开发了一个程序,想要移植到Android平台下,本教程就是为了满足你的以上诸多怪癖而发布的,本文的目的就是指导你学习如何只用C++语言来开发Android程序,而不使用任何其他