Firefly开源社区

12345
发表新贴

Firefly-rk3288 I2C 驱动

894

积分

1

威望

3

贡献

技术大神

Rank: 3Rank: 3

积分
894
QQ
发表于 2016-2-24 10:55:49     
本帖最后由 F_madman 于 2017-2-9 18:24 编辑

之前学习的过程中大概整理了下pwm和spi的驱动,现在继续整理下i2c的驱动,只是一个简单的收发程序配了个proc的接口。感觉相对来说i2c的驱动还是比较简便的。在对应的i2c上加上dts的配置:
  1. +        vol@34 {
  2. +                compatible = "nxp,volume";
  3. +                reg = <0x34>;
  4. +        };
复制代码

配置好Makefile
  1. --- a/kernel/drivers/Makefile
  2. +++ b/kernel/drivers/Makefile
  3. @@ -157,3 +157,4 @@ obj-$(CONFIG_NTB)           += ntb/
  4. obj-$(CONFIG_GATOR)            += gator/
  5. obj-y                          += headset_observe/
  6. +obj-y                          += volume_control.o
复制代码
因为懒~所以只配了Makefile,没配Kconfig~{:3_55:}

下面是驱动的代码。有需要的初学者可以看看
ps:
经论坛的朋友提醒
大家要用这个驱动的话
去掉MODULE_DEVICE_TABLE(of, volume_of_match);这句

更新个i2c  oled的驱动,源码见附件

OZ3C~~HHQAP}TLW5UUJH[SR.png

volume_control.zip

1.89 KB, 下载次数: 377, 下载积分: 灯泡 -1 , 经验 -1

oled.c.zip

5.27 KB, 下载次数: 161, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

265

积分

5

威望

6

贡献

实习版主

Rank: 7Rank: 7Rank: 7

积分
265

活跃会员热心会员突出贡献

发表于 2016-2-24 11:44:27     
:victory:支持
回复

使用道具 举报

265

积分

5

威望

6

贡献

实习版主

Rank: 7Rank: 7Rank: 7

积分
265

活跃会员热心会员突出贡献

发表于 2016-2-24 11:59:17     
IMG_20151218_112457.jpg


晒晒 SPI接口的指纹识别,在firefly3288上
回复

使用道具 举报

600

积分

21

威望

25

贡献

技术大神

Rank: 3Rank: 3

积分
600

活跃会员

发表于 2016-2-24 14:21:53     
赞一个!
回复

使用道具 举报

73

积分

0

威望

0

贡献

技术小白

积分
73
QQ
发表于 2016-3-28 22:36:51     
请问:I2C4的GPIO要用做普通GPIO的话,删除设备树中的配置就可以了吗?
回复

使用道具 举报

894

积分

1

威望

3

贡献

技术大神

Rank: 3Rank: 3

积分
894
QQ
发表于 2016-3-29 08:59:15     
junhai 发表于 2016-3-28 22:36
请问:I2C4的GPIO要用做普通GPIO的话,删除设备树中的配置就可以了吗?

dts里disabled掉,然后按普通io那样申请使用就可以了
回复

使用道具 举报

73

积分

0

威望

0

贡献

技术小白

积分
73
QQ
发表于 2016-3-29 10:19:14     
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是失败的啊!
回复

使用道具 举报

894

积分

1

威望

3

贡献

技术大神

Rank: 3Rank: 3

积分
894
QQ
发表于 2016-3-29 14:04:52     
去dts里面disabled,你这个是dtsi里面的,dts使能了的话会覆盖dtsi
回复

使用道具 举报

85

积分

0

威望

0

贡献

游客

积分
85
发表于 2016-3-29 14:18:44     
   用的是谁家的模块啊
回复

使用道具 举报

85

积分

0

威望

0

贡献

游客

积分
85
发表于 2016-3-29 14:27:31     
carlinluo 发表于 2016-2-24 11:59
晒晒 SPI接口的指纹识别,在firefly3288上

用的是哪家的模块啊,可以给个链接吗
回复

使用道具 举报

返回列表
12345
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表