打印
[i.MX]

怎样配置成GPIO接口

[复制链接]
1557|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
叶小雨95|  楼主 | 2015-4-6 09:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的是飞思卡尔IMX6Q的板子,想配置GPIO,不知道怎么完成。好像涉及到board-mx6q_sabresd.c和board-mx6q_sabresd.h中的一些操作,但具体怎么做不知道啊。还行指教

相关帖子

沙发
叶小雨95|  楼主 | 2015-4-6 10:35 | 只看该作者
假如我要使用扩展口的第J13脚SD1_CLK。
先在arch/arm/plat-mxc/include/mach/iomux-mx6q.h中找有SD1_CLK,
可以找到MX6Q_PAD_SD1_CLK_xxx。因为要作为gpio,所以使用MX6Q_PAD_SD1_CLK_GPIO_1_20这个配置,
将它加入board-mx6q_sabresd.h中。
static iomux_v3_cfg_t mx6q_sabresd_pads[] = {
....
MX6Q_PAD_SD1_CLK_GPIO_1_20
....
}
但是我在board-mx6q_sabresd.c定义该脚的时候,发现里面已经有#define SABRESD_MIPICSI_RST IMX_GPIO_NR(1, 20)。请问这是不是说明该脚已经配置成GPIO,我可以直接添加在
static struct gpio_led imx6q_gpio_leds[] =
{
GPIO_LED(SABRESD_CHARGE_NOW, "chg_now_led", 0, 1,"charger-charging"),
GPIO_LED(SABRESD_MIPICSI_RST, "gpio_xxx", 0, 1,"xxx"),
};然后重新编译内核啊??
还是说可以重新定义一个#define SABRESD_GPIO_CTRL IMX_GPIO_NR(1, 20),
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_xxx", 0, 1,"xxx"),
};

使用特权

评论回复
板凳
叶小雨95|  楼主 | 2015-4-6 17:09 | 只看该作者
编译kernel的时候,出现SABRESD_FT5X06_INT和SABRESD_FT5X06_RST没有定义的错误。把有关语句屏蔽掉,又出现SABRESD_FEC_PHY_RESET的错误,请问该怎么办啊?

使用特权

评论回复
地板
叶小雨95|  楼主 | 2015-4-8 10:28 | 只看该作者
版主快来帮助啊

使用特权

评论回复
5
bzw073| | 2015-4-8 10:35 | 只看该作者

直接在你使用的时候,调用SABRESD_MIPICSI_RST 就行了,不需要重复定义

使用特权

评论回复
6
叶小雨95|  楼主 | 2015-4-8 11:13 | 只看该作者
bzw073 发表于 2015-4-8 10:35
直接在你使用的时候,调用SABRESD_MIPICSI_RST 就行了,不需要重复定义

但是我发现有一些是重复定义的啊,比如#define SABRESD_USBH1_PWR_EN   IMX_GPIO_NR(1,29)和#define SABRESD_USBH1_PWR  IMX_GPIO_NR(1,29)

使用特权

评论回复
7
bzw073| | 2015-10-8 23:35 | 只看该作者
叶小雨95 发表于 2015-4-8 11:13
但是我发现有一些是重复定义的啊,比如#define SABRESD_USBH1_PWR_EN   IMX_GPIO_NR(1,29)和#define SAB ...

那就删除掉多余的

使用特权

评论回复
8
奥德赛| | 2015-10-9 08:15 | 只看该作者
先把报错的都屏蔽掉再试试

使用特权

评论回复
9
mini1986| | 2015-10-9 10:57 | 只看该作者
其实没必要删除,不用就好了,都是些宏定义而已......

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

20

帖子

0

粉丝