madman 发表于 2016-3-2 11:51:07

Firely-RK3288 ADC驱动

本帖最后由 madman 于 2016-3-2 11:53 编辑

继续来整理下adc模块的驱动,在rk封装好的接口上使用adc接口还是很方便的,具体的类似adc标准电压之类的东西可以在rk3288.dts上配置, adc: adc@ff100000 {
      compatible = "rockchip,saradc";
      reg = <0xff100000 0x100>;
      interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
      #io-channel-cells = <1>;
      io-channel-ranges;
      rockchip,adc-vref = <1800>;
      clock-frequency = <1000000>;
      clocks = <&clk_saradc>, <&clk_gates7 1>;
      clock-names = "saradc", "pclk_saradc";
      status = "disabled";
};
读出来的adc可以根据这公式转换:Vref / (2^n-1) = Vresult / raw   
其中 Vref 为标准电压    n 为 AD 转换的位数   Vresult 为用户所需要的采集电压       raw 为 AD 采集的原始数据

在dts添加对应配置
&adc {
      status = "okay";

      rockchip_headset {
                compatible = "rockchip_headset";
                headset_gpio = <&gpio0 GPIO_C2 GPIO_ACTIVE_LOW>;
                pinctrl-names = "default";
                pinctrl-0 = <&gpio0_c2>;
                io-channels = <&adc 2>;
       };

      adc0{
                compatible = "test-adc0";
                io-channels=<&adc 0>;
      };这里我的标准电压是1.8v,所以测量的范围就是0-1.8v。写了个简单的接口。
下面是测试的效果:


牛头 发表于 2016-3-2 15:53:52

很好,多分享进步快

firefly_king 发表于 2016-3-2 16:49:24

:) 很好,学习

214740484 发表于 2016-7-27 18:36:39

谢谢,学习了!

williamxu 发表于 2016-8-22 16:29:19

拿来测试用,不错。

wangpeng1108 发表于 2016-9-8 17:29:04

谢谢。学习啦{:3_42:}

Eason 发表于 2016-9-9 09:36:20

很好,多分享进步快

alaode 发表于 2016-9-11 06:35:40

学习

wmslecz 发表于 2016-9-11 09:48:04

学习啦...给力...

brian1611 发表于 2016-9-29 14:46:35

thx !!!!!!
页: [1] 2 3 4 5 6 7 8
查看完整版本: Firely-RK3288 ADC驱动