背光亮度控制

LCD背光一般通过PWM信号来控制,根据原理图可以看到,LCD背光由GPIO4控制:

因此,我们需要把GPIO4设置为PWM功能:

# cd kernel/arch/arm/boot/dts
# vi infinity2m-ssc011a-s01a-display.dtsi

这里PWM0对应GPIO4,PWM1对应GPIO5。

# vi infinity2m-ssc011a-s01a-padmux-display.dtsi

另外,kernel也要加载PWM驱动:

# cd ../../../../
# ARCH=arm make menuconfig

配置完,保存一下配置文件:

# cp .config arch/arm/configs/infinity2m_spinand_ssc011a_s01a_minigui_defconfig -f

重新编译并更新kernel:

# cd ..
# ./Release_to_customer.sh -f nand -p ssd201

系统启动后,将看到pwmchip0设备了:

# cd /sys/class/pwm/pwmchip0/
# echo 0 > export
# cd pwm0/
# echo 2000 > period
# echo 25 > duty_cycle
# echo 1 > enable
# echo 100 > duty_cycle

可以看到duty_cycle的值变化时(0-100),屏幕的亮度也随之变化。

文档更新时间: 2021-04-20 14:52   作者:Aeeditor