blob: 7ed873fb40802680ec8b1eda4a2b46a80015b6d6 [file] [log] [blame]
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: Must be "qcom,mdss-dsi-panel"
- status: 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,dsi-ctrl-phandle: Specifies the phandle for the DSI controller that
this panel will be mapped to.
- qcom,mdss-pan-res: A two dimensional array that specifies the panel
resolution.
- qcom,mdss-pan-bpp: Specifies the panel bits per pixel. Default value is 24(rgb888).
18 = for rgb666
16 = for rgb565
- qcom,mdss-pan-dest: A string that specifies the destination display for the panel.
Default is "display_1".
"display_1" = DISPLAY_1
"display_2" = DISPLAY_2
- qcom,panel-phy-regulatorSettings: An array of length 7 that specifies the PHY
regulator settings for the panel.
- qcom,panel-phy-timingSettings: An array of length 12 that specifies the PHY
timing settings for the panel.
- qcom,panel-phy-strengthCtrl: An array of length 2 that specifies the PHY
strengthCtrl settings for the panel.
- qcom,panel-phy-bistCtrl: An array of length 6 that specifies the PHY
BIST ctrl settings for the panel.
- qcom,panel-phy-laneConfig: An array of length 45 that specifies the PHY
lane configuration settings for the panel.
- qcom,mdss-panel-on-cmds: An array of variable length that lists the init commands
of the panel. Each command will have the format specified
as below:
--> data type of the command
--> specifies whether this command packet is last.
--> virtual channel
--> Needs acknowledge from the panel or not.
--> wait time after the command is transmitter.
--> size of payload
--> payload.
- qcom,mdss-panel-off-cmds: An array of variable length that lists the panel off
commands. Each command will have the format specified
as below:
--> data type of the command
--> specifies whether this command packet is last.
--> virtual channel
--> Needs acknowledge from the panel or not.
--> wait time after the command is transmitter.
--> size of payload
--> payload.
Optional properties:
- label: A string used as a descriptive name of the panel
- qcom,enable-gpio: Specifies the panel lcd/display enable gpio.
- qcom,rst-gpio: Specifies the panel reset gpio.
- qcom,te-gpio: Specifies the gpio used for TE.
- qcom,pwm-lpg-channel: LPG channel for backlight.
- qcom,pwm-period: PWM period in microseconds.
- qcom,pwm-pmic-gpio: PMIC gpio binding to backlight.
- qcom,mdss-pan-broadcast-mode: Boolean used to enable broadcast mode.
- qcom,cont-splash-enabled: Boolean used to enable continuous splash mode.
- qcom,fbc-enabled: Boolean used to enable frame buffer compression mode.
- qcom,fbc-mode-select: An array of length 7 that specifies the fbc mode supported
by the panel. FBC enabled panels may or may not support
the modes specified here. Each entry will
have the format specified below:
--> compressed bpp supported by the panel
--> component packing
--> enable/disable quantization error calculation
--> Bias for CD
--> enable/disable PAT mode
--> enable/disable VLC mode
--> enable/disable BFLC mode
- qcom,fbc-budget-ctl: An array of length 3 that specifies the budget control settings
supported by the fbc enabled panel. Each entry will have the format
specified below:
--> per line extra budget
--> extra budget level
--> per block budget
- qcom,fbc-lossy-mode: An array of 3 that specifies the lossy mode settings
supported by the fbc enabled panel. Each entry will
have the format specified below:
--> lossless mode threshold
--> lossy mode threshold
--> lossy RGB threshold
- qcom,mdss-pan-porch-values: An array of size 6 that specifies the panel blanking values.
- qcom,mdss-pan-underflow-clr: Specifies the controller settings for the panel underflow clear
settings. Default value is 0xff.
- qcom,mdss-pan-bl-ctrl: 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_cmds" = Backlight controlled by DCS commands.
- qcom,mdss-pan-bl-levels: Specifies the backlight levels supported by the panel.
Default range is 1 to 255.
- qcom,mdss-pan-dsi-mode: Specifies the panel operating mode.
0 = enable video mode(default mode).
1 = enable command mode.
- qcom,mdss-vsync-enable: Specifies Tear Check configuration.
0 = TE disable.
1 = TE enable.
- qcom,mdss-hw-vsync-mode: Specifies TE type.
0 = software vsync.
1 = hardware vsync (TE gpio pin).
- qcom,mdss-pan-te-sel: Specifies TE operating mode.
0 = TE through embedded dcs command
1 = TE through TE gpio pin.
- qcom,mdss-pan-dsi-h-pulse-mode: 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-pan-dsi-h-power-stop: An Array of size 3 that specifies the power mode
during horizontal porch and sync periods of the panel.
0 = high speed mode(default mode).
1 = Low power mode for horizontal porches and sync pulse.
- qcom,mdss-pan-dsi-bllp-power-stop: An Array of size 2 that specifies the power mode
during blanking period and after EOF(end of frame).
0 = high speed mode(default mode).
1 = Low power mode during blanking and EOF.
- qcom,mdss-pan-dsi-traffic-mode: Specifies the panel traffic mode.
0 = non burst with sync pulses (default mode).
1 = non burst with sync start event.
2 = burst mode.
- qcom,mdss-pan-dsi-dst-format: Specifies the destination format.
0 = DSI_VIDEO_DST_FORMAT_RGB565.
1 = DSI_VIDEO_DST_FORMAT_RGB666.
2 = DSI_VIDEO_DST_FORMAT_RGB666_LOOSE.
3 = DSI_VIDEO_DST_FORMAT_RGB888 (Default format)
6 = DSI_CMD_DST_FORMAT_RGB565
7 = DSI_CMD_DST_FORMAT_RGB666
8 = DSI_CMD_DST_FORMAT_RGB888
- qcom,mdss-pan-dsi-vc: Specifies the virtual channel identefier.
0 = default value.
- qcom,mdss-pan-dsi-rgb-swap: Specifies the R, G and B channel ordering.
0 = DSI_RGB_SWAP_RGB (default value)
1 = DSI_RGB_SWAP_RBG
2 = DSI_RGB_SWAP_BGR
3 = DSI_RGB_SWAP_BRG
4 = DSI_RGB_SWAP_GRB
5 = DSI_RGB_SWAP_GBR
- qcom,mdss-pan-dsi-data-lanes: An array that specifies the data lanes enabled.
<1 1 0 0> = data lanes 1 and 2 are enabled.(default).
- qcom,mdss-pan-dsi-dlane-swap: Specifies the data lane swap configuration.
0 = <0 1 2 3> (default value)
1 = <3 0 1 2>
2 = <2 3 0 1>
3 = <1 2 3 0>
4 = <0 3 2 1>
5 = <1 0 3 2>
6 = <2 1 0 3>
7 = <3 2 1 0>
- qcom,mdss-pan-dsi-t-clk: An array that specifies the byte clock cycles
before and after each mode switch.
- qcom,mdss-pan-dsi-stream: Specifies the packet stream to be used.
0 = stream 0 (default)
1 = stream 1
- qcom,mdss-pan-dsi-mdp-tr: Specifies the trigger mechanism to be used for MDP path.
0 = no trigger
2 = Tear check signal line used for trigger
4 = Triggered by software (default mode)
6 = Software trigger and TE
- qcom,mdss-pan-dsi-dma-tr: Specifies the trigger mechanism to be used for DMA path.
0 = no trigger
2 = Tear check signal line used for trigger
4 = Triggered by software (default mode)
5 = Software trigger and start/end of frame trigger.
6 = Software trigger and TE
- qcom,mdss-pan-dsi-frame-rate: Specifies the frame rate for the panel.
60 = 60 frames per second (default)
- qcom,on-cmds-dsi-state: A string that Specifies the ctrl state for sending ON commands.
Supported modes are "DSI_LP_MODE" and "DSI_HS_MODE".
- qcom,off-cmds-dsi-state: A string that Specifies the ctrl state for sending ON commands.
Supported modes are "DSI_LP_MODE" and "DSI_HS_MODE".
- qcom,panel-on-cmds: 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
Note, if a given optional qcom,* binding is not present, then the driver will configure
the default values specified.
Example:
/ {
qcom,mdss_dsi_sim_video {
compatible = "qcom,mdss-dsi-panel";
label = "simulator video mode dsi panel";
status = "disable";
qcom,dsi-ctrl-phandle = <&mdss_dsi0>;
qcom,mdss-pan-res = <640 480>;
qcom,mdss-pan-bpp = <24>;
qcom,mdss-pan-dest = "display_1";
qcom,mdss-pan-porch-values = <6 2 6 6 2 6>;
qcom,mdss-pan-underflow-clr = <0xff>;
qcom,mdss-pan-bl-levels = <1 15>;
qcom,mdss-pan-dsi-mode = <0>;
qcom,mdss-pan-dsi-h-pulse-mode = <1>;
qcom,mdss-pan-dsi-h-power-stop = <1 1 1>;
qcom,mdss-pan-dsi-bllp-power-stop = <1 1>;
qcom,mdss-pan-dsi-traffic-mode = <0>;
qcom,mdss-pan-dsi-dst-format = <3>;
qcom,mdss-pan-dsi-vc = <0>;
qcom,mdss-pan-dsi-rgb-swap = <0>;
qcom,mdss-pan-dsi-data-lanes = <1 1 0 0>;
qcom,mdss-pan-dsi-t-clk = <0x24 0x03>;
qcom,mdss-pan-dsi-stream = <0>;
qcom,mdss-pan-dsi-mdp-tr = <0x04>;
qcom,mdss-pan-dsi-dma-tr = <0x04>;
qcom,mdss-pan-frame-rate = <60>;
qcom,panel-on-cmds = [32 01 00 00 00 00 02 00 00];
qcom,on-cmds-dsi-state = "DSI_LP_MODE";
qcom,panel-off-cmds = [22 01 00 00 00 00 00];
qcom,off-cmds-dsi-state = "DSI LP MODE";
qcom,fbc-enabled;
qcom,fbc-mode = <12 0 1 2 1 1 1>;
qcom,fbc-budget-ctl = <675 5 91>;
qcom,fbc-lossy-mode = <0 0xc0 0 3>;
};
};