找回密码
 注册
关于网站域名变更的通知
查看: 200|回复: 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%。: ~9 K& }5 B! V! _5 f. M6 W

2 ^: c1 _" ~$ O3 T, Q" q3 S( {& X6 o7 L8 W
自推出以来,其新用户与日俱增,但是对于刚刚接触FETT507-C核心板的朋友来说,不熟悉内核内容,可能开发起来比较费时费力。如果想开发自己的底板,就需要修改引脚功能配置,以适配自己底板的接口功能。. o; q+ H7 C/ w6 \$ L& ?' [3 M
今天,小编就先来修改下UART2引脚功能,来带大家一同了解引脚修改全过程。
% \& N5 d- ~% n3 }+ ~. A1 @
( D$ q1 Q) |( l1 }$ P# j5 M引脚功能复用思路:) f3 D7 A% X0 e% i
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
; n4 o9 Q- [+ ~1 |( C3 _2、去掉原来功能对这些引脚的使用(关掉功能或更换引脚)" Y0 |! ]$ b9 z( [1 j: g
3、添加新的功能并使用这些引脚$ P* s  Q3 Y! W8 {7 ^
5 B. h9 V" K" T1 K
下面将以T507添加两线串口UART2为例,我们来实际操作一遍。# i8 m3 D- H* i8 r8 k% Y$ x8 g

. T+ k1 Q: E. F3 L7 K一、确认UART2需要的引脚* o; k# R* Y; I. b8 f9 e
5 T3 ?, [2 c. |- I5 X5 s
◾ 打开T507硬件资料,找到FETT507-C核心板引脚功能复用表. V% s% \& q3 \$ n
路径为:硬件资料\用户手册\FETT507-C核心板引脚功能复用表.xlsx
  }6 S, y% A6 x' f1 V$ T, L) I9 k- T. _8 k7 {- u
◾ 在表格中搜索UART2,可以找到三组可用引脚,分别在TWI4、I2S3和网口上使用( o3 S+ v. j- H) ]. A

) {. }7 m3 f7 Q' v. X
引脚名称. U/ \0 ^8 l! {. i
FETT507-C默认功能
1 V  P% ^; ]9 `7 E) ]
可复用功能& |4 ^6 Z8 m0 q
PG15/ X0 |& T% v- j! p) B
PG-TWI4-SCK  O* ]8 n# r: {
UART2_TX
PG169 ?2 T0 n. I" _1 G* d) z- _/ l
PG-TWI4-SDA2 L* U% q  L, a, H+ e
UART2_RX! w+ a" x6 d" ]8 X% A- L, m# ?
PH5$ [! h7 B0 [+ G  n! t( D! K3 N
H_I2S3_MCLK; R# ?( K+ D7 ?) f  K& i
UART2_TX2 O: x( Z/ t7 ^5 n; M9 Z: g, _
PH6
& b2 a: ]3 J* A" N! t3 m
H_I2S3_BCLK
0 a& w) v" P; ^! D4 \# V% q
UART2_RX
. T# B9 A/ f7 p* d
PI5' L! a, Z/ t, V
RGMII_RXCTL/RMII_CRS_DV
. W# w+ v; @3 c/ t: c# s
UART2_TX" b$ o$ x' |# y: w+ u
PI6
: K* V" l7 |" r8 }$ |9 K, z4 S
PHYRSTB  p& T" a9 x5 L7 A2 ]$ H
UART2_RX3 ]0 P8 [$ @( ]
$ W1 G1 h1 u/ V, }2 d9 q

/ f5 o- v/ w' j' p6 c小编这里选择PG15、PG16,即原来I2C4功能上使用的引脚。这里完成了第一步,确认了要使用的引脚和引脚默认功能。
, d/ ^( Z! T) H, Y. U
( l8 w. U! `+ q; ]( Y6 k二、去掉原来功能对这些引脚的使用4 g6 d0 o5 Y2 A
◾ 打开源码,先了解一下T507的设备树文件:
$ W7 g' ]* }) ?) t5 n  \" n# o: }! i. Z+ Z
OKT507-linux-sdk/kernel/linux-4.9/arch/ARM64/boot/dts/sunxI/OKT507-C-Common.dtsi
) j5 i- g  t- y! T0 n4 L% p  `8 K# t功能配置设备树2  f: @) N; S8 q- F5 R" q
1 _6 Q" L, ]: n  L" l1 `
OKT507-linux-sdk/kernel/linux- 4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi* O3 F+ G: b( s; w
功能配置设备树1" @' `" i. e% B* w8 z# _, k
, ]$ i8 s! a+ \1 |
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi
, \! K4 H* a0 a3 w时钟设备树
9 D+ I# n$ \3 E/ A7 w( P$ @! f& _. w& W! i( ^
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi- c# Q) D( R  b& a9 C
引脚复用设备树
6 o4 f  R/ w8 W& m7 w5 b  H+ e) `2 h  A$ E
◾ 打开sun50iw9p1-pinctrl.dtsi,搜索TWI4可找到默认引脚配置。可以看到我们要使用的PG15、PG16已经被使用
1 y1 V( o* Q( M. Q2 b( B2 x
0 @6 S" A& Q. F# x. ]! e( c  \5 h! `. Y7 Z
◾ 找到TWI4功能配置,在sun50iw9p1.dtsi的807行,可以看到调用的引脚配置twi4_pins_a和twi4_pins_b, f0 t" Y5 c6 S6 c% z3 ^2 {3 [
3 F$ t! C. I- R5 k) i& Z0 o

6 c7 U$ e3 `6 t, c/ e6 C. L5 H
( a) d% D4 {5 I; b4 l7 Z7 b* W◾ 在OKT507-C-Common.dtsi的352行,此处可看到twi4挂载的是触摸芯片,此处我们关掉TWI4,修改TWI4状态为status= "disabLED";* L# A# j: U- U5 c" b2 _1 w

, O/ J4 j+ O# X, f: T. G/ e1 m+ I+ b8 ^3 @/ q8 n6 T# x
# z" d  h/ T% ^
/ \: q* O5 N, J, p2 V$ J$ `
到此,我们关掉了TWI4对引脚PG15、PG16的使用,同时TWI4也不能使用,触摸芯片也不能识别。
- v, G: N4 I! @# b9 Y0 u7 V* b' A0 [9 w& L: W
三、添加串口并使用PG15、PG16引脚% ~# E8 _: u' ~9 l% i" H

' N, X6 ~; x7 z+ t7 Z* V0 @◾ 先打开sun50iw9p1-pinctrl.dtsi,搜索UART2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
3 k2 m. K+ U/ C% ?
1 O- ]: t0 L* ^- y
/ z8 k* N5 k7 `5 h3 o$ U. C+ c! O5 H; }8 T- r* }$ n2 t3 Q
◾ 我们进行修改,将引脚和配置改成PG15、PG16两个引脚,修改后如图9 o# ]  g' r: p! R
) D; a5 D1 [. j) a4 y2 q
, N3 a  }" E. \5 i

+ `0 |' H" V! J6 r* r+ I% ?0 _3 }◾ 打开sun50iw9p1.dtsi,找到UART2的功能配置。, b$ p6 B/ d+ ?+ I3 i- U; A9 W

8 S7 b7 y8 w2 W' ~! t8 b% F# F/ w$ I9 o$ u# ^, R

! p. p+ E: W  m+ |! b可以看到uart2_type是设置的4,即四线串口,改为2,作为二线串口。* k7 J/ D. k; ]" N6 A
然后我们打开UART2,修改UART2状态为status= "okay";8 X; x0 K1 w( M3 p, P; B
到此我们配置了UART2的引脚,并打开了UART2的功能。
  B6 J# W; Z3 C4 V3 U) |$ j+ [当然,开发板默认已经打开了UART0、UART1和UART5,所以驱动默认已经配置。只需要对源码进行编译打包就可以得到添加了UART2的镜像。
8 G6 e. H; Y9 D$ d  h
6 G1 I9 K/ X/ S3 x" b9 ?: ]" \/ D# r文章到这里就告一段了,各位看官是否对FETT507-C核心板引脚功能修改有一个初步的了解了呢,希望借此可以为您的开发过程提供一些助力。2 {4 T! }- M; L% E7 x9 }4 j
虽然不同平台的源码内容不同,但是修改思路是一样的:需要的引脚是什么?引脚原来的功能是什么?要做的功能是什么?先了解目的,再对源码结构有一个简单的了解。这样自己就能轻轻松松独立修改。
; b3 g; M* m( r: m1 z# D$ i原文链接:https://www.forlinx.com/article_view_793.html. U9 A" q3 g) u) D3 t8 g8 E

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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