Broadcom Block Power Control Module (BPCM) Driver

The Block Power Control Modules (BPCM) are sub-blocks within various functional
blocks in the SoC that provide a common register interface for controlling the
power state of the hardware block. A BPCM includes one or more power zones that
are used to manipulate the power to variosu parts ofthe hardware block. The
power control features offered by each block vary but can include: clock
scaling, power on/off, etc.

Required properties:

- compatible:
    Must be "brcm,bpcm"

- reg:
    Defines the PMB bus address of the BPCM device.

- dev-name:
    A string human-readable name for the BPCM device. Typically the name of
    the major block containing the BPCM is used.

- zones:
    The # of power control zones in the BPCM.

- boot-on:
    Indicates that the block power should be turned on (all zones) when
    the BPCM device is probed.

Example:

	pmb@0xd3c03100 {
		compatible = "brcm,pmb";
		reg = <0 0xd3c03100 0 0x50000>;
		#address-cells = <0>;
		#size-cells = <1>;
		direct-access;

		pbcm@0x7 {
			compatible = "brcm,bpcm";
			reg = <0x7>;
			dev-name = "bpcm-fpm";
			zones = <1>;
			boot-on;
		};

		pbcm@0x8 {
			compatible = "brcm,bpcm";
			reg = <0x8>;
			dev-name = "bpcm-cpuc";
			zones = <1>;
			boot-on;
		};

		pbcm@0xb {
			compatible = "brcm,bpcm";
			reg = <0xb>;
			dev-name = "bpcm-unimac";
			zones = <1>;
			boot-on;
		};
	};

	pmb@0xf10b0f00 {
		compatible = "brcm,pmb";
		reg = <0 0xf10b0f00 0 0x10>;
		#address-cells = <0>;
		#size-cells = <1>;
		version=<2>;

		pbcm@0x0 {
			compatible = "brcm,bpcm";
			reg = <0x0>;
			dev-name = "bpcm-rdp";
			zones = <2>;
			boot-on;
		};
	};
