WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2017-11-30 17:03:56

小白菜
会员
注册时间: 2017-09-27
累计积分: 88

荔枝派v3s上使用AXP203管理电源

1

离线

#2 2017-11-30 17:07:16

小白菜
会员
注册时间: 2017-09-27
累计积分: 88

Re: 荔枝派v3s上使用AXP203管理电源

小白菜 说:

1

内核版本linux-zero-4.13.y.zip
基于i2c的AXP203电源管理芯片
在设备书中添加
        };
        axp209: axp209@34{
        reg = <0x34>;
                interrupt-parent=<&pio>;
                interrupts=<1 2 IRQ_TYPE_EDGE_FALLING>;
              /* focaltech,irq-gpio=<&pio 1 2 GPIO_ACTIVE_HIGH>;
             focaltech,group-id=<1>;
               focaltech,i2c-pull-up;*/
                status="okay";

};

};
#include "axp209.dtsi"
&ohci0 {
这一段代表设备树中的i2c上的axp设备,其作用,是用于匹配内核中的AXP驱动,带有设备树的linux内核魅力所在
添加完之后接下来是linux内核的配置
执行make menuconfig
进入
       Device Drivers  --->     
         Industrial I/O support  ---> 一种新的工业级iio文件,困扰了很久,axp的部分实现依赖于这个文件       
             Analog to digital converters  --->     
                 X-Powers AXP20X and AXP22X ADC driver 配置这个文件很有用途,因为我们使用的驱动就是依赖与此 

然后返回到Device Drivers  --->
         Power supply class support  ---> 
   
               X-Powers AXP20X and AXP22X AC power supply driver
           X-Powers AXP20X battery driver
               AXP20x power supply driver
编译内核和dtb文件添加到下位机,此时驱动已经加载完成,


期间遇到的问题
具体的驱动文件目录在4.13中直接在内核源码根目录下直接搜索axp然后出来一大堆,一开始一直以为4.13里面没有像3.14那样提供axp驱动,只因为集成了一个iio文件而axp的device就在iio文件中
还有的就是在axp209.dtsi最初定义了初始的启动电压和电流,由于在自己的开发板上供电不足,所以启动到一半的时候会关机,将其注释掉便好,后面优化的的时候可以在根据自身硬件环境的支持去修改适配
具体注释如下
    regulators {
        /* Default work frequency for buck regulators */
        x-powers,dcdc-freq = <1500>;

        reg_dcdc2: dcdc2 {
            regulator-name = "dcdc2";
        };

        reg_dcdc3: dcdc3 {
            regulator-name = "dcdc3";
        };

        reg_ldo1: ldo1 {
            /* LDO1 is a fixed output regulator */
            regulator-always-on;
            regulator-min-microvolt = <1300000>;
            regulator-max-microvolt = <1300000>;
            regulator-name = "ldo1";
        };

        reg_ldo2: ldo2 {
            regulator-name = "ldo2";
        };

        reg_ldo3: ldo3 {
            regulator-name = "ldo3";
        };

        reg_ldo4: ldo4 {
            regulator-name = "ldo4";
        };
将这一段话整个干掉

        reg_ldo5: ldo5 {
            regulator-name = "ldo5";
            status = "disabled";
        };
    };

用户级的调试接口
路径
/sys/class/power_supply
具体功能接口功能参考axp power驱动应用说明(详细版)v1.1.pdf,这个文件在附录中
有些名字可能不一样,以为这个pdf是旧版本的axp驱动基于3.14的,个人体会是千万不要试图根据这个文档去编译内核,会死的很惨,因为两个内核中自定义的驱动实现函数很多方面都不一样

离线

#3 2019-05-31 10:33:30

Tony
会员
注册时间: 2019-05-31
累计积分: 33

Re: 荔枝派v3s上使用AXP203管理电源

兄弟,跑起来没?

离线

#4 2019-05-31 10:53:39

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,542

Re: 荔枝派v3s上使用AXP203管理电源

Tony 说:

兄弟,跑起来没?

没问题,楼主当时跑起来了,还给我看过图片。

离线

#5 2019-08-05 10:28:59

pqfeng
会员
注册时间: 2018-08-18
累计积分: 129

Re: 荔枝派v3s上使用AXP203管理电源

我现在也是跑一半后全部不跑了。。。无从下手。。。

离线

#6 2019-08-09 08:54:22

pqfeng
会员
注册时间: 2018-08-18
累计积分: 129

Re: 荔枝派v3s上使用AXP203管理电源

昨天发现我们的板子上是没有中断的,没用到中断。所以把DTS中的中断那一句杠起来了,结果报找不到中断。。不过有无中断,好像/sys/class/power-supply下面都是没有任何东西。

离线

页脚