blob: 9ad8abe914d358d2acc6a64144ef782e3a52929c [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.
Arpita Banerjeec057d582013-06-28 18:35:23 -070066- qcom,mdss-dsi-panel-broadcast-mode: Boolean used to enable broadcast mode.
67- qcom,mdss-dsi-fbc-enable: Boolean used to enable frame buffer compression mode.
68- qcom,mdss-dsi-fbc-bpp: Compressed bpp supported by the panel.
69 Specified color order is used as default value.
70- qcom,mdss-dsi-fbc-packing: Component packing.
71 0 = default value.
72- qcom,mdss-dsi-fbc-quant-error: Boolean used to enable quantization error calculation.
73- qcom,mdss-dsi-fbc-bias: Bias for CD.
74 0 = default value.
75- qcom,mdss-dsi-fbc-pat-mode: Boolean used to enable PAT mode.
76- qcom,mdss-dsi-fbc-vlc-mode: Boolean used to enable VLC mode.
77- qcom,mdss-dsi-fbc-bflc-mode: Boolean used to enable BFLC mode.
78- qcom,mdss-dsi-fbc-h-line-budget: Per line extra budget.
79 0 = default value.
80- qcom,mdss-dsi-fbc-budget-ctrl: Extra budget level.
81 0 = default value.
82- qcom,mdss-dsi-fbc-block-budget: Per block budget.
83 0 = default value.
84- qcom,mdss-dsi-fbc-lossless-threshold: Lossless mode threshold.
85 0 = default value.
86- qcom,mdss-dsi-fbc-lossy-threshold: Lossy mode threshold.
87 0 = default value.
88- qcom,mdss-dsi-fbc-rgb-threshold: Lossy RGB threshold.
89 0 = default value.
90- qcom,mdss-dsi-fbc-lossy-mode-idx: Lossy mode index value.
91 0 = default value.
92- qcom,mdss-dsi-h-back-porch: Horizontal back porch value in pixel.
93 6 = default value.
94- qcom,mdss-dsi-h-front-porch: Horizontal front porch value in pixel.
95 6 = default value.
96- qcom,mdss-dsi-h-pulse-width: Horizontal pulse width.
97 2 = default value.
98- qcom,mdss-dsi-h-sync-skew: Horizontal sync skew value.
99 0 = default value.
100- qcom,mdss-dsi-v-back-porch: Vertical back porch value in pixel.
101 6 = default value.
102- qcom,mdss-dsi-v-front-porch: Vertical front porch value in pixel.
103 6 = default value.
104- qcom,mdss-dsi-v-pulse-width: Vertical pulse width.
105 2 = default value.
106- qcom,mdss-dsi-h-left-border: Horizontal left border in pixel.
107 0 = default value
108- qcom,mdss-dsi-h-right-border: Horizontal right border in pixel.
109 0 = default value
110- qcom,mdss-dsi-v-top-border: Vertical top border in pixel.
111 0 = default value
112- qcom,mdss-dsi-v-bottom-border: Vertical bottom border in pixel.
113 0 = default value
114- qcom,mdss-dsi-underflow-color: Specifies the controller settings for the
115 panel under flow color.
116 0xff = default value.
117- qcom,mdss-dsi-border-color: Defines the border color value if border is present.
118 0 = default value.
119- qcom,mdss-dsi-bl-pmic-control-type: A string that specifies the implementation of backlight
Chandan Uddaraju68b96752012-08-13 23:23:11 -0700120 control for this panel.
121 "bl_ctrl_pwm" = Backlight controlled by PWM gpio.
122 "bl_ctrl_wled" = Backlight controlled by WLED.
Arpita Banerjeec057d582013-06-28 18:35:23 -0700123 "bl_ctrl_dcs" = Backlight controlled by DCS commands.
124 other: Unknown backlight control. (default)
125- qcom,mdss-dsi-bl-pmic-bank-select: LPG channel for backlight.
126 Requred if blpmiccontroltype is PWM
127- qcom,mdss-dsi-bl-pmic-pwm-frequency: PWM period in microseconds.
128 Requred if blpmiccontroltype is PWM
129- qcom,mdss-dsi-pwm-gpio: PMIC gpio binding to backlight.
130 Requred if blpmiccontroltype is PWM
131- qcom,mdss-dsi-bl-min-level: Specifies the min backlight level supported by the panel.
132 0 = default value.
133- qcom,mdss-dsi-bl-max-level: Specifies the max backlight level supported by the panel.
134 255 = default value.
135- qcom,mdss-dsi-interleave-mode: Specifies interleave mode.
136 0 = default value.
137- qcom,mdss-dsi-panel-type: Specifies the panel operating mode.
138 "dsi_video_mode" = enable video mode (default).
139 "dsi_cmd_mode" = enable command mode.
140- qcom,mdss-dsi-te-check-enable: Boolean to enable Tear Check configuration.
141- qcom,mdss-dsi-te-using-te-pin: Boolean to specify whether using hardware vsync.
142- qcom,mdss-dsi-te-pin-select: Specifies TE operating mode.
Chandan Uddarajufb672f52013-03-26 14:10:40 -0700143 0 = TE through embedded dcs command
Arpita Banerjeec057d582013-06-28 18:35:23 -0700144 1 = TE through TE gpio pin. (default)
145- qcom,mdss-dsi-te-dcs-command: Inserts the dcs command.
146 1 = default value.
147- qcom,mdss-dsi-te-v-sync-rd-ptr-irq-line: Configures the scan line number that the dsi
148 pixel transfer will start on. Rasing this number
149 will result in delaying the start of the pixel
150 transfer.
151 0x2c = default value.
152- qcom,mdss-dsi-te-v-sync-continue-lines: Represents the difference in number of lines
153 between estimated read pointer and write pointer
154 to allow the updating of all the lines except
155 the first line of the frame.
156 0x3c = default value.
157- qcom,mdss-dsi-h-sync-pulse: Specifies the pulse mode option for the panel.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700158 0 = Don't send hsa/he following vs/ve packet(default)
159 1 = Send hsa/he following vs/ve packet
Arpita Banerjeec057d582013-06-28 18:35:23 -0700160- qcom,mdss-dsi-hfp-power-mode: Boolean to determine DSI lane state during
161 horizontal front porch (HFP) blanking period.
162- qcom,mdss-dsi-hbp-power-mode: Boolean to determine DSI lane state during
163 horizontal back porch (HBP) blanking period.
164- qcom,mdss-dsi-hsa-power-mode: Boolean to determine DSI lane state during
165 horizontal sync active (HSA) mode.
166- qcom,mdss-dsi-bllp-eof-power-mode: Boolean to determine DSI lane state during
167 blanking low power period (BLLP) EOF mode.
168- qcom,mdss-dsi-bllp-power-mode: Boolean to determine DSI lane state during
169 blanking low power period (BLLP) mode.
170- qcom,mdss-dsi-traffic-mode: Specifies the panel traffic mode.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700171 0 = non burst with sync pulses (default mode).
172 1 = non burst with sync start event.
173 2 = burst mode.
Arpita Banerjeec057d582013-06-28 18:35:23 -0700174- qcom,mdss-dsi-pixel-packing: Specifies if pixel packing is used (in case of RGB666).
175 0 = Tight packing (default value).
176 1 = Loose packing.
177- qcom,mdss-dsi-virtual-channel-id: Specifies the virtual channel identefier.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700178 0 = default value.
Arpita Banerjeec057d582013-06-28 18:35:23 -0700179- qcom,mdss-dsi-color-order: Specifies the R, G and B channel ordering.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700180 0 = DSI_RGB_SWAP_RGB (default value)
181 1 = DSI_RGB_SWAP_RBG
182 2 = DSI_RGB_SWAP_BGR
183 3 = DSI_RGB_SWAP_BRG
184 4 = DSI_RGB_SWAP_GRB
185 5 = DSI_RGB_SWAP_GBR
Arpita Banerjeec057d582013-06-28 18:35:23 -0700186- qcom,mdss-dsi-lane-0-state: Boolean that specifies whether data lane 0 is enabled.
187- qcom,mdss-dsi-lane-1-state: Boolean that specifies whether data lane 1 is enabled.
188- qcom,mdss-dsi-lane-2-state: Boolean that specifies whether data lane 2 is enabled.
189- qcom,mdss-dsi-lane-3-state: Boolean that specifies whether data lane 3 is enabled.
190- qcom,mdss-dsi-lane-map: Specifies the data lane swap configuration.
Chandan Uddaraju704a16d2013-01-25 11:30:25 -0800191 0 = <0 1 2 3> (default value)
192 1 = <3 0 1 2>
193 2 = <2 3 0 1>
194 3 = <1 2 3 0>
195 4 = <0 3 2 1>
196 5 = <1 0 3 2>
197 6 = <2 1 0 3>
198 7 = <3 2 1 0>
Arpita Banerjeec057d582013-06-28 18:35:23 -0700199- qcom,mdss-dsi-t-clk-post: Specifies the byte clock cycles after mode switch.
200 0x03 = default value.
201- qcom,mdss-dsi-t-clk-pre: Specifies the byte clock cycles before mode switch.
202 0x24 = default value.
203- qcom,mdss-dsi-stream: Specifies the packet stream to be used.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700204 0 = stream 0 (default)
205 1 = stream 1
Arpita Banerjeec057d582013-06-28 18:35:23 -0700206- qcom,mdss-dsi-mdp-trigger: Specifies the trigger mechanism to be used for MDP path.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700207 0 = no trigger
208 2 = Tear check signal line used for trigger
Arpita Banerjeec057d582013-06-28 18:35:23 -0700209 4 = Triggered by software (default)
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700210 6 = Software trigger and TE
Arpita Banerjeec057d582013-06-28 18:35:23 -0700211- qcom,mdss-dsi-dma-trigger: Specifies the trigger mechanism to be used for DMA path.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700212 0 = no trigger
213 2 = Tear check signal line used for trigger
Arpita Banerjeec057d582013-06-28 18:35:23 -0700214 4 = Triggered by software (default)
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700215 5 = Software trigger and start/end of frame trigger.
216 6 = Software trigger and TE
Arpita Banerjeec057d582013-06-28 18:35:23 -0700217- qcom,mdss-dsi-panel-framerate: Specifies the frame rate for the panel.
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700218 60 = 60 frames per second (default)
Arpita Banerjeec057d582013-06-28 18:35:23 -0700219- qcom,mdss-dsi-panel-clockrate: Specifies the panel clock speed in Hz.
220 0 = default value.
221- qcom,mdss-dsi-on-command-state: String that specifies the ctrl state for sending ON commands.
222 "dsi_lp_mode" = DSI low power mode (default)
223 "dsi_hs_mode" = DSI high speed mode
224- qcom,mdss-dsi-off-command-state: String that specifies the ctrl state for sending OFF commands.
225 "dsi_lp_mode" = DSI low power mode (default)
226 "dsi_hs_mode" = DSI high speed mode
Mayank Chopraf7043422013-08-08 14:26:00 +0530227- qcom,mdss-pan-physical-width-dimension: Specifies panel physical width in mm which corresponds
228 to the physical width in the framebuffer information.
229- qcom,mdss-pan-physical-height-dimension: Specifies panel physical height in mm which corresponds
230 to the physical height in the framebuffer information.
Dhaval Pateleec66f02013-08-06 18:53:51 -0700231- qcom,mdss-dsi-panel-mode-gpio-state: String that specifies the mode state for panel if it is defined
232 in dsi controller.
233 "high" = Set GPIO to HIGH
234 "low" = Set GPIO to LOW
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700235
Kuogee Hsieh72d38bf2013-04-22 17:14:27 -0700236
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700237Note, if a given optional qcom,* binding is not present, then the driver will configure
238the default values specified.
239
240Example:
Manoj Rao56403572013-06-19 15:54:03 -0700241&mdss_mdp {
242 dsi_sim_vid: qcom,mdss_dsi_sim_video {
Arpita Banerjeec057d582013-06-28 18:35:23 -0700243 qcom,mdss-dsi-panel-name = "simulator video mode dsi panel";
Arpita Banerjeec057d582013-06-28 18:35:23 -0700244 qcom,mdss-dsi-panel-controller = <&mdss_dsi0>;
245 qcom,mdss-dsi-panel-height = <1280>;
246 qcom,mdss-dsi-panel-width = <720>;
247 qcom,mdss-dsi-bpp = <24>;
248 qcom,mdss-dsi-pixel-packing = <0>;
249 qcom,mdss-dsi-panel-destination = "display_1";
250 qcom,mdss-dsi-panel-broadcast-mode;
251 qcom,mdss-dsi-fbc-enable;
252 qcom,mdss-dsi-fbc-bpp = <0>;
253 qcom,mdss-dsi-fbc-packing = <0>;
254 qcom,mdss-dsi-fbc-quant-error;
255 qcom,mdss-dsi-fbc-bias = <0>;
256 qcom,mdss-dsi-fbc-pat-mode;
257 qcom,mdss-dsi-fbc-vlc-mode;
258 qcom,mdss-dsi-fbc-bflc-mode;
259 qcom,mdss-dsi-fbc-h-line-budget = <0>;
260 qcom,mdss-dsi-fbc-budget-ctrl = <0>;
261 qcom,mdss-dsi-fbc-block-budget = <0>;
262 qcom,mdss-dsi-fbc-lossless-threshold = <0>;
263 qcom,mdss-dsi-fbc-lossy-threshold = <0>;
264 qcom,mdss-dsi-fbc-rgb-threshold = <0>;
265 qcom,mdss-dsi-fbc-lossy-mode-idx = <0>;
266 qcom,mdss-dsi-h-front-porch = <140>;
267 qcom,mdss-dsi-h-back-porch = <164>;
268 qcom,mdss-dsi-h-pulse-width = <8>;
269 qcom,mdss-dsi-h-sync-skew = <0>;
270 qcom,mdss-dsi-v-back-porch = <6>;
271 qcom,mdss-dsi-v-front-porch = <1>;
272 qcom,mdss-dsi-v-pulse-width = <1>;
273 qcom,mdss-dsi-h-left-border = <0>;
274 qcom,mdss-dsi-h-right-border = <0>;
275 qcom,mdss-dsi-v-top-border = <0>;
276 qcom,mdss-dsi-v-bottom-border = <0>;
277 qcom,mdss-dsi-border-color = <0>;
278 qcom,mdss-dsi-underflow-color = <0xff>;
279 qcom,mdss-dsi-bl-min-level = <1>;
280 qcom,mdss-dsi-bl-max-level = < 15>;
281 qcom,mdss-dsi-interleave-mode = <0>;
282 qcom,mdss-dsi-panel-type = "dsi_video_mode";
283 qcom,mdss-dsi-te-check-enable;
284 qcom,mdss-dsi-te-using-te-pin;
285 qcom,mdss-dsi-te-dcs-command = <1>;
286 qcom,mdss-dsi-te-v-sync-continue-lines = <0x3c>;
287 qcom,mdss-dsi-te-v-sync-rd-ptr-irq-line = <0x2c>;
288 qcom,mdss-dsi-te-pin-select = <1>;
289 qcom,mdss-dsi-h-sync-pulse = <1>;
290 qcom,mdss-dsi-hfp-power-mode;
291 qcom,mdss-dsi-hbp-power-mode;
292 qcom,mdss-dsi-hsa-power-mode;
293 qcom,mdss-dsi-bllp-eof-power-mode;
294 qcom,mdss-dsi-bllp-power-mode;
295 qcom,mdss-dsi-traffic-mode = <0>;
296 qcom,mdss-dsi-virtual-channel-id = <0>;
297 qcom,mdss-dsi-color-order = <0>;
298 qcom,mdss-dsi-lane-0-state;
299 qcom,mdss-dsi-lane-1-state;
300 qcom,mdss-dsi-lane-2-state;
301 qcom,mdss-dsi-lane-3-state;
302 qcom,mdss-dsi-lane-map = <0>;
303 qcom,mdss-dsi-t-clk-post = <0x20>;
304 qcom,mdss-dsi-t-clk-pre = <0x2c>;
305 qcom,mdss-dsi-stream = <0>;
306 qcom,mdss-dsi-mdp-trigger = <0>;
307 qcom,mdss-dsi-dma-trigger = <0>;
308 qcom,mdss-dsi-panel-framerate = <60>;
309 qcom,mdss-dsi-panel-clockrate = <424000000>;
310 qcom,mdss-dsi-panel-timings = [7d 25 1d 00 37 33
311 22 27 1e 03 04 00];
312 qcom,mdss-dsi-on-command = [32 01 00 00 00 00 02 00 00
313 29 01 00 00 10 00 02 FF 99];
314 qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
315 qcom,mdss-dsi-off-command = [22 01 00 00 00 00 00];
316 qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
317 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
318 qcom,mdss-dsi-bl-pmic-bank-select = <0>;
319 qcom,mdss-dsi-bl-pmic-pwm-frequency = <0>;
320 qcom,mdss-dsi-pwm-gpio = <&pm8941_mpps 5 0>;
Mayank Chopraf7043422013-08-08 14:26:00 +0530321 qcom,mdss-pan-physical-width-dimension = <60>;
322 qcom,mdss-pan-physical-height-dimension = <140>;
Dhaval Pateleec66f02013-08-06 18:53:51 -0700323 qcom,mdss-dsi-panel-mode-gpio-state = "low";
Chandan Uddarajuc58fcce2012-04-23 20:39:17 -0700324 };
Chandan Uddaraju0c33e772012-12-13 22:49:58 -0800325};