BOE123 发表于 2017-6-19 17:16:50

imx6q的PWM3作为普通io口

想把IMX6Q的PWM3作为普通io口使用,请问:
1.如何取消pwm的复用?
2.PWM3的gpio口是GPIO1_IO17?使用管脚时是不是用IMX_GPIO_NR(1, 17)映射?

飞凌-seventeen 发表于 2017-6-19 17:33:08

您好,下面是复用6Q复用GPIO的方法,请参照此方法修改:
修改imx6q EIM_DA13 为控制led灯的亮灭。

1.        在iomux-mx6q.h文件中找到MX6Q_PAD_EIM_DA13__GPIO_3_13 将其复制到board-mx6q_sabresd.h文件中的mx6q_sabresd_pad[]数组中,并注释掉数组中关于MX6Q_PAD_EIM_DA13__GPIO_3_13的其他定义。
2.       在board-mx6q_sabresd.c中 添加
#define SABRESD_GPIO_CTRL          IMX_GPIO_NR(3, 13)

static struct gpio_led imx6q_gpio_leds[] =
{
   GPIO_LED(SABRESD_CHARGE_NOW, "chg_now_led", 0, 1,"charger-charging"),
   GPIO_LED(SABRESD_GPIO_CTRL, "gpio_**", 0, 1,"**"),
};
3.       重新编译内核,烧写,只写0或1到/
echo 0/1 > sys/class/leds/gpio_**/brightness 这个节点就能控制高低了。
4. 如果无法控制,软件上一般脚的是配置问题,可以在mx6q_sabresd_pads找PAD_EIM_D3,看在MX6Q_PAD_EIM_D13__GPIO_3_13的后面有没有被其它脚给重新初始化成了别的功能。

BOE123 发表于 2017-6-19 17:39:53

飞凌-seventeen 发表于 2017-6-19 17:33
您好,下面是复用6Q复用GPIO的方法,请参照此方法修改:
修改imx6q EIM_DA13 为控制led灯的亮灭。



取消复用呢?

BOE123 发表于 2017-6-20 13:55:35

飞凌-seventeen 发表于 2017-6-19 17:33
您好,下面是复用6Q复用GPIO的方法,请参照此方法修改:
修改imx6q EIM_DA13 为控制led灯的亮灭。



哈喽啊··············

飞凌-seventeen 发表于 2017-6-21 17:23:35

取消复用?您指的是将该引脚的引用取消?按照上面的方法第四步看一下,是不是被复用。
页: [1]
查看完整版本: imx6q的PWM3作为普通io口