导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    v3s的pinctrl与gpio子系统耦合出错

    其它全志芯片讨论区
    2
    2
    604
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • C
      casdfxx LV 5 最后由 编辑

      pinctrl与gpio子系统耦合出问题,芯片是v3s。
      现在设备树中内容如下:

      在PIO内加入:
      my_btn_pins:my_btn_pins_{
      		pins		= "PB0";
      		function	= "gpio_in";
      };
      在根节点内加入:
      myBtn{
      		compatible		= "my_led_pb0";
      		status 			= "okay";
      
      		pinctrl-names	        = "default";
      		pinctrl-0		= <&my_btn_pins>;
      		
                      mybtn-gpios		= <&pio 1 0 GPIO_ACTIVE_HIGH>;
      };
      

      我的platform里的probe通过以下代码获取引脚:

      gDesc   = gpiod_get(&pdev->dev, "mybtn", GPIOD_IN);
      gpiod_get_value(gDesc);
      

      出现错误:
      2a123d49-a294-490a-97dd-4eff838656c6-image.png

      错误是重复申请同一个引脚。这是pinctrl与gpio起冲突了?
      如果在上面的基础上去掉pinctrl-names pinctrl-0的话,没有错误。但是逻辑就不对了。因为这是个输入引脚,需要内部上拉才能使用。要是去掉mybtn-gpios的话,驱动里就没有操作该gpio的接口了,还是不行。
      求助诸位大神提点一二。

      W 1 条回复 最后回复 回复 引用 分享 0
      • W
        walent LV 1 @casdfxx 最后由 编辑

        此回复已被删除!
        1 条回复 最后回复 回复 引用 分享 0
        • 1 / 1
        • First post
          Last post

        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

        行为准则 | 用户协议 | 隐私权政策