概述

AIC-3568JT有两个LED灯,使用GPIO控制

GPIO0 PD4 GPIO0 PB0
u-led s-led

开发板上的LED的默认状态为:

u-led: Kernel内核稳定时绿灯常亮

s-led:开发板通电黄灯常亮

DTS驱动配置

板级使能led,配置位置:arch/arm64/boot/dts/rockchip/aukun-utx-rk3568-base.dtsi

  1. user_led: u-led {
  2. lable = "aukun-user-led";
  3. gpios = ;
  4. linux,default-trigger = "heartbeat";
  5. default-state = "on";
  6. };
  7. system_led: s-led {
  8. lable = "aukun-system-led";
  9. gpios = ;
  10. linux,default-trigger = "heartbeat";
  11. default-state = "on";
  12. };

实验调用

手动方式控制LED

1、进入设备文件系统可以查看预留的LED灯。其用户可自定义控制

  1. cd /sys/class/led
  2. ls led

LED使用 - 图1

2、通过shell脚本实现对LED灯的控制

  1. while true
  2. do
  3. echo 1 > s-led/brightness #1表示点亮LED,0熄灭
  4. sleep .5s
  5. echo 0 > s-led/brightness
  6. sleep .5s
  7. done

可以观察到s-led以呼吸灯的形式闪烁

触发方式控制LED

在具体的LED目录下又包含brightness、max_brightness、trigger等文件,这些文件包含了LED设备的属性和控制接口。重点介绍trigger,

trigger文件:

表示LED灯的触发方式,查看该文件的内容时,该文件会 列出它的所有可用触方式,而当前使用的触发方式会以“[]”符号括起。其中Timer为定时器、heartbeat为系统心跳。

进入到 /sys/class/leds/s-led目录下查看

  1. cat trigger

LED使用 - 图2

此时可以观察LED以系统心跳的方式闪烁。