找回密码
 注册
关于网站域名变更的通知
查看: 218|回复: 1
打印 上一主题 下一主题

全志T507-C核心板引脚功能修改指引

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-12-9 09:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

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

2 w& r% Y/ F7 G& R+ u0 N% w9 i5 @
1 b) z0 {5 m) x% B自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。
2 W/ D  X1 ^; y7 `今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。9 ?- Y3 m8 P0 R7 f. ]4 b' y* d

- Z9 ~5 P9 L2 X4 h, n1 c1 I6 z0 Q引脚功能复用思路:
3 ^3 G$ s0 x7 [8 L3 K1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
3 ^, C$ n; Y4 o7 a: K) U2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)
( {. G4 N+ n% P- N* S/ `6 [3、添加新的功能并使用这些引脚
% x, [' ^6 A/ I/ k8 G6 R/ `& N$ f
. s! S, r7 N  ^; c下面将以T507添加两线串口UART2为例,我们来实际操作一遍。! o7 ]+ K) }3 Y9 o; |
  a+ X. Y7 `$ J) ~, w4 n
一、确认UART2需要的引脚3 h+ {; _, d5 E! l& u4 O, ~3 ?
& R& v" x8 H9 m4 o+ @3 R' f8 O, |; t
◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表
& Z. l. ^2 r5 i* y  ^5 B$ J  t路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
* I! q; F5 i9 p5 M' e; b
" Q0 W5 ]( j( H0 h3 x; O◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用# Y0 h8 |9 D( |# C( Y( J

! `2 h! i3 w( ~' O  O% y
引脚名称1 c. `- e0 h' G: q% y8 w
FETT507-C默认功能3 [+ P! p1 F" s4 n7 `, e" i
可复用功能& B* R7 v- K( ]: [1 Q5 H
PG15
/ g7 D! V0 l' c0 |; s
PG-TWI4-SCK
# P% x1 T  P4 ^; V5 l8 T# @  Q* N  ^
UART2_TX
PG16: {) H9 F7 ~; U$ P& w# q. i- e: V
PG-TWI4-SDA
; E  D  q* n3 w$ z2 q! T' S
UART2_RX5 e5 l( W  n# e2 x" X
PH5) D2 h9 d+ M8 o6 K% `/ s2 R0 g7 g
H_I2S3_MCLK1 f; r1 v$ r" \- F
UART2_TX
) P1 ~% y- b* K# y
PH6
4 B4 {2 D: [. T( v' Y" b
H_I2S3_BCLK8 K  D) v" F7 F# z* [
UART2_RX4 o9 ?5 B1 O6 w9 i8 {
PI5
5 l/ d$ O+ w! z/ a5 j5 @5 Z
RGMII_RXCTL/RMII_CRS_DV
: C; I# w4 F. P" w  p8 L
UART2_TX
5 U( M- l  l4 Z& Z  m, d* j3 t8 \
PI6
5 u. j7 F3 F, y. U5 T: H
PHYRSTB
* H/ D! r4 n/ {7 [- k
UART2_RX( c$ n& W/ `5 m( v( D
/ y) B( e  b# O% j  Y

/ [7 h# \$ k8 _, j% I2 |; O小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。+ r7 Y( d8 B; n! l5 v( n7 p
: z- u: n5 g( Q
二、去掉原来功能对这些引脚的使用, t! s* a4 T3 x; ?% y& `5 d1 B
◾ 打开源码,先了解一下T507的设备树文件:
* k' N. J- x6 J7 j5 R6 Q% j; V  S; p6 Z' |! L) o7 i5 m
OKT507-linux-sdk/kernel/linux-4.9/arch/ARM64/boot/dts/sunxI/OKT507-C-Common.dtsi7 @/ |6 Q. ]1 y$ _- R& f- _
功能配置设备树2
1 p7 B! _% S; ]! ^
  _1 ~2 }! ^, f) E, u0 O) X% O6 nOKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
$ c% W  i. V+ |* k& g7 t功能配置设备树19 E6 A1 z. \; w/ r/ v  |
% \- m. R$ B0 V2 |
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi) }% _$ a: v* i6 R5 [
时钟设备树$ e  o# K. x+ q* }2 a2 g: H
1 _2 G$ j. H$ O: U" f( n( F
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
5 d! h# V6 I# J  [8 ]1 m引脚复用设备树5 i; E% l# i$ [

7 H8 I: a+ \- J- f◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用  ^: y& {  Y/ Z8 [9 Y/ [  |

+ s: R4 q7 b5 o" z" x0 R7 W: t1 M$ X6 ]# ~: m7 f" p
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b. c; U+ a2 w( _) ~8 c
* g; @4 X: p& Q( i# V6 H" C

4 `7 I  ?9 k) ~+ }
8 `, w3 V* _: g! z( z+ P& d5 N◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabLED";
  M# A# i9 k( |
% u+ B. |% n$ h* P! j2 j) R: Y6 H+ M8 M# d5 T' S

/ p/ d5 A2 w1 L0 F* b, M
7 _. ?5 s3 A- R' {, W到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
& }2 f  B  t. V
: t: g3 ~0 K6 ~. y" _三、添加串口并使用PG15、PG16引脚
" `+ G: _2 X0 a* `4 t6 \$ Y+ e# Z
◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
4 m- q4 N& ^* v, B' ~0 A
0 Q" u0 Q$ t7 K- n5 E) J( L% N- Q  e" l  B3 p

  G' ^( E! m4 i( S1 h◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图6 p* r. k, D, M; x% Q& p: G' m
) \/ s& D# j% M* w$ e1 X

' z- P7 z% Q- @8 S3 ]/ R+ C. k
' u2 I- W! V" t: Y1 d◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。
* R1 X- Q1 F& V, ]4 M. `  R2 g" }- g9 r8 {+ q5 W
$ _8 I' |! [5 O% t3 c2 {" k8 L' ]0 G  D

2 N/ Y+ {" g7 U可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。
1 R( C* D, A6 D4 @/ c: L然后我们打开UART2,修改UART2状态为status= "okay";* ~$ g+ Z0 ~1 w( j  V- e
到此我们配置了UART2的引脚,并打开了UART2的功能。
' S) _3 Q7 U6 X8 s* s# a当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
9 N( d+ N4 o$ A: M% A! p
. ^: U# I6 S) U: [; X! d文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。. H+ T6 \- w1 A( B  ^; N3 M! u
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
& {) z, u! w$ k4 i& D9 X) ]原文链接:https://www.forlinx.com/article_view_793.html9 I; ^" o+ ?5 d! I, e

该用户从未签到

2#
发表于 2021-12-9 13:21 | 只看该作者
确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-17 20:53 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表