本文主要是记录一些常用的RK3588关于设备树配置的一些方法
一、引脚复用
这个pinctrl-0怎么配置?
第三4个参数表示第四种功能
第四个参数表示管脚上下拉:
rk3588_linux/kernel/scripts/dtc/include-prefixes/arm/rockchip-pinconf.dtsi
这里有一堆定义上下拉的配置,还可以配置管脚的驱动强度,pcfg_pull_none_drv_level_0,pcfg_pull_none_drv_level_1代表驱动强度。
驱动强度看这个位置:找到对应的引脚。
这里有个比较牛逼的文章:
https://blog.csdn.net/it_rensheng/article/details/120800489
二、中断
怎么找到这个uart0的中断号331呢?
打开手册:查看第一章:
找到这个uart0对应的中断号363,再减掉前面的32个PPI
363-32 = 331,对应前面的中断号。
中断类型:
#define IRQ_TYPE_NONE 0
#define IRQ_TYPE_EDGE_RISING 1
#define IRQ_TYPE_EDGE_FALLING 2
#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)
#define IRQ_TYPE_LEVEL_HIGH 4
#define IRQ_TYPE_LEVEL_LOW 8
三、时钟
时钟用这个音频芯片作例子:
这里配置的是MCLK时钟,
打开这个文件:
rk3588_linux/kernel/include/dt-bindings/clock/rk3588-cru.h
搜索MCLK_I2S0就可以找到对应的时钟。