瑞芯微RK356X主板復(fù)用接口配置方法

本文介紹瑞芯微RK356X系列復(fù)用接口配置的方法,基于觸覺智能RK3562開發(fā)板演示。

復(fù)用接口介紹

由下圖可知,紅圈內(nèi)容當(dāng)前引腳可配置為SPI0或者PWM0功能。


由標(biāo)準(zhǔn)系統(tǒng)固件以及相關(guān)系統(tǒng)手冊(cè)可得,當(dāng)前接口默認(rèn)配置為SPI0功能:

console:/ # ls dev/spidev0.0

dev/spidev0.0

再由原理圖可知當(dāng)前GPIO為GPIO0_C3,下面開始將SPI0功能配置為PWM0功能。


設(shè)備樹配置

設(shè)備樹路徑:

kernel-5.10/arch/arm64/boot/dts/rockchip/

第1步,禁用SPI功能,文件路徑如下:

ido-evb3562-v1b.dtsi

&spi0 {

+ status = "disabled";

pinctrl-0 = <&spi0m0_pins &spi0m0_csn0>;

spi_dev@0 {

compatible = "rockchip,spidev";

reg = <0>;

spi-max-frequency = <12000000>;

spi-lsb-first;

};

};

第2步,獲取PWM0配置屬性,在rk3562-pinctrl.dtsi文件獲取PWM0 pinctrl屬性,結(jié)合GPIO編號(hào)GPIO0_C3獲取。

pwm0 {

/omit-if-no-ref/

pwm0m0_pins: pwm0m0-pins {

rockchip,pins =

/* pwm0_m0 */

<0 RK_PC3 2 &pcfg_pull_none_drv_level_1>;

};

...

};

由上可得,當(dāng)前PWM0 princtrl屬性為:pwm0m0_pins

第3步,配置PWM0

&pwm0 {

pinctrl-0 = <&pwm0m0_pins>;

status = "okay";

};

編譯并測(cè)試

修改完成后單獨(dú)編譯內(nèi)核,單獨(dú)燒錄kernel-5.10/boot.img包測(cè)試即可,然后開始測(cè)試。

開啟PWM0節(jié)點(diǎn):

#開啟pwm0節(jié)點(diǎn)

echo 0 > sys/class/pwm/pwmchip0/export

#設(shè)置頻率為10KHz

echo 10000 > sys/class/pwm/pwmchip0/pwm0/period

#設(shè)置占空比為50%

echo 5000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle

#設(shè)置電平方向,默認(rèn)為inversed

echo normal > /sys/class/pwm/pwmchip0/pwm0/polarity

#使能PWM輸出

echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容