i.MX6UL -- PWM配置方法,并在用户空间使用---基于4.1.15内核

2 篇文章 0 订阅
1 篇文章 0 订阅

博主使用的是天嵌的板子imx6ul_corb。

内核版本为4.1.15。

这里会谈到如何修改相关设备树使其pwm可用。

现在以PWM4为例。

增加GPIO1_IO05复用为PWM4。 天嵌的PWM 驱动默认已经加载,驱动路径为drivers/pwm/pwm-imx.c。

一,内核层修改

1.修改arch/arm/boot/dts/imx6ul.dtsi,在其中搜索pwm4并修改

    pwm4: pwm@0208c000 {
                                compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
                                reg = <0x0208c000 0x4000>;
                                interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6UL_CLK_PWM4>,
                                         <&clks IMX6UL_CLK_PWM4>;
                                clock-names = "ipg", "per";
                                #pwm-cells = <2>;
                        };


2.修改arch/arm/boot/dts/tq-imx6ul.dts

    

    在&pwm1{
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_pwm1>;
    status = "okay";
    };

    后添加:

        &pwm4 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pwm4>;
        status = "okay";

        };

    在pinctrl_pwm1: pwm1grp

    后面添加:

    pinctrl_pwm4: pwm4grp {
            fsl,pins = <
                MX6UL_PAD_GPIO1_IO05__PWM4_OUT   0x110b0
            >;

        };  

3.GPIO1_IO05其他复用的地方取消或者注释掉:

    在tq-imx6ul.dts搜索GPIO1_IO05,注释掉相关定义部分:

            //MX6UL_PAD_GPIO1_IO05__USDHC1_VSELECT        0x17059 /* SD1 VSELECT */


二,用户层使用:

1.echo 0 > /sys/class/pwm/pwmchip3/export/*设置PWM4输出,调出pwm0目录下设备节点,用于以下配置 */

2.echo 1 >/sys/class/pwm/pwmchip3/pwm0/enable/*设置PWM4使能 */

3.echo 1000000 >/sys/class/pwm/pwmchip3/pwm0/period/*设置PWM4一个周期的持续时间,单位为ns,即1K Hz */

4.echo 500000 >/sys/class/pwm/pwmchip3/pwm0/duty_cycle/*设置一个周期中的”ON”时间,单位为ns,即占空比=duty_cycle/period=50% */

查看现象:

        1.示波器查看

        2.LED亮度现象查看

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世黎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值