基于瑞芯微RV1109 Linux屏幕背光调试心得

Posted Engineer-Bruce_Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于瑞芯微RV1109 Linux屏幕背光调试心得相关的知识,希望对你有一定的参考价值。

点击上方「嵌入式云IOT技术圈」,选择「置顶公众号」第一时间查看嵌入式笔记!

    板厂默认没有配置背光亮度的接口,考虑到将来产品销售的过程中,不同客户对操作界面的亮度的感觉是不一样的,如果将背光亮度直接固定死,后面客户可能会投诉,所以建议还是将这个功能配置上,提供可调节背光的接口,以满足不同客户的诉求,那么如何来配置呢?

1、配置屏幕背光控制

1.1、查看原理图

查看背光管脚的硬件原理图:

我这里的背光控制引脚,使用的是 PWM9_M1 ,也就是 GPIO2_D6 ,同时这个管脚也是使能管脚。

1.2、在 pinctrl 中查找对应的节点

接下来找下 pinctrl 里有关 pwm9 的节点:

pwm9 {
  /omit-if-no-ref/
  pwm9m0_pins: pwm9m0-pins {
  rockchip,pins =
    /* pwm9_pin_m0 */
    <3 RK_PA5 6 &pcfg_pull_none>;
  };
  /omit-if-no-ref/
  pwm9m0_pins_pull_down: pwm9m0-pins-pull-down {
  rockchip,pins =
    /* pwm9_pin_m0 */
    <3 RK_PA5 6 &pcfg_pull_down>;
  };
  /omit-if-no-ref/
  pwm9m1_pins: pwm9m1-pins {
  rockchip,pins =
    /* pwm9_pin_m1 */
    <2 RK_PD6 5 &pcfg_pull_none>;
  };
  /omit-if-no-ref/
  pwm9m1_pins_pull_down: pwm9m1-pins-pull-down {
  rockchip,pins =
    /* pwm9_pin_m1 */
    <2 RK_PD6 5 &pcfg_pull_down>;
  };
};
1.3、配置板厂端背光控制节点

(1)板厂端添加 pwm9 节点

&pwm9 {
  status = "okay";
  pinctrl-names = "active";
  pinctrl-0 = <&pwm9m1_pins>;
};

根据硬件的连接方式,很明显, pwm9m1_pins 这个节点就是我们要配置的。

(2)添加背光亮度分级表

在板厂端 dts 文件中定义背光亮度分级表:

/ {
backlight: backlight {
  compatible = "pwm-backlight";
  //这里配置使用哪路pwm、频率和极性
  pwms = <&pwm9 0 25000 0>; 
  //背光分级表
  brightness-levels = <
       0  1  2  3  4  5  6  7
       8  9  10  11  12  13  14  15
      16  17  18  19  20  21  22  23
      24  25  26  27  28  29  30  31
      32  33  34  35  36  37  38  39
      40  41  42  43  44  45  46  47
      48  49  50  51  52  53  54  55
      56  57  58  59  60  61  62  63
      64  65  66  67  68  69  70  71
      72  73  74  75  76  77  78  79
      80  81  82  83  84  85  86  87
      88  89  90  91  92  93  94  95
      96  97  98  99 100 101 102 103
      104 105 106 107 108 109 110 111
      112 113 114 115 116 117 118 119
      120 121 122 123 124 125 126 127
      128 129 130 131 132 133 134 135
      136 137 138 139 140 141 142 143
      144 145 146 147 148 149 150 151
      152 153 154 155 156 157 158 159
      160 161 162 163 164 165 166 167
      168 169 170 171 172 173 174 175
      176 177 178 179 180 181 182 183
      184 185 186 187 188 189 190 191
      192 193 194 195 196 197 198 199
      200 201 202 203 204 205 206 207
      208 209 210 211 212 213 214 215
      216 217 218 219 220 221 222 223
      224 225 226 227 228 229 230 231
      232 233 234 235 236 237 238 239
      240 241 242 243 244 245 246 247
      248 249 250 251 252 253 254 255>;
      default-brightness-level = <200>;  //默认亮度为200
  };
};

(3)在 DSI 节点中添加背光控制逻辑

如下,这是我之前添加的节点,只需要在下面的节点中添加这一句:

backlight = <&backlight>;

之前的文章如下:

Linux MIPI DSI LCD设备驱动开发调试细节学习笔记(一)

Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二)

Linux MIPI DSI驱动调试笔记-LCD时序参数配置(三)

(4)背光控制调试

重新编译下载开发板端后,启动板端,在板级端输入如下指令:

[root@RV1126_RV1109:/]# echo 255 > /sys/class/backlight/backlight/brightness
[root@RV1126_RV1109:/]# echo 200 > /sys/class/backlight/backlight/brightness
[root@RV1126_RV1109:/]# echo 255 > /sys/class/backlight/backlight/brightness
[root@RV1126_RV1109:/]# echo 100 > /sys/class/backlight/backlight/brightness
[root@RV1126_RV1109:/]# echo 180 > /sys/class/backlight/backlight/brightnessssss

往期精彩

一个强大的音视频编解码库-rkmedia的应用

瑞芯微RV1109配置7寸电容触摸屏的方向修改笔记

如何添加APP到Buildroot里(以瑞芯微rv1126为例)

瑞芯微RV1109配置7寸电容触摸屏的方向修改笔记

基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得

Linux MIPI DSI LCD设备驱动开发调试细节学习笔记(一)

Linux MIPI DSI驱动调试笔记-LCD时序参数配置(三)

Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二)

瑞芯微RV1109配置GPIO设备树修改笔记(熟悉新平台从点灯大法开始)

新产品立项了,作为嵌入式软件工程师该如何来开展设计工作?(个人经验分享)

觉得本次分享的文章对您有帮助,随手点[在看]并转发分享,也是对我的支持。

以上是关于基于瑞芯微RV1109 Linux屏幕背光调试心得的主要内容,如果未能解决你的问题,请参考以下文章

基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得

基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得-设备树刷厂商给的触摸屏固件...

基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得

基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得-设备树刷厂商给的触摸屏固件...

基于瑞芯微RV1109 Linux串口驱动调试心得(给正点原子DS100示波器点赞!)

基于瑞芯微RV1109 Linux串口驱动调试心得(给正点原子DS100示波器点赞!)