ARM: dts: msm: Add VTCM details to cdsprm document

Add VTCM partitioning and VTCM map information to the
cdsprm rpmsg document in Lahaina. CDSPRM module sends
VTCM partition and map information on supported
chipsets to CDSP.

Change-Id: Ia0f272a4e6bb0e71bcfb6cfc210cc8daf6220184
This commit is contained in:
Bavyasritha Alahari 2020-05-15 10:01:45 +05:30
commit 1382884b0e

View file

@ -4,7 +4,8 @@ CDSP Request Manager driver implements an rpmsg interface with
CDSP subsystem to serve L3 frequency and CPU QoS requests from CDSP.
It also interacts with NPU, Camera modules for Cx iPeak mitigations and
thermal module via CDSP/HVX cooling devices for thermal mitigation of
CDSP core.
CDSP core. It sends VTCM partitioning information on supported chipsets
to CDSP.
Required properties:
- compatible: Must be "qcom,msm-cdsprm-rpmsg"
@ -12,13 +13,18 @@ Required properties:
- qcom,intents: A list of <number of intents, size of each intent>
- qcom,msm-cdsp-rm: A sub-device node to define CDSPM RM, Cx iPeak mitigation
driver and CDSP core thermal cooling device
driver, CDSP core thermal cooling device and CDSP VTCM partitioning
Required properties:
- compatible: Must be "qcom,msm-cdsp-rm"
- qcom,qos-latency-us: pm_qos latency vote to be applied on CDSP request in
micro seconds
- qcom,qos-maxhold-ms: Maximum hold time for pm_qos latency vote from CDSP
in milli seconds
Optional properties:
Cx iPeak limit management:
- qcom,compute-cx-limit-en: To enable CX ipeak limit management for compute
subsystem
- qcom,compute-priority-mode: when Cx iPeak mitigation is enabled,
@ -35,6 +41,41 @@ Required properties:
frequency than NPU during concurrency
4 : AIX_OVER_HVX - Allows NPU to run at a higher
frequency than HVX during concurrency
VTCM partitioning:
- qcom,vtcm-paritions: Number of VTCM partitions (maximum 16)
- qcom,vtcm-partition-info: Specifies the partitions, their sizes and
flags. Most importantly flags can be used to
set some partitions as privileged,
i.e. only available to privileged clients.
Currently VTCM_FLAG_PRIMARY(0x1), VTCM_FLAG_SECONDARY (0x2)and
VTCM_FLAG_PRIVILEGED(0x4) are the supported flags per partition
(only one per partition).
Size of each partition should be a multiple of 256KB.
Given 256KB is the minimum VTCM allocation size,
256K, 1M, 4M are supported page sizes.
Specifying a 3MB partition will allow maximum of 1MB page (3x).
Similarly, a 512KB partition will be of 256KB pages (2x).
PRIMARY and SECONDARY partitions are available to all the clients while
the PRIMARY partition is used by default. Partition selection is
controlled by the vtcm-partition-map information.
There must be only one PRIMARY partition.
Partitions must be defined with a linear partition index
starting with 0 till (Number of VTCM partitions - 1).
VTCM memory will be partitioned in the order provided
(0 being the first partition).
- qcom,vtcm-partition-map: Maps application type identifiers to
partitions. Clients use application type IDs to
request non-default partitions.
Application identifier is specified as a value [0 – 31]
in the device tree. The default application identifier
will be 0. Application identifier must be unique for each
partition map. Any unassigned application identifier
in the set of [0 – 31] will be mapped to the PRIMARY partition
and will return failure if there is no
PRIMARY partition configured.
Thermal cooling device:
- #cooling-cells: Number of cooling cells for CDSP cooling device based on
CDSP Q6 core clock throttling
@ -69,9 +110,19 @@ Example:
qcom,compute-cx-limit-en;
qcom,compute-priority-mode = <2>;
#cooling-cells = <2>;
qcom,vtcm-paritions = <4>;
qcom,vtcm-partition-info = < 0 2048 0x1 >,
< 1 1024 0x2 >,
< 2 512 0x4 >,
< 3 512 0x4 >;
qcom,vtcm-partition-map = < 0 0 >,
< 1 0 >,
< 2 1 >,
< 30 2 >,
< 31 3 >;
};
msm_hvx_rm: qcom,msm_hvx_rm {
msm_hvx_rm: qcom,msm_hvx_rm {
compatible = "qcom,msm-hvx-rm";
#cooling-cells = <2>;
};