linux-stable/Documentation
Tony Lindgren 5d1ebbda03 phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4
Let's add support for the GPIO controlled USB PHY on the MDM6600 modem.
It is used on some Motorola Mapphone series of phones and tablets such
as Droid 4.

The MDM6600 is hardwired to the first OHCI port in the Droid 4 case, and
is controlled by several GPIOs. The USB PHY is integrated into the MDM6600
device it seems. We know this as we get L3 errors from omap-usb-host if
trying to use the PHY before MDM6600 is configured.

The GPIOs controlling MDM6600 are used to power device on and off, to
configure the USB start-up mode (normal mode versus USB flashing), and
they also tell the state of the MDM6600 device.

The two start-up mode GPIOs are dual-purposed and used for out of band
(OOB) wake-up for USB and TS 27.010 serial mux. But we need to configure
the USB start-up mode first to get MDM6600 booted in the right mode to
be usable in the first place.

Note that the Motorola Mapphone Linux kernel tree has a "radio-ctrl"
driver for modems. But it really does not control the radio at all, it
just controls the modem power and start-up mode for USB. So I came to
the conclusion that we're better off having this done in the USB PHY
driver. For adding support for USB flashing mode, we can later on add
a kernel module option for flash_mode=1 or something similar.

Also note that currently there is no PM runtime support for the OHCI
on omap variant SoCs. So for low(er) power idle states, currenty both
ohci-platform and phy-mapphone-mdm6600 must be unloaded or unbound.

For reference here is what I measured for total power consumption on
an idle Droid 4 with and without USB related MDM6600 modules:

idle lcd off	phy-mapphone-mdm6600	ohci-platform
153mW		284mW			344mW

So it seems that MDM6600 is currently not yet idling even with it's
radio turned off, but that's something that is beyond the control of
this USB PHY driver. This patch does get us to the point where modem
data and GPS are usable with libqmi and ModemManager for example.
Voice calls need more audio driver work.

Cc: devicetree@vger.kernel.org
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Marcel Partap <mpartap@gmx.net>
Cc: Michael Scott <michael.scott@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2018-03-16 16:55:30 +05:30
..
ABI platform-drivers-x86 for v4.16-1 2018-02-06 15:30:52 -08:00
accelerators ocxl: Documentation 2018-01-27 20:02:24 +11:00
accounting
acpi ACPI / LPIT: Add Low Power Idle Table (LPIT) support 2017-10-11 15:38:10 +02:00
admin-guide More ACPI updates for v4.16-rc1 2018-02-09 09:44:25 -08:00
aoe
arm ARM: sunxi: add support for R40 SoC 2017-09-22 21:57:09 +02:00
arm64 arm64 updates for 4.16: 2018-01-30 13:57:43 -08:00
auxdisplay
backlight
blackfin
block block, bfq: move debug blkio stats behind CONFIG_DEBUG_BLK_CGROUP 2017-11-14 20:13:33 -07:00
blockdev SCSI misc on 20170907 2017-09-07 21:11:05 -07:00
bpf bpf: add documentation to compare clang "-target bpf" and default target 2018-02-02 11:14:19 +01:00
bus-devices
cdrom documentation: Update ide-cd documentation to reflect CONFIG_BLK_DEV_HD_IDE removal 2017-10-12 11:25:31 -06:00
cgroup-v1 Documentation: Fix 'file_mapped' -> 'mapped_file' 2018-01-30 09:52:11 -08:00
cma
connector
console
core-api idr: Add documentation 2018-02-06 16:41:29 -05:00
cpu-freq cpufreq: Add and use cpufreq_for_each_{valid_,}entry_idx() 2018-02-08 10:21:39 +01:00
cpuidle
cris
crypto crypto: doc - adapt api sample to use async. op wait 2017-11-03 22:11:23 +08:00
dev-tools Kbuild misc updates for v4.15 2017-11-17 17:51:33 -08:00
device-mapper dm cache: Documentation: update default migration_throttling value 2018-01-30 16:55:47 -05:00
devicetree phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4 2018-03-16 16:55:30 +05:30
doc-guide scripts: kernel-doc: parse next structs/unions 2017-12-21 13:41:46 -07:00
driver-api s390/docs: reword airq section 2018-02-02 10:47:15 +01:00
driver-model serdev: Introduce devm_serdev_device_open() 2018-01-08 10:08:34 +00:00
early-userspace
EDID
extcon
fault-injection Documentation updates for 4.16. New stuff includes refcount_t 2018-01-31 19:25:25 -08:00
fb documentation: fb: update list of available compiled-in fonts 2017-11-08 03:39:52 -07:00
features Xtensa improvements for v4.16: 2018-01-29 16:40:28 -08:00
filesystems afs: Support the AFS dynamic root 2018-02-06 14:43:37 +00:00
firmware_class
fmc
fpga fpga: mgr: separate getting/locking FPGA manager 2017-11-28 16:30:37 +01:00
frv
gpio Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2018-02-01 10:49:58 -08:00
gpu docs: fix, intel_guc_loader.c has been moved to intel_guc_fw.c 2018-01-02 17:21:51 +02:00
hid Documentation: fix input related doc refs 2017-10-12 11:14:06 -06:00
hwmon hwmon: (pmbus/max31785) Add dual tachometer support 2018-01-02 15:05:34 -08:00
i2c Merge branch 'i2c/for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-02-04 10:57:43 -08:00
ia64 kbuild: /bin/pwd -> pwd 2017-11-18 11:32:27 +09:00
ide
iio
infiniband IB: Update references to libibverbs 2018-02-04 11:56:49 -05:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2018-02-01 10:49:58 -08:00
ioctl ocxl: Documentation 2018-01-27 20:02:24 +11:00
isdn
kbuild Documentation updates for 4.16. New stuff includes refcount_t 2018-01-31 19:25:25 -08:00
kdump
kernel-hacking Documentation: Fix misconversion of #if 2018-01-17 16:45:01 -07:00
laptops Documentation: fix admin-guide doc refs 2017-10-12 11:13:28 -06:00
leds Documentation: leds: Update 00-INDEX file 2017-10-23 20:17:03 +02:00
lightnvm
livepatch livepatch: Remove immediate feature 2018-01-11 10:58:03 +01:00
locking Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu 2018-01-03 14:14:18 +01:00
m68k
maintainer docs: Add an intro note to the maintainers handbook 2017-12-11 14:46:10 -07:00
md raid5-ppl: PPL support for disks with write-back cache enabled 2018-01-15 14:29:42 -08:00
media media: lirc: lirc mode ioctls deal with current mode 2018-01-23 07:25:26 -05:00
memory-devices
metag
mic
mips Documentation: mips: Update AU1xxx_IDE Kconfig dependencies 2018-02-01 12:45:35 -07:00
misc-devices
mmc
mn10300
mtd mtd: spi-nor: add an API to restore the status of SPI flash chip 2017-12-13 00:36:00 +01:00
namespaces
netlabel
networking doc: Change the min default value of tcp_wmem/tcp_rmem. 2018-02-05 10:05:49 -05:00
nfc
nios2
nvdimm
nvmem
openrisc Documentation: openrisc: Updates to README 2017-10-30 21:37:53 +09:00
parisc
PCI
pcmcia
perf perf: ARM DynamIQ Shared Unit PMU support 2018-01-02 16:43:12 +00:00
phy
platform
power regulator: Changes for v4.16 2018-01-29 11:32:44 -08:00
powerpc
pps drivers/pps: aesthetic tweaks to PPS-related content 2017-09-08 18:26:51 -07:00
process A few late-arriving fixes, along with Konstantin's PGP document that had 2018-02-07 09:42:59 -08:00
pti
ptp
rapidio
RCU Merge branches 'cond_resched.2017.12.04a', 'dyntick.2017.11.28a', 'fixes.2017.12.11a', 'srbd.2017.12.05a' and 'torture.2017.12.11a' into HEAD 2017-12-11 09:21:58 -08:00
s390
scheduler sched/deadline: Fix the description of runtime accounting in the documentation 2017-11-16 09:00:35 +01:00
scsi scsi: documentation: Fix case of 'scsi_device' struct mention(s) 2017-12-02 08:43:43 -07:00
security Documentation: security/credentials.rst: explain need to sort group_list 2018-01-08 14:20:31 -07:00
serial
sh
sound sound updates for 4.15-rc1 2017-11-14 18:01:46 -08:00
sparc sparc64: Oracle DAX driver 2018-01-22 08:17:16 -08:00
sphinx linux-next: docs-rst: Fix typos in kfigure.py 2018-01-17 16:49:05 -07:00
sphinx-static
spi
sysctl Documentation/sysctl/user.txt: fix typo 2018-02-06 18:32:48 -08:00
target
thermal cpu_cooling: Remove static-power related documentation 2018-01-03 13:11:48 +01:00
timers docs: highres: fix broken urls 2017-09-26 14:58:23 -06:00
trace docs: ftrace-uses.rst fix varios code-block directives 2017-12-21 13:39:31 -07:00
translations Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk 2018-02-01 13:36:15 -08:00
usb Documentation updates for 4.16. New stuff includes refcount_t 2018-01-31 19:25:25 -08:00
userspace-api
virtual PPC KVM update for 4.16 2018-02-01 16:13:07 +01:00
vm Documentation updates for 4.16. New stuff includes refcount_t 2018-01-31 19:25:25 -08:00
w1 Documentation updates for 4.16. New stuff includes refcount_t 2018-01-31 19:25:25 -08:00
watchdog documentation: watchdog: remove documentation of w83697hf_wdt/w83697ug_wdt 2018-02-03 11:09:54 +01:00
wimax
x86 Driver Core updates for 4.16-rc1 2018-02-01 10:00:28 -08:00
xtensa xtensa: add support for KASAN 2017-12-16 22:37:12 -08:00
.gitignore
00-INDEX docs: get rid of kernel-doc-nano-HOWTO.txt 2017-12-21 13:41:46 -07:00
atomic_bitops.txt
atomic_t.txt
bcache.txt
bt8xxgpio.txt
btmrvl.txt
bus-virt-phys-mapping.txt
cachetlb.txt
cgroup-v2.txt cgroup, docs: document the root cgroup behavior of cpu and io controllers 2018-01-16 08:07:09 -08:00
Changes
circular-buffers.txt doc: De-emphasize smp_read_barrier_depends 2017-12-05 11:57:53 -08:00
clearing-warn-once.txt kernel debug: support resetting WARN*_ONCE 2017-11-17 16:10:00 -08:00
clk.txt
CodingStyle
conf.py docs: Remove "could not extract kernel version" warning 2017-12-11 15:20:04 -07:00
cpu-load.txt
cputopology.txt
crc32.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
digsig.txt
DMA-API-HOWTO.txt
DMA-API.txt
DMA-attributes.txt
DMA-ISA-LPC.txt
docutils.conf
dontdiff
efi-stub.txt
eisa.txt
flexible-arrays.txt
futex-requeue-pi.txt
gcc-plugins.txt
highuid.txt
hw_random.txt
hwspinlock.txt
index.rst Documentation: Add license-rules.rst to describe how to properly identify file licenses 2018-01-06 10:58:02 -07:00
Intel-IOMMU.txt
intel_txt.txt
io-mapping.txt
io_ordering.txt
iostats.txt
IPMI.txt ipmi: Make IPMI panic strings always available 2017-09-27 16:03:45 -05:00
IRQ-affinity.txt
IRQ-domain.txt irqdomain: Kill CONFIG_IRQ_DOMAIN_DEBUG 2018-01-24 12:32:58 +01:00
IRQ.txt
irqflags-tracing.txt
isa.txt
isapnp.txt
kernel-per-CPU-kthreads.txt
kobject.txt
kprobes.txt kprobes/docs: Remove jprobes related documents 2017-10-20 11:02:55 +02:00
kref.txt
ldm.txt
lockup-watchdogs.txt
logo.gif
logo.txt
lsm.txt
lzo.txt
mailbox.txt
Makefile Documentation: add script and build target to check for broken file references 2017-10-12 11:07:42 -06:00
memory-barriers.txt doc: De-emphasize smp_read_barrier_depends 2017-12-05 11:57:53 -08:00
memory-hotplug.txt
men-chameleon-bus.txt
nommu-mmap.txt
ntb.txt
numastat.txt
padata.txt
parport-lowlevel.txt
percpu-rw-semaphore.txt
phy.txt
pi-futex.txt Documentation: fix locking rt-mutex doc refs 2017-10-19 12:56:44 -06:00
pnp.txt
preempt-locking.txt
pwm.txt
rbtree.txt rbtree: cache leftmost node internally 2017-09-08 18:26:48 -07:00
remoteproc.txt
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
rpmsg.txt
rtc.txt Documentation: rtc: move iotcl interface documentation to ABI 2018-01-12 00:20:41 +01:00
SAK.txt
sgi-ioc4.txt
siphash.txt
SM501.txt
smsc_ece1099.txt
speculation.txt Documentation: Document array_index_nospec 2018-01-30 21:54:28 +01:00
static-keys.txt
SubmittingPatches
svga.txt documentation/svga.txt: update outdated file 2017-11-20 10:45:50 -07:00
switchtec.txt NTB: switchtec_ntb: Update switchtec documentation with notes for NTB 2017-11-18 20:37:13 -05:00
sync_file.txt
tee.txt
this_cpu_ops.txt
unaligned-memory-access.txt
vfio-mediated-device.txt
vfio.txt
video-output.txt
xillybus.txt
xz.txt
zorro.txt