v3s的pinctrl与gpio子系统耦合出错
-
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);
出现错误:
错误是重复申请同一个引脚。这是pinctrl与gpio起冲突了?
如果在上面的基础上去掉pinctrl-names pinctrl-0的话,没有错误。但是逻辑就不对了。因为这是个输入引脚,需要内部上拉才能使用。要是去掉mybtn-gpios的话,驱动里就没有操作该gpio的接口了,还是不行。
求助诸位大神提点一二。
Copyright © 2023 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号