Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 408a5ae2 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "fbdev: msm: Add snapshot of display framebuffer driver"

parents 0a523a53 f579f0cd
Loading
Loading
Loading
Loading
+54 −0
Original line number Original line Diff line number Diff line
ADV7533 DSI to HDMI bridge


Required properties:
- compatible:				Must be "adv7533"
- reg:					Main I2C slave ID (for I2C host driver)
- adi,video-mode:			Excepted a number and possible inputs are 0 to 3, while:
					3 = 1080p
					2 = 720p
					1 = 480p
					0 = 1080p pattern
- adi,main-addr:			Main I2C slave ID
- adi,cec-dsi-addr:			CEC DSI I2C slave ID

Optional properties:
- adi,enable-audio:
- adi,disable-gpios:
- adi,irq-gpio:				Main IRQ gpio mapping
- adi,hpd-irq-gpio:			HPD IRQ gpio mapping
- adi,switch-gpio:			DSI switch gpio mapping
- qcom,supply-names:			Regulator names that supply 5v to bridge chip
- qcom,min-voltage-level		Minimum voltage level to be supplied to bridge chip
- qcom,max-voltage-level		Maximum voltage level to be supplied to bridge chip
- qcom,enable-load			Load current to bridge chip when enabled
- qcom,disable-load			Load current to bridge chip when disabled
- qcom,post-on-sleep			Sleep time (ms) to indicate the sleep
					time after the vreg is enabled

Example:
&soc {
	i2c@78b8000 {
		adv7533@39 {
			compatible = "adv7533";
			reg = <0x39>;
			adi,video-mode = <3>; /* 3 = 1080p */
			adi,main-addr = <0x39>;
			adi,cec-dsi-addr = <0x3C>;
			adi,enable-audio;
			pinctrl-names = "pmx_adv7533_active","pmx_adv7533_suspend";
			pinctrl-0 = <&adv7533_int_active &adv7533_hpd_int_active &adv7533_switch_active>;
			pinctrl-1 = <&adv7533_int_suspend &adv7533_hpd_int_suspend &adv7533_switch_suspend>;
			adi,irq-gpio = <&msm_gpio 31 0x2002>;
			adi,hpd-irq-gpio = <&msm_gpio 20 0x2003>;
			adi,switch-gpio = <&msm_gpio 32 0x0>;
			hpd-5v-en-supply = <&adv_vreg>;
			qcom,supply-names = "hpd-5v-en";
			qcom,min-voltage-level = <0>;
			qcom,max-voltage-level = <0>;
			qcom,enable-load = <0>;
			qcom,disable-load = <0>;
			qcom,post-on-sleep = <10>;
		};
	};
};
+20 −0
Original line number Original line Diff line number Diff line
LT8912 DSI to HDMI bridge


Required properties:
- compatible:				Must be "lontium,lt8912"
- reg:					Main I2C slave ID (for I2C host driver)

Optional properties:
- qcom,hdmi-reset:				Main reset gpio mapping

Example:
&soc {
	i2c@78b8000 {
		lt8912@48 {
			compatible = "lontium,lt8912";
			reg = <0x48>;
			qcom,hdmi-reset = <&tlmm 64 0x0>;
		};
	};
};
+109 −13
Original line number Original line Diff line number Diff line
Qualcomm mdss-dsi-panel
Qualcomm Technologies, Inc. mdss-dsi-panel


mdss-dsi-panel is a dsi panel device which supports panels that
mdss-dsi-panel is a dsi panel device which supports panels that
are compatible with MIPI display serial interface specification.
are compatible with MIPI display serial interface specification.
@@ -12,6 +12,7 @@ Required properties:
					This property specifies the version
					This property specifies the version
					for DSI HW that this panel will work with
					for DSI HW that this panel will work with
					"qcom,dsi-panel-v2" = DSI V2.0
					"qcom,dsi-panel-v2" = DSI V2.0
					"qcom,msm-dsi-v2" = DSI V2.0
- status:        			This property applies to DSI V2 panels only.
- status:        			This property applies to DSI V2 panels only.
					This property should not be added for panels
					This property should not be added for panels
					that work based on version "V6.0"
					that work based on version "V6.0"
@@ -37,8 +38,10 @@ Required properties:
					"display_2" = DISPLAY_2
					"display_2" = DISPLAY_2
- qcom,mdss-dsi-panel-timings:		An array of length 12 that specifies the PHY
- qcom,mdss-dsi-panel-timings:		An array of length 12 that specifies the PHY
					timing settings for the panel.
					timing settings for the panel.
- qcom,mdss-dsi-panel-timings-8996:		An array of length 40 char that specifies the 8996 PHY lane
- qcom,mdss-dsi-panel-timings-phy-v2:	An array of length 40 char that specifies the PHY version 2
					timing settings for the panel.
					lane timing settings for the panel.
- qcom,mdss-dsi-panel-timings-phy-12nm: An array of length 8 char that specifies the 12nm DSI PHY
					lane timing settings for the panel.
- qcom,mdss-dsi-on-command:		A byte stream formed by multiple dcs packets base on
- qcom,mdss-dsi-on-command:		A byte stream formed by multiple dcs packets base on
					qcom dsi controller protocol.
					qcom dsi controller protocol.
					byte 0: dcs data type
					byte 0: dcs data type
@@ -61,9 +64,39 @@ Required properties:
						 transmitted
						 transmitted
					byte 5, 6: 16 bits length in network byte order
					byte 5, 6: 16 bits length in network byte order
					byte 7 and beyond: number byte of payload
					byte 7 and beyond: number byte of payload
- qcom,mdss-dsi-lp-mode-on:		This is used to enable display low persistence mode.
					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-lp-mode-off:		This is used to disable display low persistence mode.
					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-post-panel-on-command:	same as "qcom,mdss-dsi-on-command" except commands are
- qcom,mdss-dsi-post-panel-on-command:	same as "qcom,mdss-dsi-on-command" except commands are
					sent after displaying an image.
					sent after displaying an image.


- qcom,mdss-dsi-idle-on-command:	same as "qcom,mdss-dsi-on-command". Set of DCS command
					used for idle mode entry.

- qcom,mdss-dsi-idle-off-command:	same as "qcom,mdss-dsi-on-command". Set of DCS command
					used for idle mode exit.

Note, if a short DCS packet(i.e packet with Byte 0:dcs data type as 05) mentioned in
Note, if a short DCS packet(i.e packet with Byte 0:dcs data type as 05) mentioned in
qcom,mdss-dsi-on-command/qcom,mdss-dsi-off-command stream fails to transmit,
qcom,mdss-dsi-on-command/qcom,mdss-dsi-off-command stream fails to transmit,
then 3 options can be tried.
then 3 options can be tried.
@@ -248,6 +281,35 @@ Optional properties:
					60 = 60 frames per second (default)
					60 = 60 frames per second (default)
- qcom,mdss-dsi-panel-clockrate:	A 64 bit value specifies the panel clock speed in Hz.
- qcom,mdss-dsi-panel-clockrate:	A 64 bit value specifies the panel clock speed in Hz.
					0 = default value.
					0 = default value.
- qcom,mdss-mdp-kickoff-threshold:	This property can be used to define a region
					(in terms of scanlines) where the
hardware is allowed
					to trigger a data transfer from MDP to DSI.
					If this property is used, the region must be defined setting
					two values, the low and the high thresholds:
					<low_threshold high_threshold>
					Where following condition must be met:
					low_threshold < high_threshold
					These values will be used by the driver in such way that if
					the Driver receives a request to kickoff a transfer (MDP to DSI),
					the transfer will be triggered only if the following condition
					is satisfied:
					low_threshold < scanline < high_threshold
					If the condition is not met, then the driver will delay the
					transfer by the time defined in the following property:
					"qcom,mdss-mdp-kickoff-delay".
					So in order to use this property, the delay property must
					be defined as well and greater than 0.
- qcom,mdss-mdp-kickoff-delay:	This property defines the delay in microseconds that
					the driver will delay before triggering an MDP transfer if the
					thresholds defined by the following property are not met:
					"qcom,mdss-mdp-kickoff-threshold".
					So in order to use this property, the threshold property must
					be defined as well. Note that this delay cannot be zero
					and also should not be greater than
the fps window.
					i.e. For 60fps value should not exceed
16666 uS.
- qcom,mdss-mdp-transfer-time-us:	Specifies the dsi transfer time for command mode
- qcom,mdss-mdp-transfer-time-us:	Specifies the dsi transfer time for command mode
					panels in microseconds. Driver uses this number to adjust
					panels in microseconds. Driver uses this number to adjust
					the clock rate according to the expected transfer time.
					the clock rate according to the expected transfer time.
@@ -275,14 +337,10 @@ Optional properties:
					to the physical width in the framebuffer information.
					to the physical width in the framebuffer information.
- qcom,mdss-pan-physical-height-dimension:	Specifies panel physical height in mm which corresponds
- qcom,mdss-pan-physical-height-dimension:	Specifies panel physical height in mm which corresponds
					to the physical height in the framebuffer information.
					to the physical height in the framebuffer information.
- qcom,mdss-dsi-mode-sel-gpio-state:	String that specifies the lcd mode for panel
- qcom,mdss-dsi-panel-mode-gpio-state:	String that specifies the mode state for panel if it is defined
					(such as single-port/dual-port), if qcom,panel-mode-gpio
					in dsi controller.
					binding is defined in dsi controller.
					"dual_port" = Set GPIO to LOW
					"single_port" = Set GPIO to HIGH
					"high" = Set GPIO to HIGH
					"high" = Set GPIO to HIGH
					"low" = Set GPIO to LOW
					"low" = Set GPIO to LOW
					The default value is "dual_port".
- qcom,mdss-tear-check-disable:		Boolean to disable mdp tear check. Tear check is enabled by default to avoid
- qcom,mdss-tear-check-disable:		Boolean to disable mdp tear check. Tear check is enabled by default to avoid
					tearing. Other tear-check properties are ignored if this property is present.
					tearing. Other tear-check properties are ignored if this property is present.
					The below tear check configuration properties can be individually tuned if
					The below tear check configuration properties can be individually tuned if
@@ -330,6 +388,28 @@ Optional properties:
					2A/2B command.
					2A/2B command.
- qcom,dcs-cmd-by-left:			Boolean to indicate that dcs command are sent
- qcom,dcs-cmd-by-left:			Boolean to indicate that dcs command are sent
					through the left DSI controller only in a dual-dsi configuration
					through the left DSI controller only in a dual-dsi configuration
- qcom,mdss-dsi-panel-hdr-enabled:	Boolean to indicate HDR support in panel.
- qcom,mdss-dsi-panel-hdr-color-primaries:
					Array of 8 unsigned integers denoting chromaticity of panel.These
					values are specified in nits units. The value range is 0 through 50000.
					To obtain real chromacity, these values should be divided by factor of
					50000. The structure of array is defined in below order
						value 1: x value of white chromaticity of display panel
						value 2: y value of white chromaticity of display panel
						value 3: x value of red chromaticity of display panel
						value 4: y value of red chromaticity of display panel
						value 5: x value of green chromaticity of display panel
						value 6: y value of green chromaticity of display panel
						value 7: x value of blue chromaticity of display panel
						value 8: y value of blue chromaticity of display panel
- qcom,mdss-dsi-panel-peak-brightness:	Maximum brightness supported by panel.In absence of maximum value
					typical value becomes peak brightness. Value is specified in nits units.
					To obtail real peak brightness, this value should be divided by factor of
					10000.
- qcom,mdss-dsi-panel-blackness-level:	Blackness level supported by panel. Blackness level is defined as
					ratio of peak brightness to contrast. Value is specified in nits units.
					To obtail real blackness level, this value should be divided by factor of
					10000.
- qcom,mdss-dsi-lp11-init:		Boolean used to enable the DSI clocks and data lanes (low power 11)
- qcom,mdss-dsi-lp11-init:		Boolean used to enable the DSI clocks and data lanes (low power 11)
					before issuing hardware reset line.
					before issuing hardware reset line.
- qcom,mdss-dsi-init-delay-us:		Delay in microseconds(us) before performing any DSI activity in lp11
- qcom,mdss-dsi-init-delay-us:		Delay in microseconds(us) before performing any DSI activity in lp11
@@ -424,7 +504,11 @@ Optional properties:
					fields in the supply entry, refer to the qcom,ctrl-supply-entries
					fields in the supply entry, refer to the qcom,ctrl-supply-entries
					binding above.
					binding above.
- qcom,config-select:			Optional property to select default configuration.
- qcom,config-select:			Optional property to select default configuration.

- qcom,panel-allow-phy-poweroff:	A boolean property indicates that panel allows to turn off the phy power
					supply during idle screen. A panel should able to handle the dsi lanes
					in floating state(not LP00 or LP11) to turn on this property. Software
					turns off PHY pmic power supply, phy ldo and DSI Lane ldo during
					idle screen (footswitch control off) when this property is enabled.
[[Optional config sub-nodes]]		These subnodes provide different configurations for a given same panel.
[[Optional config sub-nodes]]		These subnodes provide different configurations for a given same panel.
					Default configuration can be chosen by specifying phandle of the
					Default configuration can be chosen by specifying phandle of the
					selected subnode in the qcom,config-select.
					selected subnode in the qcom,config-select.
@@ -471,6 +555,7 @@ Optional properites:
					to a non-DSI interface.
					to a non-DSI interface.
- qcom,bridge-name:			A string to indicate the name of the bridge chip connected to DSI. qcom,bridge-name
- qcom,bridge-name:			A string to indicate the name of the bridge chip connected to DSI. qcom,bridge-name
					is required if qcom,dba-panel is defined for the panel.
					is required if qcom,dba-panel is defined for the panel.
- qcom,hdmi-mode:			Indicates where current panel is HDMI mode, otherwise, it will be DVI mode.
- qcom,adjust-timer-wakeup-ms:		An integer value to indicate the timer delay(in ms) to accommodate
- qcom,adjust-timer-wakeup-ms:		An integer value to indicate the timer delay(in ms) to accommodate
					s/w delay while configuring the event timer wakeup logic.
					s/w delay while configuring the event timer wakeup logic.


@@ -493,6 +578,8 @@ Additional properties added to the second level nodes that represent timings pro
Note, if a given optional qcom,* binding is not present, then the driver will configure
Note, if a given optional qcom,* binding is not present, then the driver will configure
the default values specified.
the default values specified.


Note, all the "qcom,supply-*" properties have their definitions in mdss-dsi-txt.

Example:
Example:
&mdss_mdp {
&mdss_mdp {
	dsi_sim_vid: qcom,mdss_dsi_sim_video {
	dsi_sim_vid: qcom,mdss_dsi_sim_video {
@@ -538,7 +625,6 @@ Example:
		qcom,mdss-dsi-underflow-color = <0xff>;
		qcom,mdss-dsi-underflow-color = <0xff>;
		qcom,mdss-dsi-bl-min-level = <1>;
		qcom,mdss-dsi-bl-min-level = <1>;
		qcom,mdss-dsi-bl-max-level = < 15>;
		qcom,mdss-dsi-bl-max-level = < 15>;
		qcom,mdss-brightness-max-level = <255>;
		qcom,mdss-dsi-interleave-mode = <0>;
		qcom,mdss-dsi-interleave-mode = <0>;
		qcom,mdss-dsi-panel-type = "dsi_video_mode";
		qcom,mdss-dsi-panel-type = "dsi_video_mode";
		qcom,mdss-dsi-te-check-enable;
		qcom,mdss-dsi-te-check-enable;
@@ -568,19 +654,26 @@ Example:
		qcom,mdss-dsi-dma-trigger = <0>;
		qcom,mdss-dsi-dma-trigger = <0>;
		qcom,mdss-dsi-panel-framerate = <60>;
		qcom,mdss-dsi-panel-framerate = <60>;
		qcom,mdss-dsi-panel-clockrate = <424000000>;
		qcom,mdss-dsi-panel-clockrate = <424000000>;
		qcom,mdss-mdp-kickoff-threshold = <11 2430>;
		qcom,mdss-mdp-kickoff-delay = <1000>;
		qcom,mdss-mdp-transfer-time-us = <12500>;
		qcom,mdss-mdp-transfer-time-us = <12500>;
		qcom,mdss-dsi-panel-timings = [7d 25 1d 00 37 33
		qcom,mdss-dsi-panel-timings = [7d 25 1d 00 37 33
					22 27 1e 03 04 00];
					22 27 1e 03 04 00];
                qcom,mdss-dsi-panel-timings-8996 = [23 20 06 09 05 03 04 a0
                qcom,mdss-dsi-panel-timings-phy-v2 = [23 20 06 09 05 03 04 a0
                                23 20 06 09 05 03 04 a0
                                23 20 06 09 05 03 04 a0
                                23 20 06 09 05 03 04 a0
                                23 20 06 09 05 03 04 a0
                                23 20 06 09 05 03 04 a0
                                23 20 06 09 05 03 04 a0
                                23 2e 06 08 05 03 04 a0];
                                23 2e 06 08 05 03 04 a0];
                qcom,mdss-dsi-panel-timings-phy-12nm =
				[a9 4e 56 0b 8a 4d 0b d6];
		qcom,mdss-dsi-on-command = [32 01 00 00 00 00 02 00 00
		qcom,mdss-dsi-on-command = [32 01 00 00 00 00 02 00 00
					29 01 00 00 10 00 02 FF 99];
					29 01 00 00 10 00 02 FF 99];
		qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
		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 = [22 01 00 00 00 00 00];
		qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
		qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
		qcom,mdss-dsi-lp-mode-on = [32 01 00 00 00 00 02 00 00
					29 01 00 00 10 00 02 FF 99];
		qcom,mdss-dsi-lp-mode-off = [22 01 00 00 00 00 00];
		qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
		qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
		qcom,mdss-dsi-pan-enable-dynamic-fps;
		qcom,mdss-dsi-pan-enable-dynamic-fps;
		qcom,mdss-dsi-pan-fps-update = "dfps_suspend_resume_mode";
		qcom,mdss-dsi-pan-fps-update = "dfps_suspend_resume_mode";
@@ -592,7 +685,7 @@ Example:
		qcom,5v-boost-gpio = <&pm8994_gpios 14 0>;
		qcom,5v-boost-gpio = <&pm8994_gpios 14 0>;
		qcom,mdss-pan-physical-width-dimension = <60>;
		qcom,mdss-pan-physical-width-dimension = <60>;
		qcom,mdss-pan-physical-height-dimension = <140>;
		qcom,mdss-pan-physical-height-dimension = <140>;
		qcom,mdss-dsi-mode-sel-gpio-state = "dsc_mode";
		qcom,mdss-dsi-panel-mode-gpio-state = "low";
		qcom,mdss-tear-check-sync-cfg-height = <0xfff0>;
		qcom,mdss-tear-check-sync-cfg-height = <0xfff0>;
		qcom,mdss-tear-check-sync-init-val = <1280>;
		qcom,mdss-tear-check-sync-init-val = <1280>;
		qcom,mdss-tear-check-sync-threshold-start = <4>;
		qcom,mdss-tear-check-sync-threshold-start = <4>;
@@ -611,6 +704,7 @@ Example:
		qcom,suspend-ulps-enabled;
		qcom,suspend-ulps-enabled;
		qcom,panel-roi-alignment = <4 4 2 2 20 20>;
		qcom,panel-roi-alignment = <4 4 2 2 20 20>;
		qcom,esd-check-enabled;
		qcom,esd-check-enabled;
		qcom,panel-allow-phy-poweroff;
		qcom,mdss-dsi-panel-status-command = [06 01 00 01 05 00 02 0A 08];
		qcom,mdss-dsi-panel-status-command = [06 01 00 01 05 00 02 0A 08];
		qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
		qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
		qcom,mdss-dsi-panel-status-check-mode = "reg_read";
		qcom,mdss-dsi-panel-status-check-mode = "reg_read";
@@ -682,6 +776,7 @@ Example:
				qcom,supply-max-voltage = <2800000>;
				qcom,supply-max-voltage = <2800000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-disable-load = <100>;
				qcom,supply-disable-load = <100>;
				qcom,supply-ulp-load = <100>;
				qcom,supply-pre-on-sleep = <0>;
				qcom,supply-pre-on-sleep = <0>;
				qcom,supply-post-on-sleep = <0>;
				qcom,supply-post-on-sleep = <0>;
				qcom,supply-pre-off-sleep = <0>;
				qcom,supply-pre-off-sleep = <0>;
@@ -695,6 +790,7 @@ Example:
				qcom,supply-max-voltage = <1800000>;
				qcom,supply-max-voltage = <1800000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-disable-load = <100>;
				qcom,supply-disable-load = <100>;
				qcom,supply-ulp-load = <100>;
				qcom,supply-pre-on-sleep = <0>;
				qcom,supply-pre-on-sleep = <0>;
				qcom,supply-post-on-sleep = <0>;
				qcom,supply-post-on-sleep = <0>;
				qcom,supply-pre-off-sleep = <0>;
				qcom,supply-pre-off-sleep = <0>;
+261 −0
Original line number Original line Diff line number Diff line
Qualcomm Technologies, Inc. mdss-dsi

mdss-dsi is the master DSI device which supports multiple DSI host controllers that
are compatible with MIPI display serial interface specification.

Required properties:
- compatible:				Must be "qcom,mdss-dsi"
- hw-config:				Specifies the DSI host setup configuration
					"hw-config" = "single_dsi"
					"hw-config" = "dual_dsi"
					"hw-config" = "split_dsi"
- ranges:				The standard property which specifies the child address
					space, parent address space and the length.
- vdda-supply:				Phandle for vreg regulator device node.

Bus Scaling Data:
- qcom,msm-bus,name:		String property describing MDSS client.
- qcom, msm-bus,num-cases:	This is the number of bus scaling use cases
				defined in the vectors property. This must be
				set to <2> for MDSS DSI driver where use-case 0
				is used to remove BW votes from the system. Use
				case 1 is used to generate bandwidth requestes
				when sending command packets.
- qcom,msm-bus,num-paths:	This represents number of paths in each bus
				scaling usecase. This value depends on number of
				AXI master ports dedicated to MDSS for
				particular chipset.
- qcom,msm-bus,vectors-KBps:	A series of 4 cell properties, with a format
				of (src, dst, ab, ib) which is defined at
				Documentation/devicetree/bindings/arm/msm/msm_bus.txt.
				DSI driver should always set average bandwidth
				(ab) to 0 and always use instantaneous
				bandwidth(ib) values.

Optional properties:
- vcca-supply:				Phandle for vcca regulator device node.
- qcom,<type>-supply-entries:		A node that lists the elements of the supply used by the
					a particular "type" of DSI modulee. The module "types"
					can be "core", "ctrl", and "phy". Within the same type,
					there can be more than one instance of this binding,
					in which case the entry would be appended with the
					supply entry index.
					e.g. qcom,ctrl-supply-entry@0
					-- qcom,supply-name: name of the supply (vdd/vdda/vddio)
					-- qcom,supply-min-voltage: minimum voltage level (uV)
					-- qcom,supply-max-voltage: maximum voltage level (uV)
					-- qcom,supply-enable-load: load drawn (uA) from enabled supply
					-- qcom,supply-disable-load: load drawn (uA) from disabled supply
					-- qcom,supply-ulp-load: load drawn (uA) from supply in ultra-low power mode
					-- qcom,supply-pre-on-sleep: time to sleep (ms) before turning on
					-- qcom,supply-post-on-sleep: time to sleep (ms) after turning on
					-- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off
					-- qcom,supply-post-off-sleep: time to sleep (ms) after turning off
- pll-src-config			Specified the source PLL for the DSI
					link clocks:
					"PLL0" - Clocks sourced out of DSI PLL0
					"PLL1" - Clocks sourced out of DSI PLL1
					This property is only valid for
					certain DSI hardware configurations
					mentioned in the "hw-config" binding above.
					For example, in split_dsi config, the clocks can
					only be sourced out of PLL0. For
					dual_dsi, both PLL would be active.
					For single DSI, it is possible to
					select either PLL. If no value is specified,
					the default value for single DSI is set as PLL0.
- qcom,mmss-ulp-clamp-ctrl-offset:	Specifies the offset for dsi ulps clamp control register.
- qcom,mmss-phyreset-ctrl-offset:	Specifies the offset for dsi phy reset control register.
- qcom,dsi-clk-ln-recovery:		Boolean which enables the clk lane recovery

mdss-dsi-ctrl is a dsi controller device which is treated as a subnode of the mdss-dsi device.

Required properties:
- compatible:				Must be "qcom,mdss-dsi-ctrl"
- cell-index:				Specifies the controller used among the two controllers.
- reg: 					Base address and length of the different register
					regions(s) required for DSI device functionality.
- reg-names: 				A list of strings that map in order to the list of regs.
					"dsi_ctrl" - MDSS DSI controller register region
					"dsi_phy" - MDSS DSI PHY register region
					"dsi_phy_regulator" - MDSS DSI PHY REGULATOR region
					"mmss_misc_phys" - Register region for MMSS DSI clamps
- vdd-supply:				Phandle for vdd regulator device node.
- vddio-supply:				Phandle for vdd-io regulator device node.
- qcom,mdss-fb-map-prim:		pHandle that specifies the framebuffer to which the
					primary interface is mapped.
- qcom,mdss-mdp:			pHandle that specifies the mdss-mdp device.
- qcom,platform-regulator-settings:	An array of length 7 or 5 that specifies the PHY
					regulator settings. It use 5 bytes for 8996 pll.
- qcom,platform-strength-ctrl:		An array of length 2 or 10 that specifies the PHY
					strengthCtrl settings. It use 10 bytes for 8996 pll.
- qcom,platform-lane-config:		An array of length 45 or 20 that specifies the PHY
					lane configuration settings. It use 20 bytes for 8996 pll.
- qcom,platform-bist-ctrl:		An array of length 6 that specifies the PHY
					BIST ctrl settings.
- qcom,dsi-pref-prim-pan:		phandle that specifies the primary panel to be used
					with the controller.

Optional properties:
- label:		        	A string used to describe the controller used.
- qcom,mdss-fb-map:			pHandle that specifies the framebuffer to which the
					interface is mapped.
- qcom,mdss-fb-map-sec:			pHandle that specifies the framebuffer to which the
					secondary interface is mapped.
- qcom,platform-enable-gpio:		Specifies the panel lcd/display enable gpio.
- qcom,platform-reset-gpio:		Specifies the panel reset gpio.
- qcom,platform-te-gpio:		Specifies the gpio used for TE.
- qcom,platform-bklight-en-gpio:	Specifies the gpio used to enable display back-light
- qcom,platform-mode-gpio:		Select video/command mode of panel through gpio when it supports
					both modes.
- qcom,platform-intf-mux-gpio:		Select dsi/external(hdmi) interface through gpio when it supports
					either dsi or external interface.
- pinctrl-names:			List of names to assign mdss pin states defined in pinctrl device node
					Refer to pinctrl-bindings.txt
- pinctrl-<0..n>:			Lists phandles each pointing to the pin configuration node within a pin
					controller. These pin configurations are installed in the pinctrl
					device node. Refer to pinctrl-bindings.txt
- qcom,regulator-ldo-mode:		Boolean to enable ldo mode for the dsi phy regulator
- qcom,null-insertion-enabled:		Boolean to enable NULL packet insertion
					feature for DSI controller.
- qcom,dsi-irq-line:			Boolean specifies if DSI has a different irq line than mdp.
- qcom,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,pluggable			Boolean to enable hotplug feature.
- qcom,timing-db-mode:			Boolean specifies dsi timing mode registers are supported or not.
- qcom,display-id			A string indicates the display ID for the controller.
					The possible values are:
					- "primary"
					- "secondary"
					- "tertiary"
- qcom,bridge-index:			Instance id of the bridge chip connected to DSI. qcom,bridge-index is
					required if a bridge chip panel is used.

Example:
	mdss_dsi: qcom,mdss_dsi@0 {
		compatible = "qcom,mdss-dsi";
		hw-config = "single_dsi";
		pll-src-config = "PLL0";
		#address-cells = <1>;
		#size-cells = <1>;
		vdda-supply = <&pm8226_l4>;
		vcca-supply = <&pm8226_l28>;
		reg = <0x1a98000 0x1a98000 0x25c
		      0x1a98500 0x1a98500 0x280
		      0x1a98780 0x1a98780 0x30
		      0x193e000 0x193e000 0x30>;

		qcom,dsi-clk-ln-recovery;

		qcom,core-supply-entries {
			#address-cells = <1>;
			#size-cells = <0>;

			qcom,core-supply-entry@0 {
				reg = <0>;
				qcom,supply-name = "gdsc";
				qcom,supply-min-voltage = <0>;
				qcom,supply-max-voltage = <0>;
				qcom,supply-enable-load = <0>;
				qcom,supply-disable-load = <0>;
				qcom,supply-ulp-load = <0>;
				qcom,supply-pre-on-sleep = <0>;
				qcom,supply-post-on-sleep = <0>;
				qcom,supply-pre-off-sleep = <0>;
				qcom,supply-post-off-sleep = <0>;
			};
		};

		qcom,phy-supply-entries {
			#address-cells = <1>;
			#size-cells = <0>;

			qcom,phy-supply-entry@0 {
				reg = <0>;
				qcom,supply-name = "vddio";
				qcom,supply-min-voltage = <1800000>;
				qcom,supply-max-voltage = <1800000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-disable-load = <100>;
				qcom,supply-ulp-load = <100>;
				qcom,supply-pre-on-sleep = <0>;
				qcom,supply-post-on-sleep = <20>;
				qcom,supply-pre-off-sleep = <0>;
				qcom,supply-post-off-sleep = <0>;
			};
		};

		qcom,ctrl-supply-entries {
			#address-cells = <1>;
			#size-cells = <0>;

			qcom,ctrl-supply-entry@0 {
				reg = <0>;
				qcom,supply-name = "vdda";
				qcom,supply-min-voltage = <1200000>;
				qcom,supply-max-voltage = <1200000>;
				qcom,supply-enable-load = <100000>;
				qcom,supply-disable-load = <100>;
				qcom,supply-ulp-load = <1000>;
				qcom,supply-pre-on-sleep = <0>;
				qcom,supply-post-on-sleep = <20>;
				qcom,supply-pre-off-sleep = <0>;
				qcom,supply-post-off-sleep = <0>;
			};
		};

		mdss_dsi0: mdss_dsi_ctrl0@fd922800 {
			compatible = "qcom,mdss-dsi-ctrl";
			label = "MDSS DSI CTRL->0";
			cell-index = <0>;
			reg = 	<0xfd922800 0x1f8>,
				<0xfd922b00 0x2b0>,
				<0xfd998780 0x30>,
				<0xfd828000 0x108>;
			reg-names = "dsi_ctrl", "dsi_phy",
				"dsi_phy_regulator", "mmss_misc_phys";

			vdd-supply = <&pm8226_l15>;
			vddio-supply = <&pm8226_l8>;
			qcom,mdss-fb-map-prim = <&mdss_fb0>;
			qcom,mdss-mdp = <&mdss_mdp>;

			qcom,dsi-pref-prim-pan = <&dsi_tosh_720_vid>;

			qcom,platform-strength-ctrl = [ff 06];
			qcom,platform-bist-ctrl = [00 00 b1 ff 00 00];
			qcom,platform-regulator-settings = [07 09 03 00 20 00 01];
			qcom,platform-lane-config = [00 00 00 00 00 00 00 01 97
				00 00 00 00 05 00 00 01 97
				00 00 00 00 0a 00 00 01 97
				00 00 00 00 0f 00 00 01 97
				00 c0 00 00 00 00 00 01 bb];

			qcom,mmss-ulp-clamp-ctrl-offset = <0x20>;
			qcom,mmss-phyreset-ctrl-offset = <0x24>;
			qcom,regulator-ldo-mode;
			qcom,null-insertion-enabled;
			qcom,timing-db-mode;

			pinctrl-names = "mdss_default", "mdss_sleep";
			pinctrl-0 = <&mdss_dsi_active>;
			pinctrl-1 = <&mdss_dsi_suspend>;
			qcom,platform-reset-gpio = <&msmgpio 25 1>;
			qcom,platform-te-gpio = <&msmgpio 24 0>;
			qcom,platform-enable-gpio = <&msmgpio 58 1>;
			qcom,platform-bklight-en-gpio = <&msmgpio 86 0>;
			qcom,platform-mode-gpio = <&msmgpio 7 0>;
			qcom,platform-intf-mux-gpio = <&tlmm 115 0>;
			qcom,dsi-irq-line;
			qcom,lane-map = "lane_map_3012";
			qcom,display-id = "primary";
			qcom,bridge-index = <00>;
	        };
	};
+52 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading