首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

1、配置屏幕背光控制

1.1、查看原理图

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

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

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

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

代码语言:javascript
复制
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 节点

代码语言:javascript
复制
&pwm9 {
  status = "okay";
  pinctrl-names = "active";
  pinctrl-0 = <&pwm9m1_pins>;
};

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

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

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

代码语言:javascript
复制
/ {
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 节点中添加背光控制逻辑

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

代码语言:javascript
复制
backlight = <&backlight>;

之前的文章如下:

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

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

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

(4)背光控制调试

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

代码语言:javascript
复制
[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
下一篇
举报
领券