本文介绍瑞芯微RK356X系列复用接口配置的方法,基于 触觉智能RK3562开发板 演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。 复用接口介绍 由下图可知,红圈内容当前引脚可配置为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 产品简介 触觉智能RK3562开发板 (型号EVB3562),基于瑞芯微新一代Soc RK3562/RK3562J设计,可用于轻量级人工智能应用。EVB3562开发板配备了PCIe2.1/USB3.0 OTG/千兆网口等各类型接口,支持4G/5G通信、多摄像头及多种视频接口,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示、工业控制等行业领域。 搭载瑞芯微新一代RK3562/RK3562J芯片; 1TOPS算力NPU,支持INT8/INT16/FP16 等数据类型运算; 支持4K@30FPS与1080P@60FPS视频解码; 13M ISP,支持HDR与多路摄像头视频采集; 单路MIPI-DSI,最高2048 x 1080@60fps ; 单通道LVDS,最高1366 x 768@60fps ; 三路独立的以太网口,其中两路千兆网口, 一路百兆网口; 支持5G/4G/WiFi/蓝牙无线通信; 支持Android,Linux操作系统;