1*5f62a964SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*5f62a964SEmmanuel Vadot%YAML 1.2 3*5f62a964SEmmanuel Vadot--- 4*5f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/cpufreq/qemu,virtual-cpufreq.yaml# 5*5f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*5f62a964SEmmanuel Vadot 7*5f62a964SEmmanuel Vadottitle: Virtual CPUFreq 8*5f62a964SEmmanuel Vadot 9*5f62a964SEmmanuel Vadotmaintainers: 10*5f62a964SEmmanuel Vadot - David Dai <davidai@google.com> 11*5f62a964SEmmanuel Vadot - Saravana Kannan <saravanak@google.com> 12*5f62a964SEmmanuel Vadot 13*5f62a964SEmmanuel Vadotdescription: 14*5f62a964SEmmanuel Vadot Virtual CPUFreq is a virtualized driver in guest kernels that sends performance 15*5f62a964SEmmanuel Vadot selection of its vCPUs as a hint to the host through MMIO regions. Each vCPU 16*5f62a964SEmmanuel Vadot is associated with a performance domain which can be shared with other vCPUs. 17*5f62a964SEmmanuel Vadot Each performance domain has its own set of registers for performance controls. 18*5f62a964SEmmanuel Vadot 19*5f62a964SEmmanuel Vadotproperties: 20*5f62a964SEmmanuel Vadot compatible: 21*5f62a964SEmmanuel Vadot const: qemu,virtual-cpufreq 22*5f62a964SEmmanuel Vadot 23*5f62a964SEmmanuel Vadot reg: 24*5f62a964SEmmanuel Vadot maxItems: 1 25*5f62a964SEmmanuel Vadot description: 26*5f62a964SEmmanuel Vadot Address and size of region containing performance controls for each of the 27*5f62a964SEmmanuel Vadot performance domains. Regions for each performance domain is placed 28*5f62a964SEmmanuel Vadot contiguously and contain registers for controlling DVFS(Dynamic Frequency 29*5f62a964SEmmanuel Vadot and Voltage) characteristics. The size of the region is proportional to 30*5f62a964SEmmanuel Vadot total number of performance domains. 31*5f62a964SEmmanuel Vadot 32*5f62a964SEmmanuel Vadotrequired: 33*5f62a964SEmmanuel Vadot - compatible 34*5f62a964SEmmanuel Vadot - reg 35*5f62a964SEmmanuel Vadot 36*5f62a964SEmmanuel VadotadditionalProperties: false 37*5f62a964SEmmanuel Vadot 38*5f62a964SEmmanuel Vadotexamples: 39*5f62a964SEmmanuel Vadot - | 40*5f62a964SEmmanuel Vadot soc { 41*5f62a964SEmmanuel Vadot #address-cells = <1>; 42*5f62a964SEmmanuel Vadot #size-cells = <1>; 43*5f62a964SEmmanuel Vadot 44*5f62a964SEmmanuel Vadot cpufreq@1040000 { 45*5f62a964SEmmanuel Vadot compatible = "qemu,virtual-cpufreq"; 46*5f62a964SEmmanuel Vadot reg = <0x1040000 0x2000>; 47*5f62a964SEmmanuel Vadot }; 48*5f62a964SEmmanuel Vadot }; 49