regulator: ti-abb: Add support for interleaved LDO registers

Certain platforms such as DRA7 have quirky memory maps such as:
PRM_ABBLDO_DSPEVE_CTRL	0x4ae07e20
PRM_ABBLDO_IVA_CTRL	0x4ae07e24
other-registers
PRM_ABBLDO_DSPEVE_SETUP	0x4ae07e30
PRM_ABBLDO_IVA_SETUP	0x4ae07e34

These need the address range allocation to be either not reserved OR
unique allocation per register instance or use something like syscon
based solution.

By going with unique allocation per register, we are able to now have
a single compatible driver for all instances on all platforms which
use the IP block.

So, introduce a new "ti,abb-v3" compatible to allow for definitions
where explicit register definitions are provided, while maintaining
backward compatibility of older predefined register offsets provided
by "ti-abb-v1" and "ti-abb-v2".

As part of this change, we rename a few variables to indicate the
appropriate meaning.

Signed-off-by: Nishanth Menon <nm@ti.com>
ARM: dts: OMAP36xx: Add device node for ABB

Add ABB device node for OMAP36xx family of devices. Data is based on
OMAP36XX Technical Reference Manual revision AB (Dec 2012).

[nm@ti.com: co-developer]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andrii.Tseglytskyi <andrii.tseglytskyi@ti.com>
ARM: dts: OMAP4: Add device nodes for ABB

Add ABB device nodes for OMAP443x family of devices. abb_iva is
populated, but disabled as it is not used on current OMAP443x family,
but the node is used on OMAP446x family. Data is based on OMAP443x
Technical Reference Manual revision AN (April 2013).

ABB device nodes for OMAP4460 device Data is based on OMAP4460
Technical Reference Manual revision Z (April 2013)

[nm@ti.com: co-developer]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andrii.Tseglytskyi <andrii.tseglytskyi@ti.com>
ARM: dts: OMAP5: Add device nodes for ABB

Add ABB device nodes for OMAP5 family of devices. Data is based on
OMAP543x Technical Reference Manual revision U (April 2013).
NOTE: clock node has been disabled in this patch due to the lack of
OMAP5 clock data.

[nm@ti.com: co-developer]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andrii.Tseglytskyi <andrii.tseglytskyi@ti.com>
ARM: dts: DRA7: Add device nodes for ABB

Add ABB device nodes for DRA7 family of devices. Data is based on
DRA7 Technical Reference Manual revision I (Sept 2013)

Signed-off-by: Nishanth Menon <nm@ti.com>
TESTING HACKHACK: add dummy virt-consumer for OMAP3/4/5

Set CONFIG_REGULATOR_VIRTUAL_CONSUMER=y to use

NOTE: It is good to verify by probing vdd(regular voltage supply as
close to the OMAP Ball - usually one of the cleanup capacitors) and
vbb (bias voltage capacitor) to ensure that the configurations are
correct.

Testing script:
run() {
	CONS=`ls -d $REG/reg-virt-consumer.*`
	if [ -z "$CONS" ]; then
		echo "$REG has no consumer"
		return
	fi
	for V in $VOLTS
	do
	    echo -n "$V">$CONS/min_microvolts
	    echo -n "$V">$CONS/max_microvolts
	    echo `cat $REG/name`": Tried $V, Voltage =" `cat $REG/microvolts`
	    # Only on platforms that omapconf supports (OMAP4+)
	    #omapconf show abb; omapconf dump abb
	    echo 'press enter'
	    read
	done
}

OMAP3630-Beagleboard:
REG=/sys/class/regulator/regulator.1/
VOLTS="
1012500
1200000
1325000
1375000
"
run

OMAP4430-SDP:
REG=/sys/class/regulator/regulator.3/
VOLTS="
1025000
1200000
1313000
1375000
1389000
"
run

OMAP4460-PandaBoard-ES:
REG=/sys/class/regulator/regulator.2/
VOLTS="
1025000
1200000
1313000
1375000
1389000
"
run

REG=/sys/class/regulator/regulator.3/
VOLTS="
950000
1140000
1291000
1375000
1376000
"
run

OMAP5-uEVM:
REG=/sys/class/regulator/regulator.2/
VOLTS="
880000
1060000
1250000
1260000
"
run

REG=/sys/class/regulator/regulator.3/
VOLTS="
880000
1025000
1120000
"
run

DRA7-evm:
REG=/sys/class/regulator/regulator.2
VOLTS="1060000
1160000
1210000
"
run

REG=/sys/class/regulator/regulator.3
VOLTS="
1055000
1150000
1250000
"
run

REG=/sys/class/regulator/regulator.4
VOLTS="
1055000
1150000
1250000
"
run

REG=/sys/class/regulator/regulator.5
VOLTS="
1090000
1210000
1280000

"
run

Signed-off-by: Nishanth Menon <nm@ti.com>