* TI Beaglebone DT Overlay Cape Driver

Required properties:

- compatible: "ti,bone-capemgr"

- eeprom: Contains the phandle beaglebone's baseboard i2c eeprom.

- baseboardmaps - node containing a list of supported
	beaglebone revisions; each node in should have the
	following properties:
	- board-name: The board name stored in the baseboard
		eeprom.
	- compatible-name: The name which will be used for
		matching compatible capes.

- slots: node containing a list of slot nodes (which in the beaglebone
	case correspond to I2C addresses for dynamically probed capes,
	or an override slot definition for hardcoded capes.
	- eeprom: Contains the phandle beaglebone's cape i2c eeprom.

	It is possible to define override slots that will be activated
	when the baseboard matches, and/or if supplied on the kernel command
	line and/or when dynamically requested on runtime.
	In that case the slot is marked with
	- ti,cape-override: Marks a slot override.
	- compatible: any of the "runtime", "kernel", or any compatible-name
	  on a matching baseboardmap node.
	- Any of the eeprom-format-revision, board-name, version, manufacturer,
	  part-number, number-of-pins, serial-number, pin-usage, vdd-3v3exp,
	  vdd-5v, sys-5v, dc-supplied properties which fill in the simulated
	  cape's EEPROM fields. The part-number field is required, the rest
	  are optional taking into default values.

- capemaps: node contains list of cape mappings, which allow converting
	from a part-number & version tuple to the filename of the dtbo file.
	- part-number: part number contained in the EEPROM
	- version node containing a
		- version: specific version to map to
		- dtbo: name of the dtbo file 

Example:
bone_capemgr {
	compatible = "ti,bone-capemgr";
	status = "okay";

	eeprom = <&baseboard_eeprom>;

	baseboardmaps {
		baseboard_beaglebone: board@0 {
			board-name = "A335BONE";
			compatible-name = "ti,beaglebone";
		};
	};

	slots {
		slot@0 {
			eeprom = <&cape_eeprom0>;
		};

		slot@1 {
			eeprom = <&cape_eeprom1>;
		};

		slot@2 {
			eeprom = <&cape_eeprom2>;
		};

		slot@3 {
			eeprom = <&cape_eeprom3>;
		};
	};

	/* mapping between board names and dtb objects */
	capemaps {
		/* Weather cape */
		cape@0 {
			part-number = "BB-BONE-WTHR-01";
			version@00A0 {
				version = "00A0";
				dtbo = "cape-bone-weather-00A0.dtbo";
			};
		};
	};
};

Example of the override syntax when used on a bone compatible foo board.

{
	...

	baseboardmaps {
		...
		baseboard_beaglebone: board@0 {
			board-name = "A335FOO";
			compatible-name = "ti,foo";
		};

		slot@6 {
			ti,cape-override;
			compatible = "ti,foo";
			board-name = "FOO-hardcoded";
			version = "00A0";
			manufacturer = "Texas Instruments";
			part-number = "BB-BONE-FOO-01";
		};
	};

};

Example of the same override syntax when used from the kernel command-line:

	capemgr.extra_override=FOO-hardcoded:00A0,FOO-another-hardcoded:00A0
