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

Commit 4e38a206 authored by Steve Cohen's avatar Steve Cohen
Browse files

drm/msm: Add snapshot of SDE and supporting drivers



Snapshot of SDE driver.  This includes DRM SDE, DP, and DSI drivers,
v4l2 rotator driver, and clk driver for display plls.  Upstream changes
to drm/msm have been merged but require further fixes and validation
before enabling this driver.  Snapshot was taken from msm-4.9 as of:
commit f54b6540b397 ("wil6210: add proper locking in cfg suspend")

Change-Id: Ied16c0c33d1321c96f080bc7dafe0ab302657861
Signed-off-by: default avatarSteve Cohen <cohens@codeaurora.org>
parent b2e799c3
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -107,6 +107,20 @@ Required properties:
Optional properties:
- qcom,dsi-phy-regulator-ldo-mode: Boolean value indicating if the LDO mode PHY
  regulator is wanted.
- qcom,mdss-mdp-transfer-time-us:	Specifies the dsi transfer time for command mode
					panels in microseconds. Driver uses this number to adjust
					the clock rate according to the expected transfer time.
					Increasing this value would slow down the mdp processing
					and can result in slower performance.
					Decreasing this value can speed up the mdp processing,
					but this can also impact power consumption.
					As a rule this time should not be higher than the time
					that would be expected with the processing at the
					dsi link rate since anyways this would be the maximum
					transfer time that could be achieved.
					If ping pong split is enabled, this time should not be higher
					than two times the dsi link rate time.
					If the property is not specified, then the default value is 14000 us.

[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
[2] Documentation/devicetree/bindings/graph.txt
@@ -157,6 +171,8 @@ Example:
		qcom,master-dsi;
		qcom,sync-dual-dsi;

		qcom,mdss-mdp-transfer-time-us = <12000>;

		pinctrl-names = "default", "sleep";
		pinctrl-0 = <&dsi_active>;
		pinctrl-1 = <&dsi_suspend>;
+96 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc. SDE RSC

Snapdragon Display Engine implements display rsc to driver
display core to different modes for power saving

Required properties
- compatible:			Must be "qcom,sde-rsc"
- reg:				Offset and length of the register set for
				the device.
- reg-names:			Names to refer to register sets related
				to this device

Optional properties:
- clocks:			List of phandles for clock device nodes
				needed by the device.
- clock-names:			List of clock names needed by the device.
- vdd-supply:			phandle for vdd regulator device node.
- qcom,sde-rsc-version:		U32 property represents the rsc version. It helps to
				select correct sequence for sde rsc based on version.
- qcom,sde-dram-channels:	U32 property represents the number of channels in the
				Bus memory controller.
- qcom,sde-num-nrt-paths:	U32 property represents the number of non-realtime
				paths in each Bus Scaling Usecase. This value depends on
				number of AXI ports that are dedicated to non-realtime VBIF
				for particular chipset.
				These paths must be defined after rt-paths in
				"qcom,msm-bus,vectors-KBps" vector request.

Bus Scaling Subnodes:
- qcom,sde-data-bus:		Property to provide Bus scaling for data bus access for
				sde blocks.
- qcom,sde-llcc-bus:		Property to provide Bus scaling for data bus access for
				mnoc to llcc.
- qcom,sde-ebi-bus:		Property to provide Bus scaling for data bus access for
				llcc to ebi.

Bus Scaling Data:
- qcom,msm-bus,name:		String property describing client name.
- qcom,msm-bus,active-only:	Boolean context flag for requests in active or
				dual (active & sleep) contex
- qcom,msm-bus,num-cases:	This is the number of Bus Scaling use cases
				defined in the vectors property.
- qcom,msm-bus,num-paths:	This represents the number of paths in each
				Bus Scaling Usecase.
- 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
				* Current values of src & dst are defined at
				include/linux/msm-bus-board.h
Example:
	sde_rscc {
		cell-index = <0>;
		compatible = "qcom,sde-rsc";
		reg = <0xaf20000 0x1c44>,
			<0xaf30000 0x3fd4>;
		reg-names = "drv", "wrapper";
		clocks = <&clock_mmss clk_mdss_ahb_clk>,
			<&clock_mmss clk_mdss_axi_clk>;
		clock-names = "iface_clk", "bus_clk";
		vdd-supply = <&gdsc_mdss>;

		qcom,sde-rsc-version = <1>;
		qcom,sde-dram-channels = <2>;
		qcom,sde-num-nrt-paths = <1>;

		qcom,sde-data-bus {
		      qcom,msm-bus,name = "sde_rsc";
		      qcom,msm-bus,active-only;
		      qcom,msm-bus,num-cases = <3>;
		      qcom,msm-bus,num-paths = <2>;
		      qcom,msm-bus,vectors-KBps =
		          <22 512 0 0>, <23 512 0 0>,
		          <22 512 0 6400000>, <23 512 0 6400000>,
		          <22 512 0 6400000>, <23 512 0 6400000>;
		};
		qcom,sde-llcc-bus {
			qcom,msm-bus,name = "sde_rsc_llcc";
			qcom,msm-bus,active-only;
			qcom,msm-bus,num-cases = <3>;
			qcom,msm-bus,num-paths = <1>;
			qcom,msm-bus,vectors-KBps =
			    <20001 20513 0 0>,
			    <20001 20513 0 6400000>,
			    <20001 20513 0 6400000>;
		};
		qcom,sde-ebi-bus {
			qcom,msm-bus,name = "sde_rsc_ebi";
			qcom,msm-bus,active-only;
			qcom,msm-bus,num-cases = <3>;
			qcom,msm-bus,num-paths = <1>;
			qcom,msm-bus,vectors-KBps =
			    <20000 20512 0 0>,
			    <20000 20512 0 6400000>,
			    <20000 20512 0 6400000>;
		};
	};
Loading