米爾用戶在使用i.MX6UL/i.MX6ULL系列產(chǎn)品開發(fā)時(shí),需要調(diào)整GPIO在內(nèi)核啟動(dòng)階段的狀態(tài),這怎么操作呢?在這里將用戶問題做一個(gè)詳細(xì)的整理,如果遇到相似問題可以參考:
現(xiàn)象:改了dts文件,在 &iomuxc 和 &iomuxc_snvs 的 pinctrl_hog_x 中加入了一些自定義的GPIO,操 作系統(tǒng)啟動(dòng)后,使用 echo x > /sys/class/gpio/export 指令導(dǎo)出后,可以用程序正??刂疲紱]有問題 。但是這些引腳在內(nèi)核啟動(dòng)階段都輸出了高電平,導(dǎo)致我們電路板上的蜂鳴器和LED在內(nèi)核啟動(dòng)階段,始終 是打開狀態(tài),蜂鳴器會(huì)一直響。在UBOOT階段蜂鳴器是不響的,只有內(nèi)核加載完畢打印 Starting kernel ... 這句開始,就會(huì)一直響,直到操作系統(tǒng)啟動(dòng)后,把蜂鳴器關(guān)掉。 我好像是內(nèi)核加載了 dts 中 iomux 相關(guān)配置后,對(duì)IO口做了初始化之類的動(dòng)作導(dǎo)致的,但是我找不到這些代碼位置。
問題:出現(xiàn)以上問題,修改內(nèi)核哪里可以調(diào)整GPIO在內(nèi)核啟動(dòng)階段的狀態(tài)?
米爾技術(shù)支持:在配置dts時(shí)需要配置GPIO pad_ctrl的值, 參考CPU 手冊(cè)《IMX6ULLRM》把PUS設(shè)置為00下拉。 參考下面的例子:


-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6102瀏覽量
36319 -
米爾科技
+關(guān)注
關(guān)注
5文章
227瀏覽量
21619
發(fā)布評(píng)論請(qǐng)先 登錄
如何使用dtb方式啟動(dòng)內(nèi)核
【米爾MYS-8MMX開發(fā)板免費(fèi)試用】編譯內(nèi)核鏡像&與USBHID設(shè)備通信
基于ARM體系的內(nèi)核啟動(dòng)解析
在內(nèi)核啟動(dòng)時(shí)發(fā)現(xiàn)SPI驅(qū)動(dòng)沒有正確運(yùn)行?
linux內(nèi)核啟動(dòng)內(nèi)核解壓過程分析
linux內(nèi)核啟動(dòng)流程

用戶與內(nèi)核空間數(shù)據(jù)交換的方式之一:內(nèi)核啟動(dòng)參數(shù)
Linux內(nèi)核GPIO操作函數(shù)的詳解分析
微內(nèi)核與宏內(nèi)核的比較與分析

Linux內(nèi)核啟動(dòng)流程(上)

硬件電路如何設(shè)計(jì)調(diào)整內(nèi)核供電

如何在內(nèi)核中啟動(dòng)secondary cpu

評(píng)論