EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Heaven_1 于 2025-3-28 18:41 编辑 - A# _7 r H6 P8 X
$ u0 r/ m% c4 w; V7 K* v$ ?: R) S; F本文介绍瑞芯微RK356X系列复用接口配置复用接口介绍由下图可知,红圈内容当前引脚可配置为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输出 3 @3 E4 Q) K4 P: y$ N0 A! |
echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable的方法,基于触觉智能RK3562开发板演示。) @0 u& h& J1 K- l1 }
|