[RFC PATCH v2 2/2] dt-bindings: cpufreq: Document Krait CPU Cache scaling

Ansuel Smith
2020-08-07T23:49:40Z

Document dedicated Krait CPU Cache Scaling driver.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
.../bindings/cpufreq/krait-cache-scale.yaml | 92 +++++++++++++++++++
1 file changed, 92 insertions(+)
create mode 100644 Documentation/devicetree/bindings/cpufreq/krait-cache-scale.yaml

diff --git a/Documentation/devicetree/bindings/cpufreq/krait-cache-scale.yaml b/Documentation/devicetree/bindings/cpufreq/krait-cache-scale.yaml
new file mode 100644
index 000000000000..f10b1f386a99
--- /dev/null
+++ b/Documentation/devicetree/bindings/cpufreq/krait-cache-scale.yaml
@@ -0,0 +1,92 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/cpufreq/krait-cache-scale.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Krait Cpu Cache Frequency Scaling dedicated driver
+
+maintainers:
+ - Ansuel Smith <ansuelsmth@gmail.com>
+
+description: |
+ This Scale the Krait CPU Cache Frequency and optionally voltage
+ when the Cpu Frequency is changed (using the cpufreq notifier).
+
+ Cache is scaled with the max frequency across all core and the cache
+ frequency will scale based on the configured threshold in the dts.
+
+ The cache is hardcoded to 3 frequency bin, idle, nominal and high.
+
+properties:
+ compatible:
+ const: qcom,krait-cache
+
+ clocks:
+ description: Phandle to the L2 CPU clock
+
+ clock-names:
+ const: "l2"
+
+ voltage-tolerance:
+ description: Same voltage tollerance of the Krait CPU
+
+ l2-rates:
+ description: |
+ Frequency the L2 cache will be scaled at.
+ Value is in Hz.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ items:
+ - description: idle
+ - description: nominal
+ - description: high
+
+ l2-cpufreq:
+ description: |
+ Threshold used by the driver to scale the L2 cache.
+ If the max CPU Frequency is more than the set frequency,
+ the driver will transition to the next frequency bin.
+ Value is in kHz
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ items:
+ - description: idle
+ - description: nominal
+ - description: high
+
+ l2-volt:
+ description: |
+ Threshold used by the driver to scale the L2 cache.
+ If the max CPU Frequency is more than the set frequency,
+ the driver will transition to the next frequency bin.
+ Value is in microvolt.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ items:
+ - description: idle
+ - description: nominal
+ - description: high
+
+ l2-supply:
+ description: Phandle to the L2 regulator supply.
+
+required:
+ - compatible
+ - clocks
+ - clock-names
+ - voltage-tolerance
+ - l2-rates
+ - l2-cpufreq
+ - l2-supply
+ - l2-volt
+
+examples:
+ - |
+ qcom-krait-cache {
+ compatible = "qcom,krait-cache";
+ clocks = <&kraitcc 4>;
+ clock-names = "l2";
+ voltage-tolerance = <5>;
+ l2-rates = <384000000 1000000000 1200000000>;
+ l2-cpufreq = <384000 600000 1200000>;
+ l2-volt = <1100000 1100000 1150000>;
+ l2-supply = <&smb208_s1a>;
+ };
--
2.27.0