首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设备树和GPIO

设备树和GPIO
EN

Stack Overflow用户
提问于 2015-05-09 02:17:28
回答 1查看 3.7K关注 0票数 0

我正在尝试将GPIO控制器连接到内核驱动程序中,但我不确定是否一切都是正确的。

这是我的设备树代码:

代码语言:javascript
复制
gpio_screen1:gpio1@20 {
            compatible = "nxp,pca9535";
            gpio-controller;
            #gpio-cells = <2>;
            reg = <0x20>;
//          pinctrl-names = "default";
//          pinctrl-0 = <&pinctrl_pca9505>;
            };

    screen: screen@0x02000 {
        compatible = "myscreen,myscreen";
        #address-cells = <1>;
        #size-cells = <0>;
        reg = < 0x04000 0xF00 >;                    
        interrupts = <1 2>;
        reset-gpios     = <&gpio_screen1 15 0>;
        sleep-gpios     = <&gpio_screen1 14 0>;
        clk_sel1-gpios  = <&gpio_screen1 10 0>;
        lane_sel-gpios  = <&gpio_screen1 9 0>;
    };

这是我注册GPIO的驱动程序代码

代码语言:javascript
复制
gpio = of_get_named_gpio(pdev->dev.of_node, "reset-gpios", 0);
if (!gpio_is_valid(gpio)) {
        dev_err(&pdev->dev, "failed to parse reset gpio\n");
        return gpio;
}
dev->reset = gpio;

初始化是否正确?

我一直在看这个GPIO控制器的文档,但它不是很有帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-05-09 05:44:06

我看不出gpio初始化在驱动端有什么问题。这很简单。下一步是请求初始化gpio:

代码语言:javascript
复制
ret = devm_gpio_request_one(&pdev->dev, dev->reset, GPIOF_OUT_INIT_HIGH, "gpio-reset");
if (ret) {
    dev_err(&pdev->dev, "failed to request gpio %d: %d\n", dev->reset, ret);
    return -EINVAL;
}

关于这里的设备树部分,据我所知,你是基于gpio-pcf857x.txt或类似的东西做的。你不在这些gpios上使用中断吗?

主要问题是,它能工作吗?;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30130358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档