Firefly-RK3399开发板上有2个LED灯,如下表所示
首先在DT里将两个LED描述如下
定义LED触发器
DEFINE_LED_TRIGGER(ledtrig_default_control);
注册该触发器
led_trigger_register_simple("ir-user-click", &ledtrig_default_control);
控制LED的亮
led_trigger_event(ledtrig_default_control, LED_FULL);
查看都支持那些trigger
cat /sys/class/leds/firefly:blue:power/trigger
使用某个trigger触发
echo "timer" > /sys/class/leds/firefly:blue:power/trigger
DT里描述GPIO0_B4如下
配置管脚MUX为GPIO模式(默认是GPIO模式,这里是为了读者更明白原理)
以GPIO的模式使用该PIN脚
在复杂的片上系统(SOC)中,设计者一般会将系统的供电分为多个独立的block,这称作电源域(Power Domain),这样做有很多好处,例如:
查看GPIO1_B3引脚的复用情况
从主控的datasheet查到GPIO1对应寄存器基地址为:0xff320000
从主控的datasheet查到GPIO1B_IOMUX的偏移量为:0x00014
GPIO1_B3的iomux寄存器地址为:基址(Operational Base) + 偏移量(offset)=0xff320000+0x00014=0xff320014
用以下指令查看GPIO1_B3的复用情况:
io -4 -r 0xff320014 ff320014: 0000816a
如果想复用为GPIO,可以使用以下指令设置
io -4 -w 0xff320014 0x0000812a
原作者:54shady
更多回帖