/**************************************************************************
* 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的更多相关文章

  1. I.MX6 bq27441 driver porting

    /************************************************************************** * I.MX6 bq27441 driver p ...

  2. I.MX6 Goodix GT9xx touchscreen driver porting

    /************************************************************************ * I.MX6 Goodix GT9xx touch ...

  3. I.MX6 Linux eGTouch TouchScreen porting

    I.MX6 Linux eGTouch TouchScreen porting 一.Download Driver: http://www.eeti.com.tw/drivers_Linux.html ...

  4. I.MX6 HUAWEI MU609 3G porting

    /*************************************************************************** * I.MX6 HUAWEI MU609 3G ...

  5. I.MX6 PWM buzzer driver hacking with Demo test

    /***************************************************************************** * I.MX6 PWM buzzer dr ...

  6. I.MX6 AD7606-4 device driver registe hacking

    /********************************************************************** * I.MX6 AD7606-4 device driv ...

  7. I.MX6 Ethernet MAC (ENET) MAC Address hacking

    /********************************************************************* * I.MX6 Ethernet MAC (ENET) M ...

  8. mtk android lcm调试

    参考MTK 文档LCM_Customer_document_MT6575.pdf The following shows the steps to add a new LCM driver: (1)  ...

  9. linux tmp75 /dev/i2c-* 获取数据 demo

    /********************************************************************** * linux tmp75 /dev/i2c-* 获取数 ...

随机推荐

  1. spark 1.3.0下的问题

    1.在spark SQL的一个test中 无论是registerAsTable还是registerTempTable 都会有问题,经过查找各种资料,采用如下的方式: val sqlCon=new or ...

  2. WPF后台更换背景图-Background

    Uri uri = new Uri("Images/BACK.gif", UriKind.Relative);BitmapImage bimg = new BitmapImage( ...

  3. CSS溢出文本省略(text-overflow)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. C#网络编程简单实现通信小例子-2

    1.主界面  2.源代码                                                         Client public partial class For ...

  5. 十八、mysql 内存优化 之 myisam

    .key_buffer 索引块大小 set global hot_cache.key_buffer_size = ; //设置大小 show variables like 'key_buffer_si ...

  6. frame 之间访问

    index.asp代码 <frameset rows="50,*,20" cols="*" frameborder="no" bord ...

  7. Objective-C中的数据类型、常量、变量、运算符与表达式

    1.Objective-C中的数据类型: Objective-C中的基本数据类型有:int.char(-128-127).float.double.BOOL,Byte(0-255) Id类型相当于(等 ...

  8. linux命令useradd添加用户详解

    1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s shell] [-c comment] [ ...

  9. Visual C++ 6.0静态、动态链接库

    1.什么是静态连接库,什么是动态链接库          静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了 ...

  10. ECNU1101-Dinic

    题意:从起点到终点有几条特殊路径. 特殊路径指的是:对于任意两条路径,他们的与起点相连的点是不同的点 && 与终点的相连的点是不同的点. /* 题意:从起点到终点有几条特殊路径. 特殊 ...