blob: 3af5629ca4670a1a821389ef0e4f56f7fb071622 [file] [log] [blame]
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>;
};
};