I.MX6 PMU MMPF0100 driver porting
/**************************************************************************
* I.MX6 MMPF0100 driver porting
* 说明:
* 虽然主板上有MMPF0100芯片,却没有注册设备并使用该PMU驱动,真是浪费,
* 当然因为需要,所以将PMU的驱动注册起来。
*
* 2016-3-31 深圳 南山平山村 曾剑锋
*************************************************************************/ 参考文档:
PF0100 PMIC drivers
https://community.freescale.com/thread/308531 一、cat arch/arm/mach-mx6/mx6q_sabresd_pmic_pfuze100.c
......
#define PFUZE100_I2C_DEVICE_NAME "pfuze100"
/* 7-bit I2C bus slave address */
#define PFUZE100_I2C_ADDR (0x08)
......
static struct i2c_board_info __initdata pfuze100_i2c_device = {
I2C_BOARD_INFO(PFUZE100_I2C_DEVICE_NAME, PFUZE100_I2C_ADDR),
.platform_data = &pfuze100_plat,
}; int __init mx6q_sabresd_init_pfuze100(u32 int_gpio)
{
pfuze100_i2c_device.irq = gpio_to_irq(int_gpio); /*update INT gpio */
return i2c_register_board_info(, &pfuze100_i2c_device, );
} 二、cat arch/arm/mach-mx6/board-mx6dl_sabresd.h
static iomux_v3_cfg_t mx6dl_sabresd_pads[] = {
......
MX6Q_PAD_GPIO_18__GPIO_7_13,
......
} 三、cat arch/arm/mach-mx6/board-mx6q_sabresd.c
......
#define SABREAUTO_PMIC_INT IMX_GPIO_NR(7, 13)
......
/**
* PMU MMPF0100 devices
*/
ret = gpio_request(SABREAUTO_PMIC_INT, "pFUZE-int");
if (ret) {
printk(KERN_ERR"request pFUZE-int error!!\n");
return;
} else {
gpio_direction_input(SABREAUTO_PMIC_INT);
mx6q_sabresd_init_pfuze100(SABREAUTO_PMIC_INT);
}
...... 四、i2c-tools检查注册情况:
root@android:/data/local # ./i2cdetect -r -y
a b c d e f
: -- -- -- -- -- UU -- -- -- -- -- -- --
: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
: -- -- -- -- -- -- -- -- -- -- -- -- -- UU -- --
: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
: -- -- -- -- -- -- -- --
root@android:/data/local # 五、查看驱动信息:
root@android:/sys/bus/i2c/devices/- # cat pfuze_ctl
reg000:
reg001:
reg002:
reg003:
reg004:
reg005:
reg006: 3f
reg007:
reg008:
reg009: 7f
reg010:
reg011:
reg012:
reg013:
reg014:
reg015:
reg016:
reg017:
reg018: 3f
reg019:
reg020:
reg021:
reg022:
reg023:
reg024:
reg025:
reg026:
reg027:
reg028:
reg029:
reg030:
reg031:
reg032: 2b
reg033: 1b
reg034: 2b
reg035: 0c
reg036: c4
reg037:
reg038:
reg039:
reg040:
reg041:
reg042:
reg043:
reg044:
reg045:
reg046: 2b
reg047: 1b
reg048: 2b
reg049: 0c
reg050: c4
reg051:
reg052:
reg053:
reg054:
reg055:
reg056: 0c
reg057: d4
reg058:
reg059:
reg060: 2c
reg061: 2c
reg062: 2c
reg063: 0c
reg064: e4
reg065:
reg066:
reg067: 2c
reg068: 2c
reg069: 2c
reg070: 0c
reg071: e4
reg072:
reg073:
reg074: 6f
reg075: 6f
reg076: 6f
reg077: 0c
reg078: f4
reg079:
reg080:
reg081:
reg082:
reg083:
reg084:
reg085:
reg086:
reg087:
reg088:
reg089:
reg090:
reg091:
reg092:
reg093:
reg094:
reg095:
reg096:
reg097:
reg098:
reg099:
reg100:
reg101:
reg102:
reg103:
reg104:
reg105:
reg106:
reg107:
reg108: 1e
reg109: 1e
reg110:
reg111:
reg112: 1a
reg113: 1f
reg114:
reg115:
reg116:
reg117:
reg118:
reg119:
reg120:
reg121:
reg122:
reg123:
reg124:
reg125:
reg126:
reg127: root@android:/sys/bus/i2c/devices/- #
I.MX6 PMU MMPF0100 driver porting的更多相关文章
- I.MX6 bq27441 driver porting
/************************************************************************** * I.MX6 bq27441 driver p ...
- I.MX6 Goodix GT9xx touchscreen driver porting
/************************************************************************ * I.MX6 Goodix GT9xx touch ...
- I.MX6 Linux eGTouch TouchScreen porting
I.MX6 Linux eGTouch TouchScreen porting 一.Download Driver: http://www.eeti.com.tw/drivers_Linux.html ...
- I.MX6 HUAWEI MU609 3G porting
/*************************************************************************** * I.MX6 HUAWEI MU609 3G ...
- I.MX6 PWM buzzer driver hacking with Demo test
/***************************************************************************** * I.MX6 PWM buzzer dr ...
- I.MX6 AD7606-4 device driver registe hacking
/********************************************************************** * I.MX6 AD7606-4 device driv ...
- I.MX6 Ethernet MAC (ENET) MAC Address hacking
/********************************************************************* * I.MX6 Ethernet MAC (ENET) M ...
- mtk android lcm调试
参考MTK 文档LCM_Customer_document_MT6575.pdf The following shows the steps to add a new LCM driver: (1) ...
- linux tmp75 /dev/i2c-* 获取数据 demo
/********************************************************************** * linux tmp75 /dev/i2c-* 获取数 ...
随机推荐
- sql表连接left join,right join,inner join三者之间的区别
sql表连接left join,right join,inner join区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 (以左表数据为基准,不足补为NULL) ...
- Create a SharePoint Application Page for Anonymous Access
http://dishasharepointworld.blogspot.com/2011/07/how-to-create-sharepoint-application_1072.html http ...
- css3 简单界面动画
asdasdasdasda asdasdasdasda
- python学习笔记19(序列的方法)
序列包含有宝值 表(tuple)和表(list).此外,字符串(string)是一种特殊的定值表,表的元素可以更改,定值表一旦建立,其元素不可更改. 任何的序列都可以引用其中的元素(item). 下面 ...
- mysql 增加删除用户
mysql 增加用户 (注意:因为MYSQL环境中的命令,所以后面都带一个分号作为命令结束符) 格式:grant select on 数据库.* to 用户名@登录主机 identified by ' ...
- MVC EF异常-“序列化类型为 XX 的对象时检测到循环引用”
原因:在EF实体中,两个互为主外键关系的实体类的导航属性相互引用. 解决方法一:删除一个不需要的类的导航属性 方法二:使用DTO模型 方法三:直接返回需要的属性(不能包括相互引用的属性)
- Hybrid App 和 React Native 开发那点事
简介:Hybrid App(混合模式移动应用)开发是指介于Web-app.Native-App这两者之间的一种开发模式,兼具「Native App 良好用户交互体验的优势」和「Web App 跨平台开 ...
- hdu 1760 A New Tetris Game 博弈论
找sg值,可以选择暴力,也可以利用sg值的特点简化. 暴力就跟取石子一样,没什么差别,DFS搞定.把矩阵看成一个字符串,字符串就是一个状态. 其实我们也可以不暴力求sg值,因为只要当前状态能到达一个s ...
- poj 2976 Dropping tests 0/1分数规划
0/1分数规划问题,用二分解决!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> # ...
- 函数可重入问题reentrant functions(函数执行过程中可以被中断,允许多个副本)
最近经常听到这个名词,以前也听到过,不过接触更多的是“线程安全问题”,而且本人也一直理解的是两个名字的含义是一样的.今天仔细总结一下这个名词相关的概念. 引用博文:可重入函数和不可重入函数 (http ...