Firefly开源社区

打印 上一主题 下一主题

[Linux] 解除GPIO被占用后,内核卡住

39

积分

0

威望

0

贡献

技术小白

积分
39

解除GPIO被占用后,内核卡住

发表于 2023-4-1 16:08:03      浏览:5394 | 回复:3        打印      只看该作者   [复制链接] 楼主
问题描述及复现步骤:
由于硬件设计上需要用到PCA_IO0_4、PCA_IO0_6,所以将vcc_hub_reset、vcc_hub3_reset的PCA_IO0_4、PCA_IO0_6 解除占用
尝试如下方式:
1."okay" 改为:“disabled”;
2.屏蔽掉整段描述;
3.屏蔽掉PCA_IO 04、PCA_IO 06;
4.将PCA_IO 04替换为disabled掉的PCA_IO 15,PCA_IO 06替换为disabled掉的PCA_IO 11。
以上四种修改方式,编译的内核下载到板卡后,内核会卡住,无法进行串口操作。
请问,如何才能解除PCA_IO0_4、PCA_IO0_6被占用的情况呢?

修改文件:rk3588-firefly-aio-3588q.dtsi
&vcc_hub_reset{
        status = "okay";
        gpio = <&pca9555 PCA_IO1_5 GPIO_ACTIVE_HIGH>;  //PCA_IO 15
        //gpio = <&pca9555 PCA_IO0_4 GPIO_ACTIVE_HIGH>;  //PCA_IO 04
};

&vcc_hub3_reset{
        status = "okay";
        compatible = "regulator-fixed-firefly";
        regulator-name = "vcc_hub3_reset";
        enable-active-high;
        regulator-always-on;
        regulator-fixed-kernel-reset-ms = <3000>;
        //gpio = <&pca9555 PCA_IO0_6 GPIO_ACTIVE_HIGH>;  //PCA_IO 06
        gpio = <&pca9555 PCA_IO0_11 GPIO_ACTIVE_HIGH>;  //PCA_IO 11
};

session.log

81.13 KB, 下载次数: 1, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11423

突出贡献

发表于 2023-4-1 16:19:07        只看该作者  沙发
这是电源管脚,不可以随便就去掉。去掉后pca驱动初始化 reset 就过不了。因为底板上有很多外设是要用pca管脚进行初始化的。要将pca管脚释放出来,将pca节点所控制的节点都disabled试试。
回复

使用道具 举报

39

积分

0

威望

0

贡献

技术小白

积分
39
发表于 2023-4-1 17:18:45        只看该作者  板凳
感谢大神讲解
回复

使用道具 举报

39

积分

0

威望

0

贡献

技术小白

积分
39
发表于 2023-4-3 10:30:20        只看该作者  地板
本帖最后由 cw_firefly 于 2023-4-3 10:31 编辑
799959745 发表于 2023-4-1 16:19
这是电源管脚,不可以随便就去掉。去掉后pca驱动初始化 reset 就过不了。因为底板上有很多外设是要用pca管 ...

C:\Users\Administrator\Desktop\001.jpg
这个图片是贵公司的开发板,和我们的开发板的对比,请问为啥我们不用这几个引脚了,设备树disabled还是会导致内核卡住呢?

001.jpg (115.74 KB, 下载次数: 647)

001.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表