最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

基于TQ3568開發(fā)板分享如何配置GPIO功能為I2C_SPI_UART

2023-06-29 14:16 作者:embedsky  | 我要投稿

一、將GPIO功能配置為I2C???

1、本例以I2C4為例,若要配置GPIO為復(fù)用功能。需要查看數(shù)據(jù)手冊了解其復(fù)用關(guān)系,如下圖所示。? ?

編輯

不難看出,GPIO4_B2可復(fù)用為I2C4的SDA腳,GPIO_B3可復(fù)用為I2C4的SCL腳。

2、進(jìn)入/opt/tq356x-linux/kernel/arch/arm64/boot/dts/rockchip目錄,打開rk3568-tqcoreA-BaseA_v1.dtsi文件。?





cd /opt/tq356x-linux/kernel/arch/arm64/boot/dts/rockchip vim rk3568-tqcoreA-BaseA_v1.dtsi

3、找到i2c4節(jié)點(diǎn) ?

編輯

?


4、打開rk3568-pinctrl.dtsi文件,找到上方紅框的節(jié)點(diǎn)。?


  • 編輯

?

vim rk3568-pinctrl.dtsi


不難看出,GPIO4_PB2引腳被配置為I2C4SDA_M0功能,其中1表示將該管腳復(fù)用為I2C功能,從下圖可知。

GPIO_PB3引腳被配置為I2C4SCL_M0功能,其中1表示將該管腳復(fù)用為I2C功能。

編輯

&pcfg_pull_none_smt是一個配置電器屬性的節(jié)點(diǎn)。

可以打開rockchip-pinconf.dtsi 文件查看有哪些電器屬性,用戶可根據(jù)自己需求配置。



vim rockchip-pinconf.dtsi

編輯

二、將GPIO配置為SPI ?

1、本例以SPI3為例,首先查看數(shù)據(jù)手冊,知曉GPIO口的復(fù)用關(guān)系,如下圖所示。?

編輯

?


2、我們發(fā)現(xiàn),SPI3的SCL口與MOSI口與上方的I2C4SCL口、SDA重合。這時候就有個疑問了,設(shè)備樹是如何實(shí)現(xiàn)只復(fù)用一個功能而不造成沖突的呢?進(jìn)入打開rk3568.dtsi文件。?



vim rk3568.dtsi

編輯

編輯

我們發(fā)現(xiàn),在最上層的rk3568.dtsi文件中,i2c4與spi3的狀態(tài)都是"disable"不可用。

打開rk3568-tqcoreA-BaseA_v1.dtsi文件



vim rk3568-tqcoreA-BaseA_v1.dtsi

編輯

我們可以發(fā)現(xiàn),i2c4節(jié)點(diǎn)被引用并且狀態(tài)被修改為"okay",而spi3卻沒有被引用。由上可知,原設(shè)備樹文件中,只使能了I2C4沒有使能SPI3,那么我們?nèi)绾尾拍軐PIO4_PB2、GPIO4_PB3配置成SPI呢?請按以下步驟操作。

3、進(jìn)入rk3568-tqcoreA-BaseA_v1.dtsi文件,將i2c4引用節(jié)點(diǎn)注釋掉。?

編輯

4、在rk3568-pinctrl.dtsi中找到spi3節(jié)點(diǎn),并在rk3568-tqcoreA-BaseA_v1.dtsi文件中自定義引用spi3,將其狀態(tài)修改為"okay"。如下圖所示。?


  • 編輯


三、將GPIO配置為UART ?

1、同樣的,我們先看數(shù)據(jù)手冊,知曉管腳的復(fù)用關(guān)系,本例以uart1為例。?

編輯


編輯

?

不難看出,GPIO2_B3可復(fù)用為UART1_RXM0,GPIO_B4可復(fù)用為UART1_TXM0。

2、進(jìn)入/opt/tq356x-linux/kernel/arch/arm64/boot/dts/rockchip目錄,打開rk3568-tqcoreA-BaseA_v1.dtsi文件。?





cd /opt/tq356x-linux/kernel/arch/arm64/boot/dts/rockchip vim rk3568-tqcoreA-BaseA_v1.dtsi

3、找到uart1節(jié)點(diǎn) ?

編輯

4、打開rk3568-pinctrl.dtsi文件,找到上方紅框的節(jié)點(diǎn)。? ?

編輯

不難看出,GPIO2_PB3引腳被配置為UART1_RXM0功能,其中2表示將該管腳復(fù)用為UART功能,從下圖可知。

GPIO_PB4引腳被配置為UART1_TXM0功能,其中2表示將該管腳復(fù)用為UART功能。

編輯

編輯

&pcfg_pull_up是一個配置電器屬性的節(jié)點(diǎn)。

可以打開rockchip-pinconf.dtsi 文件查看有哪些電器屬性,用戶可根據(jù)自己需求配置。



vim rockchip-pinconf.dtsi

編輯

總的來說,我們在配置GPIO復(fù)用功能時。首先要看數(shù)據(jù)手冊了解其復(fù)用關(guān)系。然后打開相對應(yīng)的設(shè)備樹文件修改pinctrl子系統(tǒng)里的值。

在TQ3568中,主要用到的設(shè)備樹文件有rk3568.dtsi 、rk3568-tqcoreA-BaseA_v1.dtsi、rk3568-pinctrl.dtsi。

值得注意的是,隨著版本的更新,設(shè)備樹可能會不同。

-END-


基于TQ3568開發(fā)板分享如何配置GPIO功能為I2C_SPI_UART的評論 (共 條)

分享到微博請遵守國家法律
江达县| 酉阳| 怀安县| 交口县| 松江区| 乐平市| 中西区| 碌曲县| 十堰市| 通州区| 阳江市| 松阳县| 湾仔区| 齐河县| 濮阳市| 乌恰县| 奉贤区| 邵东县| 壶关县| 旺苍县| 丰原市| 金塔县| 扎鲁特旗| 贺兰县| 丰城市| 沈丘县| 郎溪县| 克拉玛依市| 平远县| 南安市| 东乌| 塔城市| 马鞍山市| 平凉市| 方正县| 夹江县| 湘西| 南郑县| 乌海市| 石台县| 丰镇市|