Qualcomm Technologies, Inc. SDE RSC

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

Required properties
- compatible:			"qcom,sde-rsc"
				"qcom,sde-rsc-rpmh"
- 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>;
		};
	};
