使用F1C200S从零制作掌机之LCD背光

一、硬件

LC-PI-200S板卡背光电路。

image-20240613224306412

二、硬件控制背光

默认背光使能引脚硬件上拉直接使能。

三、GPIO控制

焊接R44的0R电阻,此种情况通过PE6拉低关闭背光,拉高开启背光。

直接配置设别树即可实现。

		panel: panel {
                compatible = "lg,lb070wv8", "simple-panel";
                #address-cells = <1>;
                #size-cells = <0>;
                enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;   // 背光PE6,LicheePi Nano板子需要设置。LC-PI-200S焊接R44。
                power-supply = <&reg_vcc3v3>;

                port@0 {
                        reg = <0>;
                        #address-cells = <1>;
                        #size-cells = <0>;

                        panel_input: endpoint@0 {
                                reg = <0>;
                                remote-endpoint = <&tcon0_out_lcd>;
                        };
                };
        };

可以将PE6的有效电平GPIO_ACTIVE_HIGH改为GPIO_ACTIVE_LOW,会发现屏幕背光不亮。

四、PWM控制

此种方式可以配置背光亮度等级。

4.1 设备树

suniv-f1c100s.dtsi

		pio: pinctrl@1c20800 {
			......
			
			pwm1_pin: pwm1_pin {
				pins = "PE6";
				function = "pwm1";
			};
		};

		pwm: pwm@1c21000 {
			compatible = "allwinner,sun4i-a10-pwm";
			reg = <0x01C21000 0x08>;
			clocks = <&osc24M>;
			#pwm-cells = <3>;
			status = "disabled";
		};

suniv-f1c100s-licheepi-nano.dts

		panel: panel {
                compatible = "lg,lb070wv8", "simple-panel";
                #address-cells = <1>;
                #size-cells = <0>;
                //enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;   // 背光PE6,LicheePi Nano板子需要设置。LC-PI-200S焊接R44。
                //reset-gpios = <&pio 4 4 GPIO_ACTIVE_LOW>;
                power-supply = <&reg_vcc3v3>;

                port@0 {
                        reg = <0>;
                        #address-cells = <1>;
                        #size-cells = <0>;

                        panel_input: endpoint@0 {
                                reg = <0>;
                                remote-endpoint = <&tcon0_out_lcd>;
                        };
                };
        };
        
        backlight: backlight {
            	compatible = "pwm-backlight";
            	pwms = <&pwm 1 500000 0>;
            	pwm-names = "backlight";

            	brightness-levels = <0 4 8 16 32 64 128 255>;
            	default-brightness-level = <7>;
            	status = "okay";
        };

&pwm {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm1_pin>;
	status = "okay";
};

重新编译设备树后替换

make dtbs
cp arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb /media/wang/BOOT

4.2 配置驱动

linux内核中make menuconfig

image-20240613230112798

4.3 编译

make
cp arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb /media/wang/BOOT
cp arch/arm/boot/zImage /media/wang/BOOT

4.4 测试

cat /sys/class/backlight/backlight/brightness
echo 1 > /sys/class/backlight/backlight/brightness  // 背光明显变暗
#!/bin/sh

while true
do
        for i in 7 6 5 4 3 2 1
        do
                sleep 0.2
                echo $i > /sys/class/backlight/backlight/brightness
        done

        for j in 1 2 3 4 5 6 7
        do
                echo $j > /sys/class/backlight/backlight/brightness
                sleep 0.2
        done
done

五、参考

https://blog.csdn.net/qq_41709234/article/details/128586204

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值