1b30d8cf5SMaxime Ripard# SPDX-License-Identifier: GPL-2.0 2b30d8cf5SMaxime Ripard%YAML 1.2 3b30d8cf5SMaxime Ripard--- 4b30d8cf5SMaxime Ripard$id: http://devicetree.org/schemas/opp/allwinner,sun50i-h6-operating-points.yaml# 5b30d8cf5SMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml# 6b30d8cf5SMaxime Ripard 7dd3cb467SAndrew Lunntitle: Allwinner H6 CPU OPP 8b30d8cf5SMaxime Ripard 9b30d8cf5SMaxime Ripardmaintainers: 10b30d8cf5SMaxime Ripard - Chen-Yu Tsai <wens@csie.org> 11b30d8cf5SMaxime Ripard - Maxime Ripard <mripard@kernel.org> 12b30d8cf5SMaxime Ripard 13b30d8cf5SMaxime Riparddescription: | 14b30d8cf5SMaxime Ripard For some SoCs, the CPU frequency subset and voltage value of each 15b30d8cf5SMaxime Ripard OPP varies based on the silicon variant in use. Allwinner Process 16b30d8cf5SMaxime Ripard Voltage Scaling Tables defines the voltage and frequency value based 17b30d8cf5SMaxime Ripard on the speedbin blown in the efuse combination. The 18b30d8cf5SMaxime Ripard sun50i-cpufreq-nvmem driver reads the efuse value from the SoC to 19b30d8cf5SMaxime Ripard provide the OPP framework with required information. 20b30d8cf5SMaxime Ripard 2194274f20SRob HerringallOf: 2294274f20SRob Herring - $ref: opp-v2-base.yaml# 2394274f20SRob Herring 24b30d8cf5SMaxime Ripardproperties: 25b30d8cf5SMaxime Ripard compatible: 26b30d8cf5SMaxime Ripard const: allwinner,sun50i-h6-operating-points 27b30d8cf5SMaxime Ripard 28b30d8cf5SMaxime Ripard nvmem-cells: 29b30d8cf5SMaxime Ripard description: | 30b30d8cf5SMaxime Ripard A phandle pointing to a nvmem-cells node representing the efuse 31b30d8cf5SMaxime Ripard registers that has information about the speedbin that is used 32b30d8cf5SMaxime Ripard to select the right frequency/voltage value pair. Please refer 33b30d8cf5SMaxime Ripard the for nvmem-cells bindings 34b30d8cf5SMaxime Ripard Documentation/devicetree/bindings/nvmem/nvmem.txt and also 35b30d8cf5SMaxime Ripard examples below. 36b30d8cf5SMaxime Ripard 374828556dSRob Herring opp-shared: true 384828556dSRob Herring 39b30d8cf5SMaxime Ripardrequired: 40b30d8cf5SMaxime Ripard - compatible 41b30d8cf5SMaxime Ripard - nvmem-cells 42b30d8cf5SMaxime Ripard 43b30d8cf5SMaxime RipardpatternProperties: 44*7621aabdSRob Herring "^opp-[0-9]+$": 45b30d8cf5SMaxime Ripard type: object 46b30d8cf5SMaxime Ripard 47b30d8cf5SMaxime Ripard properties: 48b30d8cf5SMaxime Ripard opp-hz: true 4994274f20SRob Herring clock-latency-ns: true 50b30d8cf5SMaxime Ripard 51b30d8cf5SMaxime Ripard patternProperties: 52*7621aabdSRob Herring "^opp-microvolt-speed[0-9]$": true 53b30d8cf5SMaxime Ripard 54b30d8cf5SMaxime Ripard required: 55b30d8cf5SMaxime Ripard - opp-hz 56b30d8cf5SMaxime Ripard - opp-microvolt-speed0 57b30d8cf5SMaxime Ripard - opp-microvolt-speed1 58b30d8cf5SMaxime Ripard - opp-microvolt-speed2 59b30d8cf5SMaxime Ripard 60b30d8cf5SMaxime Ripard unevaluatedProperties: false 61b30d8cf5SMaxime Ripard 624828556dSRob HerringadditionalProperties: false 63b30d8cf5SMaxime Ripard 64b30d8cf5SMaxime Ripardexamples: 65b30d8cf5SMaxime Ripard - | 66b30d8cf5SMaxime Ripard cpu_opp_table: opp-table { 67b30d8cf5SMaxime Ripard compatible = "allwinner,sun50i-h6-operating-points"; 68b30d8cf5SMaxime Ripard nvmem-cells = <&speedbin_efuse>; 69b30d8cf5SMaxime Ripard opp-shared; 70b30d8cf5SMaxime Ripard 71b30d8cf5SMaxime Ripard opp-480000000 { 72b30d8cf5SMaxime Ripard clock-latency-ns = <244144>; /* 8 32k periods */ 73b30d8cf5SMaxime Ripard opp-hz = /bits/ 64 <480000000>; 74b30d8cf5SMaxime Ripard 75b30d8cf5SMaxime Ripard opp-microvolt-speed0 = <880000>; 76b30d8cf5SMaxime Ripard opp-microvolt-speed1 = <820000>; 77b30d8cf5SMaxime Ripard opp-microvolt-speed2 = <800000>; 78b30d8cf5SMaxime Ripard }; 79b30d8cf5SMaxime Ripard 80b30d8cf5SMaxime Ripard opp-720000000 { 81b30d8cf5SMaxime Ripard clock-latency-ns = <244144>; /* 8 32k periods */ 82b30d8cf5SMaxime Ripard opp-hz = /bits/ 64 <720000000>; 83b30d8cf5SMaxime Ripard 84b30d8cf5SMaxime Ripard opp-microvolt-speed0 = <880000>; 85b30d8cf5SMaxime Ripard opp-microvolt-speed1 = <820000>; 86b30d8cf5SMaxime Ripard opp-microvolt-speed2 = <800000>; 87b30d8cf5SMaxime Ripard }; 88b30d8cf5SMaxime Ripard 89b30d8cf5SMaxime Ripard opp-816000000 { 90b30d8cf5SMaxime Ripard clock-latency-ns = <244144>; /* 8 32k periods */ 91b30d8cf5SMaxime Ripard opp-hz = /bits/ 64 <816000000>; 92b30d8cf5SMaxime Ripard 93b30d8cf5SMaxime Ripard opp-microvolt-speed0 = <880000>; 94b30d8cf5SMaxime Ripard opp-microvolt-speed1 = <820000>; 95b30d8cf5SMaxime Ripard opp-microvolt-speed2 = <800000>; 96b30d8cf5SMaxime Ripard }; 97b30d8cf5SMaxime Ripard 98b30d8cf5SMaxime Ripard opp-888000000 { 99b30d8cf5SMaxime Ripard clock-latency-ns = <244144>; /* 8 32k periods */ 100b30d8cf5SMaxime Ripard opp-hz = /bits/ 64 <888000000>; 101b30d8cf5SMaxime Ripard 102b30d8cf5SMaxime Ripard opp-microvolt-speed0 = <940000>; 103b30d8cf5SMaxime Ripard opp-microvolt-speed1 = <820000>; 104b30d8cf5SMaxime Ripard opp-microvolt-speed2 = <800000>; 105b30d8cf5SMaxime Ripard }; 106b30d8cf5SMaxime Ripard 107b30d8cf5SMaxime Ripard opp-1080000000 { 108b30d8cf5SMaxime Ripard clock-latency-ns = <244144>; /* 8 32k periods */ 109b30d8cf5SMaxime Ripard opp-hz = /bits/ 64 <1080000000>; 110b30d8cf5SMaxime Ripard 111b30d8cf5SMaxime Ripard opp-microvolt-speed0 = <1060000>; 112b30d8cf5SMaxime Ripard opp-microvolt-speed1 = <880000>; 113b30d8cf5SMaxime Ripard opp-microvolt-speed2 = <840000>; 114b30d8cf5SMaxime Ripard }; 115b30d8cf5SMaxime Ripard 116b30d8cf5SMaxime Ripard opp-1320000000 { 117b30d8cf5SMaxime Ripard clock-latency-ns = <244144>; /* 8 32k periods */ 118b30d8cf5SMaxime Ripard opp-hz = /bits/ 64 <1320000000>; 119b30d8cf5SMaxime Ripard 120b30d8cf5SMaxime Ripard opp-microvolt-speed0 = <1160000>; 121b30d8cf5SMaxime Ripard opp-microvolt-speed1 = <940000>; 122b30d8cf5SMaxime Ripard opp-microvolt-speed2 = <900000>; 123b30d8cf5SMaxime Ripard }; 124b30d8cf5SMaxime Ripard 125b30d8cf5SMaxime Ripard opp-1488000000 { 126b30d8cf5SMaxime Ripard clock-latency-ns = <244144>; /* 8 32k periods */ 127b30d8cf5SMaxime Ripard opp-hz = /bits/ 64 <1488000000>; 128b30d8cf5SMaxime Ripard 129b30d8cf5SMaxime Ripard opp-microvolt-speed0 = <1160000>; 130b30d8cf5SMaxime Ripard opp-microvolt-speed1 = <1000000>; 131b30d8cf5SMaxime Ripard opp-microvolt-speed2 = <960000>; 132b30d8cf5SMaxime Ripard }; 133b30d8cf5SMaxime Ripard }; 134b30d8cf5SMaxime Ripard 135b30d8cf5SMaxime Ripard... 136