Firefly开源社区

打印 上一主题 下一主题

关于RK3288 pwm1 申请失败的问题

42

积分

0

威望

0

贡献

技术小白

积分
42

关于RK3288 pwm1 申请失败的问题

发表于 2016-8-30 11:22:05      浏览:13145 | 回复:11        打印     [复制链接] 楼主
这几天在做pwm相关的驱动,RK3288只预留了pwm1这个接口,按照官网wiki上的教程,pwm1申请总是失败,论坛里也没有一个有效的解决方案.没办法,自己研究了一下,主要发现了以下几点:
(1)wiki上说要修改DTS文件,但还有一个地方没有提到,在firefly-rk3288.dts中也需要将pwm1 设置为 okay,如下:
&pwm0 {
        interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
        status = "okay";
};

&pwm1 {
    status = "okay";
};
回复

使用道具 举报

42

积分

0

威望

0

贡献

技术小白

积分
42
发表于 2016-8-30 11:23:11      沙发
(2)但是这样修改以后还是申请失败,然后发现在DTS中有如下内容:
pwm_regulator {
        compatible = "rockchip_pwm_regulator";
        pwms = <&pwm1 0 2000>;
        rockchip,pwm_id= <1>;
        rockchip,pwm_voltage_map= <925000 950000 975000 1000000 1025000 1050000 1075000 1100000 1125000 1150000 1175000 1200000 1225000 1250000 1275000 1300000 1325000 1350000 1375000 1400000>;
        rockchip,pwm_voltage= <1100000>;
        rockchip,pwm_min_voltage= <925000>;
        rockchip,pwm_max_voltage= <1400000>;
        rockchip,pwm_suspend_voltage= <950000>;
        rockchip,pwm_coefficient= <475>;
        regulators {
            #address-cells = <1>;
            #size-cells = <0>;
            pwm_reg0: regulator@0 {
                regulator-compatible = "pwm_dcdc1";
                regulator-name= "vdd_logic";
                regulator-min-microvolt = <925000>;
                regulator-max-microvolt = <1400000>;
                regulator-always-on;
                regulator-boot-on;
            };
        };
    };

回复

使用道具 举报

42

积分

0

威望

0

贡献

技术小白

积分
42
发表于 2016-8-30 11:25:53      板凳
这里也使用了pwm1,对照compatible = "rockchip_pwm_regulator"的名字,在driver下找到了对应的驱动程序,然后在menuconfig中:

Screenshot from 2016-08-30 11:11:25.png (129.17 KB, 下载次数: 260)

Screenshot from 2016-08-30 11:11:25.png
回复

使用道具 举报

42

积分

0

威望

0

贡献

技术小白

积分
42
发表于 2016-8-30 11:29:18      地板
关闭上图的驱动,然后在申请pwm1,这次就成功了(pwm1对应的通道为0,这个不知道为什么).
然后上图代表的驱动看名字是控制电源芯片的,但是开发板上有对应的硬件设备吗?哪位能给个解答阿?
回复

使用道具 举报

42

积分

0

威望

0

贡献

技术小白

积分
42
发表于 2016-8-31 08:59:45      5#
zzj 发表于 2016-8-30 20:19
配置 PWM 内核驱动
PWM 驱动位于文件 kernel/drivers/pwm/pwm-rockchip.c。

内核肯定要重新编啊,pwm-rockchip.c的内容基本不用动,默认就是修改好的,我用的android5.1的固件,可能固件不一样?
回复

使用道具 举报

42

积分

0

威望

0

贡献

技术小白

积分
42
发表于 2016-8-31 09:02:53      6#
还有申请的通道是0, 0~3你都试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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