Apexq: USB OTG

This is a requirement for proper host/otg function.

Copied from jf kernel. Enabled for Apexq only.

d2 probably wants this as well, but needs to consider
the implications of it on their own.

Added a bit more jf code to filter out the otg control
of charging and power supply via pm8921, which is not
relevant.

More jf code and now it actually works on apexq.
Probably require some massaging to make it work with d2.

--cleanup leftovers in the apexq board file.
--revert unintended change to apexq board file.
--hybridize with preexisting msm_otg.c from d2 kernel.
--should work for d2 as before without intervention.
--tighten up

Change-Id: If2f9a3b7cbb63a84db891af069a760945a4eebcc
Apexq: Re-enable full AVS.

There is a problem with some devices that are detected
as having ACPU PVS: 3 not handling the fast tables properly.

To compensate, we are reducing them to the nom tables.

AVS error on sec_pvs=fafa phones always happens at 1512 MHz.
Disable AVS for that specific frequency.

We initially overlooked a rather massive voltage bump that
was being given to apexq devices with sec_pvs=fafa. All
such units are expected to run on the slow table, with an
additional boost of 50 mV.

Change-Id: If5341bf3f0b93d53349a373013f290adc2049e1c
Merge changes If5341bf3,If2f9a3b7 into cm-10.2

* changes:
  Apexq: Re-enable full AVS.
  Apexq: USB OTG