飞凌全志T507-C核心板CPU为四核Cortex-A53,1.5GHz主频;GPU为G31 MP2;核心板集成2GB ddr3 RAM,8GB eMMC ROM,可流畅运行Android、Ubuntu、Linux操作系统。性能高,相比CPU同为全志的FETA40i-C核心板,性能提升超过50%。
f_890eecdfb6b0cc59b9a0ed3a8d6f2885&1638511645.jpg

自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。

引脚功能复用思路:
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
3、添加新的功能并使用这些引脚

下面将以T507添加两线串口UART2为例,我们来实际操作一遍。

一、确认UART2需要的引脚

◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx

◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用

引脚名称
FETT507-C默认功能
可复用功能
PG15
PG-TWI4-SCK
UART2_TX
PG16
PG-TWI4-SDA
UART2_RX
PH5
H_I2S3_MCLK
UART2_TX
PH6
H_I2S3_BCLK
UART2_RX
PI5
RGMII_RXCTL/RMII_CRS_DV
UART2_TX
PI6
PHYRSTB
UART2_RX


小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。

二、去掉原来功能对这些引脚的使用
◾ 打开源码,先了解一下T507的设备树文件:

OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxI/OKT507-C-Common.dtsi
功能配置设备树2

OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
功能配置设备树1

OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
时钟设备树

OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
引脚复用设备树

◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
f_384f213a15335d488fa92ab62c34622d&1638607648.jpg

◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b

f_eaa3a37c5b29410bc26cedaa8a8a8ebb&1638607804.jpg

◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabLED";

f_512dfdeca21f834d2acfa8b25d8deeeb&1638608269.jpg


到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。

三、添加串口并使用PG15、PG16引脚

◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8

f_fe853b614a2197cc33afdc7f3ba148e0&1638608291.jpg

◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图

f_75cbf9b40fbb57eac6bcebc1c60b5151&1638608334.jpg

◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。

f_7c86da599dac0a3ba2888e98b31b820f&1638608358.jpg

可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
然后我们打开UART2,修改UART2状态为status= "okay";
到此我们配置了UART2的引脚,并打开了UART2的功能。
当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。

文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
原文链接:https://www.forlinx.com/article_view_793.html