2015年6月30日 星期二

[Linux] iobase membase mepbase

http://blog.csdn.net/kickxxx/article/details/6091265

iobase 是IO端口基地址,使用in/out[bwl] 来访问
membase是IO端口的内存地址(映射过的逻辑地址),使用read/write[bwl]访问
mapbase描述的是IO端口的物理地址,是硬件定义好的,可以通过ioremap获得对应的逻辑地址

2015年6月4日 星期四

[盜文] DEVICE_ATTR() 与 sysfs接口

http://blog.csdn.net/luobin1984/article/details/8118835

最近在弄Sensor驱动,看过一个某厂家的成品驱动,里面实现的全都是sysfs接口,hal层利用sysfs生成的接口,对Sensor进行操作。
说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR
原型是#define DEVICE_ATTR(_name, _mode, _show, _store)\
struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)
函数宏DEVICE_ATTR内封装的是__ATTR(_name,_mode,_show,_stroe)方法,_show表示的是读方法,_stroe表示的是写方法。

如果你完成了DEVICE_ATTR函数宏的填充,下面就需要创建接口了
例如:
   static DEVICE_ATTR(polling, S_IRUGO | S_IWUSR, show_polling, set_polling);
    static struct attribute *dev_attrs[] = {
            &dev_attr_polling.attr,
            NULL,
    };

2015年6月1日 星期一

[Android] PFUZE0100 提供I2C介面控制

dump controller register
cat /sys/bus/i2c/devices/X-0008/pfuze_ctl

cat /sys/devices/platform/imx-i2c.X/i2c-X/X-0008/pfuze-ctl


各regulator資訊或控制,去這裡找
 /sys/bus/i2c/devices/X-0008/pfuze100-regulator/regulator/regulator.XX/

/sys/devices/platform/imx-i2c.X/i2c-X/X-0008/pfuze100-regulator/regulator/regulator.XX/

紅字依你設定
0008是pfuze100的i2c address