瑞芯微Rockchip开发者社区
直播中

杨万富

7年用户 1543经验值
擅长:526774
私信 关注
[问答]

DLT-RK3288 Android背光驱动开发的知识点汇总,绝对实用

DLT-RK3288 Android背光驱动开发的知识点汇总,绝对实用

回帖(1)

林邵嫔

2022-3-10 10:28:57
1 驱动文件与 DTS 节点  
驱动文件所在位置:
dlt-rk3288/kernel/drivers/video/backlight/pwm_bl.c

Dts文件所在位置:
dlt-rk3288kernelarcharmbootdtslcd-LQ156D1JX06.dtsi
dlt-rk3288kernelarcharmbootdtslcd-LP079Qx1.dtsi
一般都放在屏相关的dts文件中。

Dts内容:
backlight:backlight {
        compatible= "pwm-backlight";
        pwms =<&pwm1 0 25000>;
       rockchip,pwm_id= <1>;
       brightness-levels =
         21 22 2324 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
         41 42 4344 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
         61 62 6364 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
         81 82 8384 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
        >;
       default-brightness-level = <80>;
};

2、参数配置
因为背光比较简单,下面描述各个参数的意义,看完后就会配置:
(1)、首先是"pwms = <&pwm1 0 25000>", 很明显可以看出此背光是接在pwm1上面;
第二个参数“0”表示 index 为 0,因为 pwm1 下面只有 1 个 pwm,所以我们的平台下面都是填 0;
第三个参数“25000”表示周期为 25000ns,所以频率就是 40k,其他频率配置类似;
(2)、brightness-levels 数组,我们一般以值 255 为一个 scale,所以一般定义brightness-levels 为一 256 个元素的数组;从 0~255PWM占空比从 0%~100%变化, 255~0 PWM占空比从 100%~0%变化;有的背光威廉希尔官方网站 是反向的,所以数组填255~0 。
当然很多时候有些屏不是一定从 0%~100%,发生黑到亮的变化,比如占空比到达 20%的时候,屏幕就全黑了,或者占空比到达 80%的时候,就已经足够亮了,那么这时候还把数组配置成0~255 就不合适,可能你需要只是 50~200 的一个范围,那么这时候应该怎么配置呢?
有两种方法:
第一种:brightness-levels  只赋值50~200
第二种:保持255 为一个 scale。而这个 scale 等于 brightness-levels 数组里面元素的最大值;
当用户调节背光 UI 的时候,拉到最低时只能到达第 10 个元素,可以将第一个元素改成 255,那么我们可以改成如下的数组,为了凑成 256 个元素,需要均匀的重复某些值:
brightness-levels = <
255 50 51 51 52 53 53 54
54 55 56 56 57 57 58 59
59 60 60 61 62 62 63 63
64 65 65 66 66 67 68 68
69 69 70 71 71 72 72 73
74 74 75 75 76 77 77 78
78 79 80 80 81 81 82 83
83 84 85 85 86 86 87 88
88 89 89 90 91 91 92 92
93 94 94 95 95 96 97 97
98 98 99 100 100 101 101 102
103 103 104 104 105 106 106 107
107 108 109 109 110 110 111 112
112 113 113 114 114 115 116 116
117 118 118 119 119 120 120 121
122 122 123 123 124 125 125 126
126 127 128 128 129 129 130 131
131 132 132 133 133 134 135 135
136 137 138 138 139 140 140 141
141 142 143 143 144 144 145 146
146 147 148 148 149 149 149 150
150 151 151 151 152 152 152 153
153 153 154 154 155 156 156 157
157 158 159 159 160 160 161 161
162 163 163 164 165 165 166 166
167 168 168 169 169 170 171 171
172 172 173 174 174 175 175 176
176 177 178 178 179 179 180 181
181 182 183 183 184 185 185 186
186 187 188 188 189 189 190 190
191 191 192 193 193 194 194 195
196 196 197 197 198 199 199 200>;

(3)、default-brightness-level 表示默认的背光亮度,开机时uboot背光初始化到进入android系统设置背光前。
default-brightness-level = <80>表示为第 80个元素的背光亮度。可以根据实际调整。
举报

更多回帖

×
20
完善资料,
赚取积分