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-* 获取数 ...
随机推荐
- Delphi中的四舍五入函数
一.Delphi中的四舍五入法 四舍五入是一种应用非常广泛的近似计算方法,针对不同的应用需求,其有算术舍入法和银行家舍入法两种. 所谓算术舍入法,就是我们通常意义上的四舍五入法.其规则 ...
- Django工程读取mongodb并使用分页器
pycharm开发django工程(二) 项目需求: 1. 从mongodb中读取数据,并显示到网页中 2. 在网页显示的每一页加入分页符 首先使用pycharm的企业版新建一个django的虚拟工程 ...
- linux设备驱动模型(kobject与kset)
Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述.换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要 ...
- 如何签名apk,并让baidu地图正常显示
1.选中项目,右击export Next直到完成,这样就生成了my.keystore文件 将my.keystore拷到C:\Users\Administrator\.android 利用jdk的工具生 ...
- Cent os关机与重启命令详解
Cent OS关机与重启命令详解 分类: Linux2012-10-02 14:06 5553人阅读 评论(0) 收藏 举报 centoslinuxsignallogin工作windows Linux ...
- Oracle监听器—静态注册
注册就是将数据库作为一个服务注册到监听程序.客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库.这个服务名可能与实例名一样,也有可能不一样. 注册分: 1. 静 ...
- 三、mysql运算符
取模有2种方法: 或 mod(,) 比较一个字段的值是不是null有两种方法:is null 或 <=> null 不能直接使用 where id = null;是不对的
- iOS 开发一年总结
收获很多 1. 一个人包办从构思, 设计, 实现, 推广的全过程, 对自己的能力, 特别是能力范围有很大的提升. 以前在公司上班仅仅局限在实现的局域内, 现在在做自己的产品时, 在设计时的取舍, 对工 ...
- MoonWarriors-lua——《雷电战机》游戏-Lua移植版
MoonWarriors是一个使用Cocos2d-Html5引擎开发的类似雷电战机的游戏Demo,源代码发布在Cocos2d-x官网的引擎示例当中.MoonWarriors-lua是为了学习Cocos ...
- 2733: [HNOI2012]永无乡 - BZOJ
Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以 ...