SM4350PRO A15 新基线 没办法将egpio给变成普通的gpio

m0_56405120 2024-12-31 14:58:50

下载SM4350PRO A15的基线版本,按照高通KBA-230112041830_REV_2_how_to_configure_egpio_to_normal_AP_GPIO_in_kernel.pdf进行配置,发现无法进行配置,通过命令抓取d/gpio 发现如下现象 :

 请问,有无办法解决?

...全文
711 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

Ifa GPIO is EGPIO, you have 2 properties need to add for this GPIO(use in kernel 5.10 and later):
qcom,apps
EGPIO做普通GPIO
在pinctrl的config配置中添加
qcom,apps
即可

  • 打赏
  • 举报
回复

devicetree pinctrl如下:

img

后面又在这个pinctrl-holi.c将gpio135 gpio136在这个egpio group里面做了移除得操作后,cat d/gpio也是egpio 不能当作普通gpio口使用

img

  • 举报
回复
@m0_56405120 你这里做的是将gpio的pinctrl配置出来了, 但是没有进行对应的应用, 例如高通的例子中: here, take diy_slave_nodeas your slave node, <chipset>.dtsi: diy_slave_node { ... pinctrl-names = "default", "sleep"; pinctrl-0 = <&diy_test_active>; pinctrl-1 = <&diy_test_sleep>; ... status = "ok"; }; 这一段, 是将pinctrl读取到驱动中, 然后再由驱动进行初始化, 你可以写一个gpio初始化模块来对这个pinctrl进行配置, 具体的调用函数是先 lookup找到dts中的配置, 再调用select真正的设置gpio的pinctrl: struct pinctrl_state *pinctrl_lookup_state(struct pinctrl *p, const char *name); int pinctrl_select_state(struct pinctrl *p, struct pinctrl_state *state); 这样pinctrl的设置才真正的设置下去.
  • 打赏
  • 举报
回复

需要在device tree里进行对应的修改, 请提供具体的devicetree的修改的patch。

2,861

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧