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

Commit 8c0eb36c authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Merge remote-tracking branch 'origin/dev/msm-3.18-drm_kms' into msm-3.18"

parents 1ab7633e 0947ccc2
Loading
Loading
Loading
Loading
+55 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc. SDE KMS

Snapdragon Display Engine implements Linux DRM/KMS APIs to drive user
interface to different panel interfaces. SDE driver is the core of
display subsystem which manage all data paths to different panel interfaces.

Required properties
- compatible: Must be "qcom,sde-kms"
- reg: Offset and length of the register set for the device.
- reg-names : Names to refer to register sets related to this device
- clocks: List of Phandles for clock device nodes
    needed by the device.
- clock-names: List of clock names needed by the device.
- mmagic-supply: Phandle for mmagic mdss supply regulator device node.
- vdd-supply: Phandle for vdd regulator device node.
- interrupt-parent: Must be core interrupt controller.
- interrupts: Interrupt associated with MDSS.
- interrupt-controller: Mark the device node as an interrupt controller.
- #interrupt-cells: Should be one. The first cell is interrupt number.
- iommus: Specifies the SID's used by this context bank.

Please refer to ../../interrupt-controller/interrupts.txt for a general
description of interrupt bindings.

Example:
	mdss_mdp: qcom,mdss_mdp@900000 {
		compatible = "qcom,sde-kms";
		reg = <0x00900000 0x90000>,
			<0x009b0000 0x1040>,
			<0x009b8000 0x1040>;
		reg-names = "mdp_phys",
				"vbif_phys",
				"vbif_nrt_phys";
		clocks = <&clock_mmss clk_mdss_ahb_clk>,
				<&clock_mmss clk_mdss_axi_clk>,
				<&clock_mmss clk_mdp_clk_src>,
				<&clock_mmss clk_mdss_mdp_vote_clk>,
				<&clock_mmss clk_smmu_mdp_axi_clk>,
				<&clock_mmss clk_mmagic_mdss_axi_clk>,
				<&clock_mmss clk_mdss_vsync_clk>;
		clock-names = "iface_clk",
				"bus_clk",
				"core_clk_src",
				"core_clk",
				"iommu_clk",
				"mmagic_clk",
				"vsync_clk";
		mmagic-supply = <&gdsc_mmagic_mdss>;
		vdd-supply = <&gdsc_mdss>;
		interrupt-parent = <&intc>;
		interrupts = <0 83 0>;
		interrupt-controller;
		#interrupt-cells = <1>;
		iommus = <&mdp_smmu 0>;
	};
+56 −0
Original line number Diff line number Diff line
Qualcomm Technologies,Inc. Adreno/Snapdragon hdmi display manager

Required properties:
- compatible: "qcom,hdmi-display"
- label: label of this display manager

Optional properties:
- qcom,display-type: display type of this manager. It could be "primary",
  "secondary", "tertiary", etc.
- qcom,non-pluggable: Indicate if display is non pluggable.
- qcom,customize-modes: Customized modes when it's non pluggable display.
- qcom,customize-mode-id: Customized mode node.
- qcom,mode-name: Mode name.
- qcom,mode-h-active: Mode horizontal active pixels.
- qcom,mode-h-front-porch: Mode horizontal front porch in pixels.
- qcom,mode-h-pulse-width: Mode horizontal sync width in pixels.
- qcom,mode-h-back-porch: Mode horizontal back porch in pixels.
- qcom,mode-h-active-high: If mode horizontal polarity is active high.
- qcom,mode-v-active: Mode virtical active lines.
- qcom,mode-v-front-porch: Mode virtical front porch in lines.
- qcom,mode-v-pulse-width: Mode virtical sync width in lines.
- qcom,mode-v-back-porch: Mode virtical back porch in lines.
- qcom,mode-v-active-high: If mode virtical polarity is active high.
- qcom,mode-refersh-rate: Mode refresh rate in hertz.
- qcom,mode-clock-in-khz: Mode pixel clock in KHz.

Example:

/ {
	...

	hdmi_display: qcom,hdmi-display {
		compatible = "qcom,hdmi-display";
		label = "hdmi_display";
		qcom,display-type = "secondary";
		qcom,non-pluggable;
		qcom,customize-modes {
			qcom,customize-mode-id@0 {
				qcom,mode-name = "3840x2160@30Hz";
				qcom,mode-h-active = <3840>;
				qcom,mode-h-front-porch = <176>;
				qcom,mode-h-pulse-width = <88>;
				qcom,mode-h-back-porch = <296>;
				qcom,mode-h-active-high;
				qcom,mode-v-active = <2160>;
				qcom,mode-v-front-porch = <8>;
				qcom,mode-v-pulse-width = <10>;
				qcom,mode-v-back-porch = <72>;
				qcom,mode-v-active-high;
				qcom,mode-refersh-rate = <30>;
				qcom,mode-clock-in-khz = <297000>;
			};
		};
	};

};
+1 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ Required properties:
- compatible: one of the following
   * "qcom,hdmi-tx-8660"
   * "qcom,hdmi-tx-8960"
   * "qcom,hdmi-tx-8996"
- reg: Physical base address and length of the controller's registers
- reg-names: "core_physical"
- interrupts: The interrupt signal from the hdmi block.
+26 −0
Original line number Diff line number Diff line
@@ -18,6 +18,15 @@ Required properties:

Optional properties:
- gpus: phandle for gpu device
- qcom,sde-plane-id-map: plane id mapping for virtual plane.
- qcom,sde-plane-id: each virtual plane mapping node.
- qcom,display-type: display type this plane is mapped to. It could be
 "primary", "secondary" and "tertiary".
- qcom,plane-name: plane name array for this virtual plane. It could be
 "rgb0", "rgb1", "rgb2", "rgb3", "vig0", "vig1", "vig2", "vig3", "dma0", "dma1",
 "dma2", "dma3", "cursor0", "cursor1".
- qcom,plane-type: virtual plane type. It could be "primary", "overlay",
 "cursor".

Example:

@@ -44,5 +53,22 @@ Example:
		    <&mmcc TV_SRC>,
		    <&mmcc HDMI_TV_CLK>,
		    <&mmcc MDP_TV_CLK>;
		qcom,sde-plane-id-map {
			qcom,sde-plane-id@0 {
				qcom,display-type = "primary";
				qcom,plane-name = "rgb0", "rgb1";
				qcom,plane-type = "primary";
			};
			qcom,sde-plane-id@1 {
				qcom,display-type = "primary";
				qcom,plane-name = "vig0", "vig1";
				qcom,plane-type = "overlay";
			};
			qcom,sde-plane-id@2 {
				qcom,display-type = "primary";
				qcom,plane-name = "cursor0", "cursor1";
				qcom,plane-type = "cursor";
			};
		};
	};
};
+82 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc.

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

DSI Controller:
Required properties:
- compatible:           Should be "qcom,dsi-ctrl-hw-v<version>". Supported
			versions include 1.4 and 2.0.
			eg: qcom,dsi-ctrl-hw-v1.4, qcom,dsi-ctrl-hw-v2.0
			And for dsi phy driver:
			qcom,dsi-phy-v1.0, qcom,dsi-phy-v2.0, qcom,dsi-phy-v3.0,
			qcom,dsi-phy-v4.0
			For display manager driver:
			qcom,dsi-display, qcom,hdmi-display, qcom,dp-display
- reg:                  Base address and length of DSI controller's memory
			mapped regions.
- reg-names:            A list of strings that name the list of regs.
			"dsi_ctrl" - DSI controller memory region.
			"mmss_misc" - MMSS misc memory region.
- cell-index:           Specifies the controller instance.
- clocks:               Clocks required for DSI controller operation.
- clock-names:          Names of the clocks corresponding to handles. Following
			clocks are required:
			"mdp_core_clk"
			"iface_clk"
			"core_mmss_clk"
			"bus_clk"
			"byte_clk"
			"pixel_clk"
			"core_clk"
			"byte_clk_rcg"
			"pixel_clk_rcg"
- gdsc-supply:		phandle to gdsc regulator node.
- vdda-supply:		phandle to vdda regulator node.
- vcca-supply:		phandle to vcca regulator node.
- interrupt-parent	phandle to the interrupt parent device node.
- interrupts:		The interrupt signal from the DSI block.

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:
- label:                  String to describe controller.
- qcom,platform-te-gpio:  Specifies the gpio used for TE.
- qcom,dsi-display-active: Current active display
- qcom,dsi-ctrl: handle to dsi controller device
- qcom,dsi-phy: handle to dsi phy device
- qcom,dsi-manager:       Specifies dsi manager is present
- qcom,display-manager:   Specifies display manager is present
- qcom,<type>-supply-entries:		A node that lists the elements of the supply used by the
					a particular "type" of DSI module. 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-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
Loading