Re: [PATCH 1/3] dt: cpufreq: brcm: New binding document for brcm-avs-cpufreq

From: Rob Herring
Date: Tue Aug 16 2016 - 09:17:15 EST


On Fri, Aug 12, 2016 at 04:25:29PM -0700, Markus Mayer wrote:
> Add the binding document for the new brcm-avs-cpufreq driver.
>
> Signed-off-by: Markus Mayer <mmayer@xxxxxxxxxxxx>
> ---
> .../bindings/cpufreq/brcm-avs-cpufreq.txt | 84 ++++++++++++++++++++++
> MAINTAINERS | 7 ++
> 2 files changed, 91 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/cpufreq/brcm-avs-cpufreq.txt
>
> diff --git a/Documentation/devicetree/bindings/cpufreq/brcm-avs-cpufreq.txt b/Documentation/devicetree/bindings/cpufreq/brcm-avs-cpufreq.txt
> new file mode 100644
> index 0000000..707ebe5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/cpufreq/brcm-avs-cpufreq.txt
> @@ -0,0 +1,84 @@
> +Broadcom AVS CPUfreq driver
> +===========================
> +
> +This driver provides voltage and frequency scaling on Broadcom SoCs using

Bindings describe h/w (or firmware interfaces) not drivers. CPUFreq is a
Linux term. Please re-word.

> +the AVS firmware with DVFS support. The AVS firmware is running on its own
> +co-processor. The driver supports both uniprocessor (UP) and symmetric
> +multiprocessor (SMP) systems which share clock and voltage across all CPUs.
> +
> +Actual voltage and frequency scaling is done solely by the AVS firmware.
> +This driver does not change frequency or voltage itself. It provides a
> +standard CPUfreq interface to the rest of the kernel and to userland. It
> +interfaces with the AVS firmware to effect the requested changes and to
> +report back the current system status in a way that is expected by existing
> +tools.
> +
> +This driver requires two DT nodes. One node (brcm,avs-cpu-data-mem)
> +references the mailbox register used to communicate with the AVS CPU. The
> +second node (brcm,avs-cpu-l2-intr) is required to trigger an interrupt on
> +the AVS CPU. The interrupt tells the AVS CPU that it needs to process a
> +command sent to it by this driver. Interrupting the AVS CPU is mandatory for
> +commands to be processed.

The mailbox and interrupt to the AVS CPU are only for DVFS?