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-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.
					0 = non burst with sync pulses (default mode).
					1 = non burst with sync start event.
					2 = burst mode.
- qcom,mdss-dsi-pixel-packing:		Specifies if pixel packing is used (in case of RGB666).
					0 = Tight packing (default value).
					1 = 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.
					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-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.
					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-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.
					0 = no trigger
					2 = Tear check signal line used for trigger
					4 = Triggered by software (default)
					6 = Software trigger and TE
- qcom,mdss-dsi-dma-trigger:		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)
					5 = Software trigger and start/end of frame trigger.
					6 = 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.

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;
	};
};
