arm/dts: batterydata: Add ED30 Sony

Add the ED30 Sony Battery Data and then setup the
the products to use the data that are capable of
getting the ED30 batteries.

Change-Id: I5353de17f1b57496261ddc1c8f5d5814ae310f6b
Signed-off-by: Kenny Kessler <kenny.kessler@motorola.com>
Reviewed-on: http://gerrit.mot.com/651461
Tested-by: Jira Key <jirakey@motorola.com>
Reviewed-by: Jason Knopsnyder <jasonk@motorola.com>
SLTApproved: Christopher Fries <cfries@motorola.com>
Submit-Approved: Jira Key <jirakey@motorola.com>
(cherry picked from commit fbc3ddb0e70536ce833705a3751c69cafd25e863)
arm/dts: batterydata: 0C for ED30 Sony

The Table is missing the 0 C row.  This prevents the
profile from loading correctly.

Change-Id: Ibdb778f371f1f294d6b43aaefadaf5a7ae91dda2
Signed-off-by: Kenny Kessler <kenny.kessler@motorola.com>
Reviewed-on: http://gerrit.mot.com/652679
Tested-by: Jira Key <jirakey@motorola.com>
Reviewed-by: Jason Knopsnyder <jasonk@motorola.com>
Submit-Approved: Jira Key <jirakey@motorola.com>
SLTApproved: Connie Zhao <czhao1@motorola.com>
(cherry picked from commit b34f42106b22dce7ea4fb6f225dbe2dbc6879d4d)
mmc: drive strength tuning

Implement a hook to allow a host to tune its interface when the driver
encounters a CRC error.  This can avoid an unnecessary throttle-back of
the bus speed if the error was due to impedance matching rather than bus
timing.

Change-Id: I87d1c7c4be9bae1c81325a162782c92a69161431
Signed-off-by: Russ Knize <Russ.Knize@motorola.com>
Reviewed-on: http://gerrit.mot.com/658199
Tested-by: Jira Key <jirakey@motorola.com>
SLTApproved: Christopher Fries <cfries@motorola.com>
Reviewed-by: Christopher Fries <cfries@motorola.com>
Submit-Approved: Jira Key <jirakey@motorola.com>
(cherry picked from commit 7df70b0e3613983b1eae802dcf8fc28cb9b80b9d)

Conflicts:
	include/linux/mmc/host.h
sdhci-msm: implement drive strength tuning

Implement a drive strength tuning hook that iterates through a list of
available drive strengths on each call.  Once the end of the list is
reached, return an error.  The list is provided via the device tree and
is currently only implemented for the CLK line.

Change-Id: Iec4a5e617ef6724d0c7a67d85ddfad256af3161d
Signed-off-by: Russ Knize <Russ.Knize@motorola.com>
Reviewed-on: http://gerrit.mot.com/658200
Tested-by: Jira Key <jirakey@motorola.com>
Reviewed-by: Christopher Fries <cfries@motorola.com>
SLTApproved: Christopher Fries <cfries@motorola.com>
Submit-Approved: Jira Key <jirakey@motorola.com>
(cherry picked from commit ee8978ccf1a93207692d483672b624d7795f2f79)
arm/dts: msm8926: SDC2 drive strength tuning

Add a list of drive strengths to try during the tuning process:
6mA, 8mA, and 4mA.

Change-Id: I24f16eadf74206698b2f56ba0058c37abe2e54f1
Signed-off-by: Russ Knize <Russ.Knize@motorola.com>
Reviewed-on: http://gerrit.mot.com/658201
Tested-by: Jira Key <jirakey@motorola.com>
SLTApproved: Christopher Fries <cfries@motorola.com>
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key <jirakey@motorola.com>
(cherry picked from commit 4bfc21918bba91b7c60ad9689af1993ce86718d2)
mmc: improve CRC error accounting

Keep a running total of CRC errors encountered so that transient
failures are accounted for when deciding whether or not to tune
or throttle back the interface.

Change-Id: I150e9e3eefccd97743a5e25fb914f2546de91cac
Signed-off-by: Russ Knize <Russ.Knize@motorola.com>