| Qualcomm mdss-dsi-panel |
| |
| mdss-dsi-panel is a dsi panel device which supports panels that |
| are compatable with MIPI display serial interface specification. |
| |
| Required properties: |
| - compatible: This property applies to DSI V2 panels only. |
| This property should not be added for panels |
| that work based on version "V6.0" |
| DSI panels that are of different versions |
| are initialized by the drivers for dsi controller. |
| This property specifies the version |
| for DSI HW that this panel will work with |
| "qcom,dsi-panel-v2" = DSI V2.0 |
| - status: This property applies to DSI V2 panels only. |
| This property should not be added for panels |
| that work based on version "V6.0" |
| DSI panels that are of different versions |
| are initialized by the drivers for dsi controller. |
| A string that has to be set to "okay/ok" |
| to enable the panel driver. By default this property |
| will be set to "disable". Will be set to "ok/okay" |
| status for specific platforms. |
| - qcom,mdss-dsi-panel-controller: Specifies the phandle for the DSI controller that |
| this panel will be mapped to. |
| - qcom,mdss-dsi-panel-width: Specifies panel width in pixels. |
| - qcom,mdss-dsi-panel-height: Specifies panel height in pixels. |
| - qcom,mdss-dsi-bpp: Specifies the panel bits per pixel. |
| 3 = for rgb111 |
| 8 = for rgb332 |
| 12 = for rgb444 |
| 16 = for rgb565 |
| 18 = for rgb666 |
| 24 = for rgb888 |
| - qcom,mdss-dsi-panel-destination: A string that specifies the destination display for the panel. |
| "display_1" = DISPLAY_1 |
| "display_2" = DISPLAY_2 |
| - qcom,mdss-dsi-panel-timings: An array of length 12 that specifies the PHY |
| timing settings for the panel. |
| - qcom,mdss-dsi-on-command: A byte stream formed by multiple dcs packets base on |
| qcom dsi controller protocol. |
| byte 0: dcs data type |
| byte 1: set to indicate this is an individual packet |
| (no chain) |
| byte 2: virtual channel number |
| byte 3: expect ack from client (dcs read command) |
| byte 4: wait number of specified ms after dcs command |
| transmitted |
| byte 5, 6: 16 bits length in network byte order |
| byte 7 and beyond: number byte of payload |
| - qcom,mdss-dsi-off-command: A byte stream formed by multiple dcs packets base on |
| qcom dsi controller protocol. |
| byte 0: dcs data type |
| byte 1: set to indicate this is an individual packet |
| (no chain) |
| byte 2: virtual channel number |
| byte 3: expect ack from client (dcs read command) |
| byte 4: wait number of specified ms after dcs command |
| transmitted |
| byte 5, 6: 16 bits length in network byte order |
| byte 7 and beyond: number byte of payload |
| |
| Optional properties: |
| - qcom,mdss-dsi-panel-name: A string used as a descriptive name of the panel |
| - qcom,cont-splash-enabled: Boolean used to enable continuous splash mode. |
| If this property is specified, it is required to |
| to specify the memory reserved for the splash |
| screen using the qcom,memblock-reserve binding |
| for the framebuffer device attached to the panel. |
| - qcom,mdss-dsi-panel-broadcast-mode: Boolean used to enable broadcast mode. |
| - qcom,mdss-dsi-fbc-enable: Boolean used to enable frame buffer compression mode. |
| - qcom,mdss-dsi-fbc-bpp: Compressed bpp supported by the panel. |
| Specified color order is used as default value. |
| - qcom,mdss-dsi-fbc-packing: Component packing. |
| 0 = default value. |
| - qcom,mdss-dsi-fbc-quant-error: Boolean used to enable quantization error calculation. |
| - qcom,mdss-dsi-fbc-bias: Bias for CD. |
| 0 = default value. |
| - qcom,mdss-dsi-fbc-pat-mode: Boolean used to enable PAT mode. |
| - qcom,mdss-dsi-fbc-vlc-mode: Boolean used to enable VLC mode. |
| - qcom,mdss-dsi-fbc-bflc-mode: Boolean used to enable BFLC mode. |
| - qcom,mdss-dsi-fbc-h-line-budget: Per line extra budget. |
| 0 = default value. |
| - qcom,mdss-dsi-fbc-budget-ctrl: Extra budget level. |
| 0 = default value. |
| - qcom,mdss-dsi-fbc-block-budget: Per block budget. |
| 0 = default value. |
| - qcom,mdss-dsi-fbc-lossless-threshold: Lossless mode threshold. |
| 0 = default value. |
| - qcom,mdss-dsi-fbc-lossy-threshold: Lossy mode threshold. |
| 0 = default value. |
| - qcom,mdss-dsi-fbc-rgb-threshold: Lossy RGB threshold. |
| 0 = default value. |
| - qcom,mdss-dsi-fbc-lossy-mode-idx: Lossy mode index value. |
| 0 = default value. |
| - qcom,mdss-dsi-h-back-porch: Horizontal back porch value in pixel. |
| 6 = default value. |
| - qcom,mdss-dsi-h-front-porch: Horizontal front porch value in pixel. |
| 6 = default value. |
| - qcom,mdss-dsi-h-pulse-width: Horizontal pulse width. |
| 2 = default value. |
| - qcom,mdss-dsi-h-sync-skew: Horizontal sync skew value. |
| 0 = default value. |
| - qcom,mdss-dsi-v-back-porch: Vertical back porch value in pixel. |
| 6 = default value. |
| - qcom,mdss-dsi-v-front-porch: Vertical front porch value in pixel. |
| 6 = default value. |
| - qcom,mdss-dsi-v-pulse-width: Vertical pulse width. |
| 2 = default value. |
| - qcom,mdss-dsi-h-left-border: Horizontal left border in pixel. |
| 0 = default value |
| - qcom,mdss-dsi-h-right-border: Horizontal right border in pixel. |
| 0 = default value |
| - qcom,mdss-dsi-v-top-border: Vertical top border in pixel. |
| 0 = default value |
| - qcom,mdss-dsi-v-bottom-border: Vertical bottom border in pixel. |
| 0 = default value |
| - qcom,mdss-dsi-underflow-color: Specifies the controller settings for the |
| panel under flow color. |
| 0xff = default value. |
| - qcom,mdss-dsi-border-color: Defines the border color value if border is present. |
| 0 = default value. |
| - qcom,mdss-dsi-pan-enable-dynamic-fps: Boolean used to enable change in frame rate dynamically. |
| - qcom,mdss-dsi-pan-fps-update: A string that specifies when to change the frame rate. |
| "dfps_suspend_resume_mode"= FPS change request is |
| implemented during suspend/resume. |
| "dfps_immediate_clk_mode" = FPS change request is |
| implemented immediately using DSI clocks. |
| - qcom,mdss-dsi-bl-pmic-control-type: A string that specifies the implementation of backlight |
| control for this panel. |
| "bl_ctrl_pwm" = Backlight controlled by PWM gpio. |
| "bl_ctrl_wled" = Backlight controlled by WLED. |
| "bl_ctrl_dcs" = Backlight controlled by DCS commands. |
| other: Unknown backlight control. (default) |
| - qcom,mdss-dsi-bl-pmic-bank-select: LPG channel for backlight. |
| Requred if blpmiccontroltype is PWM |
| - qcom,mdss-dsi-bl-pmic-pwm-frequency: PWM period in microseconds. |
| Requred if blpmiccontroltype is PWM |
| - qcom,mdss-dsi-pwm-gpio: PMIC gpio binding to backlight. |
| Requred if blpmiccontroltype is PWM |
| - qcom,mdss-dsi-bl-min-level: Specifies the min backlight level supported by the panel. |
| 0 = default value. |
| - qcom,mdss-dsi-bl-max-level: Specifies the max backlight level supported by the panel. |
| 255 = default value. |
| - qcom,mdss-brightness-max-level: Specifies the max brightness level supported. |
| 255 = default value. |
| - qcom,mdss-dsi-interleave-mode: Specifies interleave mode. |
| 0 = default value. |
| - qcom,mdss-dsi-panel-type: Specifies the panel operating mode. |
| "dsi_video_mode" = enable video mode (default). |
| "dsi_cmd_mode" = enable command mode. |
| - qcom,mdss-dsi-te-check-enable: Boolean to enable Tear Check configuration. |
| - qcom,mdss-dsi-te-using-te-pin: Boolean to specify whether using hardware vsync. |
| - qcom,mdss-dsi-te-pin-select: Specifies TE operating mode. |
| 0 = TE through embedded dcs command |
| 1 = TE through TE gpio pin. (default) |
| - qcom,mdss-dsi-te-dcs-command: Inserts the dcs command. |
| 1 = default value. |
| - qcom,mdss-dsi-te-v-sync-rd-ptr-irq-line: Configures the scan line number that the dsi |
| pixel transfer will start on. Rasing this number |
| will result in delaying the start of the pixel |
| transfer. |
| 0x2c = default value. |
| - qcom,mdss-dsi-te-v-sync-continue-lines: Represents the difference in number of lines |
| between estimated read pointer and write pointer |
| to allow the updating of all the lines except |
| the first line of the frame. |
| 0x3c = default value. |
| - qcom,mdss-dsi-h-sync-pulse: Specifies the pulse mode option for the panel. |
| 0 = Don't send hsa/he following vs/ve packet(default) |
| 1 = Send hsa/he following vs/ve packet |
| - qcom,mdss-dsi-hfp-power-mode: Boolean to determine DSI lane state during |
| horizontal front porch (HFP) blanking period. |
| - qcom,mdss-dsi-hbp-power-mode: Boolean to determine DSI lane state during |
| horizontal back porch (HBP) blanking period. |
| - qcom,mdss-dsi-hsa-power-mode: Boolean to determine DSI lane state during |
| horizontal sync active (HSA) mode. |
| - qcom,mdss-dsi-bllp-eof-power-mode: Boolean to determine DSI lane state during |
| blanking low power period (BLLP) EOF mode. |
| - qcom,mdss-dsi-bllp-power-mode: Boolean to determine DSI lane state during |
| blanking low power period (BLLP) mode. |
| - qcom,mdss-dsi-traffic-mode: Specifies the panel traffic mode. |
| "non_burst_sync_pulse" = non burst with sync pulses (default). |
| "non_burst_sync_event" = non burst with sync start event. |
| "burst_mode" = burst mode. |
| - qcom,mdss-dsi-pixel-packing: Specifies if pixel packing is used (in case of RGB666). |
| "tight" = Tight packing (default value). |
| "loose" = Loose packing. |
| - qcom,mdss-dsi-virtual-channel-id: Specifies the virtual channel identefier. |
| 0 = default value. |
| - qcom,mdss-dsi-color-order: Specifies the R, G and B channel ordering. |
| "rgb_swap_rgb" = DSI_RGB_SWAP_RGB (default value) |
| "rgb_swap_rbg" = DSI_RGB_SWAP_RBG |
| "rgb_swap_brg" = DSI_RGB_SWAP_BRG |
| "rgb_swap_grb" = DSI_RGB_SWAP_GRB |
| "rgb_swap_gbr" = DSI_RGB_SWAP_GBR |
| - qcom,mdss-dsi-lane-0-state: Boolean that specifies whether data lane 0 is enabled. |
| - qcom,mdss-dsi-lane-1-state: Boolean that specifies whether data lane 1 is enabled. |
| - qcom,mdss-dsi-lane-2-state: Boolean that specifies whether data lane 2 is enabled. |
| - qcom,mdss-dsi-lane-3-state: Boolean that specifies whether data lane 3 is enabled. |
| - qcom,mdss-dsi-lane-map: Specifies the data lane swap configuration. |
| "lane_map_0123" = <0 1 2 3> (default value) |
| "lane_map_3012" = <3 0 1 2> |
| "lane_map_2301" = <2 3 0 1> |
| "lane_map_1230" = <1 2 3 0> |
| "lane_map_0321" = <0 3 2 1> |
| "lane_map_1032" = <1 0 3 2> |
| "lane_map_2103" = <2 1 0 3> |
| "lane_map_3210" = <3 2 1 0> |
| - qcom,mdss-dsi-t-clk-post: Specifies the byte clock cycles after mode switch. |
| 0x03 = default value. |
| - qcom,mdss-dsi-t-clk-pre: Specifies the byte clock cycles before mode switch. |
| 0x24 = default value. |
| - qcom,mdss-dsi-stream: Specifies the packet stream to be used. |
| 0 = stream 0 (default) |
| 1 = stream 1 |
| - qcom,mdss-dsi-mdp-trigger: Specifies the trigger mechanism to be used for MDP path. |
| "none" = no trigger |
| "trigger_te" = Tear check signal line used for trigger |
| "trigger_sw" = Triggered by software (default) |
| "trigger_sw_te" = Software trigger and TE |
| - qcom,mdss-dsi-dma-trigger: Specifies the trigger mechanism to be used for DMA path. |
| "none" = no trigger |
| "trigger_te" = Tear check signal line used for trigger |
| "trigger_sw" = Triggered by software (default) |
| "trigger_sw_seof" = Software trigger and start/end of frame trigger. |
| "trigger_sw_te" = Software trigger and TE |
| - qcom,mdss-dsi-panel-framerate: Specifies the frame rate for the panel. |
| 60 = 60 frames per second (default) |
| - qcom,mdss-dsi-panel-clockrate: Specifies the panel clock speed in Hz. |
| 0 = default value. |
| - qcom,mdss-dsi-on-command-state: String that specifies the ctrl state for sending ON commands. |
| "dsi_lp_mode" = DSI low power mode (default) |
| "dsi_hs_mode" = DSI high speed mode |
| - qcom,mdss-dsi-off-command-state: String that specifies the ctrl state for sending OFF commands. |
| "dsi_lp_mode" = DSI low power mode (default) |
| "dsi_hs_mode" = DSI high speed mode |
| - qcom,mdss-pan-physical-width-dimension: Specifies panel physical width in mm which corresponds |
| to the physical width in the framebuffer information. |
| - qcom,mdss-pan-physical-height-dimension: Specifies panel physical height in mm which corresponds |
| to the physical height in the framebuffer information. |
| - qcom,mdss-dsi-panel-mode-gpio-state: String that specifies the mode state for panel if it is defined |
| in dsi controller. |
| "high" = Set GPIO to HIGH |
| "low" = Set GPIO to LOW |
| - qcom,partial-update-enabled: Boolean used to enable partial |
| panel update for command mode panels. |
| - qcom,mdss-dsi-reset-sequence: An array that lists the |
| sequence of reset gpio values and sleeps |
| Each command will have the format defined |
| as below: |
| --> Reset GPIO value |
| --> Sleep value (in ms) |
| - qcom,mdss-dsi-lp11-init: Boolean used to enable the DSI clocks and data lanes (low power 11) |
| before issuing hardware reset line. |
| - qcom,mdss-dsi-init-delay-us: Delay in microseconds(us) before performing any DSI activity in lp11 |
| mode. This master delay (t_init_delay as per DSI spec) should be sum |
| of DSI internal delay to reach fuctional after power up and minimum |
| delay required by panel to reach functional. |
| |
| Note, if a given optional qcom,* binding is not present, then the driver will configure |
| the default values specified. |
| |
| Example: |
| &mdss_mdp { |
| dsi_sim_vid: qcom,mdss_dsi_sim_video { |
| qcom,mdss-dsi-panel-name = "simulator video mode dsi panel"; |
| qcom,mdss-dsi-panel-controller = <&mdss_dsi0>; |
| qcom,mdss-dsi-panel-height = <1280>; |
| qcom,mdss-dsi-panel-width = <720>; |
| qcom,mdss-dsi-bpp = <24>; |
| qcom,mdss-dsi-pixel-packing = <0>; |
| qcom,mdss-dsi-panel-destination = "display_1"; |
| qcom,mdss-dsi-panel-broadcast-mode; |
| qcom,mdss-dsi-fbc-enable; |
| qcom,mdss-dsi-fbc-bpp = <0>; |
| qcom,mdss-dsi-fbc-packing = <0>; |
| qcom,mdss-dsi-fbc-quant-error; |
| qcom,mdss-dsi-fbc-bias = <0>; |
| qcom,mdss-dsi-fbc-pat-mode; |
| qcom,mdss-dsi-fbc-vlc-mode; |
| qcom,mdss-dsi-fbc-bflc-mode; |
| qcom,mdss-dsi-fbc-h-line-budget = <0>; |
| qcom,mdss-dsi-fbc-budget-ctrl = <0>; |
| qcom,mdss-dsi-fbc-block-budget = <0>; |
| qcom,mdss-dsi-fbc-lossless-threshold = <0>; |
| qcom,mdss-dsi-fbc-lossy-threshold = <0>; |
| qcom,mdss-dsi-fbc-rgb-threshold = <0>; |
| qcom,mdss-dsi-fbc-lossy-mode-idx = <0>; |
| qcom,mdss-dsi-h-front-porch = <140>; |
| qcom,mdss-dsi-h-back-porch = <164>; |
| qcom,mdss-dsi-h-pulse-width = <8>; |
| qcom,mdss-dsi-h-sync-skew = <0>; |
| qcom,mdss-dsi-v-back-porch = <6>; |
| qcom,mdss-dsi-v-front-porch = <1>; |
| qcom,mdss-dsi-v-pulse-width = <1>; |
| qcom,mdss-dsi-h-left-border = <0>; |
| qcom,mdss-dsi-h-right-border = <0>; |
| qcom,mdss-dsi-v-top-border = <0>; |
| qcom,mdss-dsi-v-bottom-border = <0>; |
| qcom,mdss-dsi-border-color = <0>; |
| qcom,mdss-dsi-underflow-color = <0xff>; |
| qcom,mdss-dsi-bl-min-level = <1>; |
| qcom,mdss-dsi-bl-max-level = < 15>; |
| qcom,mdss-dsi-interleave-mode = <0>; |
| qcom,mdss-dsi-panel-type = "dsi_video_mode"; |
| qcom,mdss-dsi-te-check-enable; |
| qcom,mdss-dsi-te-using-te-pin; |
| qcom,mdss-dsi-te-dcs-command = <1>; |
| qcom,mdss-dsi-te-v-sync-continue-lines = <0x3c>; |
| qcom,mdss-dsi-te-v-sync-rd-ptr-irq-line = <0x2c>; |
| qcom,mdss-dsi-te-pin-select = <1>; |
| qcom,mdss-dsi-h-sync-pulse = <1>; |
| qcom,mdss-dsi-hfp-power-mode; |
| qcom,mdss-dsi-hbp-power-mode; |
| qcom,mdss-dsi-hsa-power-mode; |
| qcom,mdss-dsi-bllp-eof-power-mode; |
| qcom,mdss-dsi-bllp-power-mode; |
| qcom,mdss-dsi-traffic-mode = <0>; |
| qcom,mdss-dsi-virtual-channel-id = <0>; |
| qcom,mdss-dsi-color-order = <0>; |
| qcom,mdss-dsi-lane-0-state; |
| qcom,mdss-dsi-lane-1-state; |
| qcom,mdss-dsi-lane-2-state; |
| qcom,mdss-dsi-lane-3-state; |
| qcom,mdss-dsi-lane-map = <0>; |
| qcom,mdss-dsi-t-clk-post = <0x20>; |
| qcom,mdss-dsi-t-clk-pre = <0x2c>; |
| qcom,mdss-dsi-stream = <0>; |
| qcom,mdss-dsi-mdp-trigger = <0>; |
| qcom,mdss-dsi-dma-trigger = <0>; |
| qcom,mdss-dsi-panel-framerate = <60>; |
| qcom,mdss-dsi-panel-clockrate = <424000000>; |
| qcom,mdss-dsi-panel-timings = [7d 25 1d 00 37 33 |
| 22 27 1e 03 04 00]; |
| qcom,mdss-dsi-on-command = [32 01 00 00 00 00 02 00 00 |
| 29 01 00 00 10 00 02 FF 99]; |
| qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; |
| qcom,mdss-dsi-off-command = [22 01 00 00 00 00 00]; |
| qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; |
| qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; |
| qcom,mdss-dsi-pan-enable-dynamic-fps; |
| qcom,mdss-dsi-pan-fps-update = "dfps_suspend_resume_mode"; |
| qcom,mdss-dsi-bl-pmic-bank-select = <0>; |
| qcom,mdss-dsi-bl-pmic-pwm-frequency = <0>; |
| qcom,mdss-dsi-pwm-gpio = <&pm8941_mpps 5 0>; |
| qcom,mdss-pan-physical-width-dimension = <60>; |
| qcom,mdss-pan-physical-height-dimension = <140>; |
| qcom,mdss-dsi-panel-mode-gpio-state = "low"; |
| qcom,partial-update-enabled; |
| qcom,mdss-dsi-reset-sequence = <1 2>, <0 10>, <1 10>; |
| qcom,mdss-dsi-lp11-init; |
| qcom,mdss-dsi-init-delay-us = <100>; |
| }; |
| }; |