Broadcom AVS mail box and interrupt register bindings
=====================================================

A total of three DT nodes are required. One node (brcm,avs-cpu-data-mem)
references the mailbox register used to communicate with the AVS CPU[1]. 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 a driver. Interrupting the AVS CPU is mandatory for
commands to be processed.

The interface also requires a reference to the AVS host interrupt controller,
so a driver can react to interrupts generated by the AVS CPU whenever a command
has been processed. See [2] for more information on the brcm,l2-intc node.

[1] The AVS CPU is an independent co-processor that runs proprietary
firmware. On some SoCs, this firmware supports DFS and DVFS in addition to
Adaptive Voltage Scaling.

[2] Documentation/devicetree/bindings/interrupt-controller/brcm,l2-intc.yaml


Node brcm,avs-cpu-data-mem
--------------------------

Required properties:
- compatible: must include: brcm,avs-cpu-data-mem and
              should include: one of brcm,bcm7271-avs-cpu-data-mem or
                              brcm,bcm7268-avs-cpu-data-mem
- reg: Specifies base physical address and size of the registers.
- interrupts: The interrupt that the AVS CPU will use to interrupt the host
              when a command completed.
- interrupt-names: The name of the interrupt used to interrupt the host.

Optional properties:
- None

Node brcm,avs-cpu-l2-intr
-------------------------

Required properties:
- compatible: must include: brcm,avs-cpu-l2-intr and
              should include: one of brcm,bcm7271-avs-cpu-l2-intr or
                              brcm,bcm7268-avs-cpu-l2-intr
- reg: Specifies base physical address and size of the registers.

Optional properties:
- None


Example
=======

	avs_host_l2_intc: interrupt-controller@f04d1200 {
		#interrupt-cells = <1>;
		compatible = "brcm,l2-intc";
		interrupt-parent = <&intc>;
		reg = <0xf04d1200 0x48>;
		interrupt-controller;
		interrupts = <0x0 0x19 0x0>;
		interrupt-names = "avs";
	};

	avs-cpu-data-mem@f04c4000 {
		compatible = "brcm,bcm7271-avs-cpu-data-mem",
				"brcm,avs-cpu-data-mem";
		reg = <0xf04c4000 0x60>;
		interrupts = <0x1a>;
		interrupt-parent = <&avs_host_l2_intc>;
		interrupt-names = "sw_intr";
	};

	avs-cpu-l2-intr@f04d1100 {
		compatible = "brcm,bcm7271-avs-cpu-l2-intr",
				"brcm,avs-cpu-l2-intr";
		reg = <0xf04d1100 0x10>;
	};
