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
sec_jack: do G plus L detection before setting micbias

- Only affects devices with CONFIG_SAMSUNG_JACK_GNDLDET set
- Taken from stock Samsung source

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

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

Conflicts:
	arch/arm/mach-msm/acpuclock-8960.c
Merge changes I90c5d29c,I81e0b372 into cm-10.2

* changes:
  Bluetooth: Fix for the l2cap layer crashes while turning OFF BT
  Bluetooth: Disable Sniff on HID ACL(s) if SCO is active
apexqtmo: Update cpu clocking/power

With AVS, we need to make sure that voltages are properly
reset when bringing cores online/offline.

Change-Id: Id6411a3201ecf5cc5ab39c74e0a2da10d326ca0c

Conflicts:
	arch/arm/mach-msm/acpuclock-8960.c
m2selinux_defconfig: now with valid values

Change-Id: Ic1bd3bfeb1db143958ba10ac673ea5d24a150033