全志T507-H技术帖 | 去掉IO扩展芯片后保留扩展引脚功能的实现方法
  EN8RstcYnW4n 2023年11月19日 15 0

飞凌嵌入式推出的OKT507-C作为一款广受欢迎的开发板拥有丰富的功能接口,而实际上OKT507-C开发板的CPU引脚资源是比较紧缺的,那么它究竟是如何提供如此丰富的接口资源的呢?答案就是IO扩展芯片——TCA6424A。

这是一个24 位 I2C 和系统管理总线 (SMBus), 输入输出(I/O) 扩展器有中断输出、复位和配置寄存器。为了满足更多客户需求,在降低成本的同时尽可能保留更多功能,飞凌嵌入式为大家提供了OKT507-C去掉IO扩展芯片后保留扩展引脚功能的实现的方法。

在这里插入图片描述

扩展芯片上的IO口被WiFi、蓝牙、MIPI摄像头TP2854、DVP摄像头和line-out口电源使能引脚引用,若想保留这些功能,就要使用核心板其他可复用为这些功能的引脚。

本文将选用OKT507-C开发板的LCD功能引脚来重新复用为这些功能,用户可根据自己的实际功能需求情况选择。方法参考如下:

一、选用引脚: 对应功能引脚如下表所示:

在这里插入图片描述

二、关掉gpio_ext及复用引脚原来功能

修改设备树,将LCD功能关闭后,该组引脚即可用作普通的GPIO。修改路径如下: vi OKT507-linux-sdk/kernel/linux4.9/arch/arm64/boot/dts/sunxi/OKT507-C Common.dtsi

  1. 关掉IO扩展芯片功能:

在这里插入图片描述

  1. 关闭需要复用引脚功能: 关闭LCD功能,本文以选用LCD上的引脚用作功能复用,用户需根据实际情况关闭所用引脚功能。 将lcd_used 改为 0

在这里插入图片描述

lcd0节点添加 status = “disabled”;

在这里插入图片描述

三、更改设备节点中引用的GPIO

  1. MIPI-5640引脚配置: 路径如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

在这里插入图片描述

  1. TP2854引脚配置: 路径如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common-TP2854M.dtsi

在这里插入图片描述

需要注意的是,MIPI5640和TP2854共用一个MIPI接口,两个功能都用到了MIPI_PWRDN引脚,实际使用时只能选择一种功能,因此本文在两个功能测试时选的同一个引脚。

  1. DVP-5640引脚配置: 路径如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

在这里插入图片描述

  1. WiFi引脚配置: 路径如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

在这里插入图片描述

  1. 蓝牙引脚配置: 路径如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

在这里插入图片描述

  1. 音频引脚: 路径如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

在这里插入图片描述

以上就是OKT507-C开发板去掉IO扩展芯片后保留扩展引脚功能的实现的方法,本文使用的思路和方法仅供参考使用,其它Arm开发板虽然芯片不同,但思路和方法有很多的共性,希望对您在板卡的使用中能够有所帮助。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  QtpjMRSUUfXb   2023年12月08日   37   0   0 引脚#include看门狗
  UYSNSBVoGd8R   2023年12月08日   13   0   0 引脚#include#define
EN8RstcYnW4n