blob: 1a44f5a3ff6c01d0fea11e841b9270972a1894ff [file] [log] [blame]
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -07001Qualcomm mdss-dsi-panel
2
Chandan Uddaraju0c33e772012-12-13 22:49:58 -08003mdss-dsi-panel is a dsi panel device which supports panels that
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -07004are compatable with MIPI display serial interface specification.
5
6Required properties:
Manoj Rao56403572013-06-19 15:54:03 -07007- compatible: This property applies to DSI V2 panels only.
8 This property should not be added for panels
9 that work based on version "V6.0"
10 DSI panels that are of different versions
11 are initialized by the drivers for dsi controller.
12 This property specifies the version
13 for DSI HW that this panel will work with
quic_shuoy2edd2742013-05-16 20:06:03 -070014 "qcom,dsi-panel-v2" = DSI V2.0
Manoj Rao56403572013-06-19 15:54:03 -070015- status: This property applies to DSI V2 panels only.
16 This property should not be added for panels
17 that work based on version "V6.0"
18 DSI panels that are of different versions
19 are initialized by the drivers for dsi controller.
20 A string that has to be set to "okay/ok"
21 to enable the panel driver. By default this property
22 will be set to "disable". Will be set to "ok/okay"
23 status for specific platforms.
Arpita Banerjeec057d582013-06-28 18:35:23 -070024- qcom,mdss-dsi-panel-controller: Specifies the phandle for the DSI controller that
Chandan Uddaraju0c33e772012-12-13 22:49:58 -080025 this panel will be mapped to.
Arpita Banerjeec057d582013-06-28 18:35:23 -070026- qcom,mdss-dsi-panel-width: Specifies panel width in pixels.
27- qcom,mdss-dsi-panel-height: Specifies panel height in pixels.
28- qcom,mdss-dsi-bpp: Specifies the panel bits per pixel.
29 3 = for rgb111
30 8 = for rgb332
31 12 = for rgb444
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -070032 16 = for rgb565
Arpita Banerjeec057d582013-06-28 18:35:23 -070033 18 = for rgb666
34 24 = for rgb888
35- qcom,mdss-dsi-panel-destination: A string that specifies the destination display for the panel.
Chandan Uddaraju0c33e772012-12-13 22:49:58 -080036 "display_1" = DISPLAY_1
37 "display_2" = DISPLAY_2
Arpita Banerjeec057d582013-06-28 18:35:23 -070038- qcom,mdss-dsi-panel-timings: An array of length 12 that specifies the PHY
Chandan Uddaraju9bfdbf02012-08-13 23:31:30 -070039 timing settings for the panel.
Arpita Banerjeec057d582013-06-28 18:35:23 -070040- qcom,mdss-dsi-on-command: A byte stream formed by multiple dcs packets base on
41 qcom dsi controller protocol.
42 byte 0: dcs data type
43 byte 1: set to indicate this is an individual packet
44 (no chain)
45 byte 2: virtual channel number
46 byte 3: expect ack from client (dcs read command)
47 byte 4: wait number of specified ms after dcs command
48 transmitted
49 byte 5, 6: 16 bits length in network byte order
50 byte 7 and beyond: number byte of payload
51- qcom,mdss-dsi-off-command: A byte stream formed by multiple dcs packets base on
52 qcom dsi controller protocol.
53 byte 0: dcs data type
54 byte 1: set to indicate this is an individual packet
55 (no chain)
56 byte 2: virtual channel number
57 byte 3: expect ack from client (dcs read command)
58 byte 4: wait number of specified ms after dcs command
59 transmitted
60 byte 5, 6: 16 bits length in network byte order
61 byte 7 and beyond: number byte of payload
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -070062
63Optional properties:
Arpita Banerjeec057d582013-06-28 18:35:23 -070064- qcom,mdss-dsi-panel-name: A string used as a descriptive name of the panel
Siddhartha Agrawal23f81212013-02-24 11:21:43 -080065- qcom,cont-splash-enabled: Boolean used to enable continuous splash mode.
Siddhartha Agrawale6de0482013-07-18 16:30:27 -070066 If this property is specified, it is required to
67 to specify the memory reserved for the splash
68 screen using the qcom,memblock-reserve binding
69 for the framebuffer device attached to the panel.
Arpita Banerjeec057d582013-06-28 18:35:23 -070070- qcom,mdss-dsi-panel-broadcast-mode: Boolean used to enable broadcast mode.
71- qcom,mdss-dsi-fbc-enable: Boolean used to enable frame buffer compression mode.
72- qcom,mdss-dsi-fbc-bpp: Compressed bpp supported by the panel.
73 Specified color order is used as default value.
74- qcom,mdss-dsi-fbc-packing: Component packing.
75 0 = default value.
76- qcom,mdss-dsi-fbc-quant-error: Boolean used to enable quantization error calculation.
77- qcom,mdss-dsi-fbc-bias: Bias for CD.
78 0 = default value.
79- qcom,mdss-dsi-fbc-pat-mode: Boolean used to enable PAT mode.
80- qcom,mdss-dsi-fbc-vlc-mode: Boolean used to enable VLC mode.
81- qcom,mdss-dsi-fbc-bflc-mode: Boolean used to enable BFLC mode.
82- qcom,mdss-dsi-fbc-h-line-budget: Per line extra budget.
83 0 = default value.
84- qcom,mdss-dsi-fbc-budget-ctrl: Extra budget level.
85 0 = default value.
86- qcom,mdss-dsi-fbc-block-budget: Per block budget.
87 0 = default value.
88- qcom,mdss-dsi-fbc-lossless-threshold: Lossless mode threshold.
89 0 = default value.
90- qcom,mdss-dsi-fbc-lossy-threshold: Lossy mode threshold.
91 0 = default value.
92- qcom,mdss-dsi-fbc-rgb-threshold: Lossy RGB threshold.
93 0 = default value.
94- qcom,mdss-dsi-fbc-lossy-mode-idx: Lossy mode index value.
95 0 = default value.
96- qcom,mdss-dsi-h-back-porch: Horizontal back porch value in pixel.
97 6 = default value.
98- qcom,mdss-dsi-h-front-porch: Horizontal front porch value in pixel.
99 6 = default value.
100- qcom,mdss-dsi-h-pulse-width: Horizontal pulse width.
101 2 = default value.
102- qcom,mdss-dsi-h-sync-skew: Horizontal sync skew value.
103 0 = default value.
104- qcom,mdss-dsi-v-back-porch: Vertical back porch value in pixel.
105 6 = default value.
106- qcom,mdss-dsi-v-front-porch: Vertical front porch value in pixel.
107 6 = default value.
108- qcom,mdss-dsi-v-pulse-width: Vertical pulse width.
109 2 = default value.
110- qcom,mdss-dsi-h-left-border: Horizontal left border in pixel.
111 0 = default value
112- qcom,mdss-dsi-h-right-border: Horizontal right border in pixel.
113 0 = default value
114- qcom,mdss-dsi-v-top-border: Vertical top border in pixel.
115 0 = default value
116- qcom,mdss-dsi-v-bottom-border: Vertical bottom border in pixel.
117 0 = default value
118- qcom,mdss-dsi-underflow-color: Specifies the controller settings for the
119 panel under flow color.
120 0xff = default value.
121- qcom,mdss-dsi-border-color: Defines the border color value if border is present.
122 0 = default value.
Chandan Uddaraju834d4832013-08-27 13:18:08 -0700123- qcom,mdss-dsi-pan-enable-dynamic-fps: Boolean used to enable change in frame rate dynamically.
124- qcom,mdss-dsi-pan-fps-update: A string that specifies when to change the frame rate.
125 "dfps_suspend_resume_mode"= FPS change request is
126 implemented during suspend/resume.
127 "dfps_immediate_clk_mode" = FPS change request is
128 implemented immediately using DSI clocks.
Arpita Banerjeec057d582013-06-28 18:35:23 -0700129- qcom,mdss-dsi-bl-pmic-control-type: A string that specifies the implementation of backlight
Chandan Uddaraju68b96752012-08-13 23:23:11 -0700130 control for this panel.
131 "bl_ctrl_pwm" = Backlight controlled by PWM gpio.
132 "bl_ctrl_wled" = Backlight controlled by WLED.
Arpita Banerjeec057d582013-06-28 18:35:23 -0700133 "bl_ctrl_dcs" = Backlight controlled by DCS commands.
134 other: Unknown backlight control. (default)
135- qcom,mdss-dsi-bl-pmic-bank-select: LPG channel for backlight.
136 Requred if blpmiccontroltype is PWM
137- qcom,mdss-dsi-bl-pmic-pwm-frequency: PWM period in microseconds.
138 Requred if blpmiccontroltype is PWM
139- qcom,mdss-dsi-pwm-gpio: PMIC gpio binding to backlight.
140 Requred if blpmiccontroltype is PWM
141- qcom,mdss-dsi-bl-min-level: Specifies the min backlight level supported by the panel.
142 0 = default value.
143- qcom,mdss-dsi-bl-max-level: Specifies the max backlight level supported by the panel.
144 255 = default value.
145- qcom,mdss-dsi-interleave-mode: Specifies interleave mode.
146 0 = default value.
147- qcom,mdss-dsi-panel-type: Specifies the panel operating mode.
148 "dsi_video_mode" = enable video mode (default).
149 "dsi_cmd_mode" = enable command mode.
150- qcom,mdss-dsi-te-check-enable: Boolean to enable Tear Check configuration.
151- qcom,mdss-dsi-te-using-te-pin: Boolean to specify whether using hardware vsync.
152- qcom,mdss-dsi-te-pin-select: Specifies TE operating mode.
Chandan Uddarajufb672f52013-03-26 14:10:40 -0700153 0 = TE through embedded dcs command
Arpita Banerjeec057d582013-06-28 18:35:23 -0700154 1 = TE through TE gpio pin. (default)
155- qcom,mdss-dsi-te-dcs-command: Inserts the dcs command.
156 1 = default value.
157- qcom,mdss-dsi-te-v-sync-rd-ptr-irq-line: Configures the scan line number that the dsi
158 pixel transfer will start on. Rasing this number
159 will result in delaying the start of the pixel
160 transfer.
161 0x2c = default value.
162- qcom,mdss-dsi-te-v-sync-continue-lines: Represents the difference in number of lines
163 between estimated read pointer and write pointer
164 to allow the updating of all the lines except
165 the first line of the frame.
166 0x3c = default value.
167- qcom,mdss-dsi-h-sync-pulse: Specifies the pulse mode option for the panel.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700168 0 = Don't send hsa/he following vs/ve packet(default)
169 1 = Send hsa/he following vs/ve packet
Arpita Banerjeec057d582013-06-28 18:35:23 -0700170- qcom,mdss-dsi-hfp-power-mode: Boolean to determine DSI lane state during
171 horizontal front porch (HFP) blanking period.
172- qcom,mdss-dsi-hbp-power-mode: Boolean to determine DSI lane state during
173 horizontal back porch (HBP) blanking period.
174- qcom,mdss-dsi-hsa-power-mode: Boolean to determine DSI lane state during
175 horizontal sync active (HSA) mode.
176- qcom,mdss-dsi-bllp-eof-power-mode: Boolean to determine DSI lane state during
177 blanking low power period (BLLP) EOF mode.
178- qcom,mdss-dsi-bllp-power-mode: Boolean to determine DSI lane state during
179 blanking low power period (BLLP) mode.
180- qcom,mdss-dsi-traffic-mode: Specifies the panel traffic mode.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700181 0 = non burst with sync pulses (default mode).
182 1 = non burst with sync start event.
183 2 = burst mode.
Arpita Banerjeec057d582013-06-28 18:35:23 -0700184- qcom,mdss-dsi-pixel-packing: Specifies if pixel packing is used (in case of RGB666).
185 0 = Tight packing (default value).
186 1 = Loose packing.
187- qcom,mdss-dsi-virtual-channel-id: Specifies the virtual channel identefier.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700188 0 = default value.
Arpita Banerjeec057d582013-06-28 18:35:23 -0700189- qcom,mdss-dsi-color-order: Specifies the R, G and B channel ordering.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700190 0 = DSI_RGB_SWAP_RGB (default value)
191 1 = DSI_RGB_SWAP_RBG
192 2 = DSI_RGB_SWAP_BGR
193 3 = DSI_RGB_SWAP_BRG
194 4 = DSI_RGB_SWAP_GRB
195 5 = DSI_RGB_SWAP_GBR
Arpita Banerjeec057d582013-06-28 18:35:23 -0700196- qcom,mdss-dsi-lane-0-state: Boolean that specifies whether data lane 0 is enabled.
197- qcom,mdss-dsi-lane-1-state: Boolean that specifies whether data lane 1 is enabled.
198- qcom,mdss-dsi-lane-2-state: Boolean that specifies whether data lane 2 is enabled.
199- qcom,mdss-dsi-lane-3-state: Boolean that specifies whether data lane 3 is enabled.
200- qcom,mdss-dsi-lane-map: Specifies the data lane swap configuration.
Chandan Uddaraju704a16d2013-01-25 11:30:25 -0800201 0 = <0 1 2 3> (default value)
202 1 = <3 0 1 2>
203 2 = <2 3 0 1>
204 3 = <1 2 3 0>
205 4 = <0 3 2 1>
206 5 = <1 0 3 2>
207 6 = <2 1 0 3>
208 7 = <3 2 1 0>
Arpita Banerjeec057d582013-06-28 18:35:23 -0700209- qcom,mdss-dsi-t-clk-post: Specifies the byte clock cycles after mode switch.
210 0x03 = default value.
211- qcom,mdss-dsi-t-clk-pre: Specifies the byte clock cycles before mode switch.
212 0x24 = default value.
213- qcom,mdss-dsi-stream: Specifies the packet stream to be used.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700214 0 = stream 0 (default)
215 1 = stream 1
Arpita Banerjeec057d582013-06-28 18:35:23 -0700216- qcom,mdss-dsi-mdp-trigger: Specifies the trigger mechanism to be used for MDP path.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700217 0 = no trigger
218 2 = Tear check signal line used for trigger
Arpita Banerjeec057d582013-06-28 18:35:23 -0700219 4 = Triggered by software (default)
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700220 6 = Software trigger and TE
Arpita Banerjeec057d582013-06-28 18:35:23 -0700221- qcom,mdss-dsi-dma-trigger: Specifies the trigger mechanism to be used for DMA path.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700222 0 = no trigger
223 2 = Tear check signal line used for trigger
Arpita Banerjeec057d582013-06-28 18:35:23 -0700224 4 = Triggered by software (default)
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700225 5 = Software trigger and start/end of frame trigger.
226 6 = Software trigger and TE
Arpita Banerjeec057d582013-06-28 18:35:23 -0700227- qcom,mdss-dsi-panel-framerate: Specifies the frame rate for the panel.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700228 60 = 60 frames per second (default)
Arpita Banerjeec057d582013-06-28 18:35:23 -0700229- qcom,mdss-dsi-panel-clockrate: Specifies the panel clock speed in Hz.
230 0 = default value.
231- qcom,mdss-dsi-on-command-state: String that specifies the ctrl state for sending ON commands.
232 "dsi_lp_mode" = DSI low power mode (default)
233 "dsi_hs_mode" = DSI high speed mode
234- qcom,mdss-dsi-off-command-state: String that specifies the ctrl state for sending OFF commands.
235 "dsi_lp_mode" = DSI low power mode (default)
236 "dsi_hs_mode" = DSI high speed mode
Mayank Chopraf7043422013-08-08 14:26:00 +0530237- qcom,mdss-pan-physical-width-dimension: Specifies panel physical width in mm which corresponds
238 to the physical width in the framebuffer information.
239- qcom,mdss-pan-physical-height-dimension: Specifies panel physical height in mm which corresponds
240 to the physical height in the framebuffer information.
Dhaval Pateleec66f02013-08-06 18:53:51 -0700241- qcom,mdss-dsi-panel-mode-gpio-state: String that specifies the mode state for panel if it is defined
242 in dsi controller.
243 "high" = Set GPIO to HIGH
244 "low" = Set GPIO to LOW
Jeykumar Sankaran9a5098d2013-09-20 13:47:01 -0700245- qcom,partial-update-enabled: Boolean used to enable partial
246 panel update for command mode panels.
Casey Piper4cff3a32013-08-13 17:17:36 -0700247- qcom,mdss-dsi-reset-sequence: An array that lists the
248 sequence of reset gpio values and sleeps
249 Each command will have the format defined
250 as below:
251 --> Reset GPIO value
252 --> Sleep value (in ms)
253
Kuogee Hsieh72d38bf2013-04-22 17:14:27 -0700254
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700255Note, if a given optional qcom,* binding is not present, then the driver will configure
256the default values specified.
257
258Example:
Manoj Rao56403572013-06-19 15:54:03 -0700259&mdss_mdp {
260 dsi_sim_vid: qcom,mdss_dsi_sim_video {
Arpita Banerjeec057d582013-06-28 18:35:23 -0700261 qcom,mdss-dsi-panel-name = "simulator video mode dsi panel";
Arpita Banerjeec057d582013-06-28 18:35:23 -0700262 qcom,mdss-dsi-panel-controller = <&mdss_dsi0>;
263 qcom,mdss-dsi-panel-height = <1280>;
264 qcom,mdss-dsi-panel-width = <720>;
265 qcom,mdss-dsi-bpp = <24>;
266 qcom,mdss-dsi-pixel-packing = <0>;
267 qcom,mdss-dsi-panel-destination = "display_1";
268 qcom,mdss-dsi-panel-broadcast-mode;
269 qcom,mdss-dsi-fbc-enable;
270 qcom,mdss-dsi-fbc-bpp = <0>;
271 qcom,mdss-dsi-fbc-packing = <0>;
272 qcom,mdss-dsi-fbc-quant-error;
273 qcom,mdss-dsi-fbc-bias = <0>;
274 qcom,mdss-dsi-fbc-pat-mode;
275 qcom,mdss-dsi-fbc-vlc-mode;
276 qcom,mdss-dsi-fbc-bflc-mode;
277 qcom,mdss-dsi-fbc-h-line-budget = <0>;
278 qcom,mdss-dsi-fbc-budget-ctrl = <0>;
279 qcom,mdss-dsi-fbc-block-budget = <0>;
280 qcom,mdss-dsi-fbc-lossless-threshold = <0>;
281 qcom,mdss-dsi-fbc-lossy-threshold = <0>;
282 qcom,mdss-dsi-fbc-rgb-threshold = <0>;
283 qcom,mdss-dsi-fbc-lossy-mode-idx = <0>;
284 qcom,mdss-dsi-h-front-porch = <140>;
285 qcom,mdss-dsi-h-back-porch = <164>;
286 qcom,mdss-dsi-h-pulse-width = <8>;
287 qcom,mdss-dsi-h-sync-skew = <0>;
288 qcom,mdss-dsi-v-back-porch = <6>;
289 qcom,mdss-dsi-v-front-porch = <1>;
290 qcom,mdss-dsi-v-pulse-width = <1>;
291 qcom,mdss-dsi-h-left-border = <0>;
292 qcom,mdss-dsi-h-right-border = <0>;
293 qcom,mdss-dsi-v-top-border = <0>;
294 qcom,mdss-dsi-v-bottom-border = <0>;
295 qcom,mdss-dsi-border-color = <0>;
296 qcom,mdss-dsi-underflow-color = <0xff>;
297 qcom,mdss-dsi-bl-min-level = <1>;
298 qcom,mdss-dsi-bl-max-level = < 15>;
299 qcom,mdss-dsi-interleave-mode = <0>;
300 qcom,mdss-dsi-panel-type = "dsi_video_mode";
301 qcom,mdss-dsi-te-check-enable;
302 qcom,mdss-dsi-te-using-te-pin;
303 qcom,mdss-dsi-te-dcs-command = <1>;
304 qcom,mdss-dsi-te-v-sync-continue-lines = <0x3c>;
305 qcom,mdss-dsi-te-v-sync-rd-ptr-irq-line = <0x2c>;
306 qcom,mdss-dsi-te-pin-select = <1>;
307 qcom,mdss-dsi-h-sync-pulse = <1>;
308 qcom,mdss-dsi-hfp-power-mode;
309 qcom,mdss-dsi-hbp-power-mode;
310 qcom,mdss-dsi-hsa-power-mode;
311 qcom,mdss-dsi-bllp-eof-power-mode;
312 qcom,mdss-dsi-bllp-power-mode;
313 qcom,mdss-dsi-traffic-mode = <0>;
314 qcom,mdss-dsi-virtual-channel-id = <0>;
315 qcom,mdss-dsi-color-order = <0>;
316 qcom,mdss-dsi-lane-0-state;
317 qcom,mdss-dsi-lane-1-state;
318 qcom,mdss-dsi-lane-2-state;
319 qcom,mdss-dsi-lane-3-state;
320 qcom,mdss-dsi-lane-map = <0>;
321 qcom,mdss-dsi-t-clk-post = <0x20>;
322 qcom,mdss-dsi-t-clk-pre = <0x2c>;
323 qcom,mdss-dsi-stream = <0>;
324 qcom,mdss-dsi-mdp-trigger = <0>;
325 qcom,mdss-dsi-dma-trigger = <0>;
326 qcom,mdss-dsi-panel-framerate = <60>;
327 qcom,mdss-dsi-panel-clockrate = <424000000>;
328 qcom,mdss-dsi-panel-timings = [7d 25 1d 00 37 33
329 22 27 1e 03 04 00];
330 qcom,mdss-dsi-on-command = [32 01 00 00 00 00 02 00 00
331 29 01 00 00 10 00 02 FF 99];
332 qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
333 qcom,mdss-dsi-off-command = [22 01 00 00 00 00 00];
334 qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
335 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
Chandan Uddaraju834d4832013-08-27 13:18:08 -0700336 qcom,mdss-dsi-pan-enable-dynamic-fps;
337 qcom,mdss-dsi-pan-fps-update = "dfps_suspend_resume_mode";
Arpita Banerjeec057d582013-06-28 18:35:23 -0700338 qcom,mdss-dsi-bl-pmic-bank-select = <0>;
339 qcom,mdss-dsi-bl-pmic-pwm-frequency = <0>;
340 qcom,mdss-dsi-pwm-gpio = <&pm8941_mpps 5 0>;
Mayank Chopraf7043422013-08-08 14:26:00 +0530341 qcom,mdss-pan-physical-width-dimension = <60>;
342 qcom,mdss-pan-physical-height-dimension = <140>;
Dhaval Pateleec66f02013-08-06 18:53:51 -0700343 qcom,mdss-dsi-panel-mode-gpio-state = "low";
Jeykumar Sankaran9a5098d2013-09-20 13:47:01 -0700344 qcom,partial-update-enabled;
Casey Piper4cff3a32013-08-13 17:17:36 -0700345 qcom,mdss-dsi-reset-sequence = <1 2>, <0 10>, <1 10>;
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700346 };
Chandan Uddaraju0c33e772012-12-13 22:49:58 -0800347};