Generic SYSCON mapped register reset driver

This is a generic reset driver using syscon to map the reset register.
The reset is generally performed with a write to the reset register
defined by the register map pointed by syscon reference plus the offset and
shifted by the reset specifier/

To assert a reset on some device, the equivalent of the following operation is
performed, where reset_id is the reset specifier from the device's resets
property.

	if (BIT(reset_id) & mask)
		regmap[offset][reset_id] = assert-high;

Required properties:
- compatible: should contain "syscon-reset"
- #reset-cells: must be 1
- regmap: this is phandle to the register map node
- offset: offset in the register map for the reboot register (in bytes)

Optional properties:
- mask: accept only the reset specifiers defined by the mask (32 bit)
- assert-high: Bit to write when asserting a reset. Defaults to 1.

Default will be little endian mode, 32 bit access only.

Example:

	reset-controller {
		compatible = "syscon-reset";
		#reset-cells = <1>;
		regmap = <&sysctl>;
		offset = <0x20>;
		mask = <0x27FFFFFF>;
		assert-high = <0>;
	};
