引脚功能复用思路:
1、确认新的功能需要哪些引脚,并确认这些引脚原来用做什么功能
2、去掉原来功能对这些引脚的使用(关掉功能)
3、添加新的功能并使用这些引脚
I2C
一、确认TWI0需要的引脚
打开T5_Series_User_Manual_V1.0手册的第10章的Operations and Functional Descriptions,
在这目录下有引脚功能复用表
在引脚功能复用表中查找TWI0,可以找到两组可用引脚
为了方便测试,这里选择PI5、PI6。
二、去掉原来功能对这些引脚的使用
打开sun50iw9p1-pinctrl.dtsi,搜索PI5、PI6,可以看到我们要使用的PI5、PI6已经被使用
打开sun50iw9p1.dtsi,搜索gmac0,可以看到调用的引脚配置gamc_pins_a和gamc_pins_b
打开bords.dts,搜索gmac0,我们关掉gamc0,修改gmac0状态为status= “disabled”
三、在TWI0中添加PI5、PI6引脚,并开启TWI0
先打开sun50iw9p1-pinctrl.dtsi,搜索TWI0,找到TWI0的默认引脚,默认是PL0,PL1
我们进行修改,将引脚和配置改成PI5、PI6两个引脚,修改后如图
打开board.dts,找到twi0的功能配置,修改twi0状态为status= “okay”;
最后,重新编译烧写即可。
SPI
一、确认SPI 1需要的引脚
在核心板原理图中搜索SPI1,
可以看到spi1需要用到PH5,PH6,PH7,PH8,还可以看到PH5,PH6,PH7,PH8都被用作音频信号的引脚
二、去掉原来功能对这些引脚的使用
打开sun50iw9p1-pinctrl.dtsi,搜索PH5,可以看到我们要使用的PH5,PH6,PH7,PH8已经被用作ahub_daudio3。
打开sun50iw9p1.dtsi,搜索ahub_daudio3,可以看到调用了引脚配置ahub_daudio3_pins_a和ahub_daudio3_pins_b
打开bords.dts,搜索ahub_daudio3,我们关掉ahub_daudio3,修改ahub_daudio3状态为status= “disabled
三、在SPI1中添加PH5、PH6 、PH7、PH8,并开启SPI1
先打开sun50iw9p1-pinctrl.dtsi,搜索SPI1,找到SPI1的默认引脚,默认是PH5、PH6、PH7、PH8
打开board.dts,找到SPI1的功能配置,修改SPI1状态为status= “okay”;
最后,重新编译烧写即可。
UART
一、确认UART2需要的引脚
打开T5_Series_User_Manual_V1.0手册的第10章的Operations and Functional Descriptions,在引脚复用功能表中查找UART2,可以找到三组可用引脚
为了方便测试,这里选择PI5、PI6。
二、去掉原来功能对这些引脚的使用
打开sun50iw9p1-pinctrl.dtsi,搜索PI5、PI6,可以看到我们要使用的PI5、PI6已经被使用
打开sun50iw9p1.dtsi,搜索gmac0,可以看到调用了引脚配置gmac_pins_a和gmac_pins_b
打开bords.dts,搜索gmac0,我们关掉gamc0,修改gmac0状态为status= “disabled”
三、在串口中添加PI5、PI6,并开启串口
先打开sun50iw9p1-pinctrl.dtsi,搜索uart2,找到UART2的默认引脚,默认是PH5、PH6、PH7、PH8
我们进行修改,将引脚和配置改成PI5、PI6两个引脚,修改后如图
打开sun50iw9p1.dtsi,找到UART2的功能配置,修改uart2状态为status= “okay”;
最后,重新编译烧写即可。