Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/opp/allwinner,sun50i-h6-operating-points.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Allwinner H6 CPU OPP Device Tree Bindings
0008 
0009 maintainers:
0010   - Chen-Yu Tsai <wens@csie.org>
0011   - Maxime Ripard <mripard@kernel.org>
0012 
0013 description: |
0014   For some SoCs, the CPU frequency subset and voltage value of each
0015   OPP varies based on the silicon variant in use. Allwinner Process
0016   Voltage Scaling Tables defines the voltage and frequency value based
0017   on the speedbin blown in the efuse combination. The
0018   sun50i-cpufreq-nvmem driver reads the efuse value from the SoC to
0019   provide the OPP framework with required information.
0020 
0021 allOf:
0022   - $ref: opp-v2-base.yaml#
0023 
0024 properties:
0025   compatible:
0026     const: allwinner,sun50i-h6-operating-points
0027 
0028   nvmem-cells:
0029     description: |
0030       A phandle pointing to a nvmem-cells node representing the efuse
0031       registers that has information about the speedbin that is used
0032       to select the right frequency/voltage value pair. Please refer
0033       the for nvmem-cells bindings
0034       Documentation/devicetree/bindings/nvmem/nvmem.txt and also
0035       examples below.
0036 
0037   opp-shared: true
0038 
0039 required:
0040   - compatible
0041   - nvmem-cells
0042 
0043 patternProperties:
0044   "opp-[0-9]+":
0045     type: object
0046 
0047     properties:
0048       opp-hz: true
0049       clock-latency-ns: true
0050 
0051     patternProperties:
0052       "opp-microvolt-.*": true
0053 
0054     required:
0055       - opp-hz
0056       - opp-microvolt-speed0
0057       - opp-microvolt-speed1
0058       - opp-microvolt-speed2
0059 
0060     unevaluatedProperties: false
0061 
0062 additionalProperties: false
0063 
0064 examples:
0065   - |
0066     cpu_opp_table: opp-table {
0067         compatible = "allwinner,sun50i-h6-operating-points";
0068         nvmem-cells = <&speedbin_efuse>;
0069         opp-shared;
0070 
0071         opp-480000000 {
0072             clock-latency-ns = <244144>; /* 8 32k periods */
0073             opp-hz = /bits/ 64 <480000000>;
0074 
0075             opp-microvolt-speed0 = <880000>;
0076             opp-microvolt-speed1 = <820000>;
0077             opp-microvolt-speed2 = <800000>;
0078         };
0079 
0080         opp-720000000 {
0081             clock-latency-ns = <244144>; /* 8 32k periods */
0082             opp-hz = /bits/ 64 <720000000>;
0083 
0084             opp-microvolt-speed0 = <880000>;
0085             opp-microvolt-speed1 = <820000>;
0086             opp-microvolt-speed2 = <800000>;
0087         };
0088 
0089         opp-816000000 {
0090             clock-latency-ns = <244144>; /* 8 32k periods */
0091             opp-hz = /bits/ 64 <816000000>;
0092 
0093             opp-microvolt-speed0 = <880000>;
0094             opp-microvolt-speed1 = <820000>;
0095             opp-microvolt-speed2 = <800000>;
0096         };
0097 
0098         opp-888000000 {
0099             clock-latency-ns = <244144>; /* 8 32k periods */
0100             opp-hz = /bits/ 64 <888000000>;
0101 
0102             opp-microvolt-speed0 = <940000>;
0103             opp-microvolt-speed1 = <820000>;
0104             opp-microvolt-speed2 = <800000>;
0105         };
0106 
0107         opp-1080000000 {
0108             clock-latency-ns = <244144>; /* 8 32k periods */
0109             opp-hz = /bits/ 64 <1080000000>;
0110 
0111             opp-microvolt-speed0 = <1060000>;
0112             opp-microvolt-speed1 = <880000>;
0113             opp-microvolt-speed2 = <840000>;
0114         };
0115 
0116         opp-1320000000 {
0117             clock-latency-ns = <244144>; /* 8 32k periods */
0118             opp-hz = /bits/ 64 <1320000000>;
0119 
0120             opp-microvolt-speed0 = <1160000>;
0121             opp-microvolt-speed1 = <940000>;
0122             opp-microvolt-speed2 = <900000>;
0123         };
0124 
0125         opp-1488000000 {
0126             clock-latency-ns = <244144>; /* 8 32k periods */
0127             opp-hz = /bits/ 64 <1488000000>;
0128 
0129             opp-microvolt-speed0 = <1160000>;
0130             opp-microvolt-speed1 = <1000000>;
0131             opp-microvolt-speed2 = <960000>;
0132         };
0133     };
0134 
0135 ...