瑞芯微RK356X主板复用接口配置方法

本文介绍瑞芯微RK356X系列复用接口配置的方法,基于触觉智能RK3562开发板演示。

复用接口介绍

由下图可知,红圈内容当前引脚可配置为SPI0或者PWM0功能。


由标准系统固件以及相关系统手册可得,当前接口默认配置为SPI0功能:

console:/ # ls dev/spidev0.0

dev/spidev0.0

再由原理图可知当前GPIO为GPIO0_C3,下面开始将SPI0功能配置为PWM0功能。


设备树配置

设备树路径:

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属性,结合GPIO编号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>;

};

...

};

由上可得,当前PWM0 princtrl属性为:pwm0m0_pins

第3步,配置PWM0

&pwm0 {

pinctrl-0 = <&pwm0m0_pins>;

status = "okay";

};

编译并测试

修改完成后单独编译内核,单独烧录kernel-5.10/boot.img包测试即可,然后开始测试。

开启PWM0节点:

#开启pwm0节点

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

#设置频率为10KHz

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

#设置占空比为50%

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

#设置电平方向,默认为inversed

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

#使能PWM输出

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容