Firefly-rk3288 I2C 驱动
本帖最后由 F_madman 于 2017-2-9 18:24 编辑之前学习的过程中大概整理了下pwm和spi的驱动,现在继续整理下i2c的驱动,只是一个简单的收发程序配了个proc的接口。感觉相对来说i2c的驱动还是比较简便的。在对应的i2c上加上dts的配置:
+ vol@34 {
+ compatible = "nxp,volume";
+ reg = <0x34>;
+ };
配置好Makefile
--- a/kernel/drivers/Makefile
+++ b/kernel/drivers/Makefile
@@ -157,3 +157,4 @@ obj-$(CONFIG_NTB) += ntb/
obj-$(CONFIG_GATOR) += gator/
obj-y += headset_observe/
+obj-y += volume_control.o
因为懒~所以只配了Makefile,没配Kconfig~{:3_55:}
下面是驱动的代码。有需要的初学者可以看看
ps:
经论坛的朋友提醒
大家要用这个驱动的话
去掉MODULE_DEVICE_TABLE(of, volume_of_match);这句
更新个i2coled的驱动,源码见附件
:victory:支持
晒晒 SPI接口的指纹识别,在firefly3288上
赞一个! 请问:I2C4的GPIO要用做普通GPIO的话,删除设备树中的配置就可以了吗? junhai 发表于 2016-3-28 22:36
请问:I2C4的GPIO要用做普通GPIO的话,删除设备树中的配置就可以了吗?
dts里disabled掉,然后按普通io那样申请使用就可以了 madman 发表于 2016-3-29 08:59
dts里disabled掉,然后按普通io那样申请使用就可以了
i2c4: i2c@ff160000 {
compatible = "rockchip,rk30-i2c";
reg = <0xff160000 0x1000>;
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default", "gpio";
pinctrl-0 = <&i2c4_sda &i2c4_scl>;
pinctrl-1 = <&i2c4_gpio>;
gpios = <&gpio7 GPIO_C1 GPIO_ACTIVE_LOW>, <&gpio7 GPIO_C2 GPIO_ACTIVE_LOW>;
clocks = <&clk_gates6 15>;
rockchip,check-idle = <1>;
status = "disabled";
};
i2c4在dts中的status = "disabled"的,但是为什么dev/下还有i2c4设备(crw-rw-rw- root root 89, 4 2011-01-01 12:00 i2c-4)?
我在自己的驱动中申请gpio是失败的啊! 去dts里面disabled,你这个是dtsi里面的,dts使能了的话会覆盖dtsi 用的是谁家的模块啊
carlinluo 发表于 2016-2-24 11:59
晒晒 SPI接口的指纹识别,在firefly3288上
用的是哪家的模块啊,可以给个链接吗