成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

飛凌嵌入式ElfBoard ELF 1板卡-初識設備樹之IOMUX介紹

01/13 09:05
1013
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

IOMUX是指引腳功能復用功能配置,MUX是指multiplex多路復用的意思,由于芯片硬件引腳資源有限,但又想實現(xiàn)盡可能多的功能,于是芯片廠商,就實現(xiàn)了一個引腳可復用為多路功能的設計。不同廠家的SOC芯片有不同的配置方法,下面我們講i.MX6ULL的引腳功能復用的配置方法。

下邊以背光引腳為例進行講解。

原理圖中我們可以看出屏幕背光用的是核心板上的63引腳。

接下來我們查看硬件資料中的<<FETMX6ULx-S核心板管腳功能分配表20200624.xlsx>>

核心板管腳功能分配表中,第一列是連接器的引腳編號;第二列是信號名稱;第三列是開發(fā)板默認功能;第四列是功能描述;Alt0-Alt5表示該引腳可以復用成的功能,能夠看出63引腳可以復用成pwm1,wdog1,spdif,csi.VSYNC,usdhc2.VSELECT,gpio1.IO8。

軟件中是如何對應的呢,打開源碼中arch/arm/boot/dts/imx6ull-elf1-emmc.dts,其中背光節(jié)點backlight節(jié)點引用了pwm1標簽。

接下來搜索pwm1標簽,pinctrl-0屬性中定義了引腳的復用狀態(tài):

進一步搜索pinctrl_pwm1標簽:

其中GPIO1_IO08是引腳的信號名稱,PWM1_OUT為此引腳復用成的功能。那MX6UL_PAD_GPIO1_IO08__PWM1_OUT這個宏是在哪里定義的呢?我們打開arch/arm/boot/dts/imx6ull-pinfunc.h,在文件中搜索信號名稱GPIO1_IO08:

搜索發(fā)現(xiàn)此文件中沒有沒有這個引腳的相關描述。

這個文件還引用了imx6ul-pinfunc.h,因為imx6ull與imx6ul有一些通用的配置,所以就把通用的部分都放到了imx6ul-pinfunc.h文件中,然后把差異的部分放到imx6ull-pinfunc.h中來描述。

接下來再打開arch/arm/boot/dts/imx6ul-pinfunc.h,搜索信號名稱GPIO1_IO08,能搜索到如下宏定義。其中GPIO1_IO08能復用成9種功能,我們使用到的是第一種PWM1_OUT。

將其展開為:0x007C 0x0308 0x0000 0x0 0x0 0x110b0

??0x007C ???| ???0x0308 ?| ???0x0000 ??| ????0x0 ????| ???0x0 ??| ?0x110b0

----------------------------------------------------------------------------------------------------------------------

mux_ctrl_ofs | pad_ctrl_ofs | sel_input_ofs | mux_mode ?| sel_input | ?pad_ctrl

注意:下述參考手冊為《IMX6ULLRM.pdf》找到32章節(jié)IOMUX Controller

此章節(jié)IOMUXC Memory Map/Register Definition中的IOMUXC中有兩類描述,一類是IOMXUC_SW_MUX_CTL_PAD,另一類是IOMUXC_SW_PAD_CTL_PAD。其中IOMXUC_SW_MUX_CTL_PAD描述的是復用寄存器;IOMUXC_SW_PAD_CTL_PAD描述的是電氣屬性寄存器。

先查看復用寄存器IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO08。

從下圖可以看到此引腳復用寄存器的偏移地址就是7C,想把此引腳復用成pwm1,需要選擇ALT0,所以mux_ctrl_ofs為0x007C,mux_mode為0x0

pad_ctrl_ofs為電氣屬性寄存器的偏移地址0x0308,并根據(jù)pad_ctrl的值(0x110b0)來設置此寄存器。此寄存器主要時配置一些內(nèi)部上下拉電阻,轉(zhuǎn)換速率,引腳驅(qū)動強度等電氣屬性。

我們以一個引腳為例來介紹IOMUX,相信通過這個實例,我們對如何將一個引腳復用成想用的功能有了清晰的理解,接下來我們通過理解ELF?1開發(fā)板的接口功能的適配,進一步強化這方面的技能,通過后邊內(nèi)容的加強,您很快就可以自己實現(xiàn)自己的軟件接口適配了。

相關推薦

漯河市| 朔州市| 庆城县| 新源县| 台湾省| 金湖县| 江阴市| 屯昌县| 巴彦淖尔市| 会理县| 南宁市| 南乐县| 凌源市| 寿光市| 台湾省| 通海县| 当涂县| 延津县| 靖江市| 万山特区| 红桥区| 永定县| 吉木萨尔县| 康乐县| 忻州市| 馆陶县| 阿鲁科尔沁旗| 连山| 英德市| 齐河县| 九寨沟县| 区。| 嘉兴市| 兴仁县| 开封市| 买车| 大化| 赣榆县| 韶关市| 道真| 交城县|